@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.
Files changed (203) hide show
  1. package/README.md +273 -102
  2. package/dist/{CacheHandler-BTU_rYkv.js → CacheHandler-BhfbVHed.js} +17 -20
  3. package/dist/CacheHandler-BhfbVHed.js.map +1 -0
  4. package/dist/{CacheHandler-CXgY9IJo.cjs → CacheHandler-Q5VXOgh9.cjs} +2 -2
  5. package/dist/CacheHandler-Q5VXOgh9.cjs.map +1 -0
  6. package/dist/EmbeddedRecordsMixin-6mSCXsJ3.js +173 -0
  7. package/dist/EmbeddedRecordsMixin-6mSCXsJ3.js.map +1 -0
  8. package/dist/EmbeddedRecordsMixin-BkF7MdbY.cjs +2 -0
  9. package/dist/EmbeddedRecordsMixin-BkF7MdbY.cjs.map +1 -0
  10. package/dist/{JsonApiSerializer-BLoE046A.js → JsonApiSerializer-BV61cFAZ.js} +3 -3
  11. package/dist/JsonApiSerializer-BV61cFAZ.js.map +1 -0
  12. package/dist/{JsonApiSerializer-DKemcyw-.cjs → JsonApiSerializer-Dt_Y_FIo.cjs} +2 -2
  13. package/dist/JsonApiSerializer-Dt_Y_FIo.cjs.map +1 -0
  14. package/dist/JsonSerializer-BzUCyUSf.cjs +2 -0
  15. package/dist/JsonSerializer-BzUCyUSf.cjs.map +1 -0
  16. package/dist/JsonSerializer-CFqo6GjC.js +98 -0
  17. package/dist/JsonSerializer-CFqo6GjC.js.map +1 -0
  18. package/dist/MdqlMemoryExecutor-BUlsalKm.cjs +2 -0
  19. package/dist/MdqlMemoryExecutor-BUlsalKm.cjs.map +1 -0
  20. package/dist/MdqlMemoryExecutor-BWMP31zG.js +127 -0
  21. package/dist/MdqlMemoryExecutor-BWMP31zG.js.map +1 -0
  22. package/dist/{MemoryAdapter-Bp-BGHH3.js → MemoryAdapter-BW1HKixm.js} +2 -2
  23. package/dist/{MemoryAdapter-Bp-BGHH3.js.map → MemoryAdapter-BW1HKixm.js.map} +1 -1
  24. package/dist/{MemoryAdapter-DH-gzSSl.cjs → MemoryAdapter-C8iXAa2v.cjs} +2 -2
  25. package/dist/{MemoryAdapter-DH-gzSSl.cjs.map → MemoryAdapter-C8iXAa2v.cjs.map} +1 -1
  26. package/dist/{ODataAdapter-RQUjVTcf.js → ODataAdapter-CeBJblLQ.js} +25 -22
  27. package/dist/ODataAdapter-CeBJblLQ.js.map +1 -0
  28. package/dist/{ODataAdapter-CrDFvBEZ.cjs → ODataAdapter-DdE6MWkG.cjs} +2 -2
  29. package/dist/ODataAdapter-DdE6MWkG.cjs.map +1 -0
  30. package/dist/RestAdapter-D7GSrsJo.cjs +2 -0
  31. package/dist/RestAdapter-D7GSrsJo.cjs.map +1 -0
  32. package/dist/{RestAdapter-D6bGIHZT.js → RestAdapter-DYUoyV5h.js} +112 -77
  33. package/dist/RestAdapter-DYUoyV5h.js.map +1 -0
  34. package/dist/SchemaService-C_pkh-vI.js +180 -0
  35. package/dist/SchemaService-C_pkh-vI.js.map +1 -0
  36. package/dist/SchemaService-DbJLoYb9.cjs +2 -0
  37. package/dist/SchemaService-DbJLoYb9.cjs.map +1 -0
  38. package/dist/Serializer-Bap9U-kR.cjs +2 -0
  39. package/dist/Serializer-Bap9U-kR.cjs.map +1 -0
  40. package/dist/{Serializer-FxJbsZ50.js → Serializer-Ca6w_QNQ.js} +63 -49
  41. package/dist/Serializer-Ca6w_QNQ.js.map +1 -0
  42. package/dist/adapter/index.cjs +1 -1
  43. package/dist/adapter/index.js +2 -2
  44. package/dist/createStore-7PecKT54.cjs +2 -0
  45. package/dist/createStore-7PecKT54.cjs.map +1 -0
  46. package/dist/createStore-BfmRfZ_2.js +1229 -0
  47. package/dist/createStore-BfmRfZ_2.js.map +1 -0
  48. package/dist/date-Bj4O2W1F.js.map +1 -1
  49. package/dist/date-CRCe-9gf.cjs.map +1 -1
  50. package/dist/decorators-CKneHgoF.js +56 -0
  51. package/dist/decorators-CKneHgoF.js.map +1 -0
  52. package/dist/decorators-DCVYKzrL.cjs +2 -0
  53. package/dist/decorators-DCVYKzrL.cjs.map +1 -0
  54. package/dist/index.cjs +1 -1
  55. package/dist/index.cjs.map +1 -1
  56. package/dist/index.d.ts +2 -1
  57. package/dist/index.d.ts.map +1 -1
  58. package/dist/index.js +100 -90
  59. package/dist/index.js.map +1 -1
  60. package/dist/inspector/ConsoleInspector.d.ts +49 -0
  61. package/dist/inspector/ConsoleInspector.d.ts.map +1 -0
  62. package/dist/inspector/DevToolsBridge.d.ts +21 -0
  63. package/dist/inspector/DevToolsBridge.d.ts.map +1 -0
  64. package/dist/inspector/QueryParser.d.ts +21 -0
  65. package/dist/inspector/QueryParser.d.ts.map +1 -0
  66. package/dist/inspector/StoreInspector.d.ts +31 -0
  67. package/dist/inspector/StoreInspector.d.ts.map +1 -0
  68. package/dist/inspector/index.cjs +17 -0
  69. package/dist/inspector/index.cjs.map +1 -0
  70. package/dist/inspector/index.d.ts +9 -0
  71. package/dist/inspector/index.d.ts.map +1 -0
  72. package/dist/inspector/index.js +896 -0
  73. package/dist/inspector/index.js.map +1 -0
  74. package/dist/inspector/integration.d.ts +15 -0
  75. package/dist/inspector/integration.d.ts.map +1 -0
  76. package/dist/inspector/serialization.d.ts +7 -0
  77. package/dist/inspector/serialization.d.ts.map +1 -0
  78. package/dist/inspector/types.d.ts +139 -0
  79. package/dist/inspector/types.d.ts.map +1 -0
  80. package/dist/json-api/index.cjs +1 -1
  81. package/dist/json-api/index.js +1 -1
  82. package/dist/mdql/MdqlMemoryExecutor.d.ts +17 -0
  83. package/dist/mdql/MdqlMemoryExecutor.d.ts.map +1 -0
  84. package/dist/mdql/MdqlQueryBuilder.d.ts +38 -0
  85. package/dist/mdql/MdqlQueryBuilder.d.ts.map +1 -0
  86. package/dist/mdql/MdqlValidator.d.ts +13 -0
  87. package/dist/mdql/MdqlValidator.d.ts.map +1 -0
  88. package/dist/mdql/index.d.ts +6 -0
  89. package/dist/mdql/index.d.ts.map +1 -0
  90. package/dist/mdql/types.d.ts +48 -0
  91. package/dist/mdql/types.d.ts.map +1 -0
  92. package/dist/model/Model.d.ts +4 -0
  93. package/dist/model/Model.d.ts.map +1 -1
  94. package/dist/model/Snapshot.d.ts +2 -0
  95. package/dist/model/Snapshot.d.ts.map +1 -1
  96. package/dist/model/index.cjs +1 -1
  97. package/dist/model/index.js +1 -1
  98. package/dist/odata/ODataAdapter.d.ts.map +1 -1
  99. package/dist/odata/index.cjs +1 -1
  100. package/dist/odata/index.js +1 -1
  101. package/dist/relationships-BgM0NKdb.cjs +2 -0
  102. package/dist/relationships-BgM0NKdb.cjs.map +1 -0
  103. package/dist/{relationships-BEXANmWg.js → relationships-DvSi8fVN.js} +37 -28
  104. package/dist/relationships-DvSi8fVN.js.map +1 -0
  105. package/dist/request/CacheHandler.d.ts.map +1 -1
  106. package/dist/request/index.cjs +1 -1
  107. package/dist/request/index.js +1 -1
  108. package/dist/schema/SchemaService.d.ts +38 -1
  109. package/dist/schema/SchemaService.d.ts.map +1 -1
  110. package/dist/schema/decorators.d.ts +20 -1
  111. package/dist/schema/decorators.d.ts.map +1 -1
  112. package/dist/schema/index.cjs +1 -1
  113. package/dist/schema/index.d.ts +1 -1
  114. package/dist/schema/index.d.ts.map +1 -1
  115. package/dist/schema/index.js +10 -8
  116. package/dist/schema/types.d.ts +31 -0
  117. package/dist/schema/types.d.ts.map +1 -1
  118. package/dist/serializer/JsonSerializer.d.ts +2 -0
  119. package/dist/serializer/JsonSerializer.d.ts.map +1 -1
  120. package/dist/serializer/Serializer.d.ts +9 -0
  121. package/dist/serializer/Serializer.d.ts.map +1 -1
  122. package/dist/serializer/index.cjs +1 -1
  123. package/dist/serializer/index.js +6 -5
  124. package/dist/serializer/index.js.map +1 -1
  125. package/dist/store/Store.d.ts +3 -0
  126. package/dist/store/Store.d.ts.map +1 -1
  127. package/dist/store/createStore.d.ts +12 -0
  128. package/dist/store/createStore.d.ts.map +1 -0
  129. package/dist/store/index.cjs +1 -1
  130. package/dist/store/index.d.ts +1 -0
  131. package/dist/store/index.d.ts.map +1 -1
  132. package/dist/store/index.js +5 -4
  133. package/dist/types-CC2fG3FP.js +8 -0
  134. package/dist/types-CC2fG3FP.js.map +1 -0
  135. package/dist/types-DCLy5XYj.cjs +2 -0
  136. package/dist/types-DCLy5XYj.cjs.map +1 -0
  137. package/package.json +7 -1
  138. package/src/index.ts +3 -0
  139. package/src/inspector/ConsoleInspector.ts +470 -0
  140. package/src/inspector/DevToolsBridge.ts +214 -0
  141. package/src/inspector/QueryParser.ts +343 -0
  142. package/src/inspector/StoreInspector.ts +162 -0
  143. package/src/inspector/index.ts +20 -0
  144. package/src/inspector/integration.ts +56 -0
  145. package/src/inspector/serialization.ts +100 -0
  146. package/src/inspector/types.ts +161 -0
  147. package/src/mdql/MdqlMemoryExecutor.ts +229 -0
  148. package/src/mdql/MdqlQueryBuilder.ts +170 -0
  149. package/src/mdql/MdqlValidator.ts +193 -0
  150. package/src/mdql/index.ts +21 -0
  151. package/src/mdql/types.ts +107 -0
  152. package/src/model/Model.ts +15 -0
  153. package/src/model/Snapshot.ts +3 -0
  154. package/src/odata/ODataAdapter.ts +4 -1
  155. package/src/request/CacheHandler.ts +2 -6
  156. package/src/schema/SchemaService.ts +123 -1
  157. package/src/schema/decorators.ts +29 -0
  158. package/src/schema/index.ts +1 -1
  159. package/src/schema/types.ts +34 -0
  160. package/src/serializer/JsonSerializer.ts +14 -2
  161. package/src/serializer/Serializer.ts +24 -1
  162. package/src/store/Store.ts +57 -14
  163. package/src/store/createStore.ts +39 -0
  164. package/src/store/index.ts +1 -0
  165. package/dist/CacheHandler-BTU_rYkv.js.map +0 -1
  166. package/dist/CacheHandler-CXgY9IJo.cjs.map +0 -1
  167. package/dist/EmbeddedRecordsMixin-CBvqNdgC.cjs +0 -2
  168. package/dist/EmbeddedRecordsMixin-CBvqNdgC.cjs.map +0 -1
  169. package/dist/EmbeddedRecordsMixin-VoHluHCT.js +0 -261
  170. package/dist/EmbeddedRecordsMixin-VoHluHCT.js.map +0 -1
  171. package/dist/JsonApiSerializer-BLoE046A.js.map +0 -1
  172. package/dist/JsonApiSerializer-DKemcyw-.cjs.map +0 -1
  173. package/dist/ODataAdapter-CrDFvBEZ.cjs.map +0 -1
  174. package/dist/ODataAdapter-RQUjVTcf.js.map +0 -1
  175. package/dist/RestAdapter-CSoJg7D2.cjs +0 -2
  176. package/dist/RestAdapter-CSoJg7D2.cjs.map +0 -1
  177. package/dist/RestAdapter-D6bGIHZT.js.map +0 -1
  178. package/dist/SchemaService-DZwkFgZu.js +0 -102
  179. package/dist/SchemaService-DZwkFgZu.js.map +0 -1
  180. package/dist/SchemaService-Di_yjVzU.cjs +0 -2
  181. package/dist/SchemaService-Di_yjVzU.cjs.map +0 -1
  182. package/dist/Serializer-95gi5edy.cjs +0 -2
  183. package/dist/Serializer-95gi5edy.cjs.map +0 -1
  184. package/dist/Serializer-FxJbsZ50.js.map +0 -1
  185. package/dist/Store-Bm5JivTc.js +0 -957
  186. package/dist/Store-Bm5JivTc.js.map +0 -1
  187. package/dist/Store-DX9D0Mmy.cjs +0 -2
  188. package/dist/Store-DX9D0Mmy.cjs.map +0 -1
  189. package/dist/cache-utils-B2wFhisx.js +0 -39
  190. package/dist/cache-utils-B2wFhisx.js.map +0 -1
  191. package/dist/cache-utils-CSwsqOi3.cjs +0 -2
  192. package/dist/cache-utils-CSwsqOi3.cjs.map +0 -1
  193. package/dist/decorators-HQ1KnRdh.cjs +0 -2
  194. package/dist/decorators-HQ1KnRdh.cjs.map +0 -1
  195. package/dist/decorators-Zr35qr6A.js +0 -50
  196. package/dist/decorators-Zr35qr6A.js.map +0 -1
  197. package/dist/relationships-B55LBaCW.cjs +0 -2
  198. package/dist/relationships-B55LBaCW.cjs.map +0 -1
  199. package/dist/relationships-BEXANmWg.js.map +0 -1
  200. package/dist/types-C9NB2gRj.js +0 -7
  201. package/dist/types-C9NB2gRj.js.map +0 -1
  202. package/dist/types-uWOXMPWW.cjs +0 -2
  203. 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,EAGL,KAAK,YAAY,EACjB,KAAK,uBAAuB,EAC5B,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;AAyCD,qBACa,aAAa;IACxB,OAAO,CAAC,OAAO,CAA4B;IAE3C;;;;;OAKG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,IAAI;IAY9D;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU;IAQvC,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;CAMR"}
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,EAIL,KAAK,gBAAgB,EAErB,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"}
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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../types-uWOXMPWW.cjs"),r=require("../decorators-HQ1KnRdh.cjs"),E=require("../SchemaService-Di_yjVzU.cjs");exports.ATTRIBUTES_META_KEY=e.ATTRIBUTES_META_KEY;exports.MODEL_NAME_META_KEY=e.MODEL_NAME_META_KEY;exports.RELATIONSHIPS_META_KEY=e.RELATIONSHIPS_META_KEY;exports.attr=r.attr;exports.belongsTo=r.belongsTo;exports.hasMany=r.hasMany;Object.defineProperty(exports,"SchemaService",{enumerable:!0,get:()=>E.SchemaService});
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
@@ -1,4 +1,4 @@
1
1
  export * from './types.js';
2
- export { attr, belongsTo, hasMany } from './decorators.js';
2
+ export { attr, belongsTo, hasMany, model } from './decorators.js';
3
3
  export { SchemaService, type ModelClass } from './SchemaService.js';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -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;AAC3D,OAAO,EAAE,aAAa,EAAE,KAAK,UAAU,EAAE,MAAM,oBAAoB,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"}
@@ -1,13 +1,15 @@
1
- import { A as s, M as o, R as r } from "../types-C9NB2gRj.js";
2
- import { a as e, b as A, h as M } from "../decorators-Zr35qr6A.js";
3
- import { S } from "../SchemaService-DZwkFgZu.js";
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
- o as MODEL_NAME_META_KEY,
7
- r as RELATIONSHIPS_META_KEY,
8
- S as SchemaService,
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
- A as belongsTo,
11
- M as hasMany
11
+ r as belongsTo,
12
+ A as hasMany,
13
+ S as model
12
14
  };
13
15
  //# sourceMappingURL=index.js.map
@@ -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;AAGH,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;IAuB5B;;;;;;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,CAAA;KAAE,GAChC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAiB3B"}
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-95gi5edy.cjs"),e=require("../EmbeddedRecordsMixin-CBvqNdgC.cjs");exports.Serializer=r.Serializer;exports.EmbeddedRecordsMixin=e.EmbeddedRecordsMixin;Object.defineProperty(exports,"JsonSerializer",{enumerable:!0,get:()=>e.JsonSerializer});Object.defineProperty(exports,"RestSerializer",{enumerable:!0,get:()=>e.RestSerializer});
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
@@ -1,9 +1,10 @@
1
- import { S as i } from "../Serializer-FxJbsZ50.js";
2
- import { E as s, J as o, R as d } from "../EmbeddedRecordsMixin-VoHluHCT.js";
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
- s as EmbeddedRecordsMixin,
5
- o as JsonSerializer,
6
- d as RestSerializer,
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":";;;"}
@@ -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":"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"}
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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../Store-DX9D0Mmy.cjs");exports.AdapterPopulatedRecordArray=e.AdapterPopulatedRecordArray;exports.IdentityMap=e.IdentityMap;exports.RecordArray=e.RecordArray;Object.defineProperty(exports,"Store",{enumerable:!0,get:()=>e.Store});
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
@@ -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"}
@@ -1,8 +1,9 @@
1
- import { A as e, I as o, R as t, S as d } from "../Store-Bm5JivTc.js";
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
- o as IdentityMap,
5
- t as RecordArray,
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,8 @@
1
+ const o = Symbol("mobx-data:attributes"), a = Symbol("mobx-data:relationships"), t = Symbol("mobx-data:modelName"), E = Symbol("mobx-data:modelOptions");
2
+ export {
3
+ o as A,
4
+ t as M,
5
+ a as R,
6
+ E as a
7
+ };
8
+ //# sourceMappingURL=types-CC2fG3FP.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.1.0",
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';