@iamjulianacosta/mobx-data 1.1.0 → 1.4.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.
- package/README.md +273 -102
- package/dist/{CacheHandler-BTU_rYkv.js → CacheHandler-BhfbVHed.js} +17 -20
- package/dist/CacheHandler-BhfbVHed.js.map +1 -0
- package/dist/{CacheHandler-CXgY9IJo.cjs → CacheHandler-Q5VXOgh9.cjs} +2 -2
- package/dist/CacheHandler-Q5VXOgh9.cjs.map +1 -0
- package/dist/EmbeddedRecordsMixin-6mSCXsJ3.js +173 -0
- package/dist/EmbeddedRecordsMixin-6mSCXsJ3.js.map +1 -0
- package/dist/EmbeddedRecordsMixin-BkF7MdbY.cjs +2 -0
- package/dist/EmbeddedRecordsMixin-BkF7MdbY.cjs.map +1 -0
- package/dist/{JsonApiSerializer-BLoE046A.js → JsonApiSerializer-BV61cFAZ.js} +3 -3
- package/dist/JsonApiSerializer-BV61cFAZ.js.map +1 -0
- package/dist/{JsonApiSerializer-DKemcyw-.cjs → JsonApiSerializer-Dt_Y_FIo.cjs} +2 -2
- package/dist/JsonApiSerializer-Dt_Y_FIo.cjs.map +1 -0
- package/dist/JsonSerializer-BzUCyUSf.cjs +2 -0
- package/dist/JsonSerializer-BzUCyUSf.cjs.map +1 -0
- package/dist/JsonSerializer-CFqo6GjC.js +98 -0
- package/dist/JsonSerializer-CFqo6GjC.js.map +1 -0
- package/dist/MdqlMemoryExecutor-BUlsalKm.cjs +2 -0
- package/dist/MdqlMemoryExecutor-BUlsalKm.cjs.map +1 -0
- package/dist/MdqlMemoryExecutor-BWMP31zG.js +127 -0
- package/dist/MdqlMemoryExecutor-BWMP31zG.js.map +1 -0
- package/dist/{MemoryAdapter-Bp-BGHH3.js → MemoryAdapter-BW1HKixm.js} +2 -2
- package/dist/{MemoryAdapter-Bp-BGHH3.js.map → MemoryAdapter-BW1HKixm.js.map} +1 -1
- package/dist/{MemoryAdapter-DH-gzSSl.cjs → MemoryAdapter-C8iXAa2v.cjs} +2 -2
- package/dist/{MemoryAdapter-DH-gzSSl.cjs.map → MemoryAdapter-C8iXAa2v.cjs.map} +1 -1
- package/dist/{ODataAdapter-RQUjVTcf.js → ODataAdapter-CeBJblLQ.js} +25 -22
- package/dist/ODataAdapter-CeBJblLQ.js.map +1 -0
- package/dist/{ODataAdapter-CrDFvBEZ.cjs → ODataAdapter-DdE6MWkG.cjs} +2 -2
- package/dist/ODataAdapter-DdE6MWkG.cjs.map +1 -0
- package/dist/RestAdapter-D7GSrsJo.cjs +2 -0
- package/dist/RestAdapter-D7GSrsJo.cjs.map +1 -0
- package/dist/{RestAdapter-D6bGIHZT.js → RestAdapter-DYUoyV5h.js} +112 -77
- package/dist/RestAdapter-DYUoyV5h.js.map +1 -0
- package/dist/SchemaService-C_pkh-vI.js +180 -0
- package/dist/SchemaService-C_pkh-vI.js.map +1 -0
- package/dist/SchemaService-DbJLoYb9.cjs +2 -0
- package/dist/SchemaService-DbJLoYb9.cjs.map +1 -0
- package/dist/Serializer-Bap9U-kR.cjs +2 -0
- package/dist/Serializer-Bap9U-kR.cjs.map +1 -0
- package/dist/{Serializer-FxJbsZ50.js → Serializer-Ca6w_QNQ.js} +63 -49
- package/dist/Serializer-Ca6w_QNQ.js.map +1 -0
- package/dist/adapter/index.cjs +1 -1
- package/dist/adapter/index.js +2 -2
- package/dist/createStore-7PecKT54.cjs +2 -0
- package/dist/createStore-7PecKT54.cjs.map +1 -0
- package/dist/createStore-BfmRfZ_2.js +1229 -0
- package/dist/createStore-BfmRfZ_2.js.map +1 -0
- package/dist/date-Bj4O2W1F.js.map +1 -1
- package/dist/date-CRCe-9gf.cjs.map +1 -1
- package/dist/decorators-CKneHgoF.js +56 -0
- package/dist/decorators-CKneHgoF.js.map +1 -0
- package/dist/decorators-DCVYKzrL.cjs +2 -0
- package/dist/decorators-DCVYKzrL.cjs.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +100 -90
- package/dist/index.js.map +1 -1
- package/dist/inspector/ConsoleInspector.d.ts +49 -0
- package/dist/inspector/ConsoleInspector.d.ts.map +1 -0
- package/dist/inspector/DevToolsBridge.d.ts +21 -0
- package/dist/inspector/DevToolsBridge.d.ts.map +1 -0
- package/dist/inspector/QueryParser.d.ts +21 -0
- package/dist/inspector/QueryParser.d.ts.map +1 -0
- package/dist/inspector/StoreInspector.d.ts +31 -0
- package/dist/inspector/StoreInspector.d.ts.map +1 -0
- package/dist/inspector/index.cjs +17 -0
- package/dist/inspector/index.cjs.map +1 -0
- package/dist/inspector/index.d.ts +9 -0
- package/dist/inspector/index.d.ts.map +1 -0
- package/dist/inspector/index.js +896 -0
- package/dist/inspector/index.js.map +1 -0
- package/dist/inspector/integration.d.ts +15 -0
- package/dist/inspector/integration.d.ts.map +1 -0
- package/dist/inspector/serialization.d.ts +7 -0
- package/dist/inspector/serialization.d.ts.map +1 -0
- package/dist/inspector/types.d.ts +139 -0
- package/dist/inspector/types.d.ts.map +1 -0
- package/dist/json-api/index.cjs +1 -1
- package/dist/json-api/index.js +1 -1
- package/dist/mdql/MdqlMemoryExecutor.d.ts +17 -0
- package/dist/mdql/MdqlMemoryExecutor.d.ts.map +1 -0
- package/dist/mdql/MdqlQueryBuilder.d.ts +38 -0
- package/dist/mdql/MdqlQueryBuilder.d.ts.map +1 -0
- package/dist/mdql/MdqlValidator.d.ts +13 -0
- package/dist/mdql/MdqlValidator.d.ts.map +1 -0
- package/dist/mdql/index.d.ts +6 -0
- package/dist/mdql/index.d.ts.map +1 -0
- package/dist/mdql/types.d.ts +48 -0
- package/dist/mdql/types.d.ts.map +1 -0
- package/dist/model/Model.d.ts +4 -0
- package/dist/model/Model.d.ts.map +1 -1
- package/dist/model/Snapshot.d.ts +2 -0
- package/dist/model/Snapshot.d.ts.map +1 -1
- package/dist/model/index.cjs +1 -1
- package/dist/model/index.js +1 -1
- package/dist/odata/ODataAdapter.d.ts.map +1 -1
- package/dist/odata/index.cjs +1 -1
- package/dist/odata/index.js +1 -1
- package/dist/relationships-BgM0NKdb.cjs +2 -0
- package/dist/relationships-BgM0NKdb.cjs.map +1 -0
- package/dist/{relationships-BEXANmWg.js → relationships-DvSi8fVN.js} +37 -28
- package/dist/relationships-DvSi8fVN.js.map +1 -0
- package/dist/request/CacheHandler.d.ts.map +1 -1
- package/dist/request/index.cjs +1 -1
- package/dist/request/index.js +1 -1
- package/dist/schema/SchemaService.d.ts +38 -1
- package/dist/schema/SchemaService.d.ts.map +1 -1
- package/dist/schema/decorators.d.ts +20 -1
- package/dist/schema/decorators.d.ts.map +1 -1
- package/dist/schema/index.cjs +1 -1
- package/dist/schema/index.d.ts +1 -1
- package/dist/schema/index.d.ts.map +1 -1
- package/dist/schema/index.js +10 -8
- package/dist/schema/types.d.ts +31 -0
- package/dist/schema/types.d.ts.map +1 -1
- package/dist/serializer/JsonSerializer.d.ts +2 -0
- package/dist/serializer/JsonSerializer.d.ts.map +1 -1
- package/dist/serializer/Serializer.d.ts +9 -0
- package/dist/serializer/Serializer.d.ts.map +1 -1
- package/dist/serializer/index.cjs +1 -1
- package/dist/serializer/index.js +6 -5
- package/dist/serializer/index.js.map +1 -1
- package/dist/store/Store.d.ts +3 -0
- package/dist/store/Store.d.ts.map +1 -1
- package/dist/store/createStore.d.ts +12 -0
- package/dist/store/createStore.d.ts.map +1 -0
- package/dist/store/index.cjs +1 -1
- package/dist/store/index.d.ts +1 -0
- package/dist/store/index.d.ts.map +1 -1
- package/dist/store/index.js +5 -4
- package/dist/types-CC2fG3FP.js +8 -0
- package/dist/types-CC2fG3FP.js.map +1 -0
- package/dist/types-DCLy5XYj.cjs +2 -0
- package/dist/types-DCLy5XYj.cjs.map +1 -0
- package/package.json +7 -1
- package/src/index.ts +3 -0
- package/src/inspector/ConsoleInspector.ts +470 -0
- package/src/inspector/DevToolsBridge.ts +214 -0
- package/src/inspector/QueryParser.ts +343 -0
- package/src/inspector/StoreInspector.ts +162 -0
- package/src/inspector/index.ts +20 -0
- package/src/inspector/integration.ts +56 -0
- package/src/inspector/serialization.ts +100 -0
- package/src/inspector/types.ts +161 -0
- package/src/mdql/MdqlMemoryExecutor.ts +229 -0
- package/src/mdql/MdqlQueryBuilder.ts +170 -0
- package/src/mdql/MdqlValidator.ts +193 -0
- package/src/mdql/index.ts +21 -0
- package/src/mdql/types.ts +107 -0
- package/src/model/Model.ts +15 -0
- package/src/model/Snapshot.ts +3 -0
- package/src/odata/ODataAdapter.ts +4 -1
- package/src/request/CacheHandler.ts +2 -6
- package/src/schema/SchemaService.ts +123 -1
- package/src/schema/decorators.ts +29 -0
- package/src/schema/index.ts +1 -1
- package/src/schema/types.ts +34 -0
- package/src/serializer/JsonSerializer.ts +14 -2
- package/src/serializer/Serializer.ts +24 -1
- package/src/store/Store.ts +57 -14
- package/src/store/createStore.ts +39 -0
- package/src/store/index.ts +1 -0
- package/dist/CacheHandler-BTU_rYkv.js.map +0 -1
- package/dist/CacheHandler-CXgY9IJo.cjs.map +0 -1
- package/dist/EmbeddedRecordsMixin-CBvqNdgC.cjs +0 -2
- package/dist/EmbeddedRecordsMixin-CBvqNdgC.cjs.map +0 -1
- package/dist/EmbeddedRecordsMixin-VoHluHCT.js +0 -261
- package/dist/EmbeddedRecordsMixin-VoHluHCT.js.map +0 -1
- package/dist/JsonApiSerializer-BLoE046A.js.map +0 -1
- package/dist/JsonApiSerializer-DKemcyw-.cjs.map +0 -1
- package/dist/ODataAdapter-CrDFvBEZ.cjs.map +0 -1
- package/dist/ODataAdapter-RQUjVTcf.js.map +0 -1
- package/dist/RestAdapter-CSoJg7D2.cjs +0 -2
- package/dist/RestAdapter-CSoJg7D2.cjs.map +0 -1
- package/dist/RestAdapter-D6bGIHZT.js.map +0 -1
- package/dist/SchemaService-DZwkFgZu.js +0 -102
- package/dist/SchemaService-DZwkFgZu.js.map +0 -1
- package/dist/SchemaService-Di_yjVzU.cjs +0 -2
- package/dist/SchemaService-Di_yjVzU.cjs.map +0 -1
- package/dist/Serializer-95gi5edy.cjs +0 -2
- package/dist/Serializer-95gi5edy.cjs.map +0 -1
- package/dist/Serializer-FxJbsZ50.js.map +0 -1
- package/dist/Store-Bm5JivTc.js +0 -957
- package/dist/Store-Bm5JivTc.js.map +0 -1
- package/dist/Store-DX9D0Mmy.cjs +0 -2
- package/dist/Store-DX9D0Mmy.cjs.map +0 -1
- package/dist/cache-utils-B2wFhisx.js +0 -39
- package/dist/cache-utils-B2wFhisx.js.map +0 -1
- package/dist/cache-utils-CSwsqOi3.cjs +0 -2
- package/dist/cache-utils-CSwsqOi3.cjs.map +0 -1
- package/dist/decorators-HQ1KnRdh.cjs +0 -2
- package/dist/decorators-HQ1KnRdh.cjs.map +0 -1
- package/dist/decorators-Zr35qr6A.js +0 -50
- package/dist/decorators-Zr35qr6A.js.map +0 -1
- package/dist/relationships-B55LBaCW.cjs +0 -2
- package/dist/relationships-B55LBaCW.cjs.map +0 -1
- package/dist/relationships-BEXANmWg.js.map +0 -1
- package/dist/types-C9NB2gRj.js +0 -7
- package/dist/types-C9NB2gRj.js.map +0 -1
- package/dist/types-uWOXMPWW.cjs +0 -2
- package/dist/types-uWOXMPWW.cjs.map +0 -1
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* and `relationshipsDefinitionFor` rather than reading reflect-metadata directly.
|
|
12
12
|
*/
|
|
13
13
|
import 'reflect-metadata';
|
|
14
|
-
import { type AttributeDef, type AttributeDefinitionsMap, type RelationshipDef, type RelationshipDefinitionsMap } from './types.js';
|
|
14
|
+
import { type AttributeDef, type AttributeDefinitionsMap, type DiscriminatorDef, type RelationshipDef, type RelationshipDefinitionsMap } from './types.js';
|
|
15
15
|
/** Minimal shape of a model constructor that SchemaService can register. */
|
|
16
16
|
export interface ModelClass {
|
|
17
17
|
modelName?: string;
|
|
@@ -27,11 +27,19 @@ export declare class SchemaService {
|
|
|
27
27
|
* Calling this a second time for the same `modelName` replaces the entry.
|
|
28
28
|
*/
|
|
29
29
|
registerModel(modelName: string, modelClass: ModelClass): void;
|
|
30
|
+
/**
|
|
31
|
+
* After registering a model, checks whether any already-registered
|
|
32
|
+
* polymorphic parent lists this model in its discriminator map and, if so,
|
|
33
|
+
* stores the `polymorphicRoot` back-link.
|
|
34
|
+
*/
|
|
35
|
+
private linkPolymorphicChild;
|
|
30
36
|
/**
|
|
31
37
|
* Returns the constructor for the given `modelName`.
|
|
32
38
|
* @throws if the model has not been registered.
|
|
33
39
|
*/
|
|
34
40
|
modelFor(modelName: string): ModelClass;
|
|
41
|
+
/** Returns all registered model names. */
|
|
42
|
+
registeredNames(): string[];
|
|
35
43
|
/** Returns `true` when a model class has been registered for `modelName`. */
|
|
36
44
|
doesTypeExist(modelName: string): boolean;
|
|
37
45
|
/**
|
|
@@ -54,5 +62,34 @@ export declare class SchemaService {
|
|
|
54
62
|
* `callback` with the relationship name and its `RelationshipDef`.
|
|
55
63
|
*/
|
|
56
64
|
eachRelationship(modelName: string, callback: (name: string, meta: RelationshipDef) => void): void;
|
|
65
|
+
/**
|
|
66
|
+
* Returns the discriminator definition for `modelName`, or `undefined`
|
|
67
|
+
* when the model is not polymorphic.
|
|
68
|
+
*/
|
|
69
|
+
discriminatorFor(modelName: string): DiscriminatorDef | undefined;
|
|
70
|
+
/**
|
|
71
|
+
* Returns the polymorphic root model name for a concrete child, or `null`
|
|
72
|
+
* when `modelName` is not part of a polymorphic hierarchy.
|
|
73
|
+
*/
|
|
74
|
+
polymorphicRootFor(modelName: string): string | null;
|
|
75
|
+
/**
|
|
76
|
+
* Returns `true` when `modelName` is declared abstract.
|
|
77
|
+
*/
|
|
78
|
+
isAbstract(modelName: string): boolean;
|
|
79
|
+
/** Returns `true` when the model uses client-generated ids. */
|
|
80
|
+
hasClientGeneratedIds(modelName: string): boolean;
|
|
81
|
+
/**
|
|
82
|
+
* Resolves the concrete model class for a polymorphic parent given a raw
|
|
83
|
+
* payload. Reads the discriminator key from the payload and returns the
|
|
84
|
+
* resolved model name and class.
|
|
85
|
+
*
|
|
86
|
+
* @throws when the discriminator key is missing from the payload.
|
|
87
|
+
* @throws when the discriminator value is not in the map.
|
|
88
|
+
* @returns `null` when `modelName` has no discriminator (not polymorphic).
|
|
89
|
+
*/
|
|
90
|
+
resolveConcreteModel(modelName: string, payload: Record<string, unknown>): {
|
|
91
|
+
modelName: string;
|
|
92
|
+
modelClass: ModelClass;
|
|
93
|
+
} | null;
|
|
57
94
|
}
|
|
58
95
|
//# sourceMappingURL=SchemaService.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SchemaService.d.ts","sourceRoot":"","sources":["../../src/schema/SchemaService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,kBAAkB,CAAC;AAE1B,OAAO,
|
|
1
|
+
{"version":3,"file":"SchemaService.d.ts","sourceRoot":"","sources":["../../src/schema/SchemaService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAIL,KAAK,YAAY,EACjB,KAAK,uBAAuB,EAC5B,KAAK,gBAAgB,EAErB,KAAK,eAAe,EACpB,KAAK,0BAA0B,EAChC,MAAM,YAAY,CAAC;AAEpB,4EAA4E;AAC5E,MAAM,WAAW,UAAU;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,GAAG,IAAI,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;CACjC;AAiDD,qBACa,aAAa;IACxB,OAAO,CAAC,OAAO,CAA4B;IAE3C;;;;;OAKG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,IAAI;IA+B9D;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAe5B;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU;IAQvC,0CAA0C;IAC1C,eAAe,IAAI,MAAM,EAAE;IAI3B,6EAA6E;IAC7E,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAIzC;;;OAGG;IACH,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,uBAAuB;IAQnE;;;OAGG;IACH,0BAA0B,CAAC,SAAS,EAAE,MAAM,GAAG,0BAA0B;IAQzE;;;OAGG;IACH,aAAa,CACX,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,KAAK,IAAI,GACnD,IAAI;IAOP;;;OAGG;IACH,gBAAgB,CACd,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,KAAK,IAAI,GACtD,IAAI;IAOP;;;OAGG;IACH,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAIjE;;;OAGG;IACH,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAIpD;;OAEG;IACH,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAItC,+DAA+D;IAC/D,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAIjD;;;;;;;;OAQG;IACH,oBAAoB,CAClB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,UAAU,CAAA;KAAE,GAAG,IAAI;CA0BxD"}
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* merge inherited definitions.
|
|
11
11
|
*/
|
|
12
12
|
import 'reflect-metadata';
|
|
13
|
-
import { type AttributeOptions, type RelationshipOptions } from './types.js';
|
|
13
|
+
import { type AttributeOptions, type ModelOptions, type RelationshipOptions } from './types.js';
|
|
14
14
|
/**
|
|
15
15
|
* Marks a class property as a serializable attribute.
|
|
16
16
|
*
|
|
@@ -47,4 +47,23 @@ export declare function belongsTo(type: string, options?: RelationshipOptions):
|
|
|
47
47
|
* ```
|
|
48
48
|
*/
|
|
49
49
|
export declare function hasMany(type: string, options?: RelationshipOptions): PropertyDecorator;
|
|
50
|
+
/**
|
|
51
|
+
* Class decorator that attaches model options (name, abstract, discriminator)
|
|
52
|
+
* as reflect-metadata on the constructor. `SchemaService.registerModel` reads
|
|
53
|
+
* this metadata at registration time.
|
|
54
|
+
*
|
|
55
|
+
* @example
|
|
56
|
+
* ```ts
|
|
57
|
+
* @model({
|
|
58
|
+
* name: 'vehicle',
|
|
59
|
+
* abstract: true,
|
|
60
|
+
* discriminator: {
|
|
61
|
+
* key: 'type',
|
|
62
|
+
* map: { car: () => Car, motorcycle: () => Motorcycle },
|
|
63
|
+
* },
|
|
64
|
+
* })
|
|
65
|
+
* abstract class Vehicle extends Model { … }
|
|
66
|
+
* ```
|
|
67
|
+
*/
|
|
68
|
+
export declare function model(options?: ModelOptions): ClassDecorator;
|
|
50
69
|
//# sourceMappingURL=decorators.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/schema/decorators.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,kBAAkB,CAAC;AAC1B,OAAO,
|
|
1
|
+
{"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/schema/decorators.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAKL,KAAK,gBAAgB,EACrB,KAAK,YAAY,EAEjB,KAAK,mBAAmB,EACzB,MAAM,YAAY,CAAC;AAkCpB;;;;;;;;;GASG;AACH,wBAAgB,IAAI,CAClB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,EACpB,OAAO,CAAC,EAAE,gBAAgB,GACzB,iBAAiB,CAAC;AACrB,wBAAgB,IAAI,CAAC,OAAO,EAAE,gBAAgB,GAAG,iBAAiB,CAAC;AA2DnE;;;;;;;;;;GAUG;AACH,wBAAgB,SAAS,CACvB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,mBAAwB,GAChC,iBAAiB,CAEnB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,OAAO,CACrB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,mBAAwB,GAChC,iBAAiB,CAEnB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,KAAK,CAAC,OAAO,GAAE,YAAiB,GAAG,cAAc,CAOhE"}
|
package/dist/schema/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../types-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../types-DCLy5XYj.cjs"),E=require("../decorators-DCVYKzrL.cjs"),r=require("../SchemaService-DbJLoYb9.cjs");exports.ATTRIBUTES_META_KEY=e.ATTRIBUTES_META_KEY;exports.MODEL_NAME_META_KEY=e.MODEL_NAME_META_KEY;exports.MODEL_OPTIONS_META_KEY=e.MODEL_OPTIONS_META_KEY;exports.RELATIONSHIPS_META_KEY=e.RELATIONSHIPS_META_KEY;exports.attr=E.attr;exports.belongsTo=E.belongsTo;exports.hasMany=E.hasMany;exports.model=E.model;Object.defineProperty(exports,"SchemaService",{enumerable:!0,get:()=>r.SchemaService});
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
package/dist/schema/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC"}
|
package/dist/schema/index.js
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
|
-
import { A as s, M as
|
|
2
|
-
import { a as e, b as
|
|
3
|
-
import { S } from "../SchemaService-
|
|
1
|
+
import { A as s, M as T, a as _, R as o } from "../types-CC2fG3FP.js";
|
|
2
|
+
import { a as e, b as r, h as A, m as S } from "../decorators-CKneHgoF.js";
|
|
3
|
+
import { S as t } from "../SchemaService-C_pkh-vI.js";
|
|
4
4
|
export {
|
|
5
5
|
s as ATTRIBUTES_META_KEY,
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
T as MODEL_NAME_META_KEY,
|
|
7
|
+
_ as MODEL_OPTIONS_META_KEY,
|
|
8
|
+
o as RELATIONSHIPS_META_KEY,
|
|
9
|
+
t as SchemaService,
|
|
9
10
|
e as attr,
|
|
10
|
-
|
|
11
|
-
|
|
11
|
+
r as belongsTo,
|
|
12
|
+
A as hasMany,
|
|
13
|
+
S as model
|
|
12
14
|
};
|
|
13
15
|
//# sourceMappingURL=index.js.map
|
package/dist/schema/types.d.ts
CHANGED
|
@@ -52,10 +52,41 @@ export interface RelationshipOptions {
|
|
|
52
52
|
export type AttributeDefinitionsMap = Map<string, AttributeDef>;
|
|
53
53
|
/** Relationship definitions keyed by property name. */
|
|
54
54
|
export type RelationshipDefinitionsMap = Map<string, RelationshipDef>;
|
|
55
|
+
/** Constructor type accepted by the discriminator map. */
|
|
56
|
+
export interface ModelConstructor {
|
|
57
|
+
new (...args: never[]): unknown;
|
|
58
|
+
modelName?: string;
|
|
59
|
+
prototype: unknown;
|
|
60
|
+
}
|
|
61
|
+
/** Discriminator configuration for polymorphic model hierarchies. */
|
|
62
|
+
export interface DiscriminatorDef {
|
|
63
|
+
/** Payload field that identifies the concrete type (defaults to `"type"`). */
|
|
64
|
+
key: string;
|
|
65
|
+
/** Maps discriminator values to lazy model constructor references. */
|
|
66
|
+
map: Record<string, () => ModelConstructor>;
|
|
67
|
+
}
|
|
68
|
+
/** Options accepted by the `@model` class decorator. */
|
|
69
|
+
export interface ModelOptions {
|
|
70
|
+
/** Registered model name. */
|
|
71
|
+
name?: string;
|
|
72
|
+
/** When `true`, the model cannot be instantiated directly. */
|
|
73
|
+
abstract?: boolean;
|
|
74
|
+
/** Discriminator configuration for selecting concrete subclass at deserialization. */
|
|
75
|
+
discriminator?: {
|
|
76
|
+
/** Payload field that identifies the concrete type (defaults to `"type"`). */
|
|
77
|
+
key?: string;
|
|
78
|
+
/** Maps discriminator values to lazy model constructor references. */
|
|
79
|
+
map: Record<string, () => ModelConstructor>;
|
|
80
|
+
};
|
|
81
|
+
/** When `true`, the client-generated `_clientId` is sent to the server as the record id on create. */
|
|
82
|
+
clientGeneratedIds?: boolean;
|
|
83
|
+
}
|
|
55
84
|
/** Reflect-metadata key used to store attribute definitions on a prototype. */
|
|
56
85
|
export declare const ATTRIBUTES_META_KEY: unique symbol;
|
|
57
86
|
/** Reflect-metadata key used to store relationship definitions on a prototype. */
|
|
58
87
|
export declare const RELATIONSHIPS_META_KEY: unique symbol;
|
|
59
88
|
/** Reflect-metadata key used to store the registered model name on a class. */
|
|
60
89
|
export declare const MODEL_NAME_META_KEY: unique symbol;
|
|
90
|
+
/** Reflect-metadata key used to store `@model` options on a class constructor. */
|
|
91
|
+
export declare const MODEL_OPTIONS_META_KEY: unique symbol;
|
|
61
92
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/schema/types.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,MAAM,WAAW,YAAY;IAC3B,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,2FAA2F;IAC3F,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,mEAAmE;IACnE,OAAO,EAAE,gBAAgB,CAAC;IAC1B,gEAAgE;IAChE,WAAW,EAAE,IAAI,CAAC;CACnB;AAED,iDAAiD;AACjD,MAAM,WAAW,gBAAgB;IAC/B,sFAAsF;IACtF,YAAY,CAAC,EAAE,OAAO,GAAG,CAAC,MAAM,OAAO,CAAC,CAAC;IACzC,2DAA2D;IAC3D,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,sFAAsF;AACtF,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,SAAS,CAAC;AAEvD,wFAAwF;AACxF,MAAM,WAAW,eAAe;IAC9B,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,qDAAqD;IACrD,IAAI,EAAE,gBAAgB,CAAC;IACvB,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,2DAA2D;IAC3D,OAAO,EAAE,mBAAmB,CAAC;IAC7B,gEAAgE;IAChE,cAAc,EAAE,IAAI,CAAC;CACtB;AAED,kEAAkE;AAClE,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,iFAAiF;IACjF,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gCAAgC;IAChC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,oDAAoD;AACpD,MAAM,MAAM,uBAAuB,GAAG,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAChE,uDAAuD;AACvD,MAAM,MAAM,0BAA0B,GAAG,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;AAEtE,+EAA+E;AAC/E,eAAO,MAAM,mBAAmB,eAAiC,CAAC;AAClE,kFAAkF;AAClF,eAAO,MAAM,sBAAsB,eAAoC,CAAC;AACxE,+EAA+E;AAC/E,eAAO,MAAM,mBAAmB,eAAgC,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/schema/types.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,MAAM,WAAW,YAAY;IAC3B,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,2FAA2F;IAC3F,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,mEAAmE;IACnE,OAAO,EAAE,gBAAgB,CAAC;IAC1B,gEAAgE;IAChE,WAAW,EAAE,IAAI,CAAC;CACnB;AAED,iDAAiD;AACjD,MAAM,WAAW,gBAAgB;IAC/B,sFAAsF;IACtF,YAAY,CAAC,EAAE,OAAO,GAAG,CAAC,MAAM,OAAO,CAAC,CAAC;IACzC,2DAA2D;IAC3D,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,sFAAsF;AACtF,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,SAAS,CAAC;AAEvD,wFAAwF;AACxF,MAAM,WAAW,eAAe;IAC9B,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,qDAAqD;IACrD,IAAI,EAAE,gBAAgB,CAAC;IACvB,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,2DAA2D;IAC3D,OAAO,EAAE,mBAAmB,CAAC;IAC7B,gEAAgE;IAChE,cAAc,EAAE,IAAI,CAAC;CACtB;AAED,kEAAkE;AAClE,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,iFAAiF;IACjF,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gCAAgC;IAChC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,oDAAoD;AACpD,MAAM,MAAM,uBAAuB,GAAG,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAChE,uDAAuD;AACvD,MAAM,MAAM,0BAA0B,GAAG,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;AAEtE,0DAA0D;AAC1D,MAAM,WAAW,gBAAgB;IAC/B,KAAK,GAAG,IAAI,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,qEAAqE;AACrE,MAAM,WAAW,gBAAgB;IAC/B,8EAA8E;IAC9E,GAAG,EAAE,MAAM,CAAC;IACZ,sEAAsE;IACtE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,gBAAgB,CAAC,CAAC;CAC7C;AAED,wDAAwD;AACxD,MAAM,WAAW,YAAY;IAC3B,6BAA6B;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,sFAAsF;IACtF,aAAa,CAAC,EAAE;QACd,8EAA8E;QAC9E,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,sEAAsE;QACtE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,gBAAgB,CAAC,CAAC;KAC7C,CAAC;IACF,sGAAsG;IACtG,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,+EAA+E;AAC/E,eAAO,MAAM,mBAAmB,eAAiC,CAAC;AAClE,kFAAkF;AAClF,eAAO,MAAM,sBAAsB,eAAoC,CAAC;AACxE,+EAA+E;AAC/E,eAAO,MAAM,mBAAmB,eAAgC,CAAC;AACjE,kFAAkF;AAClF,eAAO,MAAM,sBAAsB,eAAmC,CAAC"}
|
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
* hook (`normalizeFindRecordResponse`, etc.) when a subclass overrides them.
|
|
20
20
|
* If no override exists it falls through to `_buildDocument`.
|
|
21
21
|
*/
|
|
22
|
+
import 'reflect-metadata';
|
|
22
23
|
import { Serializer, type ModelClassMeta, type NormalizeRequestType, type NormalizedDocument, type NormalizedResource, type SerializerSnapshot } from './Serializer.js';
|
|
23
24
|
export declare class JsonSerializer extends Serializer {
|
|
24
25
|
static dispatchMethodName(requestType: NormalizeRequestType): keyof Serializer | null;
|
|
@@ -47,6 +48,7 @@ export declare class JsonSerializer extends Serializer {
|
|
|
47
48
|
*/
|
|
48
49
|
serialize(snapshot: SerializerSnapshot, options?: {
|
|
49
50
|
includeId?: boolean;
|
|
51
|
+
clientGeneratedIds?: boolean;
|
|
50
52
|
}): Record<string, unknown>;
|
|
51
53
|
}
|
|
52
54
|
//# sourceMappingURL=JsonSerializer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JsonSerializer.d.ts","sourceRoot":"","sources":["../../src/serializer/JsonSerializer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;
|
|
1
|
+
{"version":3,"file":"JsonSerializer.d.ts","sourceRoot":"","sources":["../../src/serializer/JsonSerializer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,kBAAkB,CAAC;AAG1B,OAAO,EACL,UAAU,EACV,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACxB,MAAM,iBAAiB,CAAC;AAEzB,qBACa,cAAe,SAAQ,UAAU;IAC5C,MAAM,CAAC,kBAAkB,CACvB,WAAW,EAAE,oBAAoB,GAChC,MAAM,UAAU,GAAG,IAAI;IAqB1B;;;OAGG;IACM,SAAS,CAChB,MAAM,EAAE,OAAO,EACf,UAAU,EAAE,cAAc,EAC1B,OAAO,EAAE,OAAO,EAChB,KAAK,CAAC,EAAE,MAAM,GACb,kBAAkB,GAAG,IAAI;IA+B5B;;;;;;OAMG;IACM,iBAAiB,CACxB,KAAK,EAAE,OAAO,EACd,UAAU,EAAE,cAAc,EAC1B,OAAO,EAAE,OAAO,EAChB,EAAE,EAAE,MAAM,GAAG,IAAI,EACjB,WAAW,EAAE,oBAAoB,GAChC,kBAAkB;IAqBrB;;;;OAIG;IACH,SAAS,CAAC,cAAc,CACtB,KAAK,EAAE,OAAO,EACd,UAAU,EAAE,cAAc,EAC1B,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,MAAM,GAAG,IAAI,EAClB,YAAY,EAAE,oBAAoB,GACjC,kBAAkB;IAcrB;;;OAGG;IACM,SAAS,CAChB,QAAQ,EAAE,kBAAkB,EAC5B,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,kBAAkB,CAAC,EAAE,OAAO,CAAA;KAAE,GAC9D,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAmB3B"}
|
|
@@ -82,6 +82,8 @@ export interface NormalizedDocument {
|
|
|
82
82
|
export interface SerializerSnapshot {
|
|
83
83
|
/** Server-assigned id, or `null` for new records. */
|
|
84
84
|
id: string | null;
|
|
85
|
+
/** Client-generated identifier, always present. */
|
|
86
|
+
clientId: string;
|
|
85
87
|
/** Model name. */
|
|
86
88
|
modelName: string;
|
|
87
89
|
/** Returns the snapshot-time value for an attribute key. */
|
|
@@ -132,6 +134,7 @@ export declare abstract class Serializer {
|
|
|
132
134
|
*/
|
|
133
135
|
abstract serialize(snapshot: SerializerSnapshot, options?: {
|
|
134
136
|
includeId?: boolean;
|
|
137
|
+
clientGeneratedIds?: boolean;
|
|
135
138
|
}): Record<string, unknown>;
|
|
136
139
|
/** Called when normalizing a `findRecord` response. */
|
|
137
140
|
normalizeFindRecordResponse(store: unknown, modelClass: ModelClassMeta, payload: unknown, id: string | null, requestType: NormalizeRequestType): NormalizedDocument;
|
|
@@ -168,6 +171,12 @@ export declare abstract class Serializer {
|
|
|
168
171
|
* locate the payload key.
|
|
169
172
|
*/
|
|
170
173
|
extractAttributes(modelClass: ModelClassMeta, resourceHash: Record<string, unknown>): Record<string, unknown>;
|
|
174
|
+
/**
|
|
175
|
+
* Extracts all non-id, non-relationship fields from a raw payload.
|
|
176
|
+
* Used for polymorphic models where the concrete child may have attributes
|
|
177
|
+
* not declared on the abstract parent.
|
|
178
|
+
*/
|
|
179
|
+
extractAllAttributes(modelClass: ModelClassMeta, resourceHash: Record<string, unknown>): Record<string, unknown>;
|
|
171
180
|
/**
|
|
172
181
|
* Extracts relationship references from a raw resource hash.
|
|
173
182
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Serializer.d.ts","sourceRoot":"","sources":["../../src/serializer/Serializer.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Serializer.d.ts","sourceRoot":"","sources":["../../src/serializer/Serializer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../Serializer-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../Serializer-Bap9U-kR.cjs"),e=require("../EmbeddedRecordsMixin-BkF7MdbY.cjs"),i=require("../JsonSerializer-BzUCyUSf.cjs");exports.Serializer=r.Serializer;exports.EmbeddedRecordsMixin=e.EmbeddedRecordsMixin;Object.defineProperty(exports,"RestSerializer",{enumerable:!0,get:()=>e.RestSerializer});Object.defineProperty(exports,"JsonSerializer",{enumerable:!0,get:()=>i.JsonSerializer});
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
package/dist/serializer/index.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { S as i } from "../Serializer-
|
|
2
|
-
import { E as
|
|
1
|
+
import { S as i } from "../Serializer-Ca6w_QNQ.js";
|
|
2
|
+
import { E as a, R as s } from "../EmbeddedRecordsMixin-6mSCXsJ3.js";
|
|
3
|
+
import { J as m } from "../JsonSerializer-CFqo6GjC.js";
|
|
3
4
|
export {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
a as EmbeddedRecordsMixin,
|
|
6
|
+
m as JsonSerializer,
|
|
7
|
+
s as RestSerializer,
|
|
7
8
|
i as Serializer
|
|
8
9
|
};
|
|
9
10
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
|
package/dist/store/Store.d.ts
CHANGED
|
@@ -39,6 +39,7 @@ import { Model, type RelationshipRef, type ModelStoreLike, type SaveOptions } fr
|
|
|
39
39
|
import type { CacheLike } from '../cache/types.js';
|
|
40
40
|
import { IdentityMap } from './IdentityMap.js';
|
|
41
41
|
import { RecordArray, AdapterPopulatedRecordArray } from './RecordArray.js';
|
|
42
|
+
import { MdqlQueryBuilder } from '../mdql/MdqlQueryBuilder.js';
|
|
42
43
|
/** Options forwarded from the Store to adapter fetch methods. */
|
|
43
44
|
export interface AdapterFetchOptions {
|
|
44
45
|
include?: string;
|
|
@@ -93,6 +94,7 @@ export interface NormalizedDocument {
|
|
|
93
94
|
/** Internal snapshot interface created and consumed by the store. */
|
|
94
95
|
interface Snapshot {
|
|
95
96
|
id: string | null;
|
|
97
|
+
clientId: string;
|
|
96
98
|
modelName: string;
|
|
97
99
|
record: Model;
|
|
98
100
|
attr(key: string): unknown;
|
|
@@ -327,6 +329,7 @@ export declare class Store implements ModelStoreLike {
|
|
|
327
329
|
* @returns A live `RecordArray` containing only records that satisfy `predicate`.
|
|
328
330
|
*/
|
|
329
331
|
liveQuery<T extends Model = Model>(modelName: string, predicate: (record: T) => boolean): RecordArray<T>;
|
|
332
|
+
select<T extends Model = Model>(modelName: string): MdqlQueryBuilder<T>;
|
|
330
333
|
/**
|
|
331
334
|
* Applies attribute changes to a record immediately (optimistically), then
|
|
332
335
|
* executes `persistFn`. If `persistFn` throws, the record is automatically
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Store.d.ts","sourceRoot":"","sources":["../../src/store/Store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAMH,OAAO,EACL,aAAa,EACb,KAAK,eAAe,EACpB,KAAK,YAAY,EAClB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,KAAK,EAIL,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,WAAW,EACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAKnD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EACL,WAAW,EACX,2BAA2B,EAC5B,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"Store.d.ts","sourceRoot":"","sources":["../../src/store/Store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import 'reflect-metadata';
|
|
2
|
+
import { Model } from '@mobx-data/model';
|
|
3
|
+
import { Store, type AdapterLike, type SerializerLike } from './Store.js';
|
|
4
|
+
export interface CreateStoreOptions {
|
|
5
|
+
models: Array<typeof Model & {
|
|
6
|
+
modelName: string;
|
|
7
|
+
}>;
|
|
8
|
+
adapter?: AdapterLike;
|
|
9
|
+
serializer?: SerializerLike;
|
|
10
|
+
}
|
|
11
|
+
export declare function createStore(options: CreateStoreOptions): Store;
|
|
12
|
+
//# sourceMappingURL=createStore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createStore.d.ts","sourceRoot":"","sources":["../../src/store/createStore.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,KAAK,WAAW,EAAE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAI1E,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,KAAK,CAAC,OAAO,KAAK,GAAG;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpD,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,UAAU,CAAC,EAAE,cAAc,CAAC;CAC7B;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,KAAK,CAyB9D"}
|
package/dist/store/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../createStore-7PecKT54.cjs");exports.AdapterPopulatedRecordArray=e.AdapterPopulatedRecordArray;exports.IdentityMap=e.IdentityMap;exports.RecordArray=e.RecordArray;Object.defineProperty(exports,"Store",{enumerable:!0,get:()=>e.Store});exports.createStore=e.createStore;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
package/dist/store/index.d.ts
CHANGED
|
@@ -2,4 +2,5 @@ export { Store } from './Store.js';
|
|
|
2
2
|
export type { AdapterLike, AdapterFetchOptions, SerializerLike, FindOptions, NormalizedDocument, NormalizedResource, } from './Store.js';
|
|
3
3
|
export { IdentityMap } from './IdentityMap.js';
|
|
4
4
|
export { RecordArray, AdapterPopulatedRecordArray } from './RecordArray.js';
|
|
5
|
+
export { createStore, type CreateStoreOptions } from './createStore.js';
|
|
5
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/store/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EACV,WAAW,EACX,mBAAmB,EACnB,cAAc,EACd,WAAW,EACX,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/store/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EACV,WAAW,EACX,mBAAmB,EACnB,cAAc,EACd,WAAW,EACX,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC"}
|
package/dist/store/index.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { A as e, I as
|
|
1
|
+
import { A as e, I as t, R as o, S as d, c as s } from "../createStore-BfmRfZ_2.js";
|
|
2
2
|
export {
|
|
3
3
|
e as AdapterPopulatedRecordArray,
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
d as Store
|
|
4
|
+
t as IdentityMap,
|
|
5
|
+
o as RecordArray,
|
|
6
|
+
d as Store,
|
|
7
|
+
s as createStore
|
|
7
8
|
};
|
|
8
9
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types-CC2fG3FP.js","sources":["../src/schema/types.ts"],"sourcesContent":["/** Shape of a single `@attr` decoration on a model class property. */\r\nexport interface AttributeDef {\r\n /** Property name on the model class. */\r\n name: string;\r\n /** Registered transform type (e.g. `'string'`, `'number'`), or `null` for pass-through. */\r\n type: string | null;\r\n /** Extra options passed by the decorator (default value, etc.). */\r\n options: AttributeOptions;\r\n /** Discriminant – always `true`; used to narrow union types. */\r\n isAttribute: true;\r\n}\r\n\r\n/** Options accepted by the `@attr` decorator. */\r\nexport interface AttributeOptions {\r\n /** Static value or factory function called when the attribute has no server value. */\r\n defaultValue?: unknown | (() => unknown);\r\n /** Arbitrary custom options forwarded to the transform. */\r\n [key: string]: unknown;\r\n}\r\n\r\n/** Identifies the direction of a relationship from the owning model's perspective. */\r\nexport type RelationshipKind = 'belongsTo' | 'hasMany';\r\n\r\n/** Shape of a single `@belongsTo` / `@hasMany` decoration on a model class property. */\r\nexport interface RelationshipDef {\r\n /** Property name on the model class. */\r\n name: string;\r\n /** Direction from the owning model's perspective. */\r\n kind: RelationshipKind;\r\n /** `modelName` of the related model. */\r\n type: string;\r\n /** Normalised options (async, inverse, polymorphic, …). */\r\n options: RelationshipOptions;\r\n /** Discriminant – always `true`; used to narrow union types. */\r\n isRelationship: true;\r\n}\r\n\r\n/** Options accepted by `@belongsTo` and `@hasMany` decorators. */\r\nexport interface RelationshipOptions {\r\n /**\r\n * When `true` the relationship proxy returns an `AsyncBelongsTo` / `AsyncHasMany`\r\n * that must be awaited before the related record(s) are available.\r\n */\r\n async?: boolean;\r\n /**\r\n * Name of the inverse property on the related model.\r\n * Set to `null` to explicitly opt out of inverse tracking.\r\n */\r\n inverse?: string | null;\r\n /** When `true` the relationship can point to records of multiple model types. */\r\n polymorphic?: boolean;\r\n /** Arbitrary custom options. */\r\n [key: string]: unknown;\r\n}\r\n\r\n/** Attribute definitions keyed by property name. */\r\nexport type AttributeDefinitionsMap = Map<string, AttributeDef>;\r\n/** Relationship definitions keyed by property name. */\r\nexport type RelationshipDefinitionsMap = Map<string, RelationshipDef>;\r\n\r\n/** Constructor type accepted by the discriminator map. */\r\nexport interface ModelConstructor {\r\n new (...args: never[]): unknown;\r\n modelName?: string;\r\n prototype: unknown;\r\n}\r\n\r\n/** Discriminator configuration for polymorphic model hierarchies. */\r\nexport interface DiscriminatorDef {\r\n /** Payload field that identifies the concrete type (defaults to `\"type\"`). */\r\n key: string;\r\n /** Maps discriminator values to lazy model constructor references. */\r\n map: Record<string, () => ModelConstructor>;\r\n}\r\n\r\n/** Options accepted by the `@model` class decorator. */\r\nexport interface ModelOptions {\r\n /** Registered model name. */\r\n name?: string;\r\n /** When `true`, the model cannot be instantiated directly. */\r\n abstract?: boolean;\r\n /** Discriminator configuration for selecting concrete subclass at deserialization. */\r\n discriminator?: {\r\n /** Payload field that identifies the concrete type (defaults to `\"type\"`). */\r\n key?: string;\r\n /** Maps discriminator values to lazy model constructor references. */\r\n map: Record<string, () => ModelConstructor>;\r\n };\r\n /** When `true`, the client-generated `_clientId` is sent to the server as the record id on create. */\r\n clientGeneratedIds?: boolean;\r\n}\r\n\r\n/** Reflect-metadata key used to store attribute definitions on a prototype. */\r\nexport const ATTRIBUTES_META_KEY = Symbol('mobx-data:attributes');\r\n/** Reflect-metadata key used to store relationship definitions on a prototype. */\r\nexport const RELATIONSHIPS_META_KEY = Symbol('mobx-data:relationships');\r\n/** Reflect-metadata key used to store the registered model name on a class. */\r\nexport const MODEL_NAME_META_KEY = Symbol('mobx-data:modelName');\r\n/** Reflect-metadata key used to store `@model` options on a class constructor. */\r\nexport const MODEL_OPTIONS_META_KEY = Symbol('mobx-data:modelOptions');\r\n"],"names":["ATTRIBUTES_META_KEY","RELATIONSHIPS_META_KEY","MODEL_NAME_META_KEY","MODEL_OPTIONS_META_KEY"],"mappings":"AA6FO,MAAMA,IAAsB,OAAO,sBAAsB,GAEnDC,IAAyB,OAAO,yBAAyB,GAEzDC,IAAsB,OAAO,qBAAqB,GAElDC,IAAyB,OAAO,wBAAwB;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const E=Symbol("mobx-data:attributes"),_=Symbol("mobx-data:relationships"),T=Symbol("mobx-data:modelName"),o=Symbol("mobx-data:modelOptions");exports.ATTRIBUTES_META_KEY=E;exports.MODEL_NAME_META_KEY=T;exports.MODEL_OPTIONS_META_KEY=o;exports.RELATIONSHIPS_META_KEY=_;
|
|
2
|
+
//# sourceMappingURL=types-DCLy5XYj.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types-DCLy5XYj.cjs","sources":["../src/schema/types.ts"],"sourcesContent":["/** Shape of a single `@attr` decoration on a model class property. */\r\nexport interface AttributeDef {\r\n /** Property name on the model class. */\r\n name: string;\r\n /** Registered transform type (e.g. `'string'`, `'number'`), or `null` for pass-through. */\r\n type: string | null;\r\n /** Extra options passed by the decorator (default value, etc.). */\r\n options: AttributeOptions;\r\n /** Discriminant – always `true`; used to narrow union types. */\r\n isAttribute: true;\r\n}\r\n\r\n/** Options accepted by the `@attr` decorator. */\r\nexport interface AttributeOptions {\r\n /** Static value or factory function called when the attribute has no server value. */\r\n defaultValue?: unknown | (() => unknown);\r\n /** Arbitrary custom options forwarded to the transform. */\r\n [key: string]: unknown;\r\n}\r\n\r\n/** Identifies the direction of a relationship from the owning model's perspective. */\r\nexport type RelationshipKind = 'belongsTo' | 'hasMany';\r\n\r\n/** Shape of a single `@belongsTo` / `@hasMany` decoration on a model class property. */\r\nexport interface RelationshipDef {\r\n /** Property name on the model class. */\r\n name: string;\r\n /** Direction from the owning model's perspective. */\r\n kind: RelationshipKind;\r\n /** `modelName` of the related model. */\r\n type: string;\r\n /** Normalised options (async, inverse, polymorphic, …). */\r\n options: RelationshipOptions;\r\n /** Discriminant – always `true`; used to narrow union types. */\r\n isRelationship: true;\r\n}\r\n\r\n/** Options accepted by `@belongsTo` and `@hasMany` decorators. */\r\nexport interface RelationshipOptions {\r\n /**\r\n * When `true` the relationship proxy returns an `AsyncBelongsTo` / `AsyncHasMany`\r\n * that must be awaited before the related record(s) are available.\r\n */\r\n async?: boolean;\r\n /**\r\n * Name of the inverse property on the related model.\r\n * Set to `null` to explicitly opt out of inverse tracking.\r\n */\r\n inverse?: string | null;\r\n /** When `true` the relationship can point to records of multiple model types. */\r\n polymorphic?: boolean;\r\n /** Arbitrary custom options. */\r\n [key: string]: unknown;\r\n}\r\n\r\n/** Attribute definitions keyed by property name. */\r\nexport type AttributeDefinitionsMap = Map<string, AttributeDef>;\r\n/** Relationship definitions keyed by property name. */\r\nexport type RelationshipDefinitionsMap = Map<string, RelationshipDef>;\r\n\r\n/** Constructor type accepted by the discriminator map. */\r\nexport interface ModelConstructor {\r\n new (...args: never[]): unknown;\r\n modelName?: string;\r\n prototype: unknown;\r\n}\r\n\r\n/** Discriminator configuration for polymorphic model hierarchies. */\r\nexport interface DiscriminatorDef {\r\n /** Payload field that identifies the concrete type (defaults to `\"type\"`). */\r\n key: string;\r\n /** Maps discriminator values to lazy model constructor references. */\r\n map: Record<string, () => ModelConstructor>;\r\n}\r\n\r\n/** Options accepted by the `@model` class decorator. */\r\nexport interface ModelOptions {\r\n /** Registered model name. */\r\n name?: string;\r\n /** When `true`, the model cannot be instantiated directly. */\r\n abstract?: boolean;\r\n /** Discriminator configuration for selecting concrete subclass at deserialization. */\r\n discriminator?: {\r\n /** Payload field that identifies the concrete type (defaults to `\"type\"`). */\r\n key?: string;\r\n /** Maps discriminator values to lazy model constructor references. */\r\n map: Record<string, () => ModelConstructor>;\r\n };\r\n /** When `true`, the client-generated `_clientId` is sent to the server as the record id on create. */\r\n clientGeneratedIds?: boolean;\r\n}\r\n\r\n/** Reflect-metadata key used to store attribute definitions on a prototype. */\r\nexport const ATTRIBUTES_META_KEY = Symbol('mobx-data:attributes');\r\n/** Reflect-metadata key used to store relationship definitions on a prototype. */\r\nexport const RELATIONSHIPS_META_KEY = Symbol('mobx-data:relationships');\r\n/** Reflect-metadata key used to store the registered model name on a class. */\r\nexport const MODEL_NAME_META_KEY = Symbol('mobx-data:modelName');\r\n/** Reflect-metadata key used to store `@model` options on a class constructor. */\r\nexport const MODEL_OPTIONS_META_KEY = Symbol('mobx-data:modelOptions');\r\n"],"names":["ATTRIBUTES_META_KEY","RELATIONSHIPS_META_KEY","MODEL_NAME_META_KEY","MODEL_OPTIONS_META_KEY"],"mappings":"aA6FO,MAAMA,EAAsB,OAAO,sBAAsB,EAEnDC,EAAyB,OAAO,yBAAyB,EAEzDC,EAAsB,OAAO,qBAAqB,EAElDC,EAAyB,OAAO,wBAAwB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@iamjulianacosta/mobx-data",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.4.0",
|
|
4
4
|
"description": "Ember Data feature-complete clone for MobX",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.cjs",
|
|
@@ -56,6 +56,11 @@
|
|
|
56
56
|
"types": "./dist/odata/index.d.ts",
|
|
57
57
|
"import": "./dist/odata/index.js",
|
|
58
58
|
"require": "./dist/odata/index.cjs"
|
|
59
|
+
},
|
|
60
|
+
"./inspector": {
|
|
61
|
+
"types": "./dist/inspector/index.d.ts",
|
|
62
|
+
"import": "./dist/inspector/index.js",
|
|
63
|
+
"require": "./dist/inspector/index.cjs"
|
|
59
64
|
}
|
|
60
65
|
},
|
|
61
66
|
"files": [
|
|
@@ -67,6 +72,7 @@
|
|
|
67
72
|
"scripts": {
|
|
68
73
|
"test": "vitest run",
|
|
69
74
|
"test:watch": "vitest",
|
|
75
|
+
"test:coverage": "vitest run --coverage",
|
|
70
76
|
"test:e2e": "playwright test",
|
|
71
77
|
"test:e2e:coverage": "playwright test && nyc report --temp-dir=coverage/playwright --report-dir=coverage/playwright-report --reporter=text",
|
|
72
78
|
"test:all": "vitest run --coverage && playwright test",
|
package/src/index.ts
CHANGED
|
@@ -2,6 +2,8 @@ export * from './schema/index.js';
|
|
|
2
2
|
export * from './model/index.js';
|
|
3
3
|
export {
|
|
4
4
|
Store,
|
|
5
|
+
createStore,
|
|
6
|
+
type CreateStoreOptions,
|
|
5
7
|
type AdapterLike,
|
|
6
8
|
type SerializerLike,
|
|
7
9
|
type FindOptions,
|
|
@@ -16,3 +18,4 @@ export * from './request/index.js';
|
|
|
16
18
|
export * from './json-api/index.js';
|
|
17
19
|
export * from './odata/index.js';
|
|
18
20
|
export * from './cache/index.js';
|
|
21
|
+
export * from './mdql/index.js';
|