@taylordb/shared 0.18.3 → 0.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,19 +1,27 @@
1
- import { AttachmentColumnType, AutoGeneratedDateColumnType, AutoGeneratedNumberColumnType, CheckboxColumnType, DateColumnType, LinkColumnType, MultiSelectColumnType, NumberColumnType, SearchColumnType, SingleSelectColumnType, TextColumnType } from './column-types.js';
1
+ import { AttachmentColumnType, AutoGeneratedDateColumnType, AutoGeneratedNumberColumnType, CheckboxColumnType, ColumnType, DateColumnType, LinkColumnType, MultiSelectColumnType, NumberColumnType, SearchColumnType, SingleSelectColumnType, TextColumnType } from './column-types.js';
2
+ export type BambooFieldsType = 'json' | 'number' | 'date' | 'modifiedAt' | 'link' | 'currency' | 'percent' | 'url' | 'email' | 'phoneNumber' | 'checkbox' | 'select' | 'count' | 'autoNumber' | 'formula' | 'position' | 'rating' | 'createdAt' | 'updatedAt' | 'singleLineText' | 'text' | 'longText' | 'lookup' | 'rollup' | 'collaborators' | 'modifiedBy' | 'duration' | 'createdBy' | 'attachment' | 'button';
3
+ export declare const exposingFieldTypes: readonly ["json", "number", "date", "modifiedAt", "link", "currency", "percent", "url", "email", "phoneNumber", "checkbox", "select", "count", "autoNumber", "formula", "position", "rating", "createdAt", "updatedAt", "singleLineText", "text", "longText", "lookup", "rollup", "collaborators", "modifiedBy", "duration", "createdBy", "attachment", "button"];
2
4
  type RequiredOption<R extends boolean = boolean> = {
3
5
  required: R;
4
6
  };
7
+ type ComputedReturnType = 'string' | 'json' | 'select' | 'number' | 'boolean' | 'date';
5
8
  type BaseFieldDescriptor<TType extends string, R extends boolean, TInsertable extends boolean, TUpdatable extends boolean> = {
6
9
  type: TType;
7
10
  required: R;
8
11
  insertable: TInsertable;
9
12
  updatable: TUpdatable;
10
13
  };
11
- export type TextFieldDescriptor<R extends boolean = boolean> = BaseFieldDescriptor<'text', R, true, true>;
12
- export type NumberFieldDescriptor<R extends boolean = boolean> = BaseFieldDescriptor<'number', R, true, true>;
14
+ type TextLikeFieldType = 'json' | 'url' | 'email' | 'phoneNumber' | 'singleLineText' | 'text' | 'longText' | 'button';
15
+ type NumberLikeFieldType = 'number' | 'currency' | 'percent' | 'count' | 'position' | 'rating' | 'duration';
16
+ type SystemDateFieldType = 'createdAt' | 'updatedAt' | 'modifiedAt' | 'autoDate';
17
+ type CollaboratorLinkFieldType = 'collaborators' | 'modifiedBy' | 'createdBy';
18
+ type ComputedFieldType = 'formula' | 'lookup' | 'rollup';
19
+ export type TextFieldDescriptor<R extends boolean = boolean, TType extends TextLikeFieldType = 'text'> = BaseFieldDescriptor<TType, R, true, true>;
20
+ export type NumberFieldDescriptor<R extends boolean = boolean, TType extends NumberLikeFieldType = 'number'> = BaseFieldDescriptor<TType, R, true, true>;
13
21
  export type CheckboxFieldDescriptor<R extends boolean = boolean> = BaseFieldDescriptor<'checkbox', R, true, true>;
14
22
  export type DateFieldDescriptor<R extends boolean = boolean> = BaseFieldDescriptor<'date', R, true, true>;
15
23
  export type SearchFieldDescriptor = BaseFieldDescriptor<'search', false, true, true>;
16
- export type LinkFieldDescriptor<TLinkedTo extends string = string, R extends boolean = boolean> = BaseFieldDescriptor<'link', R, true, true> & {
24
+ export type LinkFieldDescriptor<TLinkedTo extends string = string, R extends boolean = boolean, TType extends 'link' | CollaboratorLinkFieldType = 'link'> = BaseFieldDescriptor<TType, R, true, true> & {
17
25
  linkedTo: TLinkedTo;
18
26
  };
19
27
  export type AttachmentFieldDescriptor<R extends boolean = boolean> = BaseFieldDescriptor<'attachment', R, true, true> & {
@@ -24,19 +32,60 @@ export type SelectFieldDescriptor<TOptions extends readonly string[] = readonly
24
32
  options: TOptions;
25
33
  };
26
34
  export type AutoNumberFieldDescriptor = BaseFieldDescriptor<'autoNumber', false, false, false>;
27
- export type AutoDateFieldDescriptor = BaseFieldDescriptor<'autoDate', false, false, false>;
28
- export type TaylorFieldDescriptor = TextFieldDescriptor | NumberFieldDescriptor | CheckboxFieldDescriptor | DateFieldDescriptor | SearchFieldDescriptor | LinkFieldDescriptor | AttachmentFieldDescriptor | SelectFieldDescriptor | AutoNumberFieldDescriptor | AutoDateFieldDescriptor;
35
+ export type AutoDateFieldDescriptor<TType extends SystemDateFieldType = 'autoDate'> = BaseFieldDescriptor<TType, false, false, false>;
36
+ export type ComputedFieldDescriptor<TType extends ComputedFieldType = ComputedFieldType, TReturnType extends ComputedReturnType = ComputedReturnType> = BaseFieldDescriptor<TType, false, false, false> & {
37
+ returnType: TReturnType;
38
+ };
39
+ export type JsonFieldDescriptor<R extends boolean = boolean> = TextFieldDescriptor<R, 'json'>;
40
+ export type UrlFieldDescriptor<R extends boolean = boolean> = TextFieldDescriptor<R, 'url'>;
41
+ export type EmailFieldDescriptor<R extends boolean = boolean> = TextFieldDescriptor<R, 'email'>;
42
+ export type PhoneNumberFieldDescriptor<R extends boolean = boolean> = TextFieldDescriptor<R, 'phoneNumber'>;
43
+ export type SingleLineTextFieldDescriptor<R extends boolean = boolean> = TextFieldDescriptor<R, 'singleLineText'>;
44
+ export type LongTextFieldDescriptor<R extends boolean = boolean> = TextFieldDescriptor<R, 'longText'>;
45
+ export type ButtonFieldDescriptor<R extends boolean = boolean> = TextFieldDescriptor<R, 'button'>;
46
+ export type CurrencyFieldDescriptor<R extends boolean = boolean> = NumberFieldDescriptor<R, 'currency'>;
47
+ export type PercentFieldDescriptor<R extends boolean = boolean> = NumberFieldDescriptor<R, 'percent'>;
48
+ export type CountFieldDescriptor<R extends boolean = boolean> = NumberFieldDescriptor<R, 'count'>;
49
+ export type PositionFieldDescriptor<R extends boolean = boolean> = NumberFieldDescriptor<R, 'position'>;
50
+ export type RatingFieldDescriptor<R extends boolean = boolean> = NumberFieldDescriptor<R, 'rating'>;
51
+ export type DurationFieldDescriptor<R extends boolean = boolean> = NumberFieldDescriptor<R, 'duration'>;
52
+ export type CreatedAtFieldDescriptor = AutoDateFieldDescriptor<'createdAt'>;
53
+ export type UpdatedAtFieldDescriptor = AutoDateFieldDescriptor<'updatedAt'>;
54
+ export type ModifiedAtFieldDescriptor = AutoDateFieldDescriptor<'modifiedAt'>;
55
+ export type CollaboratorsFieldDescriptor<R extends boolean = boolean> = LinkFieldDescriptor<'collaborators', R, 'collaborators'>;
56
+ export type ModifiedByFieldDescriptor<R extends boolean = boolean> = LinkFieldDescriptor<'collaborators', R, 'modifiedBy'>;
57
+ export type CreatedByFieldDescriptor<R extends boolean = boolean> = LinkFieldDescriptor<'collaborators', R, 'createdBy'>;
58
+ export type FormulaFieldDescriptor<TReturnType extends ComputedReturnType = ComputedReturnType> = ComputedFieldDescriptor<'formula', TReturnType>;
59
+ export type LookupFieldDescriptor<TReturnType extends ComputedReturnType = ComputedReturnType> = ComputedFieldDescriptor<'lookup', TReturnType>;
60
+ export type RollupFieldDescriptor<TReturnType extends ComputedReturnType = ComputedReturnType> = ComputedFieldDescriptor<'rollup', TReturnType>;
61
+ export type TaylorFieldDescriptor = TextFieldDescriptor | JsonFieldDescriptor | UrlFieldDescriptor | EmailFieldDescriptor | PhoneNumberFieldDescriptor | SingleLineTextFieldDescriptor | LongTextFieldDescriptor | ButtonFieldDescriptor | NumberFieldDescriptor | CurrencyFieldDescriptor | PercentFieldDescriptor | CountFieldDescriptor | PositionFieldDescriptor | RatingFieldDescriptor | DurationFieldDescriptor | CheckboxFieldDescriptor | DateFieldDescriptor | SearchFieldDescriptor | LinkFieldDescriptor | CollaboratorsFieldDescriptor | ModifiedByFieldDescriptor | CreatedByFieldDescriptor | AttachmentFieldDescriptor | SelectFieldDescriptor | AutoNumberFieldDescriptor | AutoDateFieldDescriptor | CreatedAtFieldDescriptor | UpdatedAtFieldDescriptor | ModifiedAtFieldDescriptor | FormulaFieldDescriptor | LookupFieldDescriptor | RollupFieldDescriptor;
29
62
  export type TaylorTableSchema = Record<string, TaylorFieldDescriptor>;
30
63
  export type TaylorRuntimeSchema = Record<string, TaylorTableSchema>;
31
64
  export declare function defineTaylorSchema<const TSchema extends TaylorRuntimeSchema>(schema: TSchema): TSchema;
32
65
  export declare function textField<const R extends boolean>({ required, }: RequiredOption<R>): TextFieldDescriptor<R>;
66
+ export declare function jsonField<const R extends boolean>(options: RequiredOption<R>): JsonFieldDescriptor<R>;
67
+ export declare function urlField<const R extends boolean>(options: RequiredOption<R>): UrlFieldDescriptor<R>;
68
+ export declare function emailField<const R extends boolean>(options: RequiredOption<R>): EmailFieldDescriptor<R>;
69
+ export declare function phoneNumberField<const R extends boolean>(options: RequiredOption<R>): PhoneNumberFieldDescriptor<R>;
70
+ export declare function singleLineTextField<const R extends boolean>(options: RequiredOption<R>): SingleLineTextFieldDescriptor<R>;
71
+ export declare function longTextField<const R extends boolean>(options: RequiredOption<R>): LongTextFieldDescriptor<R>;
72
+ export declare function buttonField<const R extends boolean>(options: RequiredOption<R>): ButtonFieldDescriptor<R>;
33
73
  export declare function numberField<const R extends boolean>({ required, }: RequiredOption<R>): NumberFieldDescriptor<R>;
74
+ export declare function currencyField<const R extends boolean>(options: RequiredOption<R>): CurrencyFieldDescriptor<R>;
75
+ export declare function percentField<const R extends boolean>(options: RequiredOption<R>): PercentFieldDescriptor<R>;
76
+ export declare function countField<const R extends boolean>(options: RequiredOption<R>): CountFieldDescriptor<R>;
77
+ export declare function positionField<const R extends boolean>(options: RequiredOption<R>): PositionFieldDescriptor<R>;
78
+ export declare function ratingField<const R extends boolean>(options: RequiredOption<R>): RatingFieldDescriptor<R>;
79
+ export declare function durationField<const R extends boolean>(options: RequiredOption<R>): DurationFieldDescriptor<R>;
34
80
  export declare function checkboxField<const R extends boolean>({ required, }: RequiredOption<R>): CheckboxFieldDescriptor<R>;
35
81
  export declare function dateField<const R extends boolean>({ required, }: RequiredOption<R>): DateFieldDescriptor<R>;
36
82
  export declare function searchField(): SearchFieldDescriptor;
37
83
  export declare function linkField<const TLinkedTo extends string, const R extends boolean>({ required, linkedTo, }: RequiredOption<R> & {
38
84
  linkedTo: TLinkedTo;
39
85
  }): LinkFieldDescriptor<TLinkedTo, R>;
86
+ export declare function collaboratorsField<const R extends boolean>(options: RequiredOption<R>): CollaboratorsFieldDescriptor<R>;
87
+ export declare function modifiedByField<const R extends boolean>(options: RequiredOption<R>): ModifiedByFieldDescriptor<R>;
88
+ export declare function createdByField<const R extends boolean>(options: RequiredOption<R>): CreatedByFieldDescriptor<R>;
40
89
  export declare function attachmentField<const R extends boolean>({ required, }: RequiredOption<R>): AttachmentFieldDescriptor<R>;
41
90
  export declare function selectField<const TOptions extends readonly string[], const R extends boolean, const TMode extends 'single' | 'multi'>({ required, mode, options, }: RequiredOption<R> & {
42
91
  mode: TMode;
@@ -44,7 +93,21 @@ export declare function selectField<const TOptions extends readonly string[], co
44
93
  }): SelectFieldDescriptor<TOptions, R, TMode>;
45
94
  export declare function autoNumberField(): AutoNumberFieldDescriptor;
46
95
  export declare function autoDateField(): AutoDateFieldDescriptor;
47
- export type InferTaylorField<TField extends TaylorFieldDescriptor> = TField extends TextFieldDescriptor<infer R> ? TextColumnType<R> : TField extends NumberFieldDescriptor<infer R> ? NumberColumnType<R> : TField extends CheckboxFieldDescriptor<infer R> ? CheckboxColumnType<R> : TField extends DateFieldDescriptor<infer R> ? DateColumnType<R> : TField extends SearchFieldDescriptor ? SearchColumnType<false> : TField extends LinkFieldDescriptor<infer TLinkedTo, infer R> ? LinkColumnType<TLinkedTo, R> : TField extends AttachmentFieldDescriptor<infer R> ? AttachmentColumnType<R> : TField extends SelectFieldDescriptor<infer TOptions, infer R, infer TMode> ? TMode extends 'single' ? SingleSelectColumnType<TOptions, R> : MultiSelectColumnType<TOptions, R> : TField extends AutoNumberFieldDescriptor ? AutoGeneratedNumberColumnType : TField extends AutoDateFieldDescriptor ? AutoGeneratedDateColumnType : never;
96
+ export declare function createdAtField(): CreatedAtFieldDescriptor;
97
+ export declare function updatedAtField(): UpdatedAtFieldDescriptor;
98
+ export declare function modifiedAtField(): ModifiedAtFieldDescriptor;
99
+ export declare function formulaField<const TReturnType extends ComputedReturnType>({ returnType, }: {
100
+ returnType: TReturnType;
101
+ }): FormulaFieldDescriptor<TReturnType>;
102
+ export declare function lookupField<const TReturnType extends ComputedReturnType>({ returnType, }: {
103
+ returnType: TReturnType;
104
+ }): LookupFieldDescriptor<TReturnType>;
105
+ export declare function rollupField<const TReturnType extends ComputedReturnType>({ returnType, }: {
106
+ returnType: TReturnType;
107
+ }): RollupFieldDescriptor<TReturnType>;
108
+ type ReadonlyColumn<TColumn extends ColumnType<any, any, any, false, any, any>> = ColumnType<TColumn['raw'], never, never, false, TColumn['filters'], TColumn['aggregations']>;
109
+ type InferComputedField<TReturnType extends ComputedReturnType> = TReturnType extends 'number' ? AutoGeneratedNumberColumnType : TReturnType extends 'boolean' ? ReadonlyColumn<CheckboxColumnType<false>> : TReturnType extends 'date' ? AutoGeneratedDateColumnType : ReadonlyColumn<TextColumnType<false>>;
110
+ export type InferTaylorField<TField extends TaylorFieldDescriptor> = TField extends TextFieldDescriptor<infer R, TextLikeFieldType> ? TextColumnType<R> : TField extends NumberFieldDescriptor<infer R, NumberLikeFieldType> ? NumberColumnType<R> : TField extends CheckboxFieldDescriptor<infer R> ? CheckboxColumnType<R> : TField extends DateFieldDescriptor<infer R> ? DateColumnType<R> : TField extends SearchFieldDescriptor ? SearchColumnType<false> : TField extends LinkFieldDescriptor<infer TLinkedTo, infer R, 'link' | CollaboratorLinkFieldType> ? LinkColumnType<TLinkedTo, R> : TField extends AttachmentFieldDescriptor<infer R> ? AttachmentColumnType<R> : TField extends SelectFieldDescriptor<infer TOptions, infer R, infer TMode> ? TMode extends 'single' ? SingleSelectColumnType<TOptions, R> : MultiSelectColumnType<TOptions, R> : TField extends AutoNumberFieldDescriptor ? AutoGeneratedNumberColumnType : TField extends AutoDateFieldDescriptor<SystemDateFieldType> ? AutoGeneratedDateColumnType : TField extends ComputedFieldDescriptor<ComputedFieldType, infer TReturnType> ? InferComputedField<TReturnType> : never;
48
111
  export type InferTaylorTable<TTableSchema extends TaylorTableSchema> = {
49
112
  [K in keyof TTableSchema]: InferTaylorField<TTableSchema[K]>;
50
113
  };
@@ -1,25 +1,125 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.exposingFieldTypes = void 0;
3
4
  exports.defineTaylorSchema = defineTaylorSchema;
4
5
  exports.textField = textField;
6
+ exports.jsonField = jsonField;
7
+ exports.urlField = urlField;
8
+ exports.emailField = emailField;
9
+ exports.phoneNumberField = phoneNumberField;
10
+ exports.singleLineTextField = singleLineTextField;
11
+ exports.longTextField = longTextField;
12
+ exports.buttonField = buttonField;
5
13
  exports.numberField = numberField;
14
+ exports.currencyField = currencyField;
15
+ exports.percentField = percentField;
16
+ exports.countField = countField;
17
+ exports.positionField = positionField;
18
+ exports.ratingField = ratingField;
19
+ exports.durationField = durationField;
6
20
  exports.checkboxField = checkboxField;
7
21
  exports.dateField = dateField;
8
22
  exports.searchField = searchField;
9
23
  exports.linkField = linkField;
24
+ exports.collaboratorsField = collaboratorsField;
25
+ exports.modifiedByField = modifiedByField;
26
+ exports.createdByField = createdByField;
10
27
  exports.attachmentField = attachmentField;
11
28
  exports.selectField = selectField;
12
29
  exports.autoNumberField = autoNumberField;
13
30
  exports.autoDateField = autoDateField;
31
+ exports.createdAtField = createdAtField;
32
+ exports.updatedAtField = updatedAtField;
33
+ exports.modifiedAtField = modifiedAtField;
34
+ exports.formulaField = formulaField;
35
+ exports.lookupField = lookupField;
36
+ exports.rollupField = rollupField;
37
+ exports.exposingFieldTypes = [
38
+ 'json',
39
+ 'number',
40
+ 'date',
41
+ 'modifiedAt',
42
+ 'link',
43
+ 'currency',
44
+ 'percent',
45
+ 'url',
46
+ 'email',
47
+ 'phoneNumber',
48
+ 'checkbox',
49
+ 'select',
50
+ 'count',
51
+ 'autoNumber',
52
+ 'formula',
53
+ 'position',
54
+ 'rating',
55
+ 'createdAt',
56
+ 'updatedAt',
57
+ 'singleLineText',
58
+ 'text',
59
+ 'longText',
60
+ 'lookup',
61
+ 'rollup',
62
+ 'collaborators',
63
+ 'modifiedBy',
64
+ 'duration',
65
+ 'createdBy',
66
+ 'attachment',
67
+ 'button',
68
+ ];
14
69
  function defineTaylorSchema(schema) {
15
70
  return schema;
16
71
  }
17
72
  function textField({ required, }) {
18
73
  return { type: 'text', required, insertable: true, updatable: true };
19
74
  }
75
+ function textLikeField(type, { required }) {
76
+ return { type, required, insertable: true, updatable: true };
77
+ }
78
+ function jsonField(options) {
79
+ return textLikeField('json', options);
80
+ }
81
+ function urlField(options) {
82
+ return textLikeField('url', options);
83
+ }
84
+ function emailField(options) {
85
+ return textLikeField('email', options);
86
+ }
87
+ function phoneNumberField(options) {
88
+ return textLikeField('phoneNumber', options);
89
+ }
90
+ function singleLineTextField(options) {
91
+ return textLikeField('singleLineText', options);
92
+ }
93
+ function longTextField(options) {
94
+ return textLikeField('longText', options);
95
+ }
96
+ function buttonField(options) {
97
+ return textLikeField('button', options);
98
+ }
20
99
  function numberField({ required, }) {
21
100
  return { type: 'number', required, insertable: true, updatable: true };
22
101
  }
102
+ function numberLikeField(type, { required }) {
103
+ return { type, required, insertable: true, updatable: true };
104
+ }
105
+ function currencyField(options) {
106
+ return numberLikeField('currency', options);
107
+ }
108
+ function percentField(options) {
109
+ return numberLikeField('percent', options);
110
+ }
111
+ function countField(options) {
112
+ return numberLikeField('count', options);
113
+ }
114
+ function positionField(options) {
115
+ return numberLikeField('position', options);
116
+ }
117
+ function ratingField(options) {
118
+ return numberLikeField('rating', options);
119
+ }
120
+ function durationField(options) {
121
+ return numberLikeField('duration', options);
122
+ }
23
123
  function checkboxField({ required, }) {
24
124
  return { type: 'checkbox', required, insertable: true, updatable: true };
25
125
  }
@@ -38,6 +138,24 @@ function linkField({ required, linkedTo, }) {
38
138
  updatable: true,
39
139
  };
40
140
  }
141
+ function collaboratorLinkField(type, { required }) {
142
+ return {
143
+ type,
144
+ required,
145
+ linkedTo: 'collaborators',
146
+ insertable: true,
147
+ updatable: true,
148
+ };
149
+ }
150
+ function collaboratorsField(options) {
151
+ return collaboratorLinkField('collaborators', options);
152
+ }
153
+ function modifiedByField(options) {
154
+ return collaboratorLinkField('modifiedBy', options);
155
+ }
156
+ function createdByField(options) {
157
+ return collaboratorLinkField('createdBy', options);
158
+ }
41
159
  function attachmentField({ required, }) {
42
160
  return {
43
161
  type: 'attachment',
@@ -73,4 +191,39 @@ function autoDateField() {
73
191
  updatable: false,
74
192
  };
75
193
  }
194
+ function systemDateField(type) {
195
+ return {
196
+ type,
197
+ required: false,
198
+ insertable: false,
199
+ updatable: false,
200
+ };
201
+ }
202
+ function createdAtField() {
203
+ return systemDateField('createdAt');
204
+ }
205
+ function updatedAtField() {
206
+ return systemDateField('updatedAt');
207
+ }
208
+ function modifiedAtField() {
209
+ return systemDateField('modifiedAt');
210
+ }
211
+ function computedField(type, returnType) {
212
+ return {
213
+ type,
214
+ returnType,
215
+ required: false,
216
+ insertable: false,
217
+ updatable: false,
218
+ };
219
+ }
220
+ function formulaField({ returnType, }) {
221
+ return computedField('formula', returnType);
222
+ }
223
+ function lookupField({ returnType, }) {
224
+ return computedField('lookup', returnType);
225
+ }
226
+ function rollupField({ returnType, }) {
227
+ return computedField('rollup', returnType);
228
+ }
76
229
  //# sourceMappingURL=runtime-schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-schema.js","sourceRoot":"","sources":["../../src/runtime-schema.ts"],"names":[],"mappings":";;AAoGA,gDAIC;AAED,8BAIC;AAED,kCAIC;AAED,sCAIC;AAED,8BAIC;AAED,kCAEC;AAED,8BAiBC;AAED,0CAUC;AAED,kCAoBC;AAED,0CAOC;AAED,sCAOC;AAvGD,SAAgB,kBAAkB,CAChC,MAAe;IAEf,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,SAAS,CAA0B,EACjD,QAAQ,GACU;IAClB,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AACvE,CAAC;AAED,SAAgB,WAAW,CAA0B,EACnD,QAAQ,GACU;IAClB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AACzE,CAAC;AAED,SAAgB,aAAa,CAA0B,EACrD,QAAQ,GACU;IAClB,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AAC3E,CAAC;AAED,SAAgB,SAAS,CAA0B,EACjD,QAAQ,GACU;IAClB,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AACvE,CAAC;AAED,SAAgB,WAAW;IACzB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AAChF,CAAC;AAED,SAAgB,SAAS,CAGvB,EACA,QAAQ,EACR,QAAQ,GACoC;IAI5C,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,QAAQ;QACR,QAAQ;QACR,UAAU,EAAE,IAAI;QAChB,SAAS,EAAE,IAAI;KAChB,CAAC;AACJ,CAAC;AAED,SAAgB,eAAe,CAA0B,EACvD,QAAQ,GACU;IAClB,OAAO;QACL,IAAI,EAAE,YAAY;QAClB,QAAQ;QACR,QAAQ,EAAE,iBAAiB;QAC3B,UAAU,EAAE,IAAI;QAChB,SAAS,EAAE,IAAI;KAChB,CAAC;AACJ,CAAC;AAED,SAAgB,WAAW,CAIzB,EACA,QAAQ,EACR,IAAI,EACJ,OAAO,GAIR;IACC,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,QAAQ;QACR,IAAI;QACJ,OAAO;QACP,UAAU,EAAE,IAAI;QAChB,SAAS,EAAE,IAAI;KAChB,CAAC;AACJ,CAAC;AAED,SAAgB,eAAe;IAC7B,OAAO;QACL,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,KAAK;QACf,UAAU,EAAE,KAAK;QACjB,SAAS,EAAE,KAAK;KACjB,CAAC;AACJ,CAAC;AAED,SAAgB,aAAa;IAC3B,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,KAAK;QACf,UAAU,EAAE,KAAK;QACjB,SAAS,EAAE,KAAK;KACjB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"runtime-schema.js","sourceRoot":"","sources":["../../src/runtime-schema.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,27 @@
1
- import { AttachmentColumnType, AutoGeneratedDateColumnType, AutoGeneratedNumberColumnType, CheckboxColumnType, DateColumnType, LinkColumnType, MultiSelectColumnType, NumberColumnType, SearchColumnType, SingleSelectColumnType, TextColumnType } from './column-types.js';
1
+ import { AttachmentColumnType, AutoGeneratedDateColumnType, AutoGeneratedNumberColumnType, CheckboxColumnType, ColumnType, DateColumnType, LinkColumnType, MultiSelectColumnType, NumberColumnType, SearchColumnType, SingleSelectColumnType, TextColumnType } from './column-types.js';
2
+ export type BambooFieldsType = 'json' | 'number' | 'date' | 'modifiedAt' | 'link' | 'currency' | 'percent' | 'url' | 'email' | 'phoneNumber' | 'checkbox' | 'select' | 'count' | 'autoNumber' | 'formula' | 'position' | 'rating' | 'createdAt' | 'updatedAt' | 'singleLineText' | 'text' | 'longText' | 'lookup' | 'rollup' | 'collaborators' | 'modifiedBy' | 'duration' | 'createdBy' | 'attachment' | 'button';
3
+ export declare const exposingFieldTypes: readonly ["json", "number", "date", "modifiedAt", "link", "currency", "percent", "url", "email", "phoneNumber", "checkbox", "select", "count", "autoNumber", "formula", "position", "rating", "createdAt", "updatedAt", "singleLineText", "text", "longText", "lookup", "rollup", "collaborators", "modifiedBy", "duration", "createdBy", "attachment", "button"];
2
4
  type RequiredOption<R extends boolean = boolean> = {
3
5
  required: R;
4
6
  };
7
+ type ComputedReturnType = 'string' | 'json' | 'select' | 'number' | 'boolean' | 'date';
5
8
  type BaseFieldDescriptor<TType extends string, R extends boolean, TInsertable extends boolean, TUpdatable extends boolean> = {
6
9
  type: TType;
7
10
  required: R;
8
11
  insertable: TInsertable;
9
12
  updatable: TUpdatable;
10
13
  };
11
- export type TextFieldDescriptor<R extends boolean = boolean> = BaseFieldDescriptor<'text', R, true, true>;
12
- export type NumberFieldDescriptor<R extends boolean = boolean> = BaseFieldDescriptor<'number', R, true, true>;
14
+ type TextLikeFieldType = 'json' | 'url' | 'email' | 'phoneNumber' | 'singleLineText' | 'text' | 'longText' | 'button';
15
+ type NumberLikeFieldType = 'number' | 'currency' | 'percent' | 'count' | 'position' | 'rating' | 'duration';
16
+ type SystemDateFieldType = 'createdAt' | 'updatedAt' | 'modifiedAt' | 'autoDate';
17
+ type CollaboratorLinkFieldType = 'collaborators' | 'modifiedBy' | 'createdBy';
18
+ type ComputedFieldType = 'formula' | 'lookup' | 'rollup';
19
+ export type TextFieldDescriptor<R extends boolean = boolean, TType extends TextLikeFieldType = 'text'> = BaseFieldDescriptor<TType, R, true, true>;
20
+ export type NumberFieldDescriptor<R extends boolean = boolean, TType extends NumberLikeFieldType = 'number'> = BaseFieldDescriptor<TType, R, true, true>;
13
21
  export type CheckboxFieldDescriptor<R extends boolean = boolean> = BaseFieldDescriptor<'checkbox', R, true, true>;
14
22
  export type DateFieldDescriptor<R extends boolean = boolean> = BaseFieldDescriptor<'date', R, true, true>;
15
23
  export type SearchFieldDescriptor = BaseFieldDescriptor<'search', false, true, true>;
16
- export type LinkFieldDescriptor<TLinkedTo extends string = string, R extends boolean = boolean> = BaseFieldDescriptor<'link', R, true, true> & {
24
+ export type LinkFieldDescriptor<TLinkedTo extends string = string, R extends boolean = boolean, TType extends 'link' | CollaboratorLinkFieldType = 'link'> = BaseFieldDescriptor<TType, R, true, true> & {
17
25
  linkedTo: TLinkedTo;
18
26
  };
19
27
  export type AttachmentFieldDescriptor<R extends boolean = boolean> = BaseFieldDescriptor<'attachment', R, true, true> & {
@@ -24,19 +32,60 @@ export type SelectFieldDescriptor<TOptions extends readonly string[] = readonly
24
32
  options: TOptions;
25
33
  };
26
34
  export type AutoNumberFieldDescriptor = BaseFieldDescriptor<'autoNumber', false, false, false>;
27
- export type AutoDateFieldDescriptor = BaseFieldDescriptor<'autoDate', false, false, false>;
28
- export type TaylorFieldDescriptor = TextFieldDescriptor | NumberFieldDescriptor | CheckboxFieldDescriptor | DateFieldDescriptor | SearchFieldDescriptor | LinkFieldDescriptor | AttachmentFieldDescriptor | SelectFieldDescriptor | AutoNumberFieldDescriptor | AutoDateFieldDescriptor;
35
+ export type AutoDateFieldDescriptor<TType extends SystemDateFieldType = 'autoDate'> = BaseFieldDescriptor<TType, false, false, false>;
36
+ export type ComputedFieldDescriptor<TType extends ComputedFieldType = ComputedFieldType, TReturnType extends ComputedReturnType = ComputedReturnType> = BaseFieldDescriptor<TType, false, false, false> & {
37
+ returnType: TReturnType;
38
+ };
39
+ export type JsonFieldDescriptor<R extends boolean = boolean> = TextFieldDescriptor<R, 'json'>;
40
+ export type UrlFieldDescriptor<R extends boolean = boolean> = TextFieldDescriptor<R, 'url'>;
41
+ export type EmailFieldDescriptor<R extends boolean = boolean> = TextFieldDescriptor<R, 'email'>;
42
+ export type PhoneNumberFieldDescriptor<R extends boolean = boolean> = TextFieldDescriptor<R, 'phoneNumber'>;
43
+ export type SingleLineTextFieldDescriptor<R extends boolean = boolean> = TextFieldDescriptor<R, 'singleLineText'>;
44
+ export type LongTextFieldDescriptor<R extends boolean = boolean> = TextFieldDescriptor<R, 'longText'>;
45
+ export type ButtonFieldDescriptor<R extends boolean = boolean> = TextFieldDescriptor<R, 'button'>;
46
+ export type CurrencyFieldDescriptor<R extends boolean = boolean> = NumberFieldDescriptor<R, 'currency'>;
47
+ export type PercentFieldDescriptor<R extends boolean = boolean> = NumberFieldDescriptor<R, 'percent'>;
48
+ export type CountFieldDescriptor<R extends boolean = boolean> = NumberFieldDescriptor<R, 'count'>;
49
+ export type PositionFieldDescriptor<R extends boolean = boolean> = NumberFieldDescriptor<R, 'position'>;
50
+ export type RatingFieldDescriptor<R extends boolean = boolean> = NumberFieldDescriptor<R, 'rating'>;
51
+ export type DurationFieldDescriptor<R extends boolean = boolean> = NumberFieldDescriptor<R, 'duration'>;
52
+ export type CreatedAtFieldDescriptor = AutoDateFieldDescriptor<'createdAt'>;
53
+ export type UpdatedAtFieldDescriptor = AutoDateFieldDescriptor<'updatedAt'>;
54
+ export type ModifiedAtFieldDescriptor = AutoDateFieldDescriptor<'modifiedAt'>;
55
+ export type CollaboratorsFieldDescriptor<R extends boolean = boolean> = LinkFieldDescriptor<'collaborators', R, 'collaborators'>;
56
+ export type ModifiedByFieldDescriptor<R extends boolean = boolean> = LinkFieldDescriptor<'collaborators', R, 'modifiedBy'>;
57
+ export type CreatedByFieldDescriptor<R extends boolean = boolean> = LinkFieldDescriptor<'collaborators', R, 'createdBy'>;
58
+ export type FormulaFieldDescriptor<TReturnType extends ComputedReturnType = ComputedReturnType> = ComputedFieldDescriptor<'formula', TReturnType>;
59
+ export type LookupFieldDescriptor<TReturnType extends ComputedReturnType = ComputedReturnType> = ComputedFieldDescriptor<'lookup', TReturnType>;
60
+ export type RollupFieldDescriptor<TReturnType extends ComputedReturnType = ComputedReturnType> = ComputedFieldDescriptor<'rollup', TReturnType>;
61
+ export type TaylorFieldDescriptor = TextFieldDescriptor | JsonFieldDescriptor | UrlFieldDescriptor | EmailFieldDescriptor | PhoneNumberFieldDescriptor | SingleLineTextFieldDescriptor | LongTextFieldDescriptor | ButtonFieldDescriptor | NumberFieldDescriptor | CurrencyFieldDescriptor | PercentFieldDescriptor | CountFieldDescriptor | PositionFieldDescriptor | RatingFieldDescriptor | DurationFieldDescriptor | CheckboxFieldDescriptor | DateFieldDescriptor | SearchFieldDescriptor | LinkFieldDescriptor | CollaboratorsFieldDescriptor | ModifiedByFieldDescriptor | CreatedByFieldDescriptor | AttachmentFieldDescriptor | SelectFieldDescriptor | AutoNumberFieldDescriptor | AutoDateFieldDescriptor | CreatedAtFieldDescriptor | UpdatedAtFieldDescriptor | ModifiedAtFieldDescriptor | FormulaFieldDescriptor | LookupFieldDescriptor | RollupFieldDescriptor;
29
62
  export type TaylorTableSchema = Record<string, TaylorFieldDescriptor>;
30
63
  export type TaylorRuntimeSchema = Record<string, TaylorTableSchema>;
31
64
  export declare function defineTaylorSchema<const TSchema extends TaylorRuntimeSchema>(schema: TSchema): TSchema;
32
65
  export declare function textField<const R extends boolean>({ required, }: RequiredOption<R>): TextFieldDescriptor<R>;
66
+ export declare function jsonField<const R extends boolean>(options: RequiredOption<R>): JsonFieldDescriptor<R>;
67
+ export declare function urlField<const R extends boolean>(options: RequiredOption<R>): UrlFieldDescriptor<R>;
68
+ export declare function emailField<const R extends boolean>(options: RequiredOption<R>): EmailFieldDescriptor<R>;
69
+ export declare function phoneNumberField<const R extends boolean>(options: RequiredOption<R>): PhoneNumberFieldDescriptor<R>;
70
+ export declare function singleLineTextField<const R extends boolean>(options: RequiredOption<R>): SingleLineTextFieldDescriptor<R>;
71
+ export declare function longTextField<const R extends boolean>(options: RequiredOption<R>): LongTextFieldDescriptor<R>;
72
+ export declare function buttonField<const R extends boolean>(options: RequiredOption<R>): ButtonFieldDescriptor<R>;
33
73
  export declare function numberField<const R extends boolean>({ required, }: RequiredOption<R>): NumberFieldDescriptor<R>;
74
+ export declare function currencyField<const R extends boolean>(options: RequiredOption<R>): CurrencyFieldDescriptor<R>;
75
+ export declare function percentField<const R extends boolean>(options: RequiredOption<R>): PercentFieldDescriptor<R>;
76
+ export declare function countField<const R extends boolean>(options: RequiredOption<R>): CountFieldDescriptor<R>;
77
+ export declare function positionField<const R extends boolean>(options: RequiredOption<R>): PositionFieldDescriptor<R>;
78
+ export declare function ratingField<const R extends boolean>(options: RequiredOption<R>): RatingFieldDescriptor<R>;
79
+ export declare function durationField<const R extends boolean>(options: RequiredOption<R>): DurationFieldDescriptor<R>;
34
80
  export declare function checkboxField<const R extends boolean>({ required, }: RequiredOption<R>): CheckboxFieldDescriptor<R>;
35
81
  export declare function dateField<const R extends boolean>({ required, }: RequiredOption<R>): DateFieldDescriptor<R>;
36
82
  export declare function searchField(): SearchFieldDescriptor;
37
83
  export declare function linkField<const TLinkedTo extends string, const R extends boolean>({ required, linkedTo, }: RequiredOption<R> & {
38
84
  linkedTo: TLinkedTo;
39
85
  }): LinkFieldDescriptor<TLinkedTo, R>;
86
+ export declare function collaboratorsField<const R extends boolean>(options: RequiredOption<R>): CollaboratorsFieldDescriptor<R>;
87
+ export declare function modifiedByField<const R extends boolean>(options: RequiredOption<R>): ModifiedByFieldDescriptor<R>;
88
+ export declare function createdByField<const R extends boolean>(options: RequiredOption<R>): CreatedByFieldDescriptor<R>;
40
89
  export declare function attachmentField<const R extends boolean>({ required, }: RequiredOption<R>): AttachmentFieldDescriptor<R>;
41
90
  export declare function selectField<const TOptions extends readonly string[], const R extends boolean, const TMode extends 'single' | 'multi'>({ required, mode, options, }: RequiredOption<R> & {
42
91
  mode: TMode;
@@ -44,7 +93,21 @@ export declare function selectField<const TOptions extends readonly string[], co
44
93
  }): SelectFieldDescriptor<TOptions, R, TMode>;
45
94
  export declare function autoNumberField(): AutoNumberFieldDescriptor;
46
95
  export declare function autoDateField(): AutoDateFieldDescriptor;
47
- export type InferTaylorField<TField extends TaylorFieldDescriptor> = TField extends TextFieldDescriptor<infer R> ? TextColumnType<R> : TField extends NumberFieldDescriptor<infer R> ? NumberColumnType<R> : TField extends CheckboxFieldDescriptor<infer R> ? CheckboxColumnType<R> : TField extends DateFieldDescriptor<infer R> ? DateColumnType<R> : TField extends SearchFieldDescriptor ? SearchColumnType<false> : TField extends LinkFieldDescriptor<infer TLinkedTo, infer R> ? LinkColumnType<TLinkedTo, R> : TField extends AttachmentFieldDescriptor<infer R> ? AttachmentColumnType<R> : TField extends SelectFieldDescriptor<infer TOptions, infer R, infer TMode> ? TMode extends 'single' ? SingleSelectColumnType<TOptions, R> : MultiSelectColumnType<TOptions, R> : TField extends AutoNumberFieldDescriptor ? AutoGeneratedNumberColumnType : TField extends AutoDateFieldDescriptor ? AutoGeneratedDateColumnType : never;
96
+ export declare function createdAtField(): CreatedAtFieldDescriptor;
97
+ export declare function updatedAtField(): UpdatedAtFieldDescriptor;
98
+ export declare function modifiedAtField(): ModifiedAtFieldDescriptor;
99
+ export declare function formulaField<const TReturnType extends ComputedReturnType>({ returnType, }: {
100
+ returnType: TReturnType;
101
+ }): FormulaFieldDescriptor<TReturnType>;
102
+ export declare function lookupField<const TReturnType extends ComputedReturnType>({ returnType, }: {
103
+ returnType: TReturnType;
104
+ }): LookupFieldDescriptor<TReturnType>;
105
+ export declare function rollupField<const TReturnType extends ComputedReturnType>({ returnType, }: {
106
+ returnType: TReturnType;
107
+ }): RollupFieldDescriptor<TReturnType>;
108
+ type ReadonlyColumn<TColumn extends ColumnType<any, any, any, false, any, any>> = ColumnType<TColumn['raw'], never, never, false, TColumn['filters'], TColumn['aggregations']>;
109
+ type InferComputedField<TReturnType extends ComputedReturnType> = TReturnType extends 'number' ? AutoGeneratedNumberColumnType : TReturnType extends 'boolean' ? ReadonlyColumn<CheckboxColumnType<false>> : TReturnType extends 'date' ? AutoGeneratedDateColumnType : ReadonlyColumn<TextColumnType<false>>;
110
+ export type InferTaylorField<TField extends TaylorFieldDescriptor> = TField extends TextFieldDescriptor<infer R, TextLikeFieldType> ? TextColumnType<R> : TField extends NumberFieldDescriptor<infer R, NumberLikeFieldType> ? NumberColumnType<R> : TField extends CheckboxFieldDescriptor<infer R> ? CheckboxColumnType<R> : TField extends DateFieldDescriptor<infer R> ? DateColumnType<R> : TField extends SearchFieldDescriptor ? SearchColumnType<false> : TField extends LinkFieldDescriptor<infer TLinkedTo, infer R, 'link' | CollaboratorLinkFieldType> ? LinkColumnType<TLinkedTo, R> : TField extends AttachmentFieldDescriptor<infer R> ? AttachmentColumnType<R> : TField extends SelectFieldDescriptor<infer TOptions, infer R, infer TMode> ? TMode extends 'single' ? SingleSelectColumnType<TOptions, R> : MultiSelectColumnType<TOptions, R> : TField extends AutoNumberFieldDescriptor ? AutoGeneratedNumberColumnType : TField extends AutoDateFieldDescriptor<SystemDateFieldType> ? AutoGeneratedDateColumnType : TField extends ComputedFieldDescriptor<ComputedFieldType, infer TReturnType> ? InferComputedField<TReturnType> : never;
48
111
  export type InferTaylorTable<TTableSchema extends TaylorTableSchema> = {
49
112
  [K in keyof TTableSchema]: InferTaylorField<TTableSchema[K]>;
50
113
  };
@@ -1,12 +1,89 @@
1
+ export const exposingFieldTypes = [
2
+ 'json',
3
+ 'number',
4
+ 'date',
5
+ 'modifiedAt',
6
+ 'link',
7
+ 'currency',
8
+ 'percent',
9
+ 'url',
10
+ 'email',
11
+ 'phoneNumber',
12
+ 'checkbox',
13
+ 'select',
14
+ 'count',
15
+ 'autoNumber',
16
+ 'formula',
17
+ 'position',
18
+ 'rating',
19
+ 'createdAt',
20
+ 'updatedAt',
21
+ 'singleLineText',
22
+ 'text',
23
+ 'longText',
24
+ 'lookup',
25
+ 'rollup',
26
+ 'collaborators',
27
+ 'modifiedBy',
28
+ 'duration',
29
+ 'createdBy',
30
+ 'attachment',
31
+ 'button',
32
+ ];
1
33
  export function defineTaylorSchema(schema) {
2
34
  return schema;
3
35
  }
4
36
  export function textField({ required, }) {
5
37
  return { type: 'text', required, insertable: true, updatable: true };
6
38
  }
39
+ function textLikeField(type, { required }) {
40
+ return { type, required, insertable: true, updatable: true };
41
+ }
42
+ export function jsonField(options) {
43
+ return textLikeField('json', options);
44
+ }
45
+ export function urlField(options) {
46
+ return textLikeField('url', options);
47
+ }
48
+ export function emailField(options) {
49
+ return textLikeField('email', options);
50
+ }
51
+ export function phoneNumberField(options) {
52
+ return textLikeField('phoneNumber', options);
53
+ }
54
+ export function singleLineTextField(options) {
55
+ return textLikeField('singleLineText', options);
56
+ }
57
+ export function longTextField(options) {
58
+ return textLikeField('longText', options);
59
+ }
60
+ export function buttonField(options) {
61
+ return textLikeField('button', options);
62
+ }
7
63
  export function numberField({ required, }) {
8
64
  return { type: 'number', required, insertable: true, updatable: true };
9
65
  }
66
+ function numberLikeField(type, { required }) {
67
+ return { type, required, insertable: true, updatable: true };
68
+ }
69
+ export function currencyField(options) {
70
+ return numberLikeField('currency', options);
71
+ }
72
+ export function percentField(options) {
73
+ return numberLikeField('percent', options);
74
+ }
75
+ export function countField(options) {
76
+ return numberLikeField('count', options);
77
+ }
78
+ export function positionField(options) {
79
+ return numberLikeField('position', options);
80
+ }
81
+ export function ratingField(options) {
82
+ return numberLikeField('rating', options);
83
+ }
84
+ export function durationField(options) {
85
+ return numberLikeField('duration', options);
86
+ }
10
87
  export function checkboxField({ required, }) {
11
88
  return { type: 'checkbox', required, insertable: true, updatable: true };
12
89
  }
@@ -25,6 +102,24 @@ export function linkField({ required, linkedTo, }) {
25
102
  updatable: true,
26
103
  };
27
104
  }
105
+ function collaboratorLinkField(type, { required }) {
106
+ return {
107
+ type,
108
+ required,
109
+ linkedTo: 'collaborators',
110
+ insertable: true,
111
+ updatable: true,
112
+ };
113
+ }
114
+ export function collaboratorsField(options) {
115
+ return collaboratorLinkField('collaborators', options);
116
+ }
117
+ export function modifiedByField(options) {
118
+ return collaboratorLinkField('modifiedBy', options);
119
+ }
120
+ export function createdByField(options) {
121
+ return collaboratorLinkField('createdBy', options);
122
+ }
28
123
  export function attachmentField({ required, }) {
29
124
  return {
30
125
  type: 'attachment',
@@ -60,4 +155,39 @@ export function autoDateField() {
60
155
  updatable: false,
61
156
  };
62
157
  }
158
+ function systemDateField(type) {
159
+ return {
160
+ type,
161
+ required: false,
162
+ insertable: false,
163
+ updatable: false,
164
+ };
165
+ }
166
+ export function createdAtField() {
167
+ return systemDateField('createdAt');
168
+ }
169
+ export function updatedAtField() {
170
+ return systemDateField('updatedAt');
171
+ }
172
+ export function modifiedAtField() {
173
+ return systemDateField('modifiedAt');
174
+ }
175
+ function computedField(type, returnType) {
176
+ return {
177
+ type,
178
+ returnType,
179
+ required: false,
180
+ insertable: false,
181
+ updatable: false,
182
+ };
183
+ }
184
+ export function formulaField({ returnType, }) {
185
+ return computedField('formula', returnType);
186
+ }
187
+ export function lookupField({ returnType, }) {
188
+ return computedField('lookup', returnType);
189
+ }
190
+ export function rollupField({ returnType, }) {
191
+ return computedField('rollup', returnType);
192
+ }
63
193
  //# sourceMappingURL=runtime-schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-schema.js","sourceRoot":"","sources":["../../src/runtime-schema.ts"],"names":[],"mappings":"AAoGA,MAAM,UAAU,kBAAkB,CAChC,MAAe;IAEf,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,SAAS,CAA0B,EACjD,QAAQ,GACU;IAClB,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,WAAW,CAA0B,EACnD,QAAQ,GACU;IAClB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,aAAa,CAA0B,EACrD,QAAQ,GACU;IAClB,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,SAAS,CAA0B,EACjD,QAAQ,GACU;IAClB,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AAChF,CAAC;AAED,MAAM,UAAU,SAAS,CAGvB,EACA,QAAQ,EACR,QAAQ,GACoC;IAI5C,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,QAAQ;QACR,QAAQ;QACR,UAAU,EAAE,IAAI;QAChB,SAAS,EAAE,IAAI;KAChB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAA0B,EACvD,QAAQ,GACU;IAClB,OAAO;QACL,IAAI,EAAE,YAAY;QAClB,QAAQ;QACR,QAAQ,EAAE,iBAAiB;QAC3B,UAAU,EAAE,IAAI;QAChB,SAAS,EAAE,IAAI;KAChB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,WAAW,CAIzB,EACA,QAAQ,EACR,IAAI,EACJ,OAAO,GAIR;IACC,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,QAAQ;QACR,IAAI;QACJ,OAAO;QACP,UAAU,EAAE,IAAI;QAChB,SAAS,EAAE,IAAI;KAChB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,OAAO;QACL,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,KAAK;QACf,UAAU,EAAE,KAAK;QACjB,SAAS,EAAE,KAAK;KACjB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,KAAK;QACf,UAAU,EAAE,KAAK;QACjB,SAAS,EAAE,KAAK;KACjB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"runtime-schema.js","sourceRoot":"","sources":["../../src/runtime-schema.ts"],"names":[],"mappings":"AA+CA,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,MAAM;IACN,QAAQ;IACR,MAAM;IACN,YAAY;IACZ,MAAM;IACN,UAAU;IACV,SAAS;IACT,KAAK;IACL,OAAO;IACP,aAAa;IACb,UAAU;IACV,QAAQ;IACR,OAAO;IACP,YAAY;IACZ,SAAS;IACT,UAAU;IACV,QAAQ;IACR,WAAW;IACX,WAAW;IACX,gBAAgB;IAChB,MAAM;IACN,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,eAAe;IACf,YAAY;IACZ,UAAU;IACV,WAAW;IACX,YAAY;IACZ,QAAQ;CACsC,CAAC;AAkMjD,MAAM,UAAU,kBAAkB,CAChC,MAAe;IAEf,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,SAAS,CAA0B,EACjD,QAAQ,GACU;IAClB,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AACvE,CAAC;AAED,SAAS,aAAa,CACpB,IAAW,EACX,EAAE,QAAQ,EAAqB;IAE/B,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,SAAS,CACvB,OAA0B;IAE1B,OAAO,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,QAAQ,CACtB,OAA0B;IAE1B,OAAO,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,UAAU,CACxB,OAA0B;IAE1B,OAAO,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,OAA0B;IAE1B,OAAO,aAAa,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,OAA0B;IAE1B,OAAO,aAAa,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,OAA0B;IAE1B,OAAO,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,WAAW,CACzB,OAA0B;IAE1B,OAAO,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,WAAW,CAA0B,EACnD,QAAQ,GACU;IAClB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AACzE,CAAC;AAED,SAAS,eAAe,CAGtB,IAAW,EAAE,EAAE,QAAQ,EAAqB;IAC5C,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,OAA0B;IAE1B,OAAO,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,OAA0B;IAE1B,OAAO,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,UAAU,CACxB,OAA0B;IAE1B,OAAO,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,OAA0B;IAE1B,OAAO,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,WAAW,CACzB,OAA0B;IAE1B,OAAO,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,OAA0B;IAE1B,OAAO,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,aAAa,CAA0B,EACrD,QAAQ,GACU;IAClB,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,SAAS,CAA0B,EACjD,QAAQ,GACU;IAClB,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AAChF,CAAC;AAED,MAAM,UAAU,SAAS,CAGvB,EACA,QAAQ,EACR,QAAQ,GACoC;IAI5C,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,QAAQ;QACR,QAAQ;QACR,UAAU,EAAE,IAAI;QAChB,SAAS,EAAE,IAAI;KAChB,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAG5B,IAAW,EAAE,EAAE,QAAQ,EAAqB;IAK5C,OAAO;QACL,IAAI;QACJ,QAAQ;QACR,QAAQ,EAAE,eAAe;QACzB,UAAU,EAAE,IAAI;QAChB,SAAS,EAAE,IAAI;KAChB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,OAA0B;IAE1B,OAAO,qBAAqB,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,OAA0B;IAE1B,OAAO,qBAAqB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,OAA0B;IAE1B,OAAO,qBAAqB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,eAAe,CAA0B,EACvD,QAAQ,GACU;IAClB,OAAO;QACL,IAAI,EAAE,YAAY;QAClB,QAAQ;QACR,QAAQ,EAAE,iBAAiB;QAC3B,UAAU,EAAE,IAAI;QAChB,SAAS,EAAE,IAAI;KAChB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,WAAW,CAIzB,EACA,QAAQ,EACR,IAAI,EACJ,OAAO,GAIR;IACC,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,QAAQ;QACR,IAAI;QACJ,OAAO;QACP,UAAU,EAAE,IAAI;QAChB,SAAS,EAAE,IAAI;KAChB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,OAAO;QACL,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,KAAK;QACf,UAAU,EAAE,KAAK;QACjB,SAAS,EAAE,KAAK;KACjB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,KAAK;QACf,UAAU,EAAE,KAAK;QACjB,SAAS,EAAE,KAAK;KACjB,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CACtB,IAAW;IAEX,OAAO;QACL,IAAI;QACJ,QAAQ,EAAE,KAAK;QACf,UAAU,EAAE,KAAK;QACjB,SAAS,EAAE,KAAK;KACjB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,OAAO,eAAe,CAAC,WAAW,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,OAAO,eAAe,CAAC,WAAW,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,OAAO,eAAe,CAAC,YAAY,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,aAAa,CAGpB,IAAW,EAAE,UAAuB;IACpC,OAAO;QACL,IAAI;QACJ,UAAU;QACV,QAAQ,EAAE,KAAK;QACf,UAAU,EAAE,KAAK;QACjB,SAAS,EAAE,KAAK;KACjB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,YAAY,CAA+C,EACzE,UAAU,GAGX;IACC,OAAO,aAAa,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,WAAW,CAA+C,EACxE,UAAU,GAGX;IACC,OAAO,aAAa,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,WAAW,CAA+C,EACxE,UAAU,GAGX;IACC,OAAO,aAAa,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AAC7C,CAAC"}