@warp-drive-mirror/core 5.10.0-alpha.12 → 5.10.0-alpha.13

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 (267) hide show
  1. package/README.md +32 -0
  2. package/dist/{-private-CjK1Dmuh.js → -private-BpyvBYFj.js} +508 -144
  3. package/dist/-private-BpyvBYFj.js.map +1 -0
  4. package/dist/{unpkg/dev/-private-Dtj8O5W7.js → -private-CmNOwhK0.js} +3 -1
  5. package/dist/{-private-Dtj8O5W7.js.map → -private-CmNOwhK0.js.map} +1 -1
  6. package/dist/{aliases-BWYW5EhX.d.ts → aliases-BQmAxXmb.d.ts} +4 -1
  7. package/dist/aliases-BQmAxXmb.d.ts.map +1 -0
  8. package/dist/{change-C7kqv2kW.d.ts → change-DClXcHvr.d.ts} +4 -2
  9. package/dist/change-DClXcHvr.d.ts.map +1 -0
  10. package/dist/{concepts-DFldVwEM.d.ts → concepts-DzuY5M1K.d.ts} +14 -5
  11. package/dist/concepts-DzuY5M1K.d.ts.map +1 -0
  12. package/dist/{configure-B_F639tN.d.ts → configure-CjsojjiI.d.ts} +7 -1
  13. package/dist/configure-CjsojjiI.d.ts.map +1 -0
  14. package/dist/configure.d.ts +1 -1
  15. package/dist/configure.js +1 -1
  16. package/dist/{document-Ca4ZZBd9.d.ts → document-Ni8Ns26t.d.ts} +22 -4
  17. package/dist/document-Ni8Ns26t.d.ts.map +1 -0
  18. package/dist/{error-0uD6GkNX.d.ts → error-APuUdUGk.d.ts} +4 -2
  19. package/dist/error-APuUdUGk.d.ts.map +1 -0
  20. package/dist/{fields-CnlWuUd5.d.ts → fields-D6173Q_a.d.ts} +126 -5
  21. package/dist/fields-D6173Q_a.d.ts.map +1 -0
  22. package/dist/graph/-private.d.ts +1 -1
  23. package/dist/graph/-private.js +2 -0
  24. package/dist/graph/-private.js.map +1 -1
  25. package/dist/{graph-DLqYXP2z.d.ts → graph-rjTyJ-gd.d.ts} +25 -5
  26. package/dist/graph-rjTyJ-gd.d.ts.map +1 -0
  27. package/dist/{identifier-DQnqOSJK.d.ts → identifier-B_tK3FUw.d.ts} +29 -4
  28. package/dist/identifier-B_tK3FUw.d.ts.map +1 -0
  29. package/dist/index.d.ts +1 -1
  30. package/dist/index.js +1 -1
  31. package/dist/{internal-DBnp5uP6.d.ts → internal-CgOlgOt3.d.ts} +496 -31
  32. package/dist/internal-CgOlgOt3.d.ts.map +1 -0
  33. package/dist/{json-api-raw-C5APJHHB.d.ts → json-api-raw-BxzNsCg0.d.ts} +44 -2
  34. package/dist/json-api-raw-BxzNsCg0.d.ts.map +1 -0
  35. package/dist/{mutations-CqtoGB4t.d.ts → mutations-C81gbYjB.d.ts} +18 -2
  36. package/dist/mutations-C81gbYjB.d.ts.map +1 -0
  37. package/dist/{operations-D1qA6r0_.d.ts → operations-B4pQM7D6.d.ts} +39 -5
  38. package/dist/operations-B4pQM7D6.d.ts.map +1 -0
  39. package/dist/{params-DrEx3bf8.d.ts → params-dbHiSOMF.d.ts} +11 -1
  40. package/dist/params-dbHiSOMF.d.ts.map +1 -0
  41. package/dist/{raw-D5hnjiq7.d.ts → raw-CiC64nCY.d.ts} +10 -1
  42. package/dist/raw-CiC64nCY.d.ts.map +1 -0
  43. package/dist/reactive/-private.d.ts +1 -1
  44. package/dist/reactive/-private.js +1 -1
  45. package/dist/reactive.d.ts +2 -2
  46. package/dist/reactive.js +3 -3
  47. package/dist/{record-D3QQcaIR.d.ts → record-DDxPtzcY.d.ts} +22 -2
  48. package/dist/record-DDxPtzcY.d.ts.map +1 -0
  49. package/dist/{relationship-CmHzMPKf.d.ts → relationship-BlGIXgj4.d.ts} +10 -3
  50. package/dist/relationship-BlGIXgj4.d.ts.map +1 -0
  51. package/dist/{request-Di274pQz.js → request-MiwUbGdT.js} +26 -1
  52. package/dist/request-MiwUbGdT.js.map +1 -0
  53. package/dist/request.d.ts +1 -1
  54. package/dist/request.js +1 -1
  55. package/dist/signals/-leaked.d.ts +86 -4
  56. package/dist/signals/-leaked.d.ts.map +1 -1
  57. package/dist/signals/-leaked.js +1 -1
  58. package/dist/{src-B9WcEdYg.js → src-DlNeupkA.js} +221 -20
  59. package/dist/src-DlNeupkA.js.map +1 -0
  60. package/dist/store/-private.d.ts +1 -1
  61. package/dist/store/-private.js +1 -1
  62. package/dist/{store-DNF9Rgoh.js → store-lcyaxrpj.js} +16 -1
  63. package/dist/store-lcyaxrpj.js.map +1 -0
  64. package/dist/store.d.ts +1 -1
  65. package/dist/store.js +1 -1
  66. package/dist/{symbols-DjRDCeX0.d.ts → symbols-Cu9un1NR.d.ts} +10 -1
  67. package/dist/symbols-Cu9un1NR.d.ts.map +1 -0
  68. package/dist/types/-private.js +1 -1
  69. package/dist/types/cache/aliases.d.ts +1 -1
  70. package/dist/types/cache/change.d.ts +1 -1
  71. package/dist/types/cache/mutations.d.ts +1 -1
  72. package/dist/types/cache/operations.d.ts +1 -1
  73. package/dist/types/cache/relationship.d.ts +1 -1
  74. package/dist/types/cache.d.ts +1 -1
  75. package/dist/types/graph.d.ts +1 -1
  76. package/dist/types/identifier.d.ts +1 -1
  77. package/dist/types/identifier.js +33 -3
  78. package/dist/types/identifier.js.map +1 -1
  79. package/dist/types/json/raw.d.ts +1 -1
  80. package/dist/types/params.d.ts +1 -1
  81. package/dist/types/record.d.ts +1 -1
  82. package/dist/types/record.js +25 -0
  83. package/dist/types/record.js.map +1 -1
  84. package/dist/types/request.d.ts +1 -1
  85. package/dist/types/request.js +80 -0
  86. package/dist/types/request.js.map +1 -1
  87. package/dist/types/runtime.d.ts.map +1 -1
  88. package/dist/types/schema/concepts.d.ts +1 -1
  89. package/dist/types/schema/fields.d.ts +1 -1
  90. package/dist/types/schema/fields.js +132 -3
  91. package/dist/types/schema/fields.js.map +1 -1
  92. package/dist/types/schema/schema-service.d.ts +1 -1
  93. package/dist/types/spec/document.d.ts +1 -1
  94. package/dist/types/spec/error.d.ts +1 -1
  95. package/dist/types/spec/json-api-raw.d.ts +1 -1
  96. package/dist/types/symbols.d.ts +1 -1
  97. package/dist/types/symbols.js +14 -0
  98. package/dist/types/symbols.js.map +1 -1
  99. package/dist/types/utils.d.ts +1 -1
  100. package/dist/types.d.ts +2 -2
  101. package/dist/unpkg/{dev-deprecated/-private-DrQgwtNS.js → dev/-private-BH4O810v.js} +508 -144
  102. package/dist/unpkg/dev/-private-BH4O810v.js.map +1 -0
  103. package/dist/{-private-Dtj8O5W7.js → unpkg/dev/-private-CmNOwhK0.js} +3 -1
  104. package/dist/unpkg/dev/{-private-Dtj8O5W7.js.map → -private-CmNOwhK0.js.map} +1 -1
  105. package/dist/unpkg/dev/configure.js +1 -1
  106. package/dist/unpkg/dev/graph/-private.js +2 -0
  107. package/dist/unpkg/dev/graph/-private.js.map +1 -1
  108. package/dist/unpkg/dev/index.js +1 -1
  109. package/dist/unpkg/dev/reactive/-private.js +1 -1
  110. package/dist/unpkg/dev/reactive.js +3 -3
  111. package/dist/unpkg/{dev-deprecated/request-nAaeDlS9.js → dev/request-Fe-vpe-u.js} +26 -1
  112. package/dist/unpkg/dev/request-Fe-vpe-u.js.map +1 -0
  113. package/dist/unpkg/dev/request.js +1 -1
  114. package/dist/unpkg/dev/signals/-leaked.js +1 -1
  115. package/dist/unpkg/dev/{src-CkkrRFE1.js → src-FSk0Z_Lp.js} +212 -13
  116. package/dist/unpkg/dev/src-FSk0Z_Lp.js.map +1 -0
  117. package/dist/unpkg/dev/store/-private.js +1 -1
  118. package/dist/unpkg/dev/{store-BIFNM_fB.js → store-BUV8Pfi7.js} +16 -1
  119. package/dist/unpkg/dev/store-BUV8Pfi7.js.map +1 -0
  120. package/dist/unpkg/dev/store.js +1 -1
  121. package/dist/unpkg/dev/types/-private.js +1 -1
  122. package/dist/unpkg/dev/types/identifier.js +33 -3
  123. package/dist/unpkg/dev/types/identifier.js.map +1 -1
  124. package/dist/unpkg/dev/types/record.js +25 -0
  125. package/dist/unpkg/dev/types/record.js.map +1 -1
  126. package/dist/unpkg/dev/types/request.js +80 -0
  127. package/dist/unpkg/dev/types/request.js.map +1 -1
  128. package/dist/unpkg/dev/types/schema/fields.js +132 -3
  129. package/dist/unpkg/dev/types/schema/fields.js.map +1 -1
  130. package/dist/unpkg/dev/types/symbols.js +14 -0
  131. package/dist/unpkg/dev/types/symbols.js.map +1 -1
  132. package/dist/unpkg/{dev/-private-DrQgwtNS.js → dev-deprecated/-private-BH4O810v.js} +508 -144
  133. package/dist/unpkg/dev-deprecated/-private-BH4O810v.js.map +1 -0
  134. package/dist/unpkg/{prod-deprecated/-private-Dtj8O5W7.js → dev-deprecated/-private-CmNOwhK0.js} +3 -1
  135. package/dist/unpkg/dev-deprecated/{-private-Dtj8O5W7.js.map → -private-CmNOwhK0.js.map} +1 -1
  136. package/dist/unpkg/dev-deprecated/configure.js +1 -1
  137. package/dist/unpkg/dev-deprecated/graph/-private.js +2 -0
  138. package/dist/unpkg/dev-deprecated/graph/-private.js.map +1 -1
  139. package/dist/unpkg/dev-deprecated/index.js +1 -1
  140. package/dist/unpkg/dev-deprecated/reactive/-private.js +1 -1
  141. package/dist/unpkg/dev-deprecated/reactive.js +3 -3
  142. package/dist/unpkg/{dev/request-nAaeDlS9.js → dev-deprecated/request-Fe-vpe-u.js} +26 -1
  143. package/dist/unpkg/dev-deprecated/request-Fe-vpe-u.js.map +1 -0
  144. package/dist/unpkg/dev-deprecated/request.js +1 -1
  145. package/dist/unpkg/dev-deprecated/signals/-leaked.js +1 -1
  146. package/dist/unpkg/dev-deprecated/{src-oz6OaQXu.js → src-Isk_Je7q.js} +214 -13
  147. package/dist/unpkg/dev-deprecated/src-Isk_Je7q.js.map +1 -0
  148. package/dist/unpkg/dev-deprecated/store/-private.js +1 -1
  149. package/dist/unpkg/dev-deprecated/{store-X1WN7P_O.js → store-CCZBSe0p.js} +16 -1
  150. package/dist/unpkg/dev-deprecated/store-CCZBSe0p.js.map +1 -0
  151. package/dist/unpkg/dev-deprecated/store.js +1 -1
  152. package/dist/unpkg/dev-deprecated/types/-private.js +1 -1
  153. package/dist/unpkg/dev-deprecated/types/identifier.js +33 -3
  154. package/dist/unpkg/dev-deprecated/types/identifier.js.map +1 -1
  155. package/dist/unpkg/dev-deprecated/types/record.js +25 -0
  156. package/dist/unpkg/dev-deprecated/types/record.js.map +1 -1
  157. package/dist/unpkg/dev-deprecated/types/request.js +80 -0
  158. package/dist/unpkg/dev-deprecated/types/request.js.map +1 -1
  159. package/dist/unpkg/dev-deprecated/types/schema/fields.js +132 -3
  160. package/dist/unpkg/dev-deprecated/types/schema/fields.js.map +1 -1
  161. package/dist/unpkg/dev-deprecated/types/symbols.js +14 -0
  162. package/dist/unpkg/dev-deprecated/types/symbols.js.map +1 -1
  163. package/dist/unpkg/prod/-private-CmNOwhK0.js +24 -0
  164. package/dist/unpkg/prod/{-private-Dtj8O5W7.js.map → -private-CmNOwhK0.js.map} +1 -1
  165. package/dist/unpkg/prod/{-private-Dg1vsF-H.js → -private-DKVDMUfT.js} +481 -138
  166. package/dist/unpkg/prod/-private-DKVDMUfT.js.map +1 -0
  167. package/dist/unpkg/prod/configure.js +1 -1
  168. package/dist/unpkg/prod/graph/-private.js +2 -0
  169. package/dist/unpkg/prod/graph/-private.js.map +1 -1
  170. package/dist/unpkg/prod/index.js +1 -1
  171. package/dist/unpkg/prod/reactive/-private.js +1 -1
  172. package/dist/unpkg/prod/reactive.js +3 -3
  173. package/dist/unpkg/prod/{request-DK7nNaAf.js → request-ndw2Fy91.js} +26 -1
  174. package/dist/unpkg/prod/request-ndw2Fy91.js.map +1 -0
  175. package/dist/unpkg/prod/request.js +1 -1
  176. package/dist/unpkg/prod/signals/-leaked.js +1 -1
  177. package/dist/unpkg/prod/{src-BGKCOL5L.js → src-CoSpuocQ.js} +212 -13
  178. package/dist/unpkg/prod/src-CoSpuocQ.js.map +1 -0
  179. package/dist/unpkg/prod/store/-private.js +1 -1
  180. package/dist/unpkg/{prod-deprecated/store-BWhmb7Ob.js → prod/store-CQOsqdST.js} +16 -1
  181. package/dist/unpkg/prod/store-CQOsqdST.js.map +1 -0
  182. package/dist/unpkg/prod/store.js +1 -1
  183. package/dist/unpkg/prod/types/-private.js +1 -1
  184. package/dist/unpkg/prod/types/identifier.js +33 -3
  185. package/dist/unpkg/prod/types/identifier.js.map +1 -1
  186. package/dist/unpkg/prod/types/record.js +25 -0
  187. package/dist/unpkg/prod/types/record.js.map +1 -1
  188. package/dist/unpkg/prod/types/request.js +80 -0
  189. package/dist/unpkg/prod/types/request.js.map +1 -1
  190. package/dist/unpkg/prod/types/schema/fields.js +132 -3
  191. package/dist/unpkg/prod/types/schema/fields.js.map +1 -1
  192. package/dist/unpkg/prod/types/symbols.js +14 -0
  193. package/dist/unpkg/prod/types/symbols.js.map +1 -1
  194. package/dist/unpkg/{dev-deprecated/-private-Dtj8O5W7.js → prod-deprecated/-private-CmNOwhK0.js} +3 -1
  195. package/dist/unpkg/prod-deprecated/{-private-Dtj8O5W7.js.map → -private-CmNOwhK0.js.map} +1 -1
  196. package/dist/unpkg/prod-deprecated/{-private-Dg1vsF-H.js → -private-DKVDMUfT.js} +481 -138
  197. package/dist/unpkg/prod-deprecated/-private-DKVDMUfT.js.map +1 -0
  198. package/dist/unpkg/prod-deprecated/configure.js +1 -1
  199. package/dist/unpkg/prod-deprecated/graph/-private.js +2 -0
  200. package/dist/unpkg/prod-deprecated/graph/-private.js.map +1 -1
  201. package/dist/unpkg/prod-deprecated/index.js +1 -1
  202. package/dist/unpkg/prod-deprecated/reactive/-private.js +1 -1
  203. package/dist/unpkg/prod-deprecated/reactive.js +3 -3
  204. package/dist/unpkg/prod-deprecated/{request-DK7nNaAf.js → request-ndw2Fy91.js} +26 -1
  205. package/dist/unpkg/prod-deprecated/request-ndw2Fy91.js.map +1 -0
  206. package/dist/unpkg/prod-deprecated/request.js +1 -1
  207. package/dist/unpkg/prod-deprecated/signals/-leaked.js +1 -1
  208. package/dist/unpkg/prod-deprecated/{src-CGypdIsf.js → src-FK_rMde5.js} +214 -13
  209. package/dist/unpkg/prod-deprecated/src-FK_rMde5.js.map +1 -0
  210. package/dist/unpkg/prod-deprecated/store/-private.js +1 -1
  211. package/dist/unpkg/{prod/store-BWhmb7Ob.js → prod-deprecated/store-CQOsqdST.js} +16 -1
  212. package/dist/unpkg/prod-deprecated/store-CQOsqdST.js.map +1 -0
  213. package/dist/unpkg/prod-deprecated/store.js +1 -1
  214. package/dist/unpkg/prod-deprecated/types/-private.js +1 -1
  215. package/dist/unpkg/prod-deprecated/types/identifier.js +33 -3
  216. package/dist/unpkg/prod-deprecated/types/identifier.js.map +1 -1
  217. package/dist/unpkg/prod-deprecated/types/record.js +25 -0
  218. package/dist/unpkg/prod-deprecated/types/record.js.map +1 -1
  219. package/dist/unpkg/prod-deprecated/types/request.js +80 -0
  220. package/dist/unpkg/prod-deprecated/types/request.js.map +1 -1
  221. package/dist/unpkg/prod-deprecated/types/schema/fields.js +132 -3
  222. package/dist/unpkg/prod-deprecated/types/schema/fields.js.map +1 -1
  223. package/dist/unpkg/prod-deprecated/types/symbols.js +14 -0
  224. package/dist/unpkg/prod-deprecated/types/symbols.js.map +1 -1
  225. package/dist/{utils-BtURiy8l.d.ts → utils-CNmQoKm8.d.ts} +8 -1
  226. package/dist/utils-CNmQoKm8.d.ts.map +1 -0
  227. package/package.json +5 -5
  228. package/dist/-private-CjK1Dmuh.js.map +0 -1
  229. package/dist/aliases-BWYW5EhX.d.ts.map +0 -1
  230. package/dist/change-C7kqv2kW.d.ts.map +0 -1
  231. package/dist/concepts-DFldVwEM.d.ts.map +0 -1
  232. package/dist/configure-B_F639tN.d.ts.map +0 -1
  233. package/dist/document-Ca4ZZBd9.d.ts.map +0 -1
  234. package/dist/error-0uD6GkNX.d.ts.map +0 -1
  235. package/dist/fields-CnlWuUd5.d.ts.map +0 -1
  236. package/dist/graph-DLqYXP2z.d.ts.map +0 -1
  237. package/dist/identifier-DQnqOSJK.d.ts.map +0 -1
  238. package/dist/internal-DBnp5uP6.d.ts.map +0 -1
  239. package/dist/json-api-raw-C5APJHHB.d.ts.map +0 -1
  240. package/dist/mutations-CqtoGB4t.d.ts.map +0 -1
  241. package/dist/operations-D1qA6r0_.d.ts.map +0 -1
  242. package/dist/params-DrEx3bf8.d.ts.map +0 -1
  243. package/dist/raw-D5hnjiq7.d.ts.map +0 -1
  244. package/dist/record-D3QQcaIR.d.ts.map +0 -1
  245. package/dist/relationship-CmHzMPKf.d.ts.map +0 -1
  246. package/dist/request-Di274pQz.js.map +0 -1
  247. package/dist/src-B9WcEdYg.js.map +0 -1
  248. package/dist/store-DNF9Rgoh.js.map +0 -1
  249. package/dist/symbols-DjRDCeX0.d.ts.map +0 -1
  250. package/dist/unpkg/dev/-private-DrQgwtNS.js.map +0 -1
  251. package/dist/unpkg/dev/request-nAaeDlS9.js.map +0 -1
  252. package/dist/unpkg/dev/src-CkkrRFE1.js.map +0 -1
  253. package/dist/unpkg/dev/store-BIFNM_fB.js.map +0 -1
  254. package/dist/unpkg/dev-deprecated/-private-DrQgwtNS.js.map +0 -1
  255. package/dist/unpkg/dev-deprecated/request-nAaeDlS9.js.map +0 -1
  256. package/dist/unpkg/dev-deprecated/src-oz6OaQXu.js.map +0 -1
  257. package/dist/unpkg/dev-deprecated/store-X1WN7P_O.js.map +0 -1
  258. package/dist/unpkg/prod/-private-Dg1vsF-H.js.map +0 -1
  259. package/dist/unpkg/prod/-private-Dtj8O5W7.js +0 -22
  260. package/dist/unpkg/prod/request-DK7nNaAf.js.map +0 -1
  261. package/dist/unpkg/prod/src-BGKCOL5L.js.map +0 -1
  262. package/dist/unpkg/prod/store-BWhmb7Ob.js.map +0 -1
  263. package/dist/unpkg/prod-deprecated/-private-Dg1vsF-H.js.map +0 -1
  264. package/dist/unpkg/prod-deprecated/request-DK7nNaAf.js.map +0 -1
  265. package/dist/unpkg/prod-deprecated/src-CGypdIsf.js.map +0 -1
  266. package/dist/unpkg/prod-deprecated/store-BWhmb7Ob.js.map +0 -1
  267. package/dist/utils-BtURiy8l.d.ts.map +0 -1
@@ -1,11 +1,25 @@
1
1
  //#region src/types/schema/fields.ts
2
2
  /**
3
+ * The [Schemas](/guides/the-manual/schemas/) guide teaches how these schemas and
4
+ * fields fit together.
5
+ *
6
+ * @module
7
+ * @summary Types for every field schema kind and for PolarisMode and LegacyMode resource, object and trait schemas,
8
+ * plus the `resourceSchema` and `objectSchema` helpers and type guards.
9
+ */
10
+ /**
3
11
  * Options signature for Legacy Attributes.
12
+ *
13
+ * @summary Options object on a legacy `attribute` field schema, holding a `defaultValue` (a primitive or a function
14
+ * producing one) plus any transform-specific options.
4
15
  */
5
16
  /**
6
17
  * A generic "field" that can be used to define
7
18
  * primitive value fields.
8
19
  *
20
+ * The [SimpleFields](/guides/the-manual/schemas/simple-fields) guide shows how to
21
+ * define them.
22
+ *
9
23
  * Replaces "attribute" for primitive value fields.
10
24
  * Can also be used to eject from deep-tracking of
11
25
  * objects or arrays.
@@ -16,6 +30,8 @@
16
30
  * "type" points to a new-style transform on "field"
17
31
  * that a record implmentation *must* use.
18
32
  *
33
+ * @summary Field schema of kind `field` for a primitive value, optionally converted by a registered `Transformation`;
34
+ * objects and arrays in it are not deep-tracked.
19
35
  * @public
20
36
  */
21
37
  /**
@@ -44,6 +60,8 @@
44
60
  * an AliasField could be used to expose both a string and a Date version of the
45
61
  * same field, with both being capable of being written to.
46
62
  *
63
+ * @summary Field schema of kind `alias` for LegacyMode resources that exposes another field's cache value, including
64
+ * legacy attributes and relationships, under a new name.
47
65
  * @public
48
66
  */
49
67
  /**
@@ -72,6 +90,8 @@
72
90
  * an AliasField could be used to expose both a string and a Date version of the
73
91
  * same field, with both being capable of being written to.
74
92
  *
93
+ * @summary Field schema of kind `alias` for PolarisMode resources that exposes another field's cache value, including
94
+ * LinksMode relationships, under a new name.
75
95
  * @public
76
96
  */
77
97
  /**
@@ -100,12 +120,17 @@
100
120
  * an AliasField could be used to expose both a string and a Date version of the
101
121
  * same field, with both being capable of being written to.
102
122
  *
123
+ * @summary Field schema of kind `alias` for object schemas that exposes another non-relationship field's cache value
124
+ * under a new name.
103
125
  * @public
104
126
  */
105
127
  /**
106
128
  * Represents a field whose value is the primary
107
129
  * key of the resource.
108
130
  *
131
+ * The [ResourceSchemas](/guides/the-manual/schemas/resources/) guide shows where it
132
+ * sits in a schema.
133
+ *
109
134
  * This allows any field to serve as the primary
110
135
  * key while still being able to drive identity
111
136
  * needs within the system.
@@ -114,6 +139,8 @@
114
139
  * 'uuid', 'urn' or 'entityUrn' or 'primaryKey' as their
115
140
  * primary key field instead of 'id'.
116
141
  *
142
+ * @summary Field schema of kind `@id` naming which field holds a resource's primary key, with an optional `sourceKey`
143
+ * when the API uses another name like `uuid`.
117
144
  * @public
118
145
  */
119
146
  /**
@@ -137,6 +164,8 @@
137
164
  * it should be placed in the `ResourceSchema`'s `@id` field
138
165
  * in place of an `IdentityField`.
139
166
  *
167
+ * @summary Field schema of kind `@hash` that computes a schema-object's identity from its cache data using a registered
168
+ * hash function.
140
169
  * @public
141
170
  */
142
171
  /**
@@ -166,6 +195,8 @@
166
195
  *
167
196
  * Don't make us regret this decision.
168
197
  *
198
+ * @summary Field schema of kind `@local` for memoized, writable per-record state that is never cached or sent to the
199
+ * server; currently private to built-in fields.
169
200
  * @public
170
201
  */
171
202
  /**
@@ -177,6 +208,8 @@
177
208
  * if the key/value pairs have well-defined shape,
178
209
  * use 'schema-object' instead.
179
210
  *
211
+ * @summary Field schema of kind `object` for a plain object of primitive values, optionally passed as a whole through a
212
+ * registered transformation.
180
213
  * @public
181
214
  */
182
215
  /**
@@ -184,11 +217,16 @@
184
217
  * with a well-defined structure described by
185
218
  * a schema-object (a non-resource schema).
186
219
  *
220
+ * The [Complex Fields](/guides/the-manual/schemas/complex-fields#schema-objects) guide
221
+ * shows how to use it.
222
+ *
187
223
  * If the object's structure is not well-defined,
188
224
  * use 'object' instead.
189
225
  *
190
226
  * By default, a SchemaObject within
191
227
  *
228
+ * @summary Field schema of kind `schema-object` for a nested object whose shape is described by an `ObjectSchema`, with
229
+ * optional polymorphism.
192
230
  * @public
193
231
  */
194
232
  /**
@@ -198,6 +236,8 @@
198
236
  * If the array's elements are not primitive
199
237
  * values, use 'schema-array' instead.
200
238
  *
239
+ * @summary Field schema of kind `array` for an array of primitive values, each optionally passed through a registered
240
+ * transformation.
201
241
  * @public
202
242
  */
203
243
  /**
@@ -205,15 +245,23 @@
205
245
  * of objects with a well-defined structure
206
246
  * described by a non-resource schema.
207
247
  *
248
+ * The [Complex Fields](/guides/the-manual/schemas/complex-fields#schema-arrays) guide
249
+ * shows how to use it.
250
+ *
208
251
  * If the array's elements are not well-defined,
209
252
  * use 'array' instead.
210
253
  *
254
+ * @summary Field schema of kind `schema-array` for an array of objects described by an `ObjectSchema`, with options for
255
+ * member identity keys and polymorphism.
211
256
  * @public
212
257
  */
213
258
  /**
214
259
  * Represents a field whose value is derived
215
260
  * from other fields in the schema.
216
261
  *
262
+ * The [Derivations](/guides/the-manual/schemas/derivations) guide explains when to
263
+ * use one and how to register its derivation.
264
+ *
217
265
  * The value is read-only, and is not stored
218
266
  * in the cache, nor is it sent to the server.
219
267
  *
@@ -224,15 +272,24 @@
224
272
  * or that require access to related resources
225
273
  * that may not be loaded should be avoided.
226
274
  *
275
+ * @summary Field schema of kind `derived` for a read-only, memoized value computed by a registered derivation and never
276
+ * cached or sent to the server.
227
277
  * @public
228
278
  */
229
279
  /**
230
280
  * Represents a field that is a reference to
231
281
  * another resource.
232
282
  *
233
- * SUPPORT FOR THIS FEATURE IS NOT YET IMPLEMENTED
234
- * BY ReactiveResource
283
+ * SUPPORT FOR THIS FEATURE IS NOT YET COMPLETE
284
+ * IN ReactiveResource. It is not yet part of
285
+ * {@link PolarisModeFieldSchema} or {@link LegacyModeFieldSchema}.
286
+ * Reading the field returns an object with the related
287
+ * record as `data`, plus `links`, `meta` and a `fetch()`
288
+ * method, but it does not yet update when the
289
+ * relationship changes, and setting it is not supported.
235
290
  *
291
+ * @summary Field schema of kind `resource` for a reference to another resource; not yet implemented by
292
+ * `ReactiveResource`.
236
293
  * @public
237
294
  */
238
295
  /**
@@ -241,8 +298,13 @@
241
298
  * paginate.
242
299
  *
243
300
  * SUPPORT FOR THIS FEATURE IS NOT YET IMPLEMENTED
244
- * BY ReactiveResource
301
+ * BY ReactiveResource. It is not yet part of
302
+ * {@link PolarisModeFieldSchema} or {@link LegacyModeFieldSchema},
303
+ * and reading or setting the field fails an assertion
304
+ * in development builds.
245
305
  *
306
+ * @summary Field schema of kind `collection` for a possibly paginated reference to other resources; not yet implemented
307
+ * by `ReactiveResource`.
246
308
  * @public
247
309
  */
248
310
  /**
@@ -256,10 +318,15 @@
256
318
  * If the field points to an object or array,
257
319
  * it will not be deep-tracked.
258
320
  *
321
+ * The [LegacyMode](/guides/the-manual/schemas/resources/legacy-mode#defining-legacy-schemas)
322
+ * guide shows how to use it.
323
+ *
259
324
  * Transforms when defined are legacy transforms
260
325
  * that a serializer *might* use, but their usage
261
326
  * is not guaranteed.
262
327
  *
328
+ * @summary Legacy field schema of kind `attribute` for a primitive value whose `type` names a legacy transform a
329
+ * serializer may apply; LegacyMode only.
263
330
  * @public
264
331
  */
265
332
  /**
@@ -271,6 +338,11 @@
271
338
  *
272
339
  * This is the legacy version of the `ResourceField`.
273
340
  *
341
+ * The [LegacyMode](/guides/the-manual/schemas/resources/legacy-mode#defining-legacy-schemas)
342
+ * guide shows how to use it.
343
+ *
344
+ * @summary Legacy field schema of kind `belongsTo` for a reference to one related resource, with required `async` and
345
+ * `inverse` options and optional `linksMode`.
274
346
  * @public
275
347
  */
276
348
  /**
@@ -282,6 +354,8 @@
282
354
  *
283
355
  * This is the legacy version of the `ResourceField`.
284
356
  *
357
+ * @summary Legacy field schema of kind `belongsTo` in LinksMode: a sync reference to one related resource, loaded via
358
+ * links without adapters, usable in PolarisMode.
285
359
  * @public
286
360
  */
287
361
  /**
@@ -293,6 +367,11 @@
293
367
  *
294
368
  * This is the legacy version of the `CollectionField`.
295
369
  *
370
+ * The [LegacyMode](/guides/the-manual/schemas/resources/legacy-mode#defining-legacy-schemas)
371
+ * guide shows how to use it.
372
+ *
373
+ * @summary Legacy field schema of kind `hasMany` for a reference to many related resources, with required `async` and
374
+ * `inverse` options and optional `linksMode`.
296
375
  * @public
297
376
  */
298
377
  /**
@@ -304,6 +383,8 @@
304
383
  *
305
384
  * This is the legacy version of the `CollectionField`.
306
385
  *
386
+ * @summary Legacy field schema of kind `hasMany` in LinksMode: a sync reference to many related resources, loaded via
387
+ * links without adapters, usable in PolarisMode.
307
388
  * @public
308
389
  */
309
390
  /**
@@ -325,6 +406,8 @@
325
406
  * - {@link LegacyBelongsToField}
326
407
  * - {@link LegacyHasManyField}
327
408
  *
409
+ * @summary Union of every field schema allowed on a LegacyMode resource schema, including legacy attribute, belongsTo,
410
+ * and hasMany fields.
328
411
  * @public
329
412
  */
330
413
  /**
@@ -345,6 +428,8 @@
345
428
  * - {@link LinksModeBelongsToField}
346
429
  * - {@link LinksModeHasManyField}
347
430
  *
431
+ * @summary Union of every field schema allowed on a PolarisMode resource schema, with relationships limited to their
432
+ * LinksMode forms.
348
433
  * @public
349
434
  */
350
435
  /**
@@ -356,6 +441,8 @@
356
441
  * as appropriate as they are more specific and will
357
442
  * provide better guidance around what is valid.
358
443
  *
444
+ * @summary Union of every LegacyMode and PolarisMode field schema; prefer the mode-specific unions for more precise
445
+ * type-checking.
359
446
  * @public
360
447
  */
361
448
  /**
@@ -366,12 +453,14 @@
366
453
  * In other words this will not include types like alias
367
454
  * fields, local fields, or derived fields.
368
455
  *
456
+ * @summary Union of the field schemas whose values live in the cache, excluding alias, local, and derived fields.
369
457
  * @public
370
458
  */
371
459
  /**
372
460
  * A union of all possible field schemas that can be
373
461
  * used in an ObjectSchema.
374
462
  *
463
+ * @summary Union of the field schemas allowed in an `ObjectSchema`, which excludes identity and relationship fields.
375
464
  * @public
376
465
  */
377
466
  /**
@@ -381,15 +470,22 @@
381
470
  * own which may allow them to appear in relationships, or in multiple
382
471
  * response documents.
383
472
  *
473
+ * @summary Schema describing a PolarisMode resource type: its `@id` identity field, its fields, and the traits it
474
+ * implements.
384
475
  * @public
385
476
  */
386
477
  /**
387
478
  * Represents a schema for a primary resource in LegacyMode
388
479
  *
480
+ * The [LegacyMode](/guides/the-manual/schemas/resources/legacy-mode#defining-legacy-schemas)
481
+ * guide shows how to define one.
482
+ *
389
483
  * Primary resources are objects with a unique identity of their
390
484
  * own which may allow them to appear in relationships, or in multiple
391
485
  * response documents.
392
486
  *
487
+ * @summary Schema describing a LegacyMode resource type, marked `legacy: true`, with its identity field, fields,
488
+ * traits, and optional extensions.
393
489
  * @public
394
490
  */
395
491
  /**
@@ -397,24 +493,36 @@
397
493
  * definition for either a PolarisMode or a
398
494
  * LegacyMode resource.
399
495
  *
496
+ * The [ResourceSchemas](/guides/the-manual/schemas/resources/) guide shows how to
497
+ * create and register one.
498
+ *
400
499
  * Note, this is separate from the type returned
401
500
  * by the SchemaService which provides fields as a Map
402
501
  * instead of as an Array.
403
502
  *
503
+ * @summary Union of the PolarisMode and LegacyMode schema definitions for a primary resource type, as registered with
504
+ * the schema service.
404
505
  * @public
405
506
  */
406
507
  /**
407
508
  * Represents a schema for an object that is not
408
509
  * a primary resource (has no unique identity of its own).
409
510
  *
511
+ * The [ObjectSchemas](/guides/the-manual/schemas/object-schemas) guide shows how to
512
+ * define and register one.
513
+ *
410
514
  * ObjectSchemas may not currently contain relationships.
411
515
  *
516
+ * @summary Schema describing an embedded object that has no identity of its own, used by `schema-object` and
517
+ * `schema-array` fields.
412
518
  * @public
413
519
  */
414
520
  /**
415
521
  * A union of {@link ResourceSchema} and {@link ObjectSchema} representing
416
522
  * any schema that can be registered with or returned by the SchemaService.
417
523
  *
524
+ * @summary Union of resource and object schemas, covering any schema that can be registered with or returned by the
525
+ * schema service.
418
526
  * @public
419
527
  */
420
528
  /**
@@ -423,6 +531,9 @@
423
531
  * Traits are reusable collections of fields that can be composed onto a
424
532
  * resource schema, often to describe a polymorphic capability shared by
425
533
  * multiple resource types.
534
+ *
535
+ * @summary A named, reusable set of PolarisMode fields that resource schemas compose in via their `traits`, often to
536
+ * model polymorphic capabilities.
426
537
  */
427
538
  /**
428
539
  * A trait for use on a LegacyMode record.
@@ -430,11 +541,19 @@
430
541
  * Traits are reusable collections of fields that can be composed onto a
431
542
  * resource schema, often to describe a polymorphic capability shared by
432
543
  * multiple resource types.
544
+ *
545
+ * @summary A named, reusable set of LegacyMode fields that resource schemas compose in via their `traits`, often to
546
+ * model polymorphic capabilities.
433
547
  */
434
548
  /**
435
549
  * A union of
436
550
  * - {@link LegacyTrait}
437
551
  * - {@link PolarisTrait}
552
+ *
553
+ * The [Traits](/guides/the-manual/schemas/traits) guide shows how to create, register
554
+ * and use one.
555
+ *
556
+ * @summary Union of the LegacyMode and PolarisMode trait definitions that can be registered with the schema service.
438
557
  */
439
558
  /**
440
559
  * A no-op type utility that enables type-checking resource schema
@@ -446,6 +565,8 @@
446
565
  * as doing so would require a full schema graph to be passed in
447
566
  * and no cycles in the graph to be present.
448
567
  *
568
+ * @summary Returns the given resource schema unchanged, typed so its definition is type-checked; relationship inverses
569
+ * and related types are not validated.
449
570
  * @public
450
571
  */
451
572
  function resourceSchema(schema) {
@@ -457,6 +578,7 @@ function resourceSchema(schema) {
457
578
  *
458
579
  * Will return the passed in schema.
459
580
  *
581
+ * @summary Returns the given object schema unchanged, typed so its definition is type-checked.
460
582
  * @public
461
583
  */
462
584
  function objectSchema(schema) {
@@ -465,6 +587,8 @@ function objectSchema(schema) {
465
587
  /**
466
588
  * A type utility to narrow a schema to a ResourceSchema
467
589
  *
590
+ * @summary Type guard that returns true when a schema is a resource schema, meaning its identity field is of kind
591
+ * `@id`.
468
592
  * @public
469
593
  */
470
594
  function isResourceSchema(schema) {
@@ -473,6 +597,8 @@ function isResourceSchema(schema) {
473
597
  /**
474
598
  * A type utility to narrow a schema to LegacyResourceSchema
475
599
  *
600
+ * @summary Type guard that returns true when a schema is a LegacyMode resource schema, meaning it is a resource schema
601
+ * with `legacy: true`.
476
602
  * @public
477
603
  */
478
604
  function isLegacyResourceSchema(schema) {
@@ -491,6 +617,8 @@ function isLegacyResourceSchema(schema) {
491
617
  * - {@link LinksModeBelongsToField}
492
618
  * - {@link LinksModeHasManyField}
493
619
  *
620
+ * @summary Union of the legacy attribute, belongsTo, and hasMany field schemas, including the LinksMode relationship
621
+ * variants.
494
622
  * @public
495
623
  */
496
624
  /**
@@ -504,6 +632,7 @@ function isLegacyResourceSchema(schema) {
504
632
  * - {@link LinksModeBelongsToField}
505
633
  * - {@link LinksModeHasManyField}
506
634
  *
635
+ * @summary Union of the legacy belongsTo and hasMany field schemas, including their LinksMode variants.
507
636
  * @public
508
637
  */
509
638
  //#endregion