@warp-drive/legacy 5.9.0-beta.0 → 5.9.0-beta.2

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 (468) hide show
  1. package/README.md +6 -0
  2. package/dist/-private-DQ6Iap2t.js +193 -0
  3. package/dist/-private-DQ6Iap2t.js.map +1 -0
  4. package/dist/-private-DccRZQsm.js +904 -0
  5. package/dist/-private-DccRZQsm.js.map +1 -0
  6. package/dist/adapter/-private.d.ts +33 -0
  7. package/dist/adapter/-private.d.ts.map +1 -0
  8. package/dist/adapter/-private.js +3 -1
  9. package/dist/adapter/error.d.ts +2 -0
  10. package/dist/adapter/error.js +425 -311
  11. package/dist/adapter/error.js.map +1 -0
  12. package/{declarations → dist}/adapter/json-api.d.ts +31 -19
  13. package/dist/adapter/json-api.d.ts.map +1 -0
  14. package/dist/adapter/json-api.js +265 -131
  15. package/dist/adapter/json-api.js.map +1 -0
  16. package/dist/adapter/rest.d.ts +2 -0
  17. package/dist/adapter/rest.js +937 -1100
  18. package/dist/adapter/rest.js.map +1 -0
  19. package/dist/adapter-CARrK3-8.d.ts +784 -0
  20. package/dist/adapter-CARrK3-8.d.ts.map +1 -0
  21. package/dist/adapter-eYo2pIuM.js +1130 -0
  22. package/dist/adapter-eYo2pIuM.js.map +1 -0
  23. package/dist/adapter.d.ts +2 -0
  24. package/dist/adapter.js +1 -1251
  25. package/dist/compat/-private.d.ts +2 -0
  26. package/dist/compat/-private.js +3 -1
  27. package/dist/compat/builders.d.ts +169 -0
  28. package/dist/compat/builders.d.ts.map +1 -0
  29. package/dist/compat/builders.js +205 -246
  30. package/dist/compat/builders.js.map +1 -0
  31. package/dist/compat/extensions.d.ts +2 -0
  32. package/dist/compat/extensions.js +271 -233
  33. package/dist/compat/extensions.js.map +1 -0
  34. package/dist/compat/utils.d.ts +151 -0
  35. package/dist/compat/utils.d.ts.map +1 -0
  36. package/dist/compat/utils.js +189 -194
  37. package/dist/compat/utils.js.map +1 -0
  38. package/dist/compat-BbNNmTM-.d.ts +1386 -0
  39. package/dist/compat-BbNNmTM-.d.ts.map +1 -0
  40. package/dist/compat-DcHVxuuZ.js +734 -0
  41. package/dist/compat-DcHVxuuZ.js.map +1 -0
  42. package/dist/compat.d.ts +2 -0
  43. package/dist/compat.js +1 -1019
  44. package/dist/error-CzkyXr1Q.d.ts +435 -0
  45. package/dist/error-CzkyXr1Q.d.ts.map +1 -0
  46. package/dist/errors-BEEsrHbl.js +2134 -0
  47. package/dist/errors-BEEsrHbl.js.map +1 -0
  48. package/dist/extensions-DumNm4dA.d.ts +102 -0
  49. package/dist/extensions-DumNm4dA.d.ts.map +1 -0
  50. package/dist/index.d.ts +243 -0
  51. package/dist/index.d.ts.map +1 -0
  52. package/dist/index.js +271 -188
  53. package/dist/index.js.map +1 -0
  54. package/dist/json-BXNPTlcH.js +1106 -0
  55. package/dist/json-BXNPTlcH.js.map +1 -0
  56. package/dist/model/-private.d.ts +3 -0
  57. package/dist/model/-private.js +3 -1
  58. package/dist/model/migration-support.d.ts +335 -0
  59. package/dist/model/migration-support.d.ts.map +1 -0
  60. package/dist/model/migration-support.js +506 -564
  61. package/dist/model/migration-support.js.map +1 -0
  62. package/dist/model-62hn5_PD.d.ts +3107 -0
  63. package/dist/model-62hn5_PD.d.ts.map +1 -0
  64. package/dist/model-DcXZdNMu.js +683 -0
  65. package/dist/model-DcXZdNMu.js.map +1 -0
  66. package/dist/model-fragments-DSqu0ptR.js +334 -0
  67. package/dist/model-fragments-DSqu0ptR.js.map +1 -0
  68. package/dist/model-fragments.d.ts +294 -0
  69. package/dist/model-fragments.d.ts.map +1 -0
  70. package/dist/model-fragments.js +2 -75
  71. package/dist/model.d.ts +404 -0
  72. package/dist/model.d.ts.map +1 -0
  73. package/dist/model.js +3 -666
  74. package/{declarations/adapter/rest.d.ts → dist/rest-0NhtexIq.d.ts} +187 -103
  75. package/dist/rest-0NhtexIq.d.ts.map +1 -0
  76. package/dist/runtime--fcdnjmJ-DMTJ0Kb3.js +53 -0
  77. package/dist/runtime--fcdnjmJ-DMTJ0Kb3.js.map +1 -0
  78. package/dist/schema-provider-H4zNXtry.js +1929 -0
  79. package/dist/schema-provider-H4zNXtry.js.map +1 -0
  80. package/{declarations → dist}/serializer/json-api.d.ts +4 -1
  81. package/dist/serializer/json-api.d.ts.map +1 -0
  82. package/dist/serializer/json-api.js +527 -514
  83. package/dist/serializer/json-api.js.map +1 -0
  84. package/{declarations → dist}/serializer/json.d.ts +3 -0
  85. package/dist/serializer/json.d.ts.map +1 -0
  86. package/dist/serializer/json.js +3 -6
  87. package/{declarations/serializer/-private/embedded-records-mixin.d.ts → dist/serializer/rest.d.ts} +56 -1
  88. package/dist/serializer/rest.d.ts.map +1 -0
  89. package/dist/serializer/rest.js +958 -1200
  90. package/dist/serializer/rest.js.map +1 -0
  91. package/dist/serializer/transform.d.ts +313 -0
  92. package/dist/serializer/transform.d.ts.map +1 -0
  93. package/dist/serializer/transform.js +283 -260
  94. package/dist/serializer/transform.js.map +1 -0
  95. package/dist/serializer.d.ts +151 -0
  96. package/dist/serializer.d.ts.map +1 -0
  97. package/dist/serializer.js +205 -208
  98. package/dist/serializer.js.map +1 -0
  99. package/dist/store-C4qYzXei.js +473 -0
  100. package/dist/store-C4qYzXei.js.map +1 -0
  101. package/dist/store.d.ts +13 -0
  102. package/dist/store.d.ts.map +1 -0
  103. package/dist/store.js +1 -635
  104. package/dist/unpkg/dev/-private-CrEyBE-B.js +189 -0
  105. package/dist/unpkg/dev/-private-CrEyBE-B.js.map +1 -0
  106. package/dist/unpkg/dev/-private-vOhxVExH.js +896 -0
  107. package/dist/unpkg/dev/-private-vOhxVExH.js.map +1 -0
  108. package/dist/unpkg/dev/adapter/-private.js +3 -1
  109. package/dist/unpkg/dev/adapter/error.js +424 -310
  110. package/dist/unpkg/dev/adapter/error.js.map +1 -0
  111. package/dist/unpkg/dev/adapter/json-api.js +239 -245
  112. package/dist/unpkg/dev/adapter/json-api.js.map +1 -0
  113. package/dist/unpkg/dev/adapter/rest.js +935 -1098
  114. package/dist/unpkg/dev/adapter/rest.js.map +1 -0
  115. package/dist/unpkg/dev/adapter-oLwyr47q.js +1129 -0
  116. package/dist/unpkg/dev/adapter-oLwyr47q.js.map +1 -0
  117. package/dist/unpkg/dev/adapter.js +1 -1250
  118. package/dist/unpkg/dev/compat/-private.js +3 -1
  119. package/dist/unpkg/dev/compat/builders.js +204 -248
  120. package/dist/unpkg/dev/compat/builders.js.map +1 -0
  121. package/dist/unpkg/dev/compat/extensions.js +270 -232
  122. package/dist/unpkg/dev/compat/extensions.js.map +1 -0
  123. package/dist/unpkg/dev/compat/utils.js +188 -193
  124. package/dist/unpkg/dev/compat/utils.js.map +1 -0
  125. package/dist/unpkg/dev/compat-D48B8sXv.js +825 -0
  126. package/dist/unpkg/dev/compat-D48B8sXv.js.map +1 -0
  127. package/dist/unpkg/dev/compat.js +1 -1145
  128. package/dist/unpkg/dev/errors-8GnRWcxo.js +2127 -0
  129. package/dist/unpkg/dev/errors-8GnRWcxo.js.map +1 -0
  130. package/dist/unpkg/dev/index.js +270 -190
  131. package/dist/unpkg/dev/index.js.map +1 -0
  132. package/dist/unpkg/dev/json-DDJji3V3.js +1104 -0
  133. package/dist/unpkg/dev/json-DDJji3V3.js.map +1 -0
  134. package/dist/unpkg/dev/model/-private.js +3 -1
  135. package/dist/unpkg/dev/model/migration-support.js +483 -537
  136. package/dist/unpkg/dev/model/migration-support.js.map +1 -0
  137. package/dist/unpkg/dev/model-LK7ethC5.js +655 -0
  138. package/dist/unpkg/dev/model-LK7ethC5.js.map +1 -0
  139. package/dist/unpkg/dev/model-fragments-DSqu0ptR.js +334 -0
  140. package/dist/unpkg/dev/model-fragments-DSqu0ptR.js.map +1 -0
  141. package/dist/unpkg/dev/model-fragments.js +2 -75
  142. package/dist/unpkg/dev/model.js +3 -677
  143. package/dist/unpkg/dev/runtime--fcdnjmJ-DMTJ0Kb3.js +53 -0
  144. package/dist/unpkg/dev/runtime--fcdnjmJ-DMTJ0Kb3.js.map +1 -0
  145. package/dist/unpkg/dev/schema-provider-CRzoMoTO.js +1834 -0
  146. package/dist/unpkg/dev/schema-provider-CRzoMoTO.js.map +1 -0
  147. package/dist/unpkg/dev/serializer/json-api.js +514 -629
  148. package/dist/unpkg/dev/serializer/json-api.js.map +1 -0
  149. package/dist/unpkg/dev/serializer/json.js +3 -4
  150. package/dist/unpkg/dev/serializer/rest.js +954 -1197
  151. package/dist/unpkg/dev/serializer/rest.js.map +1 -0
  152. package/dist/unpkg/dev/serializer/transform.js +283 -260
  153. package/dist/unpkg/dev/serializer/transform.js.map +1 -0
  154. package/dist/unpkg/dev/serializer.js +205 -208
  155. package/dist/unpkg/dev/serializer.js.map +1 -0
  156. package/dist/unpkg/dev/store-D_V8-HQl.js +472 -0
  157. package/dist/unpkg/dev/store-D_V8-HQl.js.map +1 -0
  158. package/dist/unpkg/dev/store.js +1 -635
  159. package/dist/unpkg/dev/util-dSKEgQDp.js +12 -0
  160. package/dist/unpkg/dev/util-dSKEgQDp.js.map +1 -0
  161. package/dist/unpkg/dev/utils-DYC9utVJ.js +11 -0
  162. package/dist/unpkg/dev/utils-DYC9utVJ.js.map +1 -0
  163. package/dist/unpkg/dev-deprecated/-private-CrEyBE-B.js +189 -0
  164. package/dist/unpkg/dev-deprecated/-private-CrEyBE-B.js.map +1 -0
  165. package/dist/unpkg/dev-deprecated/-private-vOhxVExH.js +896 -0
  166. package/dist/unpkg/dev-deprecated/-private-vOhxVExH.js.map +1 -0
  167. package/dist/unpkg/dev-deprecated/adapter/-private.js +3 -1
  168. package/dist/unpkg/dev-deprecated/adapter/error.js +424 -310
  169. package/dist/unpkg/dev-deprecated/adapter/error.js.map +1 -0
  170. package/dist/unpkg/dev-deprecated/adapter/json-api.js +239 -245
  171. package/dist/unpkg/dev-deprecated/adapter/json-api.js.map +1 -0
  172. package/dist/unpkg/dev-deprecated/adapter/rest.js +935 -1098
  173. package/dist/unpkg/dev-deprecated/adapter/rest.js.map +1 -0
  174. package/dist/unpkg/dev-deprecated/adapter-oLwyr47q.js +1129 -0
  175. package/dist/unpkg/dev-deprecated/adapter-oLwyr47q.js.map +1 -0
  176. package/dist/unpkg/dev-deprecated/adapter.js +1 -1250
  177. package/dist/unpkg/dev-deprecated/compat/-private.js +3 -1
  178. package/dist/unpkg/dev-deprecated/compat/builders.js +204 -248
  179. package/dist/unpkg/dev-deprecated/compat/builders.js.map +1 -0
  180. package/dist/unpkg/dev-deprecated/compat/extensions.js +270 -232
  181. package/dist/unpkg/dev-deprecated/compat/extensions.js.map +1 -0
  182. package/dist/unpkg/dev-deprecated/compat/utils.js +188 -193
  183. package/dist/unpkg/dev-deprecated/compat/utils.js.map +1 -0
  184. package/dist/unpkg/dev-deprecated/compat-DGSurLh7.js +825 -0
  185. package/dist/unpkg/dev-deprecated/compat-DGSurLh7.js.map +1 -0
  186. package/dist/unpkg/dev-deprecated/compat.js +1 -1145
  187. package/dist/unpkg/dev-deprecated/errors-0ydn94s0.js +2128 -0
  188. package/dist/unpkg/dev-deprecated/errors-0ydn94s0.js.map +1 -0
  189. package/dist/unpkg/dev-deprecated/index.js +270 -189
  190. package/dist/unpkg/dev-deprecated/index.js.map +1 -0
  191. package/dist/unpkg/dev-deprecated/json-DDJji3V3.js +1104 -0
  192. package/dist/unpkg/dev-deprecated/json-DDJji3V3.js.map +1 -0
  193. package/dist/unpkg/dev-deprecated/model/-private.js +3 -1
  194. package/dist/unpkg/dev-deprecated/model/migration-support.js +494 -554
  195. package/dist/unpkg/dev-deprecated/model/migration-support.js.map +1 -0
  196. package/dist/unpkg/dev-deprecated/model-C1ts6Mod.js +660 -0
  197. package/dist/unpkg/dev-deprecated/model-C1ts6Mod.js.map +1 -0
  198. package/dist/unpkg/dev-deprecated/model-fragments-DSqu0ptR.js +334 -0
  199. package/dist/unpkg/dev-deprecated/model-fragments-DSqu0ptR.js.map +1 -0
  200. package/dist/unpkg/dev-deprecated/model-fragments.js +2 -75
  201. package/dist/unpkg/dev-deprecated/model.js +3 -681
  202. package/dist/unpkg/dev-deprecated/runtime--fcdnjmJ-DMTJ0Kb3.js +53 -0
  203. package/dist/unpkg/dev-deprecated/runtime--fcdnjmJ-DMTJ0Kb3.js.map +1 -0
  204. package/dist/unpkg/dev-deprecated/schema-provider-D2ESMsA8.js +1835 -0
  205. package/dist/unpkg/dev-deprecated/schema-provider-D2ESMsA8.js.map +1 -0
  206. package/dist/unpkg/dev-deprecated/serializer/json-api.js +514 -629
  207. package/dist/unpkg/dev-deprecated/serializer/json-api.js.map +1 -0
  208. package/dist/unpkg/dev-deprecated/serializer/json.js +3 -4
  209. package/dist/unpkg/dev-deprecated/serializer/rest.js +954 -1197
  210. package/dist/unpkg/dev-deprecated/serializer/rest.js.map +1 -0
  211. package/dist/unpkg/dev-deprecated/serializer/transform.js +283 -260
  212. package/dist/unpkg/dev-deprecated/serializer/transform.js.map +1 -0
  213. package/dist/unpkg/dev-deprecated/serializer.js +205 -208
  214. package/dist/unpkg/dev-deprecated/serializer.js.map +1 -0
  215. package/dist/unpkg/dev-deprecated/store-BX7GvXC_.js +472 -0
  216. package/dist/unpkg/dev-deprecated/store-BX7GvXC_.js.map +1 -0
  217. package/dist/unpkg/dev-deprecated/store.js +1 -635
  218. package/dist/unpkg/dev-deprecated/util-9mgEBJ3W.js +18 -0
  219. package/dist/unpkg/dev-deprecated/util-9mgEBJ3W.js.map +1 -0
  220. package/dist/unpkg/dev-deprecated/utils-Cl86-e7F.js +17 -0
  221. package/dist/unpkg/dev-deprecated/utils-Cl86-e7F.js.map +1 -0
  222. package/dist/unpkg/prod/-private-B4bxoTuK.js +160 -0
  223. package/dist/unpkg/prod/-private-B4bxoTuK.js.map +1 -0
  224. package/dist/unpkg/prod/-private-SfXkkHKd.js +745 -0
  225. package/dist/unpkg/prod/-private-SfXkkHKd.js.map +1 -0
  226. package/dist/unpkg/prod/adapter/-private.js +3 -1
  227. package/dist/unpkg/prod/adapter/error.js +421 -305
  228. package/dist/unpkg/prod/adapter/error.js.map +1 -0
  229. package/dist/unpkg/prod/adapter/json-api.js +236 -240
  230. package/dist/unpkg/prod/adapter/json-api.js.map +1 -0
  231. package/dist/unpkg/prod/adapter/rest.js +911 -1061
  232. package/dist/unpkg/prod/adapter/rest.js.map +1 -0
  233. package/dist/unpkg/prod/adapter-DQ9UA7FC.js +1111 -0
  234. package/dist/unpkg/prod/adapter-DQ9UA7FC.js.map +1 -0
  235. package/dist/unpkg/prod/adapter.js +1 -1217
  236. package/dist/unpkg/prod/compat/-private.js +3 -1
  237. package/dist/unpkg/prod/compat/builders.js +165 -183
  238. package/dist/unpkg/prod/compat/builders.js.map +1 -0
  239. package/dist/unpkg/prod/compat/extensions.js +258 -222
  240. package/dist/unpkg/prod/compat/extensions.js.map +1 -0
  241. package/dist/unpkg/prod/compat/utils.js +185 -188
  242. package/dist/unpkg/prod/compat/utils.js.map +1 -0
  243. package/dist/unpkg/prod/compat-DxiVkCUb.js +547 -0
  244. package/dist/unpkg/prod/compat-DxiVkCUb.js.map +1 -0
  245. package/dist/unpkg/prod/compat.js +1 -725
  246. package/dist/unpkg/prod/errors-CVXWrUjP.js +1977 -0
  247. package/dist/unpkg/prod/errors-CVXWrUjP.js.map +1 -0
  248. package/dist/unpkg/prod/index.js +249 -146
  249. package/dist/unpkg/prod/index.js.map +1 -0
  250. package/dist/unpkg/prod/json-BD1kRTfB.js +1080 -0
  251. package/dist/unpkg/prod/json-BD1kRTfB.js.map +1 -0
  252. package/dist/unpkg/prod/model/-private.js +3 -1
  253. package/dist/unpkg/prod/model/migration-support.js +479 -530
  254. package/dist/unpkg/prod/model/migration-support.js.map +1 -0
  255. package/dist/unpkg/prod/model-D3WMsNNE.js +603 -0
  256. package/dist/unpkg/prod/model-D3WMsNNE.js.map +1 -0
  257. package/dist/unpkg/prod/model-fragments-DSqu0ptR.js +334 -0
  258. package/dist/unpkg/prod/model-fragments-DSqu0ptR.js.map +1 -0
  259. package/dist/unpkg/prod/model-fragments.js +2 -75
  260. package/dist/unpkg/prod/model.js +3 -592
  261. package/dist/unpkg/prod/runtime--fcdnjmJ-DMTJ0Kb3.js +53 -0
  262. package/dist/unpkg/prod/runtime--fcdnjmJ-DMTJ0Kb3.js.map +1 -0
  263. package/dist/unpkg/prod/schema-provider-_pimTZ3P.js +1622 -0
  264. package/dist/unpkg/prod/schema-provider-_pimTZ3P.js.map +1 -0
  265. package/dist/unpkg/prod/serializer/json-api.js +497 -587
  266. package/dist/unpkg/prod/serializer/json-api.js.map +1 -0
  267. package/dist/unpkg/prod/serializer/json.js +3 -4
  268. package/dist/unpkg/prod/serializer/rest.js +938 -1167
  269. package/dist/unpkg/prod/serializer/rest.js.map +1 -0
  270. package/dist/unpkg/prod/serializer/transform.js +283 -260
  271. package/dist/unpkg/prod/serializer/transform.js.map +1 -0
  272. package/dist/unpkg/prod/serializer.js +205 -208
  273. package/dist/unpkg/prod/serializer.js.map +1 -0
  274. package/dist/unpkg/prod/store-RGGc1ilN.js +392 -0
  275. package/dist/unpkg/prod/store-RGGc1ilN.js.map +1 -0
  276. package/dist/unpkg/prod/store.js +1 -503
  277. package/dist/unpkg/prod/util-dSKEgQDp.js +12 -0
  278. package/dist/unpkg/prod/util-dSKEgQDp.js.map +1 -0
  279. package/dist/unpkg/prod/utils-DYC9utVJ.js +11 -0
  280. package/dist/unpkg/prod/utils-DYC9utVJ.js.map +1 -0
  281. package/dist/unpkg/prod-deprecated/-private-B4bxoTuK.js +160 -0
  282. package/dist/unpkg/prod-deprecated/-private-B4bxoTuK.js.map +1 -0
  283. package/dist/unpkg/prod-deprecated/-private-SfXkkHKd.js +745 -0
  284. package/dist/unpkg/prod-deprecated/-private-SfXkkHKd.js.map +1 -0
  285. package/dist/unpkg/prod-deprecated/adapter/-private.js +3 -1
  286. package/dist/unpkg/prod-deprecated/adapter/error.js +421 -305
  287. package/dist/unpkg/prod-deprecated/adapter/error.js.map +1 -0
  288. package/dist/unpkg/prod-deprecated/adapter/json-api.js +236 -240
  289. package/dist/unpkg/prod-deprecated/adapter/json-api.js.map +1 -0
  290. package/dist/unpkg/prod-deprecated/adapter/rest.js +911 -1061
  291. package/dist/unpkg/prod-deprecated/adapter/rest.js.map +1 -0
  292. package/{declarations/adapter.d.ts → dist/unpkg/prod-deprecated/adapter-DQ9UA7FC.js} +451 -110
  293. package/dist/unpkg/prod-deprecated/adapter-DQ9UA7FC.js.map +1 -0
  294. package/dist/unpkg/prod-deprecated/adapter.js +1 -1217
  295. package/dist/unpkg/prod-deprecated/compat/-private.js +3 -1
  296. package/dist/unpkg/prod-deprecated/compat/builders.js +165 -183
  297. package/dist/unpkg/prod-deprecated/compat/builders.js.map +1 -0
  298. package/dist/unpkg/prod-deprecated/compat/extensions.js +258 -222
  299. package/dist/unpkg/prod-deprecated/compat/extensions.js.map +1 -0
  300. package/dist/unpkg/prod-deprecated/compat/utils.js +185 -188
  301. package/dist/unpkg/prod-deprecated/compat/utils.js.map +1 -0
  302. package/dist/unpkg/prod-deprecated/compat-DxiVkCUb.js +547 -0
  303. package/dist/unpkg/prod-deprecated/compat-DxiVkCUb.js.map +1 -0
  304. package/dist/unpkg/prod-deprecated/compat.js +1 -725
  305. package/dist/unpkg/prod-deprecated/errors-9LXqpfRd.js +1978 -0
  306. package/dist/unpkg/prod-deprecated/errors-9LXqpfRd.js.map +1 -0
  307. package/dist/unpkg/prod-deprecated/index.js +249 -145
  308. package/dist/unpkg/prod-deprecated/index.js.map +1 -0
  309. package/dist/unpkg/prod-deprecated/json-BD1kRTfB.js +1080 -0
  310. package/dist/unpkg/prod-deprecated/json-BD1kRTfB.js.map +1 -0
  311. package/dist/unpkg/prod-deprecated/model/-private.js +3 -1
  312. package/dist/unpkg/prod-deprecated/model/migration-support.js +490 -547
  313. package/dist/unpkg/prod-deprecated/model/migration-support.js.map +1 -0
  314. package/dist/unpkg/prod-deprecated/model-aiVrr1fz.js +604 -0
  315. package/dist/unpkg/prod-deprecated/model-aiVrr1fz.js.map +1 -0
  316. package/dist/unpkg/prod-deprecated/model-fragments-DSqu0ptR.js +334 -0
  317. package/dist/unpkg/prod-deprecated/model-fragments-DSqu0ptR.js.map +1 -0
  318. package/dist/unpkg/prod-deprecated/model-fragments.js +2 -75
  319. package/dist/unpkg/prod-deprecated/model.js +3 -595
  320. package/dist/unpkg/prod-deprecated/runtime--fcdnjmJ-DMTJ0Kb3.js +53 -0
  321. package/dist/unpkg/prod-deprecated/runtime--fcdnjmJ-DMTJ0Kb3.js.map +1 -0
  322. package/dist/unpkg/prod-deprecated/schema-provider-DyfSd9Cv.js +1635 -0
  323. package/dist/unpkg/prod-deprecated/schema-provider-DyfSd9Cv.js.map +1 -0
  324. package/dist/unpkg/prod-deprecated/serializer/json-api.js +497 -587
  325. package/dist/unpkg/prod-deprecated/serializer/json-api.js.map +1 -0
  326. package/dist/unpkg/prod-deprecated/serializer/json.js +3 -4
  327. package/dist/unpkg/prod-deprecated/serializer/rest.js +938 -1167
  328. package/dist/unpkg/prod-deprecated/serializer/rest.js.map +1 -0
  329. package/dist/unpkg/prod-deprecated/serializer/transform.js +283 -260
  330. package/dist/unpkg/prod-deprecated/serializer/transform.js.map +1 -0
  331. package/dist/unpkg/prod-deprecated/serializer.js +205 -208
  332. package/dist/unpkg/prod-deprecated/serializer.js.map +1 -0
  333. package/dist/unpkg/prod-deprecated/store-0L2CkYzh.js +392 -0
  334. package/dist/unpkg/prod-deprecated/store-0L2CkYzh.js.map +1 -0
  335. package/dist/unpkg/prod-deprecated/store.js +1 -503
  336. package/dist/unpkg/prod-deprecated/util-CQQdHX3n.js +14 -0
  337. package/dist/unpkg/prod-deprecated/util-CQQdHX3n.js.map +1 -0
  338. package/dist/unpkg/prod-deprecated/utils-BMI_JwFP.js +13 -0
  339. package/dist/unpkg/prod-deprecated/utils-BMI_JwFP.js.map +1 -0
  340. package/dist/util-Bnx8nm-D.js +29 -0
  341. package/dist/util-Bnx8nm-D.js.map +1 -0
  342. package/dist/utils-ZAytYep8.js +28 -0
  343. package/dist/utils-ZAytYep8.js.map +1 -0
  344. package/package.json +21 -25
  345. package/declarations/adapter/-private/build-url-mixin.d.ts +0 -33
  346. package/declarations/adapter/-private/fastboot-interface.d.ts +0 -8
  347. package/declarations/adapter/-private/utils/continue-on-reject.d.ts +0 -1
  348. package/declarations/adapter/-private/utils/determine-body-promise.d.ts +0 -4
  349. package/declarations/adapter/-private/utils/fetch.d.ts +0 -8
  350. package/declarations/adapter/-private/utils/parse-response-headers.d.ts +0 -1
  351. package/declarations/adapter/-private/utils/serialize-into-hash.d.ts +0 -6
  352. package/declarations/adapter/-private/utils/serialize-query-params.d.ts +0 -5
  353. package/declarations/adapter/-private.d.ts +0 -5
  354. package/declarations/adapter/error.d.ts +0 -215
  355. package/declarations/compat/-private.d.ts +0 -13
  356. package/declarations/compat/builders/find-all.d.ts +0 -35
  357. package/declarations/compat/builders/find-record.d.ts +0 -56
  358. package/declarations/compat/builders/query.d.ts +0 -66
  359. package/declarations/compat/builders/save-record.d.ts +0 -34
  360. package/declarations/compat/builders/utils.d.ts +0 -3
  361. package/declarations/compat/builders.d.ts +0 -14
  362. package/declarations/compat/extensions.d.ts +0 -59
  363. package/declarations/compat/legacy-network-handler/fetch-manager.d.ts +0 -55
  364. package/declarations/compat/legacy-network-handler/identifier-has-id.d.ts +0 -2
  365. package/declarations/compat/legacy-network-handler/legacy-data-fetch.d.ts +0 -11
  366. package/declarations/compat/legacy-network-handler/legacy-data-utils.d.ts +0 -5
  367. package/declarations/compat/legacy-network-handler/legacy-network-handler.d.ts +0 -2
  368. package/declarations/compat/legacy-network-handler/minimum-adapter-interface.d.ts +0 -524
  369. package/declarations/compat/legacy-network-handler/minimum-serializer-interface.d.ts +0 -213
  370. package/declarations/compat/legacy-network-handler/serializer-response.d.ts +0 -6
  371. package/declarations/compat/legacy-network-handler/snapshot-record-array.d.ts +0 -110
  372. package/declarations/compat/legacy-network-handler/snapshot.d.ts +0 -255
  373. package/declarations/compat/utils.d.ts +0 -137
  374. package/declarations/compat.d.ts +0 -157
  375. package/declarations/index.d.ts +0 -102
  376. package/declarations/model/-private/attr.d.ts +0 -170
  377. package/declarations/model/-private/belongs-to.d.ts +0 -174
  378. package/declarations/model/-private/debug/assert-polymorphic-type.d.ts +0 -5
  379. package/declarations/model/-private/errors.d.ts +0 -289
  380. package/declarations/model/-private/has-many.d.ts +0 -162
  381. package/declarations/model/-private/hooks.d.ts +0 -10
  382. package/declarations/model/-private/legacy-relationships-support.d.ts +0 -47
  383. package/declarations/model/-private/model-for-mixin.d.ts +0 -3
  384. package/declarations/model/-private/model-methods.d.ts +0 -39
  385. package/declarations/model/-private/model.d.ts +0 -1228
  386. package/declarations/model/-private/notify-changes.d.ts +0 -4
  387. package/declarations/model/-private/promise-belongs-to.d.ts +0 -40
  388. package/declarations/model/-private/promise-many-array.d.ts +0 -106
  389. package/declarations/model/-private/record-state.d.ts +0 -58
  390. package/declarations/model/-private/references/belongs-to.d.ts +0 -488
  391. package/declarations/model/-private/references/has-many.d.ts +0 -498
  392. package/declarations/model/-private/schema-provider.d.ts +0 -56
  393. package/declarations/model/-private/type-utils.d.ts +0 -57
  394. package/declarations/model/-private/util.d.ts +0 -5
  395. package/declarations/model/-private.d.ts +0 -8
  396. package/declarations/model/migration-support.d.ts +0 -280
  397. package/declarations/model-fragments/extensions/fragment-array.d.ts +0 -16
  398. package/declarations/model-fragments/extensions/fragment.d.ts +0 -15
  399. package/declarations/model-fragments/hooks/model-for.d.ts +0 -20
  400. package/declarations/model-fragments/index.d.ts +0 -5
  401. package/declarations/model-fragments/instance-initializers/fragment-extensions.d.ts +0 -9
  402. package/declarations/model-fragments/utilities/with-array-defaults.d.ts +0 -15
  403. package/declarations/model-fragments/utilities/with-fragment-array-defaults.d.ts +0 -20
  404. package/declarations/model-fragments/utilities/with-fragment-defaults.d.ts +0 -19
  405. package/declarations/model-fragments/utilities/with-legacy.d.ts +0 -3
  406. package/declarations/model-fragments.d.ts +0 -9
  407. package/declarations/model.d.ts +0 -49
  408. package/declarations/serializer/-private/transforms/boolean.d.ts +0 -47
  409. package/declarations/serializer/-private/transforms/date.d.ts +0 -28
  410. package/declarations/serializer/-private/transforms/number.d.ts +0 -29
  411. package/declarations/serializer/-private/transforms/string.d.ts +0 -29
  412. package/declarations/serializer/-private/transforms/transform.d.ts +0 -118
  413. package/declarations/serializer/-private/utils.d.ts +0 -3
  414. package/declarations/serializer/rest.d.ts +0 -51
  415. package/declarations/serializer/transform.d.ts +0 -5
  416. package/declarations/serializer.d.ts +0 -254
  417. package/declarations/store/-private.d.ts +0 -223
  418. package/declarations/store.d.ts +0 -3
  419. package/dist/-private-BG3bMiKp.js +0 -1211
  420. package/dist/errors-Cz5KrzBk.js +0 -2566
  421. package/dist/hooks-D6diaM34.js +0 -74
  422. package/dist/json-ChdEfB0X.js +0 -1259
  423. package/dist/model-for-CqXsIKws.js +0 -221
  424. package/dist/runtime-BPCpkOf1-BKOwiRJp.js +0 -65
  425. package/dist/schema-provider-DJCV_6AF.js +0 -2295
  426. package/dist/serialize-into-hash-DPZYoF-i.js +0 -261
  427. package/dist/unpkg/dev/-private-DtjBbEgy.js +0 -1206
  428. package/dist/unpkg/dev/errors-DmGGJr3T.js +0 -2562
  429. package/dist/unpkg/dev/hooks-CkYiE6Ud.js +0 -73
  430. package/dist/unpkg/dev/json-Cu1LNgmQ.js +0 -1256
  431. package/dist/unpkg/dev/model-for-CqXsIKws.js +0 -221
  432. package/dist/unpkg/dev/runtime-BPCpkOf1-BKOwiRJp.js +0 -65
  433. package/dist/unpkg/dev/schema-provider-DDVYxmUV.js +0 -2186
  434. package/dist/unpkg/dev/serialize-into-hash-B2xDbuo5.js +0 -259
  435. package/dist/unpkg/dev/util-DvanW33H.js +0 -20
  436. package/dist/unpkg/dev/utils-BhvS1iTS.js +0 -8
  437. package/dist/unpkg/dev-deprecated/-private-DtjBbEgy.js +0 -1206
  438. package/dist/unpkg/dev-deprecated/errors-Spt6ubMd.js +0 -2565
  439. package/dist/unpkg/dev-deprecated/hooks-DOXegvhL.js +0 -73
  440. package/dist/unpkg/dev-deprecated/json-Cu1LNgmQ.js +0 -1256
  441. package/dist/unpkg/dev-deprecated/model-for-CqXsIKws.js +0 -221
  442. package/dist/unpkg/dev-deprecated/runtime-BPCpkOf1-BKOwiRJp.js +0 -65
  443. package/dist/unpkg/dev-deprecated/schema-provider-BP6_8N-V.js +0 -2211
  444. package/dist/unpkg/dev-deprecated/serialize-into-hash-B2xDbuo5.js +0 -259
  445. package/dist/unpkg/dev-deprecated/util-CWr5WQOT.js +0 -24
  446. package/dist/unpkg/dev-deprecated/utils-C9PJehtL.js +0 -12
  447. package/dist/unpkg/prod/-private-BdyZaGEh.js +0 -971
  448. package/dist/unpkg/prod/errors-BGVFCBmi.js +0 -2314
  449. package/dist/unpkg/prod/hooks-BztVA_x0.js +0 -41
  450. package/dist/unpkg/prod/json-BWrZ5546.js +0 -1243
  451. package/dist/unpkg/prod/model-for-CqXsIKws.js +0 -221
  452. package/dist/unpkg/prod/runtime-BPCpkOf1-BKOwiRJp.js +0 -65
  453. package/dist/unpkg/prod/schema-provider-DJtD_8jZ.js +0 -1861
  454. package/dist/unpkg/prod/serialize-into-hash-DGlzQteF.js +0 -215
  455. package/dist/unpkg/prod/util-DvanW33H.js +0 -20
  456. package/dist/unpkg/prod/utils-BhvS1iTS.js +0 -8
  457. package/dist/unpkg/prod-deprecated/-private-BdyZaGEh.js +0 -971
  458. package/dist/unpkg/prod-deprecated/errors-CdDaK81x.js +0 -2317
  459. package/dist/unpkg/prod-deprecated/hooks-yId87yyG.js +0 -41
  460. package/dist/unpkg/prod-deprecated/json-BWrZ5546.js +0 -1243
  461. package/dist/unpkg/prod-deprecated/model-for-CqXsIKws.js +0 -221
  462. package/dist/unpkg/prod-deprecated/runtime-BPCpkOf1-BKOwiRJp.js +0 -65
  463. package/dist/unpkg/prod-deprecated/schema-provider-CjX55uSY.js +0 -1904
  464. package/dist/unpkg/prod-deprecated/serialize-into-hash-DGlzQteF.js +0 -215
  465. package/dist/unpkg/prod-deprecated/util-B6cn-i93.js +0 -23
  466. package/dist/unpkg/prod-deprecated/utils-BUWwQwCh.js +0 -11
  467. package/dist/util-Dul6TZts.js +0 -35
  468. package/dist/utils-Cqw9eRj5.js +0 -23
@@ -1,581 +1,523 @@
1
- import { deprecate } from '@ember/debug';
2
- import { recordIdentifierFor } from '@warp-drive/core';
3
- import { Context } from '@warp-drive/core/reactive/-private';
4
- import { notifyInternalSignal } from '@warp-drive/core/signals/-leaked';
5
- import { assertPrivateStore } from '@warp-drive/core/store/-private';
6
- import { getOrSetGlobal } from '@warp-drive/core/types/-private';
7
- import { Type } from '@warp-drive/core/types/symbols';
8
- import { l as lookupLegacySupport, E as Errors } from "../errors-Cz5KrzBk.js";
9
- import { b as buildSchema, u as unloadRecord, s as serialize, _ as _save, a as save, r as rollbackAttributes, c as _reload, d as reload, h as hasMany, e as _destroyRecord, f as destroyRecord, i as deleteRecord, R as RecordState, j as changedAttributes, k as belongsTo, l as createSnapshot } from "../schema-provider-DJCV_6AF.js";
10
- import { macroCondition, getGlobalConfig } from '@embroider/macros';
1
+ import { r as lookupLegacySupport, t as Errors } from "../errors-BEEsrHbl.js";
2
+ import { _ as save, a as RecordState, c as _save, d as createSnapshot, f as deleteRecord, g as rollbackAttributes, h as reload, l as belongsTo, m as hasMany, o as _destroyRecord, p as destroyRecord, s as _reload, t as buildSchema, u as changedAttributes, v as serialize, y as unloadRecord } from "../schema-provider-H4zNXtry.js";
3
+ import "./-private.js";
4
+ import { recordIdentifierFor } from "@warp-drive/core";
5
+ import { assertPrivateStore } from "@warp-drive/core/store/-private";
6
+ import { Context } from "@warp-drive/core/reactive/-private";
7
+ import { deprecate } from "@ember/debug";
8
+ import { notifyInternalSignal } from "@warp-drive/core/signals/-leaked";
9
+ import { getOrSetGlobal } from "@warp-drive/core/types/-private";
10
+ import { getGlobalConfig, macroCondition } from "@embroider/macros";
11
+ import { Type } from "@warp-drive/core/types/symbols";
11
12
 
13
+ //#region src/model/migration-support.ts
12
14
  /**
13
- * This module provides support for migrating away from @warp-drive/legacy/model
14
- * to ReactiveResource from @warp-drive/core/reactive.
15
- *
16
- * It includes:
17
- *
18
- * - A `withDefaults` function to assist in creating a schema in LegacyMode
19
- * - A `registerDerivations` function to register the derivations necessary to support LegacyMode
20
- * - A `DelegatingSchemaService` that can be used to provide a schema service that works with both
21
- * @warp-drive/legacy/model and @warp-drive/core/reactive simultaneously for migration purposes.
22
- * - A `WithLegacy` type util that can be used to create a type that includes the legacy
23
- * properties and methods of a record.
24
- *
25
- * Using LegacyMode features on a ReactiveResource *requires* the use of these derivations and schema
26
- * additions. LegacyMode is not intended to be a long-term solution, but rather a stepping stone
27
- * to assist in more rapidly adopting modern WarpDrive features.
28
- *
29
- * @module
30
- */
31
- // 'isDestroying', 'isDestroyed'
32
- const LegacyFields = ['_createSnapshot', 'adapterError', 'belongsTo', 'changedAttributes', 'constructor', 'currentState', 'deleteRecord', 'destroyRecord', 'dirtyType', 'errors', 'hasDirtyAttributes', 'hasMany', 'isDeleted', 'isEmpty', 'isError', 'isLoaded', 'isLoading', 'isNew', 'isSaving', 'isValid', 'reload', 'rollbackAttributes', 'save', 'serialize', 'unloadRecord'];
33
-
15
+ * This module provides support for migrating away from @warp-drive/legacy/model
16
+ * to ReactiveResource from @warp-drive/core/reactive.
17
+ *
18
+ * It includes:
19
+ *
20
+ * - A `withDefaults` function to assist in creating a schema in LegacyMode
21
+ * - A `registerDerivations` function to register the derivations necessary to support LegacyMode
22
+ * - A `DelegatingSchemaService` that can be used to provide a schema service that works with both
23
+ * @warp-drive/legacy/model and @warp-drive/core/reactive simultaneously for migration purposes.
24
+ * - A `WithLegacy` type util that can be used to create a type that includes the legacy
25
+ * properties and methods of a record.
26
+ *
27
+ * Using LegacyMode features on a ReactiveResource *requires* the use of these derivations and schema
28
+ * additions. LegacyMode is not intended to be a long-term solution, but rather a stepping stone
29
+ * to assist in more rapidly adopting modern WarpDrive features.
30
+ *
31
+ * @module
32
+ */
34
33
  /**
35
- * A Type utility that enables quickly adding type information for the fields
36
- * defined by `import { withDefaults } from '@warp-drive/legacy/model/migration-support'`.
37
- *
38
- * Example:
39
- *
40
- * ```ts
41
- * import { withDefaults, WithLegacy } from '@warp-drive/legacy/model/migration-support';
42
- * import { Type } from '@warp-drive/core/types/symbols';
43
- * import type { HasMany } from '@@warp-drive/legacy/model';
44
- *
45
- * export const UserSchema = withDefaults({
46
- * type: 'user',
47
- * fields: [
48
- * { name: 'firstName', kind: 'attribute' },
49
- * { name: 'lastName', kind: 'attribute' },
50
- * { name: 'age', kind: 'attribute' },
51
- * { name: 'friends',
52
- * kind: 'hasMany',
53
- * type: 'user',
54
- * options: { inverse: 'friends', async: false }
55
- * },
56
- * { name: 'bestFriend',
57
- * kind: 'belongsTo',
58
- * type: 'user',
59
- * options: { inverse: null, async: false }
60
- * },
61
- * ],
62
- * });
63
- *
64
- * export type User = WithLegacy<{
65
- * firstName: string;
66
- * lastName: string;
67
- * age: number;
68
- * friends: HasMany<User>;
69
- * bestFriend: User | null;
70
- * [Type]: 'user';
71
- * }>
72
- * ```
73
- *
74
- */
75
-
76
- const LegacySupport = getOrSetGlobal('LegacySupport', new WeakMap());
34
+ * Adds the `Model`-style `belongsTo`/`hasMany` reference methods to a
35
+ * {@link TypedRecordInstance}, for use when migrating a resource from
36
+ * `Model` to a schema-based record while preserving these APIs.
37
+ */
38
+ const LegacyFields = [
39
+ "_createSnapshot",
40
+ "adapterError",
41
+ "belongsTo",
42
+ "changedAttributes",
43
+ "constructor",
44
+ "currentState",
45
+ "deleteRecord",
46
+ "destroyRecord",
47
+ "dirtyType",
48
+ "errors",
49
+ "hasDirtyAttributes",
50
+ "hasMany",
51
+ "isDeleted",
52
+ "isEmpty",
53
+ "isError",
54
+ "isLoaded",
55
+ "isLoading",
56
+ "isNew",
57
+ "isSaving",
58
+ "isValid",
59
+ "reload",
60
+ "rollbackAttributes",
61
+ "save",
62
+ "serialize",
63
+ "unloadRecord"
64
+ ];
65
+ /**
66
+ * A Type utility that enables quickly adding type information for the fields
67
+ * defined by `import { withDefaults } from '@warp-drive/legacy/model/migration-support'`.
68
+ *
69
+ * Example:
70
+ *
71
+ * ```ts
72
+ * import { withDefaults, WithLegacy } from '@warp-drive/legacy/model/migration-support';
73
+ * import { Type } from '@warp-drive/core/types/symbols';
74
+ * import type { HasMany } from '@@warp-drive/legacy/model';
75
+ *
76
+ * export const UserSchema = withDefaults({
77
+ * type: 'user',
78
+ * fields: [
79
+ * { name: 'firstName', kind: 'attribute' },
80
+ * { name: 'lastName', kind: 'attribute' },
81
+ * { name: 'age', kind: 'attribute' },
82
+ * { name: 'friends',
83
+ * kind: 'hasMany',
84
+ * type: 'user',
85
+ * options: { inverse: 'friends', async: false }
86
+ * },
87
+ * { name: 'bestFriend',
88
+ * kind: 'belongsTo',
89
+ * type: 'user',
90
+ * options: { inverse: null, async: false }
91
+ * },
92
+ * ],
93
+ * });
94
+ *
95
+ * export type User = WithLegacy<{
96
+ * firstName: string;
97
+ * lastName: string;
98
+ * age: number;
99
+ * friends: HasMany<User>;
100
+ * bestFriend: User | null;
101
+ * [Type]: 'user';
102
+ * }>
103
+ * ```
104
+ *
105
+ */
106
+ const LegacySupport = getOrSetGlobal("LegacySupport", /* @__PURE__ */ new WeakMap());
77
107
  function legacySupport(record, options, prop) {
78
- let state = LegacySupport.get(record);
79
- if (!state) {
80
- state = {};
81
- LegacySupport.set(record, state);
82
- }
83
- const suppressDeprecation = Boolean(options && options.suppressDeprecation);
84
- switch (prop) {
85
- case '_createSnapshot':
86
- // FIXME should be deprecated too?
87
- return createSnapshot;
88
- case 'adapterError':
89
- // FIXME should be deprecated too?
90
- return record.currentState.adapterError;
91
- case 'belongsTo':
92
- return belongsTo;
93
- case 'changedAttributes':
94
- return changedAttributes;
95
- case 'constructor':
96
- return state._constructor = state._constructor || {
97
- isModel: true,
98
- name: `Record<${recordIdentifierFor(record).type}>`,
99
- modelName: recordIdentifierFor(record).type
100
- };
101
- case 'currentState':
102
- return state.recordState = state.recordState || new RecordState(record);
103
- case 'deleteRecord':
104
- return deleteRecord;
105
- case 'destroyRecord':
106
- return suppressDeprecation ? _destroyRecord : destroyRecord;
107
- case 'dirtyType':
108
- return record.currentState.dirtyType;
109
- case 'errors':
110
- // FIXME should be deprecated too?
111
- // @ts-expect-error
112
- // eslint-disable-next-line @typescript-eslint/no-unsafe-call
113
- return state.errors = state.errors || Errors.create({
114
- __record: record
115
- });
116
- case 'hasDirtyAttributes':
117
- return record.currentState.isDirty;
118
- case 'hasMany':
119
- return hasMany;
120
- case 'isDeleted':
121
- return record.currentState.isDeleted;
122
- case 'isEmpty':
123
- return record.currentState.isEmpty;
124
- case 'isError':
125
- return record.currentState.isError;
126
- case 'isLoaded':
127
- return record.currentState.isLoaded;
128
- case 'isLoading':
129
- return record.currentState.isLoading;
130
- case 'isNew':
131
- return record.currentState.isNew;
132
- case 'isSaving':
133
- return record.currentState.isSaving;
134
- case 'isValid':
135
- return record.currentState.isValid;
136
- case 'reload':
137
- return suppressDeprecation ? _reload : reload;
138
- case 'rollbackAttributes':
139
- return rollbackAttributes;
140
- case 'save':
141
- return suppressDeprecation ? _save : save;
142
- case 'serialize':
143
- // FIXME should be deprecated too? (is somewhat deprecated via store.serializeRecord)
144
- return serialize;
145
- case 'unloadRecord':
146
- return unloadRecord;
147
- default:
148
- macroCondition(getGlobalConfig().WarpDrive.env.DEBUG) ? (test => {
149
- {
150
- throw new Error(`${prop} is not a supported legacy field`);
151
- }
152
- })() : {};
153
- }
108
+ let state = LegacySupport.get(record);
109
+ if (!state) {
110
+ state = {};
111
+ LegacySupport.set(record, state);
112
+ }
113
+ const suppressDeprecation = Boolean(options && options.suppressDeprecation);
114
+ switch (prop) {
115
+ case "_createSnapshot": return createSnapshot;
116
+ case "adapterError": return record.currentState.adapterError;
117
+ case "belongsTo": return belongsTo;
118
+ case "changedAttributes": return changedAttributes;
119
+ case "constructor": return state._constructor = state._constructor || {
120
+ isModel: true,
121
+ name: `Record<${recordIdentifierFor(record).type}>`,
122
+ modelName: recordIdentifierFor(record).type
123
+ };
124
+ case "currentState": return state.recordState = state.recordState || new RecordState(record);
125
+ case "deleteRecord": return deleteRecord;
126
+ case "destroyRecord": return suppressDeprecation ? _destroyRecord : destroyRecord;
127
+ case "dirtyType": return record.currentState.dirtyType;
128
+ case "errors": return state.errors = state.errors || Errors.create({ __record: record });
129
+ case "hasDirtyAttributes": return record.currentState.isDirty;
130
+ case "hasMany": return hasMany;
131
+ case "isDeleted": return record.currentState.isDeleted;
132
+ case "isEmpty": return record.currentState.isEmpty;
133
+ case "isError": return record.currentState.isError;
134
+ case "isLoaded": return record.currentState.isLoaded;
135
+ case "isLoading": return record.currentState.isLoading;
136
+ case "isNew": return record.currentState.isNew;
137
+ case "isSaving": return record.currentState.isSaving;
138
+ case "isValid": return record.currentState.isValid;
139
+ case "reload": return suppressDeprecation ? _reload : reload;
140
+ case "rollbackAttributes": return rollbackAttributes;
141
+ case "save": return suppressDeprecation ? _save : save;
142
+ case "serialize": return serialize;
143
+ case "unloadRecord": return unloadRecord;
144
+ default: macroCondition(getGlobalConfig().WarpDrive.env.DEBUG) && ((test) => {
145
+ if (!test) throw new Error(`${prop} is not a supported legacy field`);
146
+ })(false);
147
+ }
154
148
  }
155
- legacySupport[Type] = '@legacy';
156
-
149
+ legacySupport[Type] = "@legacy";
157
150
  /**
158
- * A function which adds the necessary fields to a schema and marks it as
159
- * being in LegacyMode. This is used to support the legacy features of
160
- * @warp-drive/legacy/model while migrating to WarpDrive.
161
- *
162
- * Example:
163
- *
164
- * ```ts
165
- * import { withDefaults, WithLegacy } from '@warp-drive/legacy/model/migration-support';
166
- * import { Type } from '@warp-drive/core/types/symbols';
167
- * import type { HasMany } from '@warp-drive/legacy/model';
168
- *
169
- * export const UserSchema = withDefaults({
170
- * type: 'user',
171
- * fields: [
172
- * { name: 'firstName', kind: 'attribute' },
173
- * { name: 'lastName', kind: 'attribute' },
174
- * { name: 'age', kind: 'attribute' },
175
- * { name: 'friends',
176
- * kind: 'hasMany',
177
- * type: 'user',
178
- * options: { inverse: 'friends', async: false }
179
- * },
180
- * { name: 'bestFriend',
181
- * kind: 'belongsTo',
182
- * type: 'user',
183
- * options: { inverse: null, async: false }
184
- * },
185
- * ],
186
- * });
187
- *
188
- * export type User = WithLegacy<{
189
- * firstName: string;
190
- * lastName: string;
191
- * age: number;
192
- * friends: HasMany<User>;
193
- * bestFriend: User | null;
194
- * [Type]: 'user';
195
- * }>
196
- * ```
197
- *
198
- * Using this function require registering the derivations
199
- * it requires with the schema service.
200
- *
201
- * ```ts
202
- * import { registerDerivations } from '@warp-drive/legacy/model/migration-support';
203
- *
204
- * registerDerivations(schema);
205
- * ```
206
- *
207
- * @param schema The schema to add legacy support to.
208
- * @return The schema with legacy support added.
209
- * @public
210
- */
151
+ * A function which adds the necessary fields to a schema and marks it as
152
+ * being in LegacyMode. This is used to support the legacy features of
153
+ * @warp-drive/legacy/model while migrating to WarpDrive.
154
+ *
155
+ * Example:
156
+ *
157
+ * ```ts
158
+ * import { withDefaults, WithLegacy } from '@warp-drive/legacy/model/migration-support';
159
+ * import { Type } from '@warp-drive/core/types/symbols';
160
+ * import type { HasMany } from '@warp-drive/legacy/model';
161
+ *
162
+ * export const UserSchema = withDefaults({
163
+ * type: 'user',
164
+ * fields: [
165
+ * { name: 'firstName', kind: 'attribute' },
166
+ * { name: 'lastName', kind: 'attribute' },
167
+ * { name: 'age', kind: 'attribute' },
168
+ * { name: 'friends',
169
+ * kind: 'hasMany',
170
+ * type: 'user',
171
+ * options: { inverse: 'friends', async: false }
172
+ * },
173
+ * { name: 'bestFriend',
174
+ * kind: 'belongsTo',
175
+ * type: 'user',
176
+ * options: { inverse: null, async: false }
177
+ * },
178
+ * ],
179
+ * });
180
+ *
181
+ * export type User = WithLegacy<{
182
+ * firstName: string;
183
+ * lastName: string;
184
+ * age: number;
185
+ * friends: HasMany<User>;
186
+ * bestFriend: User | null;
187
+ * [Type]: 'user';
188
+ * }>
189
+ * ```
190
+ *
191
+ * Using this function require registering the derivations
192
+ * it requires with the schema service.
193
+ *
194
+ * ```ts
195
+ * import { registerDerivations } from '@warp-drive/legacy/model/migration-support';
196
+ *
197
+ * registerDerivations(schema);
198
+ * ```
199
+ *
200
+ * @param schema The schema to add legacy support to.
201
+ * @return The schema with legacy support added.
202
+ * @public
203
+ */
211
204
  function withDefaults(schema) {
212
- schema.legacy = true;
213
- schema.identity = {
214
- kind: '@id',
215
- name: 'id'
216
- };
217
- LegacyFields.forEach(field => {
218
- schema.fields.push({
219
- type: '@legacy',
220
- name: field,
221
- kind: 'derived'
222
- });
223
- });
224
- schema.fields.push({
225
- name: '_isReloading',
226
- kind: '@local',
227
- type: 'boolean',
228
- options: {
229
- defaultValue: false
230
- }
231
- });
232
- schema.fields.push({
233
- name: 'isDestroying',
234
- kind: '@local',
235
- type: 'boolean',
236
- options: {
237
- defaultValue: false
238
- }
239
- });
240
- schema.fields.push({
241
- name: 'isDestroyed',
242
- kind: '@local',
243
- type: 'boolean',
244
- options: {
245
- defaultValue: false
246
- }
247
- });
248
- schema.objectExtensions = schema.objectExtensions || [];
249
- schema.objectExtensions.push('deprecated-model-behaviors');
250
- return schema;
205
+ schema.legacy = true;
206
+ schema.identity = {
207
+ kind: "@id",
208
+ name: "id"
209
+ };
210
+ LegacyFields.forEach((field) => {
211
+ schema.fields.push({
212
+ type: "@legacy",
213
+ name: field,
214
+ kind: "derived"
215
+ });
216
+ });
217
+ schema.fields.push({
218
+ name: "_isReloading",
219
+ kind: "@local",
220
+ type: "boolean",
221
+ options: { defaultValue: false }
222
+ });
223
+ schema.fields.push({
224
+ name: "isDestroying",
225
+ kind: "@local",
226
+ type: "boolean",
227
+ options: { defaultValue: false }
228
+ });
229
+ schema.fields.push({
230
+ name: "isDestroyed",
231
+ kind: "@local",
232
+ type: "boolean",
233
+ options: { defaultValue: false }
234
+ });
235
+ schema.objectExtensions = schema.objectExtensions || [];
236
+ schema.objectExtensions.push("deprecated-model-behaviors");
237
+ return schema;
251
238
  }
252
-
253
239
  /**
254
- * Adds the necessasary fields to the schema for supporting
255
- * the deprecated request methods on LegacyMode schemas.
256
- *
257
- * Use this instead of `withDefaults` to add the fields
258
- * and behaviors necessary to support Model-Like capabilities.
259
- *
260
- * ```ts
261
- * import { withRestoredDeprecatedModelRequestBehaviors } from '@warp-drive/legacy/model/migration-support';
262
- *
263
- * export const UserSchema = withRestoredDeprecatedModelRequestBehaviors({
264
- * type: 'user',
265
- * fields: [
266
- * { name: 'firstName', kind: 'attribute' },
267
- * { name: 'lastName', kind: 'attribute' },
268
- * ]
269
- * });
270
- * ```
271
- */
240
+ * Adds the necessasary fields to the schema for supporting
241
+ * the deprecated request methods on LegacyMode schemas.
242
+ *
243
+ * Use this instead of `withDefaults` to add the fields
244
+ * and behaviors necessary to support Model-Like capabilities.
245
+ *
246
+ * ```ts
247
+ * import { withRestoredDeprecatedModelRequestBehaviors } from '@warp-drive/legacy/model/migration-support';
248
+ *
249
+ * export const UserSchema = withRestoredDeprecatedModelRequestBehaviors({
250
+ * type: 'user',
251
+ * fields: [
252
+ * { name: 'firstName', kind: 'attribute' },
253
+ * { name: 'lastName', kind: 'attribute' },
254
+ * ]
255
+ * });
256
+ * ```
257
+ */
272
258
  function withRestoredDeprecatedModelRequestBehaviors(schema) {
273
- schema.legacy = true;
274
- schema.identity = {
275
- kind: '@id',
276
- name: 'id'
277
- };
278
- LegacyFields.forEach(field => {
279
- schema.fields.push({
280
- type: '@legacy',
281
- name: field,
282
- kind: 'derived',
283
- options: {
284
- suppressDeprecation: true
285
- }
286
- });
287
- });
288
- schema.fields.push({
289
- name: 'isReloading',
290
- kind: '@local',
291
- type: 'boolean',
292
- options: {
293
- defaultValue: false
294
- }
295
- });
296
- schema.fields.push({
297
- name: 'isDestroying',
298
- kind: '@local',
299
- type: 'boolean',
300
- options: {
301
- defaultValue: false
302
- }
303
- });
304
- schema.fields.push({
305
- name: 'isDestroyed',
306
- kind: '@local',
307
- type: 'boolean',
308
- options: {
309
- defaultValue: false
310
- }
311
- });
312
- return schema;
259
+ schema.legacy = true;
260
+ schema.identity = {
261
+ kind: "@id",
262
+ name: "id"
263
+ };
264
+ LegacyFields.forEach((field) => {
265
+ schema.fields.push({
266
+ type: "@legacy",
267
+ name: field,
268
+ kind: "derived",
269
+ options: { suppressDeprecation: true }
270
+ });
271
+ });
272
+ schema.fields.push({
273
+ name: "isReloading",
274
+ kind: "@local",
275
+ type: "boolean",
276
+ options: { defaultValue: false }
277
+ });
278
+ schema.fields.push({
279
+ name: "isDestroying",
280
+ kind: "@local",
281
+ type: "boolean",
282
+ options: { defaultValue: false }
283
+ });
284
+ schema.fields.push({
285
+ name: "isDestroyed",
286
+ kind: "@local",
287
+ type: "boolean",
288
+ options: { defaultValue: false }
289
+ });
290
+ return schema;
313
291
  }
314
-
315
292
  /**
316
- * A function which registers the necessary derivations to support
317
- * the LegacyMode features of @warp-drive/legacy/model while migrating to WarpDrive.
318
- *
319
- * This must be called in order to use the fields added by {@link withDefaults} or
320
- * {@link withRestoredDeprecatedModelRequestBehaviors}.
321
- *
322
- * @param schema The schema service to register the derivations with.
323
- * @public
324
- */
293
+ * A function which registers the necessary derivations to support
294
+ * the LegacyMode features of @warp-drive/legacy/model while migrating to WarpDrive.
295
+ *
296
+ * This must be called in order to use the fields added by {@link withDefaults} or
297
+ * {@link withRestoredDeprecatedModelRequestBehaviors}.
298
+ *
299
+ * @param schema The schema service to register the derivations with.
300
+ * @public
301
+ */
325
302
  function registerDerivations(schema) {
326
- schema.registerDerivation(legacySupport);
327
- // @ts-expect-error
328
- // eslint-disable-next-line @typescript-eslint/no-unsafe-call
329
- schema._registerMode('@legacy', {
330
- belongsTo: {
331
- get(store, record, cacheKey, field) {
332
- // FIXME field.name here should likely be field.sourceKey || field.name
333
- return lookupLegacySupport(record).getBelongsTo(field.name);
334
- },
335
- set(store, record, cacheKey, field, value) {
336
- assertPrivateStore(store);
337
- store._join(() => {
338
- // FIXME field.name here should likely be field.sourceKey || field.name
339
- lookupLegacySupport(record).setDirtyBelongsTo(field.name, value);
340
- });
341
- }
342
- },
343
- hasMany: {
344
- get(store, record, cacheKey, field) {
345
- // FIXME field.name here should likely be field.sourceKey || field.name
346
- return lookupLegacySupport(record).getHasMany(field.name);
347
- },
348
- set(store, record, cacheKey, field, value) {
349
- assertPrivateStore(store);
350
- store._join(() => {
351
- const support = lookupLegacySupport(record);
352
- // FIXME field.name here should likely be field.sourceKey || field.name
353
- const manyArray = support.getManyArray(field.name);
354
- manyArray.splice(0, manyArray.length, ...value);
355
- });
356
- },
357
- notify(store, record, cacheKey, field) {
358
- const support = lookupLegacySupport(record);
359
- // FIXME field.name here should likely be field.sourceKey || field.name
360
- const manyArray = support && support._manyArrayCache[field.name];
361
- const hasPromise = support && support._relationshipPromisesCache[field.name];
362
- if (manyArray && hasPromise) {
363
- // do nothing, we will notify the ManyArray directly
364
- // once the fetch has completed.
365
- return false;
366
- }
367
- if (manyArray) {
368
- notifyInternalSignal(manyArray[Context].signal);
369
- return true;
370
- }
371
- return false;
372
- }
373
- }
374
- });
375
- schema.CAUTION_MEGA_DANGER_ZONE_registerExtension({
376
- name: 'deprecated-model-behaviors',
377
- kind: 'object',
378
- features: {
379
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
380
- get isReloading() {
381
- deprecate(`record.isReloading is deprecated, please use store.request and either <Request> or getRequuestState to keep track of the request state instead.`, false, {
382
- id: 'warp-drive:deprecate-legacy-request-methods',
383
- until: '6.0',
384
- for: '@warp-drive/core',
385
- url: 'https://docs.warp-drive.io/api/@warp-drive/core/build-config/deprecations/variables/ENABLE_LEGACY_REQUEST_METHODS',
386
- since: {
387
- enabled: '5.7',
388
- available: '5.7'
389
- }
390
- });
391
- // @ts-expect-error
392
- // eslint-disable-next-line @typescript-eslint/no-unsafe-return
393
- return this._isReloading;
394
- },
395
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
396
- set isReloading(v) {
397
- // @ts-expect-error
398
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
399
- this._isReloading = v;
400
- }
401
- }
402
- });
303
+ schema.registerDerivation(legacySupport);
304
+ schema._registerMode("@legacy", {
305
+ belongsTo: {
306
+ get(store, record, cacheKey, field) {
307
+ return lookupLegacySupport(record).getBelongsTo(field.name);
308
+ },
309
+ set(store, record, cacheKey, field, value) {
310
+ assertPrivateStore(store);
311
+ store._join(() => {
312
+ lookupLegacySupport(record).setDirtyBelongsTo(field.name, value);
313
+ });
314
+ }
315
+ },
316
+ hasMany: {
317
+ get(store, record, cacheKey, field) {
318
+ return lookupLegacySupport(record).getHasMany(field.name);
319
+ },
320
+ set(store, record, cacheKey, field, value) {
321
+ assertPrivateStore(store);
322
+ store._join(() => {
323
+ const manyArray = lookupLegacySupport(record).getManyArray(field.name);
324
+ manyArray.splice(0, manyArray.length, ...value);
325
+ });
326
+ },
327
+ notify(store, record, cacheKey, field) {
328
+ const support = lookupLegacySupport(record);
329
+ const manyArray = support && support._manyArrayCache[field.name];
330
+ const hasPromise = support && support._relationshipPromisesCache[field.name];
331
+ if (manyArray && hasPromise) return false;
332
+ if (manyArray) {
333
+ notifyInternalSignal(manyArray[Context].signal);
334
+ return true;
335
+ }
336
+ return false;
337
+ }
338
+ }
339
+ });
340
+ schema.CAUTION_MEGA_DANGER_ZONE_registerExtension({
341
+ name: "deprecated-model-behaviors",
342
+ kind: "object",
343
+ features: {
344
+ get isReloading() {
345
+ deprecate(`record.isReloading is deprecated, please use store.request and either <Request> or getRequuestState to keep track of the request state instead.`, false, {
346
+ id: "warp-drive:deprecate-legacy-request-methods",
347
+ until: "6.0",
348
+ for: "@warp-drive/core",
349
+ url: "https://docs.warp-drive.io/api/@warp-drive/core/build-config/deprecations/variables/ENABLE_LEGACY_REQUEST_METHODS",
350
+ since: {
351
+ enabled: "5.7",
352
+ available: "5.7"
353
+ }
354
+ });
355
+ return this._isReloading;
356
+ },
357
+ set isReloading(v) {
358
+ this._isReloading = v;
359
+ }
360
+ }
361
+ });
403
362
  }
404
-
405
363
  /**
406
- * A class which provides a schema service that delegates between
407
- * a primary schema service and one that supports legacy model
408
- * classes as its schema source.
409
- *
410
- * When the primary schema service has a schema for the given
411
- * resource, it will be used. Otherwise, the fallback schema
412
- * service will be used.
413
- *
414
- * This can be used when incrementally migrating from Models to
415
- * ReactiveResources by enabling unmigrated Models to continue to
416
- * provide their own schema information to the application.
417
- *
418
- * ```ts
419
- * import { DelegatingSchemaService } from '@warp-drive/legacy/model/migration-support';
420
- * import { SchemaService } from '@warp-drive/core/reactive';
421
- *
422
- * class AppStore extends Store {
423
- * createSchemaService() {
424
- * const schema = new SchemaService();
425
- * return new DelegatingSchemaService(this, schema);
426
- * }
427
- * }
428
- * ```
429
- *
430
- * All calls to register resources, derivations, transformations, hash functions
431
- * etc. will be delegated to the primary schema service.
432
- *
433
- * @class DelegatingSchemaService
434
- * @public
435
- */
436
-
437
- class DelegatingSchemaService {
438
- /** @internal */
439
- _preferred;
440
- /** @internal */
441
- _secondary;
442
- constructor(store, schema) {
443
- this._preferred = schema;
444
- this._secondary = buildSchema(store);
445
- }
446
- isDelegated(resource) {
447
- return !this._preferred.hasResource(resource) && this._secondary.hasResource(resource);
448
- }
449
- resourceTypes() {
450
- return Array.from(new Set(this._preferred.resourceTypes().concat(this._secondary.resourceTypes())));
451
- }
452
- hasResource(resource) {
453
- return this._preferred.hasResource(resource) || this._secondary.hasResource(resource);
454
- }
455
- hasTrait(type) {
456
- if (this._preferred.hasResource({
457
- type
458
- })) {
459
- return this._preferred.hasTrait(type);
460
- }
461
- return this._secondary.hasTrait(type);
462
- }
463
- resourceHasTrait(resource, trait) {
464
- if (this._preferred.hasResource(resource)) {
465
- return this._preferred.resourceHasTrait(resource, trait);
466
- }
467
- return this._secondary.resourceHasTrait(resource, trait);
468
- }
469
- fields(resource) {
470
- if (this._preferred.hasResource(resource)) {
471
- return this._preferred.fields(resource);
472
- }
473
- return this._secondary.fields(resource);
474
- }
475
- cacheFields(resource) {
476
- if (this._preferred.hasResource?.(resource)) {
477
- // @ts-expect-error
478
- return this._preferred.cacheFields?.(resource);
479
- }
480
-
481
- // @ts-expect-error
482
- return this._secondary.cacheFields?.(resource);
483
- }
484
- transformation(field) {
485
- return this._preferred.transformation(field);
486
- }
487
- hashFn(field) {
488
- return this._preferred.hashFn(field);
489
- }
490
- derivation(field) {
491
- return this._preferred.derivation(field);
492
- }
493
- resource(resource) {
494
- if (this._preferred.hasResource(resource)) {
495
- return this._preferred.resource(resource);
496
- }
497
- return this._secondary.resource(resource);
498
- }
499
- registerResources(schemas) {
500
- this._preferred.registerResources(schemas);
501
- }
502
- registerResource(schema) {
503
- this._preferred.registerResource(schema);
504
- }
505
- registerTransformation(transform) {
506
- this._preferred.registerTransformation(transform);
507
- }
508
- registerDerivation(derivation) {
509
- this._preferred.registerDerivation(derivation);
510
- }
511
- registerHashFn(hashFn) {
512
- this._preferred.registerHashFn(hashFn);
513
- }
514
- CAUTION_MEGA_DANGER_ZONE_hasExtension(ext) {
515
- return this._preferred.CAUTION_MEGA_DANGER_ZONE_hasExtension(ext);
516
- }
517
- CAUTION_MEGA_DANGER_ZONE_registerExtension(extension) {
518
- this._preferred.CAUTION_MEGA_DANGER_ZONE_registerExtension(extension);
519
- }
520
- CAUTION_MEGA_DANGER_ZONE_resourceExtensions(resource) {
521
- return this._preferred.CAUTION_MEGA_DANGER_ZONE_resourceExtensions(resource);
522
- }
523
- CAUTION_MEGA_DANGER_ZONE_objectExtensions(field, resolvedType) {
524
- return this._preferred.CAUTION_MEGA_DANGER_ZONE_objectExtensions(field, resolvedType);
525
- }
526
- CAUTION_MEGA_DANGER_ZONE_arrayExtensions(field) {
527
- return this._preferred.CAUTION_MEGA_DANGER_ZONE_arrayExtensions(field);
528
- }
529
-
530
- /**
531
- * This is an internal method used to register behaviors for legacy mode.
532
- * It is not intended for public use.
533
- *
534
- * We do think a generalized `kind` registration system would be useful,
535
- * but we have not yet designed it.
536
- *
537
- * See https://github.com/warp-drive-data/warp-drive/issues/9534
538
- *
539
- * @internal
540
- */
541
- _registerMode(mode, kinds) {
542
- // @ts-expect-error
543
- // eslint-disable-next-line @typescript-eslint/no-unsafe-call
544
- this._preferred._registerMode(mode, kinds);
545
- }
546
-
547
- /**
548
- * This is an internal method used to enable legacy behaviors for legacy mode.
549
- * It is not intended for public use.
550
- *
551
- * We do think a generalized `kind` registration system would be useful,
552
- * but we have not yet designed it.
553
- *
554
- * See https://github.com/warp-drive-data/warp-drive/issues/9534
555
- *
556
- * @internal
557
- */
558
- _kind(mode, kind) {
559
- // @ts-expect-error
560
- // eslint-disable-next-line @typescript-eslint/no-unsafe-call
561
- return this._preferred._kind(mode, kind);
562
- }
563
- }
364
+ * A class which provides a schema service that delegates between
365
+ * a primary schema service and one that supports legacy model
366
+ * classes as its schema source.
367
+ *
368
+ * When the primary schema service has a schema for the given
369
+ * resource, it will be used. Otherwise, the fallback schema
370
+ * service will be used.
371
+ *
372
+ * This can be used when incrementally migrating from Models to
373
+ * ReactiveResources by enabling unmigrated Models to continue to
374
+ * provide their own schema information to the application.
375
+ *
376
+ * ```ts
377
+ * import { DelegatingSchemaService } from '@warp-drive/legacy/model/migration-support';
378
+ * import { SchemaService } from '@warp-drive/core/reactive';
379
+ *
380
+ * class AppStore extends Store {
381
+ * createSchemaService() {
382
+ * const schema = new SchemaService();
383
+ * return new DelegatingSchemaService(this, schema);
384
+ * }
385
+ * }
386
+ * ```
387
+ *
388
+ * All calls to register resources, derivations, transformations, hash functions
389
+ * etc. will be delegated to the primary schema service.
390
+ *
391
+ * @class DelegatingSchemaService
392
+ * @public
393
+ */
394
+ /**
395
+ * See the {@link DelegatingSchemaService | class documentation above} for usage.
396
+ */
397
+ var DelegatingSchemaService = class {
398
+ /** @internal */
399
+ _preferred;
400
+ /** @internal */
401
+ _secondary;
402
+ constructor(store, schema) {
403
+ this._preferred = schema;
404
+ this._secondary = buildSchema(store);
405
+ }
406
+ /**
407
+ * Whether the given resource's schema is being served by the fallback
408
+ * (legacy Model-derived) schema service rather than the primary one.
409
+ */
410
+ isDelegated(resource) {
411
+ return !this._preferred.hasResource(resource) && this._secondary.hasResource(resource);
412
+ }
413
+ resourceTypes() {
414
+ return Array.from(new Set(this._preferred.resourceTypes().concat(this._secondary.resourceTypes())));
415
+ }
416
+ hasResource(resource) {
417
+ return this._preferred.hasResource(resource) || this._secondary.hasResource(resource);
418
+ }
419
+ hasTrait(type) {
420
+ if (this._preferred.hasResource({ type })) return this._preferred.hasTrait(type);
421
+ return this._secondary.hasTrait(type);
422
+ }
423
+ resourceHasTrait(resource, trait) {
424
+ if (this._preferred.hasResource(resource)) return this._preferred.resourceHasTrait(resource, trait);
425
+ return this._secondary.resourceHasTrait(resource, trait);
426
+ }
427
+ fields(resource) {
428
+ if (this._preferred.hasResource(resource)) return this._preferred.fields(resource);
429
+ return this._secondary.fields(resource);
430
+ }
431
+ cacheFields(resource) {
432
+ if (this._preferred.hasResource?.(resource)) return this._preferred.cacheFields?.(resource);
433
+ return this._secondary.cacheFields?.(resource);
434
+ }
435
+ transformation(field) {
436
+ return this._preferred.transformation(field);
437
+ }
438
+ hashFn(field) {
439
+ return this._preferred.hashFn(field);
440
+ }
441
+ derivation(field) {
442
+ return this._preferred.derivation(field);
443
+ }
444
+ resource(resource) {
445
+ if (this._preferred.hasResource(resource)) return this._preferred.resource(resource);
446
+ return this._secondary.resource(resource);
447
+ }
448
+ registerResources(schemas) {
449
+ this._preferred.registerResources(schemas);
450
+ }
451
+ registerResource(schema) {
452
+ this._preferred.registerResource(schema);
453
+ }
454
+ registerTransformation(transform) {
455
+ this._preferred.registerTransformation(transform);
456
+ }
457
+ registerDerivation(derivation) {
458
+ this._preferred.registerDerivation(derivation);
459
+ }
460
+ registerHashFn(hashFn) {
461
+ this._preferred.registerHashFn(hashFn);
462
+ }
463
+ CAUTION_MEGA_DANGER_ZONE_hasExtension(ext) {
464
+ return this._preferred.CAUTION_MEGA_DANGER_ZONE_hasExtension(ext);
465
+ }
466
+ CAUTION_MEGA_DANGER_ZONE_registerExtension(extension) {
467
+ this._preferred.CAUTION_MEGA_DANGER_ZONE_registerExtension(extension);
468
+ }
469
+ CAUTION_MEGA_DANGER_ZONE_resourceExtensions(resource) {
470
+ return this._preferred.CAUTION_MEGA_DANGER_ZONE_resourceExtensions(resource);
471
+ }
472
+ CAUTION_MEGA_DANGER_ZONE_objectExtensions(field, resolvedType) {
473
+ return this._preferred.CAUTION_MEGA_DANGER_ZONE_objectExtensions(field, resolvedType);
474
+ }
475
+ CAUTION_MEGA_DANGER_ZONE_arrayExtensions(field) {
476
+ return this._preferred.CAUTION_MEGA_DANGER_ZONE_arrayExtensions(field);
477
+ }
478
+ /**
479
+ * This is an internal method used to register behaviors for legacy mode.
480
+ * It is not intended for public use.
481
+ *
482
+ * We do think a generalized `kind` registration system would be useful,
483
+ * but we have not yet designed it.
484
+ *
485
+ * See https://github.com/warp-drive-data/warp-drive/issues/9534
486
+ *
487
+ * @internal
488
+ */
489
+ _registerMode(mode, kinds) {
490
+ this._preferred._registerMode(mode, kinds);
491
+ }
492
+ /**
493
+ * This is an internal method used to enable legacy behaviors for legacy mode.
494
+ * It is not intended for public use.
495
+ *
496
+ * We do think a generalized `kind` registration system would be useful,
497
+ * but we have not yet designed it.
498
+ *
499
+ * See https://github.com/warp-drive-data/warp-drive/issues/9534
500
+ *
501
+ * @internal
502
+ */
503
+ _kind(mode, kind) {
504
+ return this._preferred._kind(mode, kind);
505
+ }
506
+ };
564
507
  if (macroCondition(getGlobalConfig().WarpDrive.deprecations.ENABLE_LEGACY_SCHEMA_SERVICE)) {
565
- DelegatingSchemaService.prototype.attributesDefinitionFor = function (resource) {
566
- if (this._preferred.hasResource(resource)) {
567
- return this._preferred.attributesDefinitionFor(resource);
568
- }
569
- return this._secondary.attributesDefinitionFor(resource);
570
- };
571
- DelegatingSchemaService.prototype.relationshipsDefinitionFor = function (resource) {
572
- if (this._preferred.hasResource(resource)) {
573
- return this._preferred.relationshipsDefinitionFor(resource);
574
- }
575
- return this._secondary.relationshipsDefinitionFor(resource);
576
- };
577
- DelegatingSchemaService.prototype.doesTypeExist = function (type) {
578
- return this._preferred.doesTypeExist?.(type) || this._secondary.doesTypeExist?.(type) || false;
579
- };
508
+ DelegatingSchemaService.prototype.attributesDefinitionFor = function(resource) {
509
+ if (this._preferred.hasResource(resource)) return this._preferred.attributesDefinitionFor(resource);
510
+ return this._secondary.attributesDefinitionFor(resource);
511
+ };
512
+ DelegatingSchemaService.prototype.relationshipsDefinitionFor = function(resource) {
513
+ if (this._preferred.hasResource(resource)) return this._preferred.relationshipsDefinitionFor(resource);
514
+ return this._secondary.relationshipsDefinitionFor(resource);
515
+ };
516
+ DelegatingSchemaService.prototype.doesTypeExist = function(type) {
517
+ return this._preferred.doesTypeExist?.(type) || this._secondary.doesTypeExist?.(type) || false;
518
+ };
580
519
  }
581
- export { DelegatingSchemaService, registerDerivations, withDefaults, withRestoredDeprecatedModelRequestBehaviors };
520
+
521
+ //#endregion
522
+ export { DelegatingSchemaService, registerDerivations, withDefaults, withRestoredDeprecatedModelRequestBehaviors };
523
+ //# sourceMappingURL=migration-support.js.map