@warp-drive-types/core-types 5.4.0-alpha.148 → 5.4.0-alpha.150

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@warp-drive-types/core-types",
3
- "version": "5.4.0-alpha.148",
3
+ "version": "5.4.0-alpha.150",
4
4
  "files": [
5
5
  "unstable-preview-types",
6
6
  "README.md",
@@ -1,6 +1,6 @@
1
1
  declare module '@warp-drive/core-types/-private' {
2
2
  type UniversalTransientKey = 'REQ_ID';
3
- type UniversalKey = `(transient) ${UniversalTransientKey}` | 'RequestMap' | 'PromiseCache' | 'RequestCache' | 'SkipCache' | 'EnableHydration';
3
+ type UniversalKey = `(transient) ${UniversalTransientKey}` | 'RequestMap' | 'PromiseCache' | 'RequestCache' | 'SkipCache' | 'EnableHydration' | 'WarpDriveRuntimeConfig';
4
4
  type TransientKey = 'TRANSACTION' | 'transactionRef' | 'configuredGenerationMethod' | 'configuredUpdateMethod' | 'configuredForgetMethod' | 'configuredResetMethod' | 'configuredKeyInfoMethod';
5
5
  type GlobalKey = `(transient) ${TransientKey}` | 'AdapterError' | 'InvalidError' | 'TimeoutError' | 'AbortError' | 'UnauthorizedError' | 'ForbiddenError' | 'NotFoundError' | 'ConflictError' | 'ServerError' | 'Signals' | 'AvailableShims' | 'FAKE_ARR' | '#signal' | '#source' | '#update' | '#notify' | 'IS_COLLECTION' | 'Touching' | 'RequestPromise' | 'SaveOp' | 'LEGACY_SUPPORT' | 'LegacySupport' | 'Graphs' | 'IS_FROZEN' | 'IS_CACHE_HANDLER' | 'CONFIG' | 'DEBUG_MAP' | 'IDENTIFIERS' | 'DOCUMENTS' | 'CacheForIdentifierCache' | 'RecordCache' | 'StoreMap' | 'Store' | '$type' | 'TransformName' | 'RequestSignature' | 'IS_FUTURE' | 'DOC' | 'ManagedArrayMap' | 'ManagedObjectMap' | 'Support' | 'SOURCE' | 'MUTATE' | 'ARRAY_SIGNAL' | 'OBJECT_SIGNAL' | 'NOTIFY' | 'Destroy' | 'Identifier' | 'Editable' | 'EmbeddedPath' | 'EmbeddedType' | 'Parent' | 'Checkout' | 'Legacy';
6
6
  type UniqueSymbol<T extends string> = `___(unique) Symbol(${T})`;
@@ -1 +1 @@
1
- {"version":3,"file":"-private.d.ts","sourceRoot":"","sources":["../src/-private.ts"],"names":[],"mappings":"AAMA,KAAK,qBAAqB,GAExB,QAAQ,CAAC;AAEX,KAAK,YAAY,GACb,eAAe,qBAAqB,EAAE,GAEtC,YAAY,GACZ,cAAc,GACd,cAAc,GAEd,WAAW,GACX,iBAAiB,CAAC;AAEtB,KAAK,YAAY,GAEb,aAAa,GAEb,gBAAgB,GAEhB,4BAA4B,GAC5B,wBAAwB,GACxB,wBAAwB,GACxB,uBAAuB,GACvB,yBAAyB,CAAC;AAE9B,KAAK,SAAS,GACV,eAAe,YAAY,EAAE,GAE7B,cAAc,GACd,cAAc,GACd,cAAc,GACd,YAAY,GACZ,mBAAmB,GACnB,gBAAgB,GAChB,eAAe,GACf,eAAe,GACf,aAAa,GAEb,SAAS,GAET,gBAAgB,GAEhB,UAAU,GAEV,SAAS,GACT,SAAS,GACT,SAAS,GACT,SAAS,GACT,eAAe,GAEf,UAAU,GACV,gBAAgB,GAEhB,QAAQ,GAER,gBAAgB,GAChB,eAAe,GAEf,QAAQ,GAER,WAAW,GACX,kBAAkB,GAElB,QAAQ,GAER,WAAW,GACX,aAAa,GACb,WAAW,GAEX,yBAAyB,GACzB,aAAa,GACb,UAAU,GAEV,OAAO,GACP,OAAO,GACP,eAAe,GACf,kBAAkB,GAElB,WAAW,GACX,KAAK,GAEL,iBAAiB,GACjB,kBAAkB,GAClB,SAAS,GACT,QAAQ,GACR,QAAQ,GACR,cAAc,GACd,eAAe,GACf,QAAQ,GACR,SAAS,GACT,YAAY,GACZ,UAAU,GACV,cAAc,GACd,cAAc,GACd,QAAQ,GACR,UAAU,GACV,QAAQ,CAAC;AA8Cb,KAAK,YAAY,CAAC,CAAC,SAAS,MAAM,IAAI,sBAAsB,CAAC,GAAG,CAAC;AACjE,KAAK,cAAc,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAElF,wBAAgB,cAAc,CAAC,CAAC,EAAE,CAAC,SAAS,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAW7F;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,GAAG,EAAE,YAAY,GAAG,CAAC,GAAG,IAAI,CAG5D;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAG9D;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,CAAC,SAAS,YAAY,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAWnG;AAED,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,GAAG,EAAE,qBAAqB,GAAG,CAAC,GAAG,IAAI,CAG9E;AAED,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,GAAG,EAAE,qBAAqB,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAGhF"}
1
+ {"version":3,"file":"-private.d.ts","sourceRoot":"","sources":["../src/-private.ts"],"names":[],"mappings":"AAMA,KAAK,qBAAqB,GAExB,QAAQ,CAAC;AAEX,KAAK,YAAY,GACb,eAAe,qBAAqB,EAAE,GAEtC,YAAY,GACZ,cAAc,GACd,cAAc,GAEd,WAAW,GACX,iBAAiB,GAEjB,wBAAwB,CAAC;AAE7B,KAAK,YAAY,GAEb,aAAa,GAEb,gBAAgB,GAEhB,4BAA4B,GAC5B,wBAAwB,GACxB,wBAAwB,GACxB,uBAAuB,GACvB,yBAAyB,CAAC;AAE9B,KAAK,SAAS,GACV,eAAe,YAAY,EAAE,GAE7B,cAAc,GACd,cAAc,GACd,cAAc,GACd,YAAY,GACZ,mBAAmB,GACnB,gBAAgB,GAChB,eAAe,GACf,eAAe,GACf,aAAa,GAEb,SAAS,GAET,gBAAgB,GAEhB,UAAU,GAEV,SAAS,GACT,SAAS,GACT,SAAS,GACT,SAAS,GACT,eAAe,GAEf,UAAU,GACV,gBAAgB,GAEhB,QAAQ,GAER,gBAAgB,GAChB,eAAe,GAEf,QAAQ,GAER,WAAW,GACX,kBAAkB,GAElB,QAAQ,GAER,WAAW,GACX,aAAa,GACb,WAAW,GAEX,yBAAyB,GACzB,aAAa,GACb,UAAU,GAEV,OAAO,GACP,OAAO,GACP,eAAe,GACf,kBAAkB,GAElB,WAAW,GACX,KAAK,GAEL,iBAAiB,GACjB,kBAAkB,GAClB,SAAS,GACT,QAAQ,GACR,QAAQ,GACR,cAAc,GACd,eAAe,GACf,QAAQ,GACR,SAAS,GACT,YAAY,GACZ,UAAU,GACV,cAAc,GACd,cAAc,GACd,QAAQ,GACR,UAAU,GACV,QAAQ,CAAC;AA8Cb,KAAK,YAAY,CAAC,CAAC,SAAS,MAAM,IAAI,sBAAsB,CAAC,GAAG,CAAC;AACjE,KAAK,cAAc,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAElF,wBAAgB,cAAc,CAAC,CAAC,EAAE,CAAC,SAAS,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAW7F;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,GAAG,EAAE,YAAY,GAAG,CAAC,GAAG,IAAI,CAG5D;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAG9D;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,CAAC,SAAS,YAAY,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAWnG;AAED,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,GAAG,EAAE,qBAAqB,GAAG,CAAC,GAAG,IAAI,CAG9E;AAED,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,GAAG,EAAE,qBAAqB,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAGhF"}
@@ -6,6 +6,7 @@
6
6
  /// <reference path="./params.d.ts" />
7
7
  /// <reference path="./record.type-test.d.ts" />
8
8
  /// <reference path="./request.d.ts" />
9
+ /// <reference path="./runtime.d.ts" />
9
10
  /// <reference path="./cache.d.ts" />
10
11
  /// <reference path="./symbols.d.ts" />
11
12
  /// <reference path="./cache/change.d.ts" />
@@ -15,6 +16,7 @@
15
16
  /// <reference path="./cache/mutations.d.ts" />
16
17
  /// <reference path="./json/raw.d.ts" />
17
18
  /// <reference path="./schema/concepts.d.ts" />
19
+ /// <reference path="./schema/fields.type-test.d.ts" />
18
20
  /// <reference path="./schema/fields.d.ts" />
19
21
  /// <reference path="./spec/error.d.ts" />
20
22
  /// <reference path="./spec/document.d.ts" />
@@ -0,0 +1,18 @@
1
+ declare module '@warp-drive/core-types/runtime' {
2
+ import type { LOG_CONFIG } from '@warp-drive/build-config/-private/utils/logging';
3
+ const RuntimeConfig: {
4
+ debug: Partial<LOG_CONFIG>;
5
+ };
6
+ export function getRuntimeConfig(): typeof RuntimeConfig;
7
+ /**
8
+ * Upserts the specified logging configuration into the runtime
9
+ * config.
10
+ *
11
+ * globalThis.setWarpDriveLogging({ LOG_PAYLOADS: true } });
12
+ *
13
+ * @typedoc
14
+ */
15
+ export function setLogging(config: Partial<LOG_CONFIG>): void;
16
+ export {};
17
+ }
18
+ //# sourceMappingURL=runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iDAAiD,CAAC;AAIlF,QAAA,MAAM,aAAa,EAAE;IAAE,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,CAAA;CAE/C,CAAC;AAOH,wBAAgB,gBAAgB,IAAI,OAAO,aAAa,CAEvD;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAG5D"}
@@ -19,7 +19,7 @@ declare module '@warp-drive/core-types/schema/fields' {
19
19
  *
20
20
  * @typedoc
21
21
  */
22
- export type GenericField = {
22
+ export interface GenericField {
23
23
  kind: 'field';
24
24
  name: string;
25
25
  /**
@@ -36,7 +36,7 @@ declare module '@warp-drive/core-types/schema/fields' {
36
36
  * @typedoc
37
37
  */
38
38
  options?: ObjectValue;
39
- };
39
+ }
40
40
  /**
41
41
  * A field that can be used to alias one key to another
42
42
  * key present in the cache version of the resource.
@@ -65,7 +65,7 @@ declare module '@warp-drive/core-types/schema/fields' {
65
65
  *
66
66
  * @typedoc
67
67
  */
68
- export type AliasField = {
68
+ export interface LegacyAliasField {
69
69
  kind: 'alias';
70
70
  name: string;
71
71
  type: null;
@@ -74,8 +74,86 @@ declare module '@warp-drive/core-types/schema/fields' {
74
74
  *
75
75
  * @typedoc
76
76
  */
77
- options: GenericField | ObjectField | SchemaObjectField | ArrayField | SchemaArrayField | ResourceField | CollectionField | LegacyAttributeField | LegacyBelongsToField | LegacyHasManyField;
78
- };
77
+ options: GenericField | ObjectField | SchemaObjectField | ArrayField | SchemaArrayField | LegacyAttributeField | LegacyBelongsToField | LegacyHasManyField;
78
+ }
79
+ /**
80
+ * A field that can be used to alias one key to another
81
+ * key present in the cache version of the resource.
82
+ *
83
+ * Unlike DerivedField, an AliasField may write to its
84
+ * source when a record is in an editable mode.
85
+ *
86
+ * AliasFields may utilize a transform, specified by type,
87
+ * to pre/post process the field.
88
+ *
89
+ * An AliasField may also specify a `kind` via options.
90
+ * `kind` may be any other valid field kind other than
91
+ *
92
+ * - `@hash`
93
+ * - `@id`
94
+ * - `@local`
95
+ * - `derived`
96
+ *
97
+ * This allows an AliasField to rename any field in the cache.
98
+ *
99
+ * Alias fields are generally intended to be used to support migrating
100
+ * between different schemas, though there are times where they are useful
101
+ * as a form of advanced derivation when used with a transform. For instance,
102
+ * an AliasField could be used to expose both a string and a Date version of the
103
+ * same field, with both being capable of being written to.
104
+ *
105
+ * @typedoc
106
+ */
107
+ export interface PolarisAliasField {
108
+ kind: 'alias';
109
+ name: string;
110
+ type: null;
111
+ /**
112
+ * The field def for which this is an alias.
113
+ *
114
+ * @typedoc
115
+ */
116
+ options: GenericField | ObjectField | SchemaObjectField | ArrayField | SchemaArrayField | LinksModeBelongsToField | LinksModeHasManyField;
117
+ }
118
+ /**
119
+ * A field that can be used to alias one key to another
120
+ * key present in the cache version of the resource.
121
+ *
122
+ * Unlike DerivedField, an AliasField may write to its
123
+ * source when a record is in an editable mode.
124
+ *
125
+ * AliasFields may utilize a transform, specified by type,
126
+ * to pre/post process the field.
127
+ *
128
+ * An AliasField may also specify a `kind` via options.
129
+ * `kind` may be any other valid field kind other than
130
+ *
131
+ * - `@hash`
132
+ * - `@id`
133
+ * - `@local`
134
+ * - `derived`
135
+ *
136
+ * This allows an AliasField to rename any field in the cache.
137
+ *
138
+ * Alias fields are generally intended to be used to support migrating
139
+ * between different schemas, though there are times where they are useful
140
+ * as a form of advanced derivation when used with a transform. For instance,
141
+ * an AliasField could be used to expose both a string and a Date version of the
142
+ * same field, with both being capable of being written to.
143
+ *
144
+ * @typedoc
145
+ */
146
+ export interface ObjectAliasField {
147
+ kind: 'alias';
148
+ name: string;
149
+ type: null;
150
+ /**
151
+ * The field def for which this is an alias.
152
+ *
153
+ * @typedoc
154
+ */
155
+ options: GenericField | ObjectField | SchemaObjectField | ArrayField | SchemaArrayField;
156
+ }
79
157
  /**
80
158
  * Represents a field whose value is the primary
81
159
  * key of the resource.
@@ -90,7 +168,7 @@ declare module '@warp-drive/core-types/schema/fields' {
90
168
  *
91
169
  * @typedoc
92
170
  */
93
- export type IdentityField = {
171
+ export interface IdentityField {
94
172
  kind: '@id';
95
173
  /**
96
174
  * The name of the field that serves as the
@@ -99,7 +177,7 @@ declare module '@warp-drive/core-types/schema/fields' {
99
177
  * @typedoc
100
178
  */
101
179
  name: string;
102
- };
180
+ }
103
181
  /**
104
182
  * Represents a specialized field whose computed value
105
183
  * will be used as the primary key of a schema-object
@@ -123,7 +201,7 @@ declare module '@warp-drive/core-types/schema/fields' {
123
201
  *
124
202
  * @typedoc
125
203
  */
126
- export type HashField = {
204
+ export interface HashField {
127
205
  kind: '@hash';
128
206
  /**
129
207
  * The name of the field that serves as the
@@ -150,7 +228,7 @@ declare module '@warp-drive/core-types/schema/fields' {
150
228
  * @typedoc
151
229
  */
152
230
  options?: ObjectValue;
153
- };
231
+ }
154
232
  /**
155
233
  * Represents a field whose value is a local
156
234
  * value that is not stored in the cache, nor
@@ -180,7 +258,7 @@ declare module '@warp-drive/core-types/schema/fields' {
180
258
  *
181
259
  * @typedoc
182
260
  */
183
- export type LocalField = {
261
+ export interface LocalField {
184
262
  kind: '@local';
185
263
  name: string;
186
264
  /**
@@ -193,7 +271,7 @@ declare module '@warp-drive/core-types/schema/fields' {
193
271
  options?: {
194
272
  defaultValue?: PrimitiveValue;
195
273
  };
196
- };
274
+ }
197
275
  /**
198
276
  * Represents a field whose value is an object
199
277
  * with keys pointing to values that are primitive
@@ -205,7 +283,7 @@ declare module '@warp-drive/core-types/schema/fields' {
205
283
  *
206
284
  * @typedoc
207
285
  */
208
- export type ObjectField = {
286
+ export interface ObjectField {
209
287
  kind: 'object';
210
288
  name: string;
211
289
  /**
@@ -224,7 +302,7 @@ declare module '@warp-drive/core-types/schema/fields' {
224
302
  * @typedoc
225
303
  */
226
304
  options?: ObjectValue;
227
- };
305
+ }
228
306
  /**
229
307
  * Represents a field whose value is an object
230
308
  * with a well-defined structure described by
@@ -235,7 +313,7 @@ declare module '@warp-drive/core-types/schema/fields' {
235
313
  *
236
314
  * @typedoc
237
315
  */
238
- export type SchemaObjectField = {
316
+ export interface SchemaObjectField {
239
317
  kind: 'schema-object';
240
318
  name: string;
241
319
  /**
@@ -266,7 +344,7 @@ declare module '@warp-drive/core-types/schema/fields' {
266
344
  */
267
345
  type?: string;
268
346
  };
269
- };
347
+ }
270
348
  /**
271
349
  * Represents a field whose value is an array
272
350
  * of primitive values.
@@ -276,7 +354,7 @@ declare module '@warp-drive/core-types/schema/fields' {
276
354
  *
277
355
  * @typedoc
278
356
  */
279
- export type ArrayField = {
357
+ export interface ArrayField {
280
358
  kind: 'array';
281
359
  name: string;
282
360
  /**
@@ -296,7 +374,7 @@ declare module '@warp-drive/core-types/schema/fields' {
296
374
  * @typedoc
297
375
  */
298
376
  options?: ObjectValue;
299
- };
377
+ }
300
378
  /**
301
379
  * Represents a field whose value is an array
302
380
  * of objects with a well-defined structure
@@ -307,7 +385,7 @@ declare module '@warp-drive/core-types/schema/fields' {
307
385
  *
308
386
  * @typedoc
309
387
  */
310
- export type SchemaArrayField = {
388
+ export interface SchemaArrayField {
311
389
  kind: 'schema-array';
312
390
  name: string;
313
391
  /**
@@ -372,7 +450,7 @@ declare module '@warp-drive/core-types/schema/fields' {
372
450
  */
373
451
  type?: string;
374
452
  };
375
- };
453
+ }
376
454
  /**
377
455
  * Represents a field whose value is derived
378
456
  * from other fields in the schema.
@@ -389,7 +467,7 @@ declare module '@warp-drive/core-types/schema/fields' {
389
467
  *
390
468
  * @typedoc
391
469
  */
392
- export type DerivedField = {
470
+ export interface DerivedField {
393
471
  kind: 'derived';
394
472
  name: string;
395
473
  /**
@@ -421,14 +499,17 @@ declare module '@warp-drive/core-types/schema/fields' {
421
499
  * @typedoc
422
500
  */
423
501
  options?: ObjectValue;
424
- };
502
+ }
425
503
  /**
426
504
  * Represents a field that is a reference to
427
505
  * another resource.
428
506
  *
507
+ * SUPPORT FOR THIS FEATURE IS NOT YET IMPLEMENTED
508
+ * BY SchemaRecord
509
+ *
429
510
  * @typedoc
430
511
  */
431
- export type ResourceField = {
512
+ export interface ResourceField {
432
513
  kind: 'resource';
433
514
  name: string;
434
515
  /**
@@ -489,15 +570,18 @@ declare module '@warp-drive/core-types/schema/fields' {
489
570
  */
490
571
  polymorphic?: boolean;
491
572
  };
492
- };
573
+ }
493
574
  /**
494
575
  * Represents a field that is a reference to
495
576
  * a collection of other resources, potentially
496
577
  * paginate.
497
578
  *
579
+ * SUPPORT FOR THIS FEATURE IS NOT YET IMPLEMENTED
580
+ * BY SchemaRecord
581
+ *
498
582
  * @typedoc
499
583
  */
500
- export type CollectionField = {
584
+ export interface CollectionField {
501
585
  kind: 'collection';
502
586
  name: string;
503
587
  /**
@@ -569,10 +653,11 @@ declare module '@warp-drive/core-types/schema/fields' {
569
653
  */
570
654
  polymorphic?: boolean;
571
655
  };
572
- };
656
+ }
573
657
  /**
574
658
  * > [!CAUTION]
575
659
  * > This Field is LEGACY
660
+ * > It cannot be used with PolarisMode
576
661
  *
577
662
  * A generic "field" that can be used to define
578
663
  * primitive value fields.
@@ -586,7 +671,7 @@ declare module '@warp-drive/core-types/schema/fields' {
586
671
  *
587
672
  * @typedoc
588
673
  */
589
- export type LegacyAttributeField = {
674
+ export interface LegacyAttributeField {
590
675
  kind: 'attribute';
591
676
  name: string;
592
677
  /**
@@ -604,7 +689,7 @@ declare module '@warp-drive/core-types/schema/fields' {
604
689
  * @typedoc
605
690
  */
606
691
  options?: ObjectValue;
607
- };
692
+ }
608
693
  /**
609
694
  * > [!CAUTION]
610
695
  * > This Field is LEGACY
@@ -616,7 +701,7 @@ declare module '@warp-drive/core-types/schema/fields' {
616
701
  *
617
702
  * @typedoc
618
703
  */
619
- export type LegacyBelongsToField = {
704
+ export interface LegacyBelongsToField {
620
705
  kind: 'belongsTo';
621
706
  name: string;
622
707
  /**
@@ -724,7 +809,126 @@ declare module '@warp-drive/core-types/schema/fields' {
724
809
  */
725
810
  resetOnRemoteUpdate?: false;
726
811
  };
727
- };
812
+ }
813
+ /**
814
+ * > [!CAUTION]
815
+ * > This Field is LEGACY
816
+ *
817
+ * Represents a field that is a reference to
818
+ * another resource.
819
+ *
820
+ * This is the legacy version of the `ResourceField`.
821
+ *
822
+ * @typedoc
823
+ */
824
+ export interface LinksModeBelongsToField {
825
+ kind: 'belongsTo';
826
+ name: string;
827
+ /**
828
+ * The name of the resource that this field
829
+ * refers to. In the case of a polymorphic
830
+ * relationship, this should be the trait
831
+ * or abstract type.
832
+ *
833
+ * @typedoc
834
+ */
835
+ type: string;
836
+ /**
837
+ * Options for belongsTo are mandatory.
838
+ *
839
+ * @typedoc
840
+ */
841
+ options: {
842
+ /**
843
+ * Whether the relationship is async
844
+ *
845
+ * MUST be false for PolarisMode + LinksMode
846
+ *
847
+ * @typedoc
848
+ */
849
+ async: false;
850
+ /**
851
+ * The name of the inverse field on the
852
+ * related resource that points back to
853
+ * this field on this resource to form a
854
+ * bidirectional relationship.
855
+ *
856
+ * If null, the relationship is unidirectional.
857
+ *
858
+ * @typedoc
859
+ */
860
+ inverse: string | null;
861
+ /**
862
+ * If this field is satisfying a polymorphic
863
+ * relationship on another resource, then this
864
+ * should be set to the trait or abstract type
865
+ * that this resource implements.
866
+ *
867
+ * @typedoc
868
+ */
869
+ as?: string;
870
+ /**
871
+ * Whether this field is a polymorphic relationship,
872
+ * meaning that it can point to multiple types of
873
+ * resources so long as they implement the trait
874
+ * or abstract type specified in `type`.
875
+ *
876
+ * @typedoc
877
+ */
878
+ polymorphic?: boolean;
879
+ /**
880
+ * Whether this field should ever make use of the legacy support infra
881
+ * from @ember-data/model and the LegacyNetworkMiddleware for adapters and serializers.
882
+ *
883
+ * MUST be true for PolarisMode + LinksMode
884
+ *
885
+ * When true, none of the legacy support will be utilized. Sync relationships
886
+ * will be expected to already have all their data. When reloading a sync relationship
887
+ * you would be expected to have a `related link` available from a prior relationship
888
+ * payload e.g.
889
+ *
890
+ * ```ts
891
+ * {
892
+ * data: {
893
+ * type: 'user',
894
+ * id: '2',
895
+ * attributes: { name: 'Chris' },
896
+ * relationships: {
897
+ * bestFriend: {
898
+ * links: { related: "/users/1/bestFriend" },
899
+ * data: { type: 'user', id: '1' },
900
+ * }
901
+ * }
902
+ * },
903
+ * included: [
904
+ * { type: 'user', id: '1', attributes: { name: 'Krystan' } }
905
+ * ]
906
+ * }
907
+ * ```
908
+ *
909
+ * Async relationships will be loaded via their link if needed.
910
+ *
911
+ * @typedoc
912
+ */
913
+ linksMode: true;
914
+ /**
915
+ * When omitted, the cache data for this field will
916
+ * clear local state of all changes except for the
917
+ * addition of records still in the "new" state any
918
+ * time the remote data for this field is updated.
919
+ *
920
+ * When set to `false`, the cache data for this field
921
+ * will instead intelligently commit any changes from
922
+ * local state that are present in the remote data,
923
+ * leaving any remaining changes in local state still.
924
+ *
925
+ * MUST be false for PolarisMode + LinksMode
926
+ *
927
+ * @typedoc
928
+ */
929
+ resetOnRemoteUpdate: false;
930
+ };
931
+ }
728
932
  /**
729
933
  * > [!CAUTION]
730
934
  * > This Field is LEGACY
@@ -736,7 +940,7 @@ declare module '@warp-drive/core-types/schema/fields' {
736
940
  *
737
941
  * @typedoc
738
942
  */
739
- export type LegacyHasManyField = {
943
+ export interface LegacyHasManyField {
740
944
  kind: 'hasMany';
741
945
  name: string;
742
946
  type: string;
@@ -841,20 +1045,231 @@ declare module '@warp-drive/core-types/schema/fields' {
841
1045
  */
842
1046
  resetOnRemoteUpdate?: false;
843
1047
  };
844
- };
845
- export type FieldSchema = GenericField | AliasField | LocalField | ObjectField | SchemaObjectField | ArrayField | SchemaArrayField | DerivedField | ResourceField | CollectionField | LegacyAttributeField | LegacyBelongsToField | LegacyHasManyField;
846
- export type ObjectFieldSchema = GenericField | AliasField | LocalField | ObjectField | SchemaObjectField | ArrayField | SchemaArrayField | DerivedField;
1048
+ }
847
1049
  /**
848
- * Represents a schema for a primary resource.
1050
+ * > [!CAUTION]
1051
+ * > This Field is LEGACY
1052
+ *
1053
+ * Represents a field that is a reference to
1054
+ * a collection of other resources.
1055
+ *
1056
+ * This is the legacy version of the `CollectionField`.
1057
+ *
1058
+ * @typedoc
1059
+ */
1060
+ export interface LinksModeHasManyField {
1061
+ kind: 'hasMany';
1062
+ name: string;
1063
+ type: string;
1064
+ /**
1065
+ * Options for hasMany are mandatory.
1066
+ *
1067
+ * @typedoc
1068
+ */
1069
+ options: {
1070
+ /**
1071
+ * Whether the relationship is async
1072
+ *
1073
+ * MUST be false for PolarisMode + LinksMode
1074
+ *
1075
+ * If true, it is expected that the cache
1076
+ * data for this field will contain links
1077
+ * or pointers that can be used to fetch
1078
+ * the related resources when needed.
1079
+ *
1080
+ * When false, it is expected that all related
1081
+ * resources are loaded together with this resource,
1082
+ * and that the cache data for this field will
1083
+ * contain the full list of pointers.
1084
+ *
1085
+ * hasMany relationships do not support pagination.
1086
+ *
1087
+ * @typedoc
1088
+ */
1089
+ async: false;
1090
+ /**
1091
+ * The name of the inverse field on the
1092
+ * related resource that points back to
1093
+ * this field on this resource to form a
1094
+ * bidirectional relationship.
1095
+ *
1096
+ * If null, the relationship is unidirectional.
1097
+ *
1098
+ * @typedoc
1099
+ */
1100
+ inverse: string | null;
1101
+ /**
1102
+ * If this field is satisfying a polymorphic
1103
+ * relationship on another resource, then this
1104
+ * should be set to the trait or abstract type
1105
+ * that this resource implements.
1106
+ *
1107
+ * @typedoc
1108
+ */
1109
+ as?: string;
1110
+ /**
1111
+ * Whether this field is a polymorphic relationship,
1112
+ * meaning that it can point to multiple types of
1113
+ * resources so long as they implement the trait
1114
+ * or abstract type specified in `type`.
1115
+ *
1116
+ * @typedoc
1117
+ */
1118
+ polymorphic?: boolean;
1119
+ /**
1120
+ * Whether this field should ever make use of the legacy support infra
1121
+ * from @ember-data/model and the LegacyNetworkMiddleware for adapters and serializers.
1122
+ *
1123
+ * MUST be true for PolarisMode + LinksMode
1124
+ *
1125
+ * When true, none of the legacy support will be utilized. Sync relationships
1126
+ * will be expected to already have all their data. When reloading a sync relationship
1127
+ * you would be expected to have a `related link` available from a prior relationship
1128
+ * payload e.g.
1129
+ *
1130
+ * ```ts
1131
+ * {
1132
+ * data: {
1133
+ * type: 'user',
1134
+ * id: '2',
1135
+ * attributes: { name: 'Chris' },
1136
+ * relationships: {
1137
+ * bestFriends: {
1138
+ * links: { related: "/users/1/bestFriends" },
1139
+ * data: [ { type: 'user', id: '1' } ],
1140
+ * }
1141
+ * }
1142
+ * },
1143
+ * included: [
1144
+ * { type: 'user', id: '1', attributes: { name: 'Krystan' } }
1145
+ * ]
1146
+ * }
1147
+ * ```
1148
+ *
1149
+ * Async relationships will be loaded via their link if needed.
1150
+ *
1151
+ * @typedoc
1152
+ */
1153
+ linksMode: true;
1154
+ /**
1155
+ * When omitted, the cache data for this field will
1156
+ * clear local state of all changes except for the
1157
+ * addition of records still in the "new" state any
1158
+ * time the remote data for this field is updated.
1159
+ *
1160
+ * When set to `false`, the cache data for this field
1161
+ * will instead intelligently commit any changes from
1162
+ * local state that are present in the remote data,
1163
+ * leaving any remaining changes in local state still.
1164
+ *
1165
+ * MUST be false for PolarisMode + LinksMode
1166
+ *
1167
+ * @typedoc
1168
+ */
1169
+ resetOnRemoteUpdate: false;
1170
+ };
1171
+ }
1172
+ /**
1173
+ * A union of all possible LegacyMode field schemas.
1174
+ *
1175
+ * @typedoc
1176
+ */
1177
+ export type LegacyModeFieldSchema = GenericField | LegacyAliasField | LocalField | ObjectField | SchemaObjectField | ArrayField | SchemaArrayField | DerivedField | LegacyAttributeField | LegacyBelongsToField | LegacyHasManyField;
1178
+ /**
1179
+ * A union of all possible PolarisMode field schemas.
1180
+ *
1181
+ * @typedoc
1182
+ */
1183
+ export type PolarisModeFieldSchema = GenericField | PolarisAliasField | LocalField | ObjectField | SchemaObjectField | ArrayField | SchemaArrayField | DerivedField | LinksModeBelongsToField | LinksModeHasManyField;
1184
+ /**
1185
+ * A union of all possible LegacyMode and PolarisMode
1186
+ * field schemas.
1187
+ *
1188
+ * You likely will want to use PolarisModeFieldSchema,
1189
+ * LegacyModeFieldSchema, or ObjectFieldSchema instead
1190
+ * as appropriate as they are more specific and will
1191
+ * provide better guidance around what is valid.
1192
+ *
1193
+ * @typedoc
1194
+ */
1195
+ export type FieldSchema = GenericField | LegacyAliasField | PolarisAliasField | LocalField | ObjectField | SchemaObjectField | ArrayField | SchemaArrayField | DerivedField | ResourceField | CollectionField | LegacyAttributeField | LegacyBelongsToField | LegacyHasManyField | LinksModeBelongsToField | LinksModeHasManyField;
1196
+ /**
1197
+ * A union of all possible field schemas that can be
1198
+ * used in an ObjectSchema.
1199
+ *
1200
+ * @typedoc
1201
+ */
1202
+ export type ObjectFieldSchema = GenericField | ObjectAliasField | LocalField | ObjectField | SchemaObjectField | ArrayField | SchemaArrayField | DerivedField;
1203
+ /**
1204
+ * Represents a schema for a primary resource in PolarisMode.
1205
+ *
1206
+ * Primary resources are objects with a unique identity of their
1207
+ * own which may allow them to appear in relationships, or in multiple
1208
+ * response documents.
1209
+ *
1210
+ * @typedoc
1211
+ */
1212
+ export interface PolarisResourceSchema {
1213
+ legacy?: false;
1214
+ /**
1215
+ * For primary resources, this should be an IdentityField
1216
+ *
1217
+ * for schema-objects, this should be either a HashField or null
1218
+ *
1219
+ * @typedoc
1220
+ */
1221
+ identity: IdentityField;
1222
+ /**
1223
+ * The name of the schema
1224
+ *
1225
+ * For cacheable resources, this should be the
1226
+ * primary resource type.
1227
+ *
1228
+ * For object schemas, this should be the name
1229
+ * of the object schema.
1230
+ *
1231
+ * The names of object and resource schemas share
1232
+ * a single namespace and must not conflict.
1233
+ *
1234
+ * We recommend a naming convention for object schemas
1235
+ * such as below for ensuring uniqueness:
1236
+ *
1237
+ * - for globally shared objects: The pattern `$field:${KlassName}` e.g. `$field:AddressObject`
1238
+ * - for resource-specific objects: The pattern `$${ResourceKlassName}:$field:${KlassName}` e.g. `$User:$field:ReusableAddress`
1239
+ * - for inline objects: The pattern `$${ResourceKlassName}.${fieldPath}:$field:anonymous` e.g. `$User.shippingAddress:$field:anonymous`
1240
+ *
1241
+ * @typedoc
1242
+ */
1243
+ type: string;
1244
+ /**
1245
+ * The fields that make up the shape of the resource
1246
+ *
1247
+ * @typedoc
1248
+ */
1249
+ fields: PolarisModeFieldSchema[];
1250
+ /**
1251
+ * A list of traits that this resource implements. The fields for these
1252
+ * traits should still be defined in the fields array.
1253
+ *
1254
+ * Each trait should be a string that matches the `type` of another
1255
+ * resource schema. The trait can be abstract and reference a resource
1256
+ * type that is never defined as a schema.
1257
+ *
1258
+ * @typedoc
1259
+ */
1260
+ traits?: string[];
1261
+ }
1262
+ /**
1263
+ * Represents a schema for a primary resource in LegacyMode
849
1264
  *
850
1265
  * Primary resources are objects with a unique identity of their
851
- * own which may allow them to appear in relationships, or is multiple
852
- * response document.
1266
+ * own which may allow them to appear in relationships, or in multiple
1267
+ * response documents.
853
1268
  *
854
1269
  * @typedoc
855
1270
  */
856
- export interface ResourceSchema {
857
- legacy?: boolean;
1271
+ export interface LegacyResourceSchema {
1272
+ legacy: true;
858
1273
  /**
859
1274
  * For primary resources, this should be an IdentityField
860
1275
  *
@@ -890,7 +1305,7 @@ declare module '@warp-drive/core-types/schema/fields' {
890
1305
  *
891
1306
  * @typedoc
892
1307
  */
893
- fields: FieldSchema[];
1308
+ fields: LegacyModeFieldSchema[];
894
1309
  /**
895
1310
  * A list of traits that this resource implements. The fields for these
896
1311
  * traits should still be defined in the fields array.
@@ -903,6 +1318,18 @@ declare module '@warp-drive/core-types/schema/fields' {
903
1318
  */
904
1319
  traits?: string[];
905
1320
  }
1321
+ /**
1322
+ * A type which represents a valid JSON schema
1323
+ * definition for either a PolarisMode or a
1324
+ * LegacyMode resource.
1325
+ *
1326
+ * Note, this is separate from the type returned
1327
+ * by the SchemaService which provides fields as a Map
1328
+ * instead of as an Array.
1329
+ *
1330
+ * @typedoc
1331
+ */
1332
+ export type ResourceSchema = PolarisResourceSchema | LegacyResourceSchema;
906
1333
  /**
907
1334
  * Represents a schema for an object that is not
908
1335
  * a primary resource (has no unique identity of its own).
@@ -945,6 +1372,7 @@ declare module '@warp-drive/core-types/schema/fields' {
945
1372
  */
946
1373
  fields: ObjectFieldSchema[];
947
1374
  }
1375
+ export type Schema = ResourceSchema | ObjectSchema;
948
1376
  /**
949
1377
  * A no-op type utility that enables type-checking resource schema
950
1378
  * definitions.
@@ -988,7 +1416,18 @@ declare module '@warp-drive/core-types/schema/fields' {
988
1416
  * @public
989
1417
  */
990
1418
  export function isResourceSchema(schema: ResourceSchema | ObjectSchema): schema is ResourceSchema;
991
- export type LegacyFieldSchema = LegacyAttributeField | LegacyBelongsToField | LegacyHasManyField;
992
- export type LegacyRelationshipSchema = LegacyBelongsToField | LegacyHasManyField;
1419
+ /**
1420
+ * A type utility to narrow a schema to LegacyResourceSchema
1421
+ *
1422
+ * @method isLegacyResourceSchema
1423
+ * @static
1424
+ * @for @warp-drive/core-types
1425
+ * @param schema
1426
+ * @returns {boolean}
1427
+ * @public
1428
+ */
1429
+ export function isLegacyResourceSchema(schema: ResourceSchema | ObjectSchema): schema is LegacyResourceSchema;
1430
+ export type LegacyField = LegacyAttributeField | LegacyBelongsToField | LegacyHasManyField | LinksModeBelongsToField | LinksModeHasManyField;
1431
+ export type LegacyRelationshipField = LegacyBelongsToField | LegacyHasManyField | LinksModeBelongsToField | LinksModeHasManyField;
993
1432
  }
994
1433
  //# sourceMappingURL=fields.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../../src/schema/fields.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../../src/schema/fields.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE/D;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,IAAI,CAAC;IAEX;;;;OAIG;IACH,OAAO,EACH,YAAY,GACZ,WAAW,GACX,iBAAiB,GACjB,UAAU,GACV,gBAAgB,GAGhB,oBAAoB,GACpB,oBAAoB,GACpB,kBAAkB,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,IAAI,CAAC;IAEX;;;;OAIG;IACH,OAAO,EACH,YAAY,GACZ,WAAW,GACX,iBAAiB,GACjB,UAAU,GACV,gBAAgB,GAGhB,uBAAuB,GACvB,qBAAqB,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,IAAI,CAAC;IAEX;;;;OAIG;IACH,OAAO,EAAE,YAAY,GAAG,WAAW,GAAG,iBAAiB,GAAG,UAAU,GAAG,gBAAgB,CAAC;CACzF;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,KAAK,CAAC;IAEZ;;;;;OAKG;IACH,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,OAAO,CAAC;IAEd;;;;;;;;OAQG;IACH,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAEpB;;;;;;OAMG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;;;OAKG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,cAAc,CAAA;KAAE,CAAC;CAC7C;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IAEb;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,eAAe,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IAEb;;;;;;;OAOG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb,OAAO,CAAC,EAAE;QACR;;;;;;WAMG;QACH,WAAW,CAAC,EAAE,OAAO,CAAC;QAEtB;;;;;;;WAOG;QACH,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IAEb;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,cAAc,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IAEb;;;;;OAKG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;;;OAKG;IAEH;;;;;OAKG;IACH,OAAO,CAAC,EAAE;QACR;;;;;;;;;;;;;;;;;;;;;;WAsBG;QACH,GAAG,CAAC,EAAE,WAAW,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;QAEhD;;;;;;WAMG;QACH,WAAW,CAAC,EAAE,OAAO,CAAC;QAEtB;;;;;;;WAOG;QACH,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IAEb;;;;;;;;;;;;;;;;;;OAkBG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IAEb;;;;;;;OAOG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;;;;OAMG;IACH,OAAO,CAAC,EAAE;QACR;;;;;;;;;WASG;QACH,KAAK,CAAC,EAAE,OAAO,CAAC;QAEhB;;;;;;;;;WASG;QACH,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAExB;;;;;;;WAOG;QACH,EAAE,CAAC,EAAE,MAAM,CAAC;QAEZ;;;;;;;WAOG;QACH,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB,CAAC;CACH;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,YAAY,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IAEb;;;;;;;OAOG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;;;;OAMG;IACH,OAAO,CAAC,EAAE;QACR;;;;;;;;;;;;;;;;;;;;WAoBG;QACH,KAAK,CAAC,EAAE,OAAO,CAAC;QAEhB;;;;;;;;;WASG;QACH,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAExB;;;;;;;WAOG;QACH,EAAE,CAAC,EAAE,MAAM,CAAC;QAEZ;;;;;;;WAOG;QACH,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB,CAAC;CACH;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IAEb;;;;;;;OAOG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;;OAIG;IACH,OAAO,EAAE;QACP;;;;;;;;;;;WAWG;QACH,KAAK,EAAE,OAAO,CAAC;QAEf;;;;;;;;;WASG;QACH,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QAEvB;;;;;;;WAOG;QACH,EAAE,CAAC,EAAE,MAAM,CAAC;QAEZ;;;;;;;WAOG;QACH,WAAW,CAAC,EAAE,OAAO,CAAC;QAEtB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WA+BG;QACH,SAAS,CAAC,EAAE,IAAI,CAAC;QAEjB;;;;;;;;;;;;WAYG;QACH,mBAAmB,CAAC,EAAE,KAAK,CAAC;KAC7B,CAAC;CACH;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IAEb;;;;;;;OAOG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;;OAIG;IACH,OAAO,EAAE;QACP;;;;;;WAMG;QACH,KAAK,EAAE,KAAK,CAAC;QAEb;;;;;;;;;WASG;QACH,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QAEvB;;;;;;;WAOG;QACH,EAAE,CAAC,EAAE,MAAM,CAAC;QAEZ;;;;;;;WAOG;QACH,WAAW,CAAC,EAAE,OAAO,CAAC;QAEtB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAiCG;QACH,SAAS,EAAE,IAAI,CAAC;QAEhB;;;;;;;;;;;;;;WAcG;QACH,mBAAmB,EAAE,KAAK,CAAC;KAC5B,CAAC;CACH;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IAEb;;;;OAIG;IACH,OAAO,EAAE;QACP;;;;;;;;;;;;;;;;WAgBG;QACH,KAAK,EAAE,OAAO,CAAC;QAEf;;;;;;;;;WASG;QACH,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QAEvB;;;;;;;WAOG;QACH,EAAE,CAAC,EAAE,MAAM,CAAC;QAEZ;;;;;;;WAOG;QACH,WAAW,CAAC,EAAE,OAAO,CAAC;QAEtB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WA+BG;QACH,SAAS,CAAC,EAAE,IAAI,CAAC;QAEjB;;;;;;;;;;;;WAYG;QACH,mBAAmB,CAAC,EAAE,KAAK,CAAC;KAC7B,CAAC;CACH;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IAEb;;;;OAIG;IACH,OAAO,EAAE;QACP;;;;;;;;;;;;;;;;;;WAkBG;QACH,KAAK,EAAE,KAAK,CAAC;QAEb;;;;;;;;;WASG;QACH,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QAEvB;;;;;;;WAOG;QACH,EAAE,CAAC,EAAE,MAAM,CAAC;QAEZ;;;;;;;WAOG;QACH,WAAW,CAAC,EAAE,OAAO,CAAC;QAEtB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAiCG;QACH,SAAS,EAAE,IAAI,CAAC;QAEhB;;;;;;;;;;;;;;WAcG;QACH,mBAAmB,EAAE,KAAK,CAAC;KAC5B,CAAC;CACH;AAED;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAC7B,YAAY,GACZ,gBAAgB,GAChB,UAAU,GACV,WAAW,GACX,iBAAiB,GACjB,UAAU,GACV,gBAAgB,GAChB,YAAY,GAGZ,oBAAoB,GACpB,oBAAoB,GACpB,kBAAkB,CAAC;AAEvB;;;;GAIG;AACH,MAAM,MAAM,sBAAsB,GAC9B,YAAY,GACZ,iBAAiB,GACjB,UAAU,GACV,WAAW,GACX,iBAAiB,GACjB,UAAU,GACV,gBAAgB,GAChB,YAAY,GAGZ,uBAAuB,GACvB,qBAAqB,CAAC;AAE1B;;;;;;;;;;GAUG;AACH,MAAM,MAAM,WAAW,GACnB,YAAY,GACZ,gBAAgB,GAChB,iBAAiB,GACjB,UAAU,GACV,WAAW,GACX,iBAAiB,GACjB,UAAU,GACV,gBAAgB,GAChB,YAAY,GACZ,aAAa,GACb,eAAe,GACf,oBAAoB,GACpB,oBAAoB,GACpB,kBAAkB,GAClB,uBAAuB,GACvB,qBAAqB,CAAC;AAE1B;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GACzB,YAAY,GACZ,gBAAgB,GAChB,UAAU,GACV,WAAW,GACX,iBAAiB,GACjB,UAAU,GACV,gBAAgB,GAChB,YAAY,CAAC;AAEjB;;;;;;;;GAQG;AACH,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,EAAE,KAAK,CAAC;IAEf;;;;;;OAMG;IACH,QAAQ,EAAE,aAAa,CAAC;IAExB;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;;OAIG;IACH,MAAM,EAAE,sBAAsB,EAAE,CAAC;IAEjC;;;;;;;;;OASG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,IAAI,CAAC;IAEb;;;;;;OAMG;IACH,QAAQ,EAAE,aAAa,CAAC;IAExB;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;;OAIG;IACH,MAAM,EAAE,qBAAqB,EAAE,CAAC;IAEhC;;;;;;;;;OASG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;;;;;;;;;GAUG;AACH,MAAM,MAAM,cAAc,GAAG,qBAAqB,GAAG,oBAAoB,CAAC;AAE1E;;;;;;;GAOG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;;;;;OAQG;IACH,QAAQ,EAAE,SAAS,GAAG,IAAI,CAAC;IAE3B;;;;;;;;;;;;;;OAcG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;;OAIG;IACH,MAAM,EAAE,iBAAiB,EAAE,CAAC;CAC7B;AAED,MAAM,MAAM,MAAM,GAAG,cAAc,GAAG,YAAY,CAAC;AAEnD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,cAAc,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAErE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,YAAY,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAEjE;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,cAAc,GAAG,YAAY,GAAG,MAAM,IAAI,cAAc,CAEhG;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,cAAc,GAAG,YAAY,GAAG,MAAM,IAAI,oBAAoB,CAE5G;AAED,MAAM,MAAM,WAAW,GACnB,oBAAoB,GACpB,oBAAoB,GACpB,kBAAkB,GAClB,uBAAuB,GACvB,qBAAqB,CAAC;AAC1B,MAAM,MAAM,uBAAuB,GAC/B,oBAAoB,GACpB,kBAAkB,GAClB,uBAAuB,GACvB,qBAAqB,CAAC"}
@@ -0,0 +1,4 @@
1
+ declare module '@warp-drive/core-types/schema/fields.type-test' {
2
+ export {};
3
+ }
4
+ //# sourceMappingURL=fields.type-test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fields.type-test.d.ts","sourceRoot":"","sources":["../../src/schema/fields.type-test.ts"],"names":[],"mappings":""}