mirror of
https://github.com/gristlabs/grist-core.git
synced 2024-10-27 20:44:07 +00:00
98f64a8461
Summary: This makes an equivalent of the /records REST endpoint available within custom widgets. For simple operations, it is compatible with https://github.com/airtable/airtable.js/. About half of the diff is refactoring code from DocApi that implements /records using applyUserActions, to make that code available in the plugin api. Test Plan: added tests Reviewers: alexmojaki Reviewed By: alexmojaki Differential Revision: https://phab.getgrist.com/D3320
44 lines
1.2 KiB
TypeScript
44 lines
1.2 KiB
TypeScript
/**
|
|
* This module was automatically generated by `ts-interface-builder`
|
|
*/
|
|
import * as t from "ts-interface-checker";
|
|
// tslint:disable:object-literal-key-quotes
|
|
|
|
export const GristObjCode = t.enumtype({
|
|
"List": "L",
|
|
"LookUp": "l",
|
|
"Dict": "O",
|
|
"DateTime": "D",
|
|
"Date": "d",
|
|
"Skip": "S",
|
|
"Censored": "C",
|
|
"Reference": "R",
|
|
"ReferenceList": "r",
|
|
"Exception": "E",
|
|
"Pending": "P",
|
|
"Unmarshallable": "U",
|
|
"Versions": "V",
|
|
});
|
|
|
|
export const CellValue = t.union("number", "string", "boolean", "null", t.tuple("GristObjCode", t.rest(t.array("unknown"))));
|
|
|
|
export const BulkColValues = t.iface([], {
|
|
[t.indexKey]: t.array("CellValue"),
|
|
});
|
|
|
|
export const RowRecord = t.iface([], {
|
|
"id": "number",
|
|
[t.indexKey]: "CellValue",
|
|
});
|
|
|
|
export const GristType = t.union(t.lit('Any'), t.lit('Attachments'), t.lit('Blob'), t.lit('Bool'), t.lit('Choice'), t.lit('ChoiceList'), t.lit('Date'), t.lit('DateTime'), t.lit('Id'), t.lit('Int'), t.lit('ManualSortPos'), t.lit('Numeric'), t.lit('PositionNumber'), t.lit('Ref'), t.lit('RefList'), t.lit('Text'));
|
|
|
|
const exportedTypeSuite: t.ITypeSuite = {
|
|
GristObjCode,
|
|
CellValue,
|
|
BulkColValues,
|
|
RowRecord,
|
|
GristType,
|
|
};
|
|
export default exportedTypeSuite;
|