@taylordb/query-builder 0.16.5 → 0.18.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.
Files changed (36) hide show
  1. package/README.md +39 -2
  2. package/dist/cjs/@types/query-builder.d.ts +4 -0
  3. package/dist/cjs/__tests__/query-builder.spec.js +233 -0
  4. package/dist/cjs/__tests__/query-builder.spec.js.map +1 -1
  5. package/dist/cjs/__tests__/taylorclient.types.d.ts +21 -222
  6. package/dist/cjs/__tests__/taylorclient.types.js +25 -31
  7. package/dist/cjs/__tests__/taylorclient.types.js.map +1 -1
  8. package/dist/cjs/fields-processor.d.ts +1 -0
  9. package/dist/cjs/fields-processor.js +24 -0
  10. package/dist/cjs/fields-processor.js.map +1 -1
  11. package/dist/cjs/index.d.ts +2 -0
  12. package/dist/cjs/index.js +13 -1
  13. package/dist/cjs/index.js.map +1 -1
  14. package/dist/cjs/query-builder.d.ts +9 -11
  15. package/dist/cjs/query-builder.js +3 -19
  16. package/dist/cjs/query-builder.js.map +1 -1
  17. package/dist/esm/@types/query-builder.d.ts +4 -0
  18. package/dist/esm/__tests__/query-builder.spec.js +234 -1
  19. package/dist/esm/__tests__/query-builder.spec.js.map +1 -1
  20. package/dist/esm/__tests__/taylorclient.types.d.ts +21 -222
  21. package/dist/esm/__tests__/taylorclient.types.js +24 -29
  22. package/dist/esm/__tests__/taylorclient.types.js.map +1 -1
  23. package/dist/esm/fields-processor.d.ts +1 -0
  24. package/dist/esm/fields-processor.js +24 -0
  25. package/dist/esm/fields-processor.js.map +1 -1
  26. package/dist/esm/index.d.ts +2 -0
  27. package/dist/esm/index.js +1 -0
  28. package/dist/esm/index.js.map +1 -1
  29. package/dist/esm/query-builder.d.ts +9 -11
  30. package/dist/esm/query-builder.js +3 -19
  31. package/dist/esm/query-builder.js.map +1 -1
  32. package/dist/tsconfig.esm.tsbuildinfo +1 -1
  33. package/docs/field-types.md +44 -5
  34. package/docs/file-upload.md +7 -3
  35. package/llm.txt +2 -2
  36. package/package.json +2 -2
@@ -1,226 +1,25 @@
1
- /**
2
- * Copyright (c) 2025 TaylorDB
3
- *
4
- * This source code is licensed under the MIT license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- */
7
- interface FileInformation {
8
- fieldname: string;
9
- originalname: string;
10
- encoding: string;
11
- mimetype: string;
12
- destination: string;
13
- filename: string;
14
- path: string;
15
- size: number;
16
- format: string;
17
- width: number;
18
- height: number;
19
- }
20
- interface UploadResponse {
21
- collectionName: string;
22
- fileInformation: FileInformation;
23
- metadata: {
24
- thumbnails: any[];
25
- clips: any[];
1
+ import type { InferTaylorDatabase } from '../index.js';
2
+ export declare const taylorSchema: {
3
+ readonly selectTable: {
4
+ readonly id: import("@taylordb/shared/dist/esm/runtime-schema.js").AutoNumberFieldDescriptor;
5
+ readonly name: import("@taylordb/shared/dist/esm/runtime-schema.js").TextFieldDescriptor<true>;
6
+ readonly color: import("@taylordb/shared/dist/esm/runtime-schema.js").TextFieldDescriptor<true>;
26
7
  };
27
- baseId: string;
28
- storageAdaptor: string;
29
- _id: string;
30
- __v: number;
31
- }
32
- export interface AttachmentColumnValue {
33
- url: string;
34
- fileType: string;
35
- size: number;
36
- }
37
- export declare class Attachment {
38
- readonly collectionName: string;
39
- readonly fileInformation: FileInformation;
40
- readonly metadata: {
41
- thumbnails: any[];
42
- clips: any[];
8
+ readonly attachmentTable: {
9
+ readonly id: import("@taylordb/shared/dist/esm/runtime-schema.js").AutoNumberFieldDescriptor;
10
+ readonly name: import("@taylordb/shared/dist/esm/runtime-schema.js").TextFieldDescriptor<true>;
11
+ readonly metadata: import("@taylordb/shared/dist/esm/runtime-schema.js").TextFieldDescriptor<true>;
12
+ readonly size: import("@taylordb/shared/dist/esm/runtime-schema.js").NumberFieldDescriptor<true>;
13
+ readonly fileType: import("@taylordb/shared/dist/esm/runtime-schema.js").TextFieldDescriptor<true>;
14
+ readonly url: import("@taylordb/shared/dist/esm/runtime-schema.js").TextFieldDescriptor<true>;
15
+ readonly searchText: import("@taylordb/shared/dist/esm/runtime-schema.js").SearchFieldDescriptor;
43
16
  };
44
- readonly baseId: string;
45
- readonly storageAdaptor: string;
46
- readonly _id: string;
47
- constructor(data: UploadResponse);
48
- toColumnValue(): AttachmentColumnValue;
49
- }
50
- type IsWithinOperatorValue = 'pastWeek' | 'pastMonth' | 'pastYear' | 'nextWeek' | 'nextMonth' | 'nextYear' | 'daysFromNow' | 'daysAgo' | 'currentWeek' | 'currentMonth' | 'currentYear';
51
- type DefaultDateFilterValue = ('today' | 'tomorrow' | 'yesterday' | 'oneWeekAgo' | 'oneWeekFromNow' | 'oneMonthAgo' | 'oneMonthFromNow') | ['exactDay' | 'exactTimestamp', string] | ['daysAgo' | 'daysFromNow', number];
52
- type DateFilters = {
53
- '=': DefaultDateFilterValue;
54
- '!=': DefaultDateFilterValue;
55
- '<': DefaultDateFilterValue;
56
- '>': DefaultDateFilterValue;
57
- '<=': DefaultDateFilterValue;
58
- '>=': DefaultDateFilterValue;
59
- isWithIn: IsWithinOperatorValue | {
60
- value: 'daysAgo' | 'daysFromNow';
61
- date: number;
17
+ readonly collaborators: {
18
+ readonly id: import("@taylordb/shared/dist/esm/runtime-schema.js").AutoNumberFieldDescriptor;
19
+ readonly name: import("@taylordb/shared/dist/esm/runtime-schema.js").TextFieldDescriptor<true>;
20
+ readonly emailAddress: import("@taylordb/shared/dist/esm/runtime-schema.js").TextFieldDescriptor<true>;
21
+ readonly avatar: import("@taylordb/shared/dist/esm/runtime-schema.js").TextFieldDescriptor<true>;
22
+ readonly searchText: import("@taylordb/shared/dist/esm/runtime-schema.js").SearchFieldDescriptor;
62
23
  };
63
- isEmpty: boolean;
64
- isNotEmpty: boolean;
65
24
  };
66
- type DateAggregations = {
67
- empty: number;
68
- filled: number;
69
- unique: number;
70
- percentEmpty: number;
71
- percentFilled: number;
72
- percentUnique: number;
73
- min: number | null;
74
- max: number | null;
75
- daysRange: number | null;
76
- monthRange: number | null;
77
- };
78
- type TextFilters = {
79
- '=': string;
80
- '!=': string;
81
- caseEqual: string;
82
- hasAnyOf: string[];
83
- contains: string;
84
- startsWith: string;
85
- endsWith: string;
86
- doesNotContain: string;
87
- isEmpty: never;
88
- isNotEmpty: never;
89
- };
90
- type LinkFilters = {
91
- hasAnyOf: number[];
92
- hasAllOf: number[];
93
- isExactly: number[];
94
- '=': number;
95
- hasNoneOf: number[];
96
- contains: string;
97
- doesNotContain: string;
98
- isEmpty: never;
99
- isNotEmpty: never;
100
- };
101
- type SelectFilters<O extends readonly string[]> = {
102
- hasAnyOf: O[number][];
103
- hasAllOf: O[number][];
104
- isExactly: O[number][];
105
- '=': O[number];
106
- hasNoneOf: O[number][];
107
- contains: string;
108
- doesNotContain: string;
109
- isEmpty: never;
110
- isNotEmpty: never;
111
- };
112
- type LinkAggregations = {
113
- empty: number;
114
- filled: number;
115
- percentEmpty: number;
116
- percentFilled: number;
117
- };
118
- type NumberFilters = {
119
- '=': number;
120
- '!=': number;
121
- '>': number;
122
- '>=': number;
123
- '<': number;
124
- '<=': number;
125
- hasAnyOf: number[];
126
- hasNoneOf: number[];
127
- isEmpty: never;
128
- isNotEmpty: never;
129
- };
130
- type SearchTextFilters = {
131
- search: string;
132
- contains: string;
133
- containsStrict: string;
134
- isEmpty: never;
135
- isNotEmpty: never;
136
- };
137
- type NumberAggregations = {
138
- sum: number;
139
- average: number;
140
- median: number;
141
- min: number | null;
142
- max: number | null;
143
- range: number;
144
- standardDeviation: number;
145
- histogram: Record<string, number>;
146
- empty: number;
147
- filled: number;
148
- unique: number;
149
- percentEmpty: number;
150
- percentFilled: number;
151
- percentUnique: number;
152
- };
153
- type CheckboxFilters = {
154
- '=': number;
155
- };
156
- /**
157
- *
158
- * Column types
159
- *
160
- */
161
- export type ColumnType<S, U, I, R extends boolean, F extends {
162
- [key: string]: any;
163
- } = object, A extends {
164
- [key: string]: any;
165
- } = object> = {
166
- raw: S;
167
- insert: I;
168
- update: U;
169
- filters: F;
170
- aggregations: A;
171
- isRequired: R;
172
- };
173
- export type DateColumnType<R extends boolean> = ColumnType<string, string, string, R, DateFilters, DateAggregations>;
174
- export type TextColumnType<R extends boolean> = ColumnType<string, string, string, R, TextFilters>;
175
- export type SearchColumnType<R extends boolean> = ColumnType<string, string, string, R, SearchTextFilters>;
176
- export type ALinkColumnType<T extends string, S, U, I, R extends boolean, F extends {
177
- [key: string]: any;
178
- } = LinkFilters, A extends LinkAggregations = LinkAggregations> = ColumnType<S, U, I, R, F, A> & {
179
- linkedTo: T;
180
- };
181
- export type LinkColumnType<T extends string, R extends boolean> = ALinkColumnType<T, object, number[] | {
182
- newIds: number[];
183
- deletedIds: number[];
184
- }, number[], R>;
185
- export type AttachmentColumnType<R extends boolean> = ALinkColumnType<'attachmentTable', Attachment[], Attachment[] | {
186
- newIds: number[];
187
- deletedIds: number[];
188
- } | number[], Attachment[] | number[], R>;
189
- export type SingleSelectColumnType<O extends readonly string[], R extends boolean> = ColumnType<O[number], O[number], O[number], R, SelectFilters<O>>;
190
- export type MultiSelectColumnType<O extends readonly string[], R extends boolean> = ColumnType<O[number][], O[number][], O[number][], R, SelectFilters<O>>;
191
- export type NumberColumnType<R extends boolean> = ColumnType<number, number, number, R, NumberFilters, NumberAggregations>;
192
- export type CheckboxColumnType<R extends boolean> = ColumnType<boolean, boolean, boolean, R, CheckboxFilters>;
193
- export type AutoGeneratedNumberColumnType = ColumnType<number, never, never, false, NumberFilters, NumberAggregations>;
194
- export type AutoGeneratedDateColumnType = ColumnType<string, never, never, false, DateFilters, DateAggregations>;
195
- export type SelectTable = {
196
- id: AutoGeneratedNumberColumnType;
197
- name: TextColumnType<true>;
198
- color: TextColumnType<true>;
199
- };
200
- export type AttachmentTable = {
201
- id: AutoGeneratedNumberColumnType;
202
- name: TextColumnType<true>;
203
- metadata: TextColumnType<true>;
204
- size: NumberColumnType<true>;
205
- fileType: TextColumnType<true>;
206
- url: TextColumnType<true>;
207
- searchText: SearchColumnType<false>;
208
- };
209
- export type CollaboratorsTable = {
210
- id: AutoGeneratedNumberColumnType;
211
- name: TextColumnType<true>;
212
- emailAddress: TextColumnType<true>;
213
- avatar: TextColumnType<true>;
214
- searchText: SearchColumnType<false>;
215
- };
216
- export interface TaylorDatabase {
217
- /**
218
- *
219
- *
220
- * Internal tables, these tables can not be queried directly.
221
- *
222
- */
223
- attachmentTable: AttachmentTable;
224
- collaborators: CollaboratorsTable;
225
- }
226
- export {};
25
+ export type TaylorDatabase = InferTaylorDatabase<typeof taylorSchema>;
@@ -1,34 +1,28 @@
1
1
  "use strict";
2
- /**
3
- * Copyright (c) 2025 TaylorDB
4
- *
5
- * This source code is licensed under the MIT license found in the
6
- * LICENSE file in the root directory of this source tree.
7
- */
8
2
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.Attachment = void 0;
10
- class Attachment {
11
- collectionName;
12
- fileInformation;
13
- metadata;
14
- baseId;
15
- storageAdaptor;
16
- _id;
17
- constructor(data) {
18
- this.collectionName = data.collectionName;
19
- this.fileInformation = data.fileInformation;
20
- this.metadata = data.metadata;
21
- this.baseId = data.baseId;
22
- this.storageAdaptor = data.storageAdaptor;
23
- this._id = data._id;
24
- }
25
- toColumnValue() {
26
- return {
27
- url: this.fileInformation.path,
28
- fileType: this.fileInformation.mimetype,
29
- size: this.fileInformation.size,
30
- };
31
- }
32
- }
33
- exports.Attachment = Attachment;
3
+ exports.taylorSchema = void 0;
4
+ const index_js_1 = require("../index.js");
5
+ exports.taylorSchema = (0, index_js_1.defineTaylorSchema)({
6
+ selectTable: {
7
+ id: (0, index_js_1.autoNumberField)(),
8
+ name: (0, index_js_1.textField)({ required: true }),
9
+ color: (0, index_js_1.textField)({ required: true }),
10
+ },
11
+ attachmentTable: {
12
+ id: (0, index_js_1.autoNumberField)(),
13
+ name: (0, index_js_1.textField)({ required: true }),
14
+ metadata: (0, index_js_1.textField)({ required: true }),
15
+ size: (0, index_js_1.numberField)({ required: true }),
16
+ fileType: (0, index_js_1.textField)({ required: true }),
17
+ url: (0, index_js_1.textField)({ required: true }),
18
+ searchText: (0, index_js_1.searchField)(),
19
+ },
20
+ collaborators: {
21
+ id: (0, index_js_1.autoNumberField)(),
22
+ name: (0, index_js_1.textField)({ required: true }),
23
+ emailAddress: (0, index_js_1.textField)({ required: true }),
24
+ avatar: (0, index_js_1.textField)({ required: true }),
25
+ searchText: (0, index_js_1.searchField)(),
26
+ },
27
+ });
34
28
  //# sourceMappingURL=taylorclient.types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"taylorclient.types.js","sourceRoot":"","sources":["../../../src/__tests__/taylorclient.types.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAmCH,MAAa,UAAU;IACL,cAAc,CAAS;IACvB,eAAe,CAAkB;IACjC,QAAQ,CAAsC;IAC9C,MAAM,CAAS;IACf,cAAc,CAAS;IACvB,GAAG,CAAS;IAE5B,YAAY,IAAoB;QAC9B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC1C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;QAC5C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC1C,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;IACtB,CAAC;IAED,aAAa;QACX,OAAO;YACL,GAAG,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI;YAC9B,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ;YACvC,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI;SAChC,CAAC;IACJ,CAAC;CACF;AAxBD,gCAwBC"}
1
+ {"version":3,"file":"taylorclient.types.js","sourceRoot":"","sources":["../../../src/__tests__/taylorclient.types.ts"],"names":[],"mappings":";;;AAAA,0CAMqB;AAGR,QAAA,YAAY,GAAG,IAAA,6BAAkB,EAAC;IAC7C,WAAW,EAAE;QACX,EAAE,EAAE,IAAA,0BAAe,GAAE;QACrB,IAAI,EAAE,IAAA,oBAAS,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACnC,KAAK,EAAE,IAAA,oBAAS,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;KACrC;IACD,eAAe,EAAE;QACf,EAAE,EAAE,IAAA,0BAAe,GAAE;QACrB,IAAI,EAAE,IAAA,oBAAS,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACnC,QAAQ,EAAE,IAAA,oBAAS,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACvC,IAAI,EAAE,IAAA,sBAAW,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACrC,QAAQ,EAAE,IAAA,oBAAS,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACvC,GAAG,EAAE,IAAA,oBAAS,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAClC,UAAU,EAAE,IAAA,sBAAW,GAAE;KAC1B;IACD,aAAa,EAAE;QACb,EAAE,EAAE,IAAA,0BAAe,GAAE;QACrB,IAAI,EAAE,IAAA,oBAAS,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACnC,YAAY,EAAE,IAAA,oBAAS,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC3C,MAAM,EAAE,IAAA,oBAAS,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACrC,UAAU,EAAE,IAAA,sBAAW,GAAE;KAC1B;CACF,CAAC,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export declare class FieldsProcessor {
2
2
  process<T extends Record<string, any>>(record: T): T;
3
+ private normalizeAttachmentUrl;
3
4
  }
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FieldsProcessor = void 0;
4
4
  const shared_1 = require("@taylordb/shared");
5
+ const MEDIA_UPLOADER_HOST = 'https://media.taylordb.ai';
5
6
  class FieldsProcessor {
6
7
  process(record) {
7
8
  const newRecord = { ...record };
@@ -12,6 +13,18 @@ class FieldsProcessor {
12
13
  value[0] instanceof shared_1.Attachment) {
13
14
  newRecord[key] = value.map((att) => att.toColumnValue());
14
15
  }
16
+ else if (typeof value === 'object' &&
17
+ value !== null &&
18
+ 'newAttachments' in value &&
19
+ Array.isArray(value.newAttachments)) {
20
+ newRecord[key] = {
21
+ ...value,
22
+ newAttachments: value.newAttachments.map((att) => att.toColumnValue()),
23
+ deletedUrls: Array.isArray(value.deletedUrls)
24
+ ? value.deletedUrls.map((url) => this.normalizeAttachmentUrl(url))
25
+ : value.deletedUrls,
26
+ };
27
+ }
15
28
  else if (typeof value === 'object' &&
16
29
  value !== null &&
17
30
  // @ts-ignore
@@ -21,6 +34,17 @@ class FieldsProcessor {
21
34
  }
22
35
  return newRecord;
23
36
  }
37
+ normalizeAttachmentUrl(url) {
38
+ if (typeof url !== 'string')
39
+ return url;
40
+ if (url.startsWith('files/')) {
41
+ return url;
42
+ }
43
+ if (url.startsWith(`${MEDIA_UPLOADER_HOST}/`)) {
44
+ return url.slice(MEDIA_UPLOADER_HOST.length + 1);
45
+ }
46
+ return url;
47
+ }
24
48
  }
25
49
  exports.FieldsProcessor = FieldsProcessor;
26
50
  //# sourceMappingURL=fields-processor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fields-processor.js","sourceRoot":"","sources":["../../src/fields-processor.ts"],"names":[],"mappings":";;;AAAA,6CAA8C;AAE9C,MAAa,eAAe;IACnB,OAAO,CAAgC,MAAS;QACrD,MAAM,SAAS,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;QAChC,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;YAE7B,IACE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBACpB,KAAK,CAAC,MAAM,GAAG,CAAC;gBAChB,KAAK,CAAC,CAAC,CAAC,YAAY,mBAAU,EAC9B,CAAC;gBACD,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,GAAe,EAAE,EAAE,CAC7C,GAAG,CAAC,aAAa,EAAE,CACb,CAAC;YACX,CAAC;iBAAM,IACL,OAAO,KAAK,KAAK,QAAQ;gBACzB,KAAK,KAAK,IAAI;gBACd,aAAa;gBACb,KAAK,YAAY,mBAAU,EAC3B,CAAC;gBACD,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,aAAa,EAAS,CAAC;YAChD,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAzBD,0CAyBC"}
1
+ {"version":3,"file":"fields-processor.js","sourceRoot":"","sources":["../../src/fields-processor.ts"],"names":[],"mappings":";;;AAAA,6CAA8C;AAE9C,MAAM,mBAAmB,GAAG,2BAA2B,CAAC;AAExD,MAAa,eAAe;IACnB,OAAO,CAAgC,MAAS;QACrD,MAAM,SAAS,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;QAChC,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;YAE7B,IACE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBACpB,KAAK,CAAC,MAAM,GAAG,CAAC;gBAChB,KAAK,CAAC,CAAC,CAAC,YAAY,mBAAU,EAC9B,CAAC;gBACD,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,GAAe,EAAE,EAAE,CAC7C,GAAG,CAAC,aAAa,EAAE,CACb,CAAC;YACX,CAAC;iBAAM,IACL,OAAO,KAAK,KAAK,QAAQ;gBACzB,KAAK,KAAK,IAAI;gBACd,gBAAgB,IAAI,KAAK;gBACzB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,EACnC,CAAC;gBACD,SAAS,CAAC,GAAG,CAAC,GAAG;oBACf,GAAG,KAAK;oBACR,cAAc,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,GAAe,EAAE,EAAE,CAC3D,GAAG,CAAC,aAAa,EAAE,CACpB;oBACD,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC;wBAC3C,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAW,EAAE,EAAE,CACpC,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,CACjC;wBACH,CAAC,CAAC,KAAK,CAAC,WAAW;iBACf,CAAC;YACX,CAAC;iBAAM,IACL,OAAO,KAAK,KAAK,QAAQ;gBACzB,KAAK,KAAK,IAAI;gBACd,aAAa;gBACb,KAAK,YAAY,mBAAU,EAC3B,CAAC;gBACD,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,aAAa,EAAS,CAAC;YAChD,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,sBAAsB,CAAC,GAAW;QACxC,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,OAAO,GAAU,CAAC;QAE/C,IAAI,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,OAAO,GAAG,CAAC;QACb,CAAC;QAED,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,mBAAmB,GAAG,CAAC,EAAE,CAAC;YAC9C,OAAO,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACnD,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAxDD,0CAwDC"}
@@ -1,3 +1,5 @@
1
+ export { attachmentField, autoDateField, autoNumberField, checkboxField, dateField, defineTaylorSchema, linkField, numberField, searchField, selectField, textField, } from '@taylordb/shared';
2
+ export type { AttachmentFieldDescriptor, AutoDateFieldDescriptor, AutoNumberFieldDescriptor, CheckboxFieldDescriptor, DateFieldDescriptor, InferTaylorDatabase, InferTaylorField, InferTaylorTable, LinkFieldDescriptor, NumberFieldDescriptor, SearchFieldDescriptor, SelectFieldDescriptor, TaylorFieldDescriptor, TaylorRuntimeSchema, TaylorTableSchema, TextFieldDescriptor, } from '@taylordb/shared';
1
3
  export { avg, count, max, median, min, range, stdDev, sum, unique, } from './aggregation-helpers.js';
2
4
  export type { AggregationHelper } from './aggregation-helpers.js';
3
5
  export { PluginActionBuilder, PluginBuilder } from './plugin-action-builder.js';
package/dist/cjs/index.js CHANGED
@@ -1,6 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createQueryBuilder = exports.PluginBuilder = exports.PluginActionBuilder = exports.unique = exports.sum = exports.stdDev = exports.range = exports.min = exports.median = exports.max = exports.count = exports.avg = void 0;
3
+ exports.createQueryBuilder = exports.PluginBuilder = exports.PluginActionBuilder = exports.unique = exports.sum = exports.stdDev = exports.range = exports.min = exports.median = exports.max = exports.count = exports.avg = exports.textField = exports.selectField = exports.searchField = exports.numberField = exports.linkField = exports.defineTaylorSchema = exports.dateField = exports.checkboxField = exports.autoNumberField = exports.autoDateField = exports.attachmentField = void 0;
4
+ var shared_1 = require("@taylordb/shared");
5
+ Object.defineProperty(exports, "attachmentField", { enumerable: true, get: function () { return shared_1.attachmentField; } });
6
+ Object.defineProperty(exports, "autoDateField", { enumerable: true, get: function () { return shared_1.autoDateField; } });
7
+ Object.defineProperty(exports, "autoNumberField", { enumerable: true, get: function () { return shared_1.autoNumberField; } });
8
+ Object.defineProperty(exports, "checkboxField", { enumerable: true, get: function () { return shared_1.checkboxField; } });
9
+ Object.defineProperty(exports, "dateField", { enumerable: true, get: function () { return shared_1.dateField; } });
10
+ Object.defineProperty(exports, "defineTaylorSchema", { enumerable: true, get: function () { return shared_1.defineTaylorSchema; } });
11
+ Object.defineProperty(exports, "linkField", { enumerable: true, get: function () { return shared_1.linkField; } });
12
+ Object.defineProperty(exports, "numberField", { enumerable: true, get: function () { return shared_1.numberField; } });
13
+ Object.defineProperty(exports, "searchField", { enumerable: true, get: function () { return shared_1.searchField; } });
14
+ Object.defineProperty(exports, "selectField", { enumerable: true, get: function () { return shared_1.selectField; } });
15
+ Object.defineProperty(exports, "textField", { enumerable: true, get: function () { return shared_1.textField; } });
4
16
  var aggregation_helpers_js_1 = require("./aggregation-helpers.js");
5
17
  Object.defineProperty(exports, "avg", { enumerable: true, get: function () { return aggregation_helpers_js_1.avg; } });
6
18
  Object.defineProperty(exports, "count", { enumerable: true, get: function () { return aggregation_helpers_js_1.count; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,mEAUkC;AAThC,6GAAA,GAAG,OAAA;AACH,+GAAA,KAAK,OAAA;AACL,6GAAA,GAAG,OAAA;AACH,gHAAA,MAAM,OAAA;AACN,6GAAA,GAAG,OAAA;AACH,+GAAA,KAAK,OAAA;AACL,gHAAA,MAAM,OAAA;AACN,6GAAA,GAAG,OAAA;AACH,gHAAA,MAAM,OAAA;AAGR,uEAAgF;AAAvE,+HAAA,mBAAmB,OAAA;AAAE,yHAAA,aAAa,OAAA;AAC3C,uDAAwD;AAA/C,sHAAA,kBAAkB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,2CAY0B;AAXxB,yGAAA,eAAe,OAAA;AACf,uGAAA,aAAa,OAAA;AACb,yGAAA,eAAe,OAAA;AACf,uGAAA,aAAa,OAAA;AACb,mGAAA,SAAS,OAAA;AACT,4GAAA,kBAAkB,OAAA;AAClB,mGAAA,SAAS,OAAA;AACT,qGAAA,WAAW,OAAA;AACX,qGAAA,WAAW,OAAA;AACX,qGAAA,WAAW,OAAA;AACX,mGAAA,SAAS,OAAA;AAoBX,mEAUkC;AAThC,6GAAA,GAAG,OAAA;AACH,+GAAA,KAAK,OAAA;AACL,6GAAA,GAAG,OAAA;AACH,gHAAA,MAAM,OAAA;AACN,6GAAA,GAAG,OAAA;AACH,+GAAA,KAAK,OAAA;AACL,gHAAA,MAAM,OAAA;AACN,6GAAA,GAAG,OAAA;AACH,gHAAA,MAAM,OAAA;AAGR,uEAAgF;AAAvE,+HAAA,mBAAmB,OAAA;AAAE,yHAAA,aAAa,OAAA;AAC3C,uDAAwD;AAA/C,sHAAA,kBAAkB,OAAA"}
@@ -1,6 +1,6 @@
1
1
  import { Attachment } from '@taylordb/shared';
2
2
  import { AbstractLinkColumn, AnyDB, QueryNode, RootQueryNode, SelectionQueryNode } from './@types/internal-types.js';
3
- import { LinkColumnNames, NonLinkColumnNames } from './@types/query-builder.js';
3
+ import { LinkColumnNames, NonLinkColumnNames, TableNames } from './@types/query-builder.js';
4
4
  import { InferDataType, ResolveSelection, ResolveWithObject, ResolveWithPlain } from './@types/type-helpers.js';
5
5
  import { AggregationQueryBuilder } from './aggregation-query-builder.js';
6
6
  import { AnyQueryBuilder, AreAllBuildersSubscribable, BatchQueryBuilder } from './batch-query-builder.js';
@@ -189,11 +189,6 @@ export declare class QueryBuilder<DB extends AnyDB, TableName extends keyof DB,
189
189
  * @private
190
190
  */
191
191
  private _transformResponse;
192
- /**
193
- * Checks if an object looks like an attachment object.
194
- * @private
195
- */
196
- private _isAttachmentObject;
197
192
  subscribe(callback: (result: Selection[]) => void): Promise<{
198
193
  unsubscribe: () => Promise<void>;
199
194
  }>;
@@ -210,6 +205,8 @@ export declare class QueryBuilder<DB extends AnyDB, TableName extends keyof DB,
210
205
  */
211
206
  export type ReadBlacklistTable = 'attachmentTable';
212
207
  export type MutationBlacklistTable = 'attachmentTable' | 'collaborators';
208
+ type ReadableTableNames<DB> = Exclude<TableNames<DB>, ReadBlacklistTable> & string;
209
+ type MutableTableNames<DB> = Exclude<TableNames<DB>, MutationBlacklistTable> & string;
213
210
  export declare class BaseRootQueryBuilder<DB extends AnyDB> {
214
211
  protected _executor: Executor;
215
212
  constructor(executor: Executor);
@@ -226,7 +223,7 @@ export declare class BaseRootQueryBuilder<DB extends AnyDB> {
226
223
  * const userQuery = qb.selectFrom('users');
227
224
  * ```
228
225
  */
229
- selectFrom<TableName extends keyof Omit<DB, ReadBlacklistTable> & string>(from: TableName): QueryBuilder<DB, TableName>;
226
+ selectFrom<TableName extends ReadableTableNames<DB>>(from: TableName): QueryBuilder<DB, TableName>;
230
227
  /**
231
228
  * Creates a new insert query builder for the specified table.
232
229
  * @param into - The name of the table to insert into.
@@ -238,7 +235,7 @@ export declare class BaseRootQueryBuilder<DB extends AnyDB> {
238
235
  * const insertQuery = qb.insertInto('users');
239
236
  * ```
240
237
  */
241
- insertInto<TableName extends keyof Omit<DB, MutationBlacklistTable> & string>(into: TableName): InsertQueryBuilder<DB, TableName>;
238
+ insertInto<TableName extends MutableTableNames<DB>>(into: TableName): InsertQueryBuilder<DB, TableName>;
242
239
  /**
243
240
  * Creates a new update query builder for the specified table.
244
241
  * @param tableName - The name of the table to update.
@@ -250,7 +247,7 @@ export declare class BaseRootQueryBuilder<DB extends AnyDB> {
250
247
  * const updateQuery = qb.update('users');
251
248
  * ```
252
249
  */
253
- update<TableName extends keyof Omit<DB, MutationBlacklistTable> & string>(tableName: TableName): UpdateQueryBuilder<DB, TableName>;
250
+ update<TableName extends MutableTableNames<DB>>(tableName: TableName): UpdateQueryBuilder<DB, TableName>;
254
251
  /**
255
252
  * Creates a builder scoped to a specific plugin for executing plugin actions.
256
253
  * @param pluginName - The name of the plugin.
@@ -276,7 +273,7 @@ export declare class BaseRootQueryBuilder<DB extends AnyDB> {
276
273
  * const deleteQuery = qb.deleteFrom('users');
277
274
  * ```
278
275
  */
279
- deleteFrom<TableName extends keyof Omit<DB, MutationBlacklistTable> & string>(tableName: TableName): DeleteQueryBuilder<DB, TableName>;
276
+ deleteFrom<TableName extends MutableTableNames<DB>>(tableName: TableName): DeleteQueryBuilder<DB, TableName>;
280
277
  /**
281
278
  * Creates a new batch query builder.
282
279
  * @param builders - An array of query builders to execute in a batch.
@@ -304,7 +301,7 @@ export declare class BaseRootQueryBuilder<DB extends AnyDB> {
304
301
  * const aggregateQuery = qb.aggregateFrom('users');
305
302
  * ```
306
303
  */
307
- aggregateFrom<TableName extends keyof Omit<DB, ReadBlacklistTable> & string>(tableName: TableName): AggregationQueryBuilder<DB, TableName>;
304
+ aggregateFrom<TableName extends ReadableTableNames<DB>>(tableName: TableName): AggregationQueryBuilder<DB, TableName>;
308
305
  uploadAttachments(files: {
309
306
  file: Blob;
310
307
  name: string;
@@ -327,3 +324,4 @@ export declare function createQueryBuilder<DB extends AnyDB>(config: {
327
324
  baseId: string;
328
325
  apiKey: string;
329
326
  }): RootQueryBuilder<DB>;
327
+ export {};
@@ -253,12 +253,10 @@ class QueryBuilder extends where_query_builder_js_1.FilterableQueryBuilder {
253
253
  if (Array.isArray(data)) {
254
254
  return data.map(item => this._transformResponse(item));
255
255
  }
256
+ if (typeof data === 'string' && data.startsWith('files/')) {
257
+ return `${MEDIA_UPLOADER_HOST}/${data}`;
258
+ }
256
259
  if (data && typeof data === 'object') {
257
- // Check if this looks like an attachment object
258
- if (this._isAttachmentObject(data)) {
259
- return `${MEDIA_UPLOADER_HOST}/${data.url}`;
260
- }
261
- // Recursively transform nested objects
262
260
  const transformed = {};
263
261
  for (const [key, value] of Object.entries(data)) {
264
262
  transformed[key] = this._transformResponse(value);
@@ -267,20 +265,6 @@ class QueryBuilder extends where_query_builder_js_1.FilterableQueryBuilder {
267
265
  }
268
266
  return data;
269
267
  }
270
- /**
271
- * Checks if an object looks like an attachment object.
272
- * @private
273
- */
274
- _isAttachmentObject(obj) {
275
- return (obj &&
276
- typeof obj === 'object' &&
277
- 'id' in obj &&
278
- 'url' in obj &&
279
- 'fileType' in obj &&
280
- 'size' in obj &&
281
- typeof obj.url === 'string' &&
282
- obj.url.startsWith('files/'));
283
- }
284
268
  subscribe(callback) {
285
269
  return this._executor.subscribe([this], callback);
286
270
  }
@@ -1 +1 @@
1
- {"version":3,"file":"query-builder.js","sourceRoot":"","sources":["../../src/query-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query-builder.js","sourceRoot":"","sources":["../../src/query-builder.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,8 @@
1
+ import { ColumnType } from '@taylordb/shared';
1
2
  import { AbstractLinkColumn } from './internal-types';
3
+ export type TableNames<DB> = {
4
+ [K in keyof DB]: DB[K] extends Record<string, any> ? keyof DB[K] extends never ? never : DB[K][keyof DB[K]] extends ColumnType<any, any, any, any, any, any> ? K : never : never;
5
+ }[keyof DB];
2
6
  export type NonLinkColumnNames<T> = {
3
7
  [K in keyof T]: T[K] extends AbstractLinkColumn ? never : K;
4
8
  }[keyof T];