@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,197 +1,277 @@
1
- import { Store, RequestManager, Fetch, CacheHandler, recordIdentifierFor } from '@warp-drive/core';
2
- import { SchemaService, registerDerivations, instantiateRecord as instantiateRecord$1, teardownRecord as teardownRecord$1 } from '@warp-drive/core/reactive';
3
- import { DefaultCachePolicy } from '@warp-drive/core/store';
4
- import { LegacyNetworkHandler, adapterFor, serializerFor, pushPayload, normalize, serializeRecord, cleanup } from './compat.js';
5
- import { EmberArrayLikeExtension, EmberObjectArrayExtension, EmberObjectExtension } from './compat/extensions.js';
6
- import '@ember/object';
7
- import '@warp-drive/core/types/symbols';
8
- import '@warp-drive/utilities/string';
9
- import '@warp-drive/core/store/-private';
10
- import "./errors-DmGGJr3T.js";
11
- import "./schema-provider-DDVYxmUV.js";
12
- import { i as instantiateRecord, t as teardownRecord, m as modelFor } from "./hooks-CkYiE6Ud.js";
13
- import '@ember/application';
14
- import { registerDerivations as registerDerivations$1, DelegatingSchemaService } from './model/migration-support.js';
15
- import { F as FragmentExtension, a as FragmentArrayExtension, f as fragmentsModelFor } from "./model-for-CqXsIKws.js";
16
- import { restoreDeprecatedStoreBehaviors } from './store.js';
1
+ import { a as serializeRecord, i as pushPayload, n as cleanup, o as serializerFor, r as normalize, s as LegacyNetworkHandler, t as adapterFor } from "./compat-D48B8sXv.js";
2
+ import { EmberArrayLikeExtension, EmberObjectArrayExtension, EmberObjectExtension } from "./compat/extensions.js";
3
+ import { n as modelFor, r as teardownRecord$1, t as instantiateRecord$1 } from "./model-LK7ethC5.js";
4
+ import { a as FragmentExtension, s as FragmentArrayExtension, t as fragmentsModelFor } from "./model-fragments-DSqu0ptR.js";
5
+ import { DelegatingSchemaService, registerDerivations as registerDerivations$1 } from "./model/migration-support.js";
6
+ import { t as restoreDeprecatedStoreBehaviors } from "./store-D_V8-HQl.js";
7
+ import { CacheHandler, Fetch, RequestManager, Store, recordIdentifierFor } from "@warp-drive/core";
8
+ import { SchemaService, instantiateRecord, registerDerivations, teardownRecord } from "@warp-drive/core/reactive";
9
+ import { DefaultCachePolicy } from "@warp-drive/core/store";
17
10
 
11
+ //#region src/index.ts
18
12
  /**
19
- * @module
20
- * @mergeModuleWith <project>
21
- */
22
-
23
- //export type ConfiguredStore<T = unknown> = typeof Store;
24
-
13
+ * @module
14
+ * @mergeModuleWith <project>
15
+ */
25
16
  /**
26
- * Use the legacy store with the given options.
27
- */
28
-
17
+ * Setup options for a legacy store configured to use `Model` with `linksMode`
18
+ * enabled, meaning no legacy adapter/serializer request infrastructure is required.
19
+ *
20
+ * @public
21
+ */
22
+ /**
23
+ * Setup options for a legacy store configured to use `Model` along with the
24
+ * legacy adapter/serializer network layer, but without the deprecated
25
+ * `store.findRecord`/`findAll`/`query`/etc. request methods.
26
+ *
27
+ * @public
28
+ */
29
+ /**
30
+ * Setup options for a legacy store configured to use `Model` along with the
31
+ * legacy adapter/serializer network layer and the deprecated
32
+ * `store.findRecord`/`findAll`/`query`/etc. request methods.
33
+ *
34
+ * @public
35
+ */
36
+ /**
37
+ * The available options when setting up the legacy store,
38
+ * one of:
39
+ *
40
+ * - {@link LegacyModelStoreSetupOptions}
41
+ * - {@link LegacyModelAndNetworkStoreSetupOptions}
42
+ * - {@link LegacyModelAndNetworkAndRequestStoreSetupOptions}
43
+ */
44
+ /**
45
+ * Use the legacy store with the given options.
46
+ *
47
+ * See {@link LegacyStoreSetupOptions} for details on the available options.
48
+ *
49
+ * ```ts
50
+ * import { useLegacyStore } from '@warp-drive/legacy';
51
+ * import { JSONAPICache } from '@warp-drive/json-api';
52
+ *
53
+ * export default useLegacyStore({
54
+ * linksMode: false,
55
+ * legacyRequests: true,
56
+ * cache: JSONAPICache,
57
+ * schemas: [],
58
+ * });
59
+ * ```
60
+ *
61
+ * ### Adding Stateful Handlers
62
+ *
63
+ * A request {@link Handler} is sometimes more than a plain object or class
64
+ * with a `request` method — it may need access to a stateful dependency such
65
+ * as an Ember service (an auth token, a feature-flags service, an i18n
66
+ * helper, etc.).
67
+ *
68
+ * A plain class handler that only relies on Ember's `@service` decorator will
69
+ * not work here on its own: the handler is never instantiated *through*
70
+ * Ember's container (it's just `new`'d up), so it has no owner and its
71
+ * `@service` injections would fail to resolve.
72
+ *
73
+ * Instead, give `handlers` a function. It receives the {@link Store} instance
74
+ * being configured, which by the time the function runs already has an owner
75
+ * assigned. Use `getOwner`/`setOwner` from `@ember/owner` to transfer that
76
+ * owner onto your handler instance before returning it, exactly as you would
77
+ * when constructing any other DI-aware object outside of the container:
78
+ *
79
+ * ```ts
80
+ * import { getOwner, setOwner } from '@ember/owner';
81
+ * import { service } from '@ember/service';
82
+ * import { useLegacyStore } from '@warp-drive/legacy';
83
+ * import type { NextFn } from '@warp-drive/core/request';
84
+ * import type { RequestContext } from '@warp-drive/core/types/request';
85
+ * import { JSONAPICache } from '@warp-drive/json-api';
86
+ *
87
+ * class AuthHandler {
88
+ * @service session;
89
+ *
90
+ * request<T>(context: RequestContext, next: NextFn<T>) {
91
+ * const headers = new Headers(context.request.headers);
92
+ * headers.append('Authorization', `Bearer ${this.session.accessToken}`);
93
+ * return next(Object.assign({}, context.request, { headers }));
94
+ * }
95
+ * }
96
+ *
97
+ * export default useLegacyStore({
98
+ * linksMode: false,
99
+ * legacyRequests: true,
100
+ * cache: JSONAPICache,
101
+ * handlers: (store) => {
102
+ * const authHandler = new AuthHandler();
103
+ * setOwner(authHandler, getOwner(store)!);
104
+ * return [authHandler];
105
+ * },
106
+ * });
107
+ * ```
108
+ *
109
+ * The `handlers` function is invoked lazily and only once per store instance,
110
+ * the first time `store.requestManager` is accessed, so it is safe to do
111
+ * owner-dependent setup like this inside of it.
112
+ *
113
+ * ### Accessing the Store from a Handler's Context
114
+ *
115
+ * If a handler only needs to read something *off of the store itself*
116
+ * (its cache, or a property/service you've attached to a custom store
117
+ * subclass) rather than an unrelated Ember service, there is a second,
118
+ * simpler option that requires no DI/`setOwner` wiring at all.
119
+ *
120
+ * Every request issued via {@link Store.request | store.request(...)}
121
+ * automatically carries the originating store along as
122
+ * {@link RequestInfo.store | context.request.store}. Any handler — a plain
123
+ * object, a function-built handler, or a class — can read it directly,
124
+ * without needing the `handlers` callback form shown above:
125
+ *
126
+ * ```ts
127
+ * import { useLegacyStore } from '@warp-drive/legacy';
128
+ * import type { NextFn } from '@warp-drive/core/request';
129
+ * import type { RequestContext } from '@warp-drive/core/types/request';
130
+ * import { JSONAPICache } from '@warp-drive/json-api';
131
+ *
132
+ * const LoggingHandler = {
133
+ * request<T>(context: RequestContext, next: NextFn<T>) {
134
+ * // only present when the request was made via `store.request(...)`
135
+ * const store = context.request.store;
136
+ * if (store) {
137
+ * console.log(`[${store.constructor.name}] ${context.request.url ?? ''}`);
138
+ * }
139
+ * return next(context.request);
140
+ * },
141
+ * };
142
+ *
143
+ * export default useLegacyStore({
144
+ * linksMode: false,
145
+ * legacyRequests: true,
146
+ * cache: JSONAPICache,
147
+ * handlers: [LoggingHandler],
148
+ * });
149
+ * ```
150
+ *
151
+ * The trade-off versus the `getOwner`/`setOwner` pattern above is that
152
+ * `context.request.store` is only populated for requests issued via
153
+ * `store.request(...)`; a request made directly against a
154
+ * {@link RequestManager} won't have it set unless the caller supplies it
155
+ * explicitly, so a handler relying on it should treat it as optional (as
156
+ * `LoggingHandler` does above).
157
+ */
29
158
  function useLegacyStore(options, StoreKlass = Store) {
30
- (test => {
31
- if (!test) {
32
- throw new Error(`If legacyRequests is true, linksMode must be false`);
33
- }
34
- })(!(options.linksMode && options.legacyRequests));
35
- // we extend the store to ensure we don't leak our prototype overrides to other stores below.
36
- class BaseKlass extends StoreKlass {}
37
- class LegacyConfiguredStore extends BaseKlass {
38
- requestManager = new RequestManager().use([options.linksMode ? null : LegacyNetworkHandler, ...(options.handlers ?? []), Fetch].filter(Boolean)).useCache(CacheHandler);
39
- lifetimes = options.policy ?? new DefaultCachePolicy({
40
- apiCacheHardExpires: 15 * 60 * 1000,
41
- // 15 minutes
42
- apiCacheSoftExpires: 1 * 30 * 1000,
43
- // 30 seconds
44
- constraints: {
45
- headers: {
46
- 'X-WarpDrive-Expires': true,
47
- 'Cache-Control': true,
48
- Expires: true
49
- }
50
- }
51
- });
52
- createSchemaService() {
53
- // prepare for PolarisMode
54
- const schema = new SchemaService();
55
- registerDerivations(schema);
56
- if (options.schemas) schema.registerResources(options.schemas);
57
- if (options.traits) {
58
- for (const trait of options.traits) {
59
- schema.registerTrait(trait);
60
- }
61
- }
62
- if (options.derivations) {
63
- for (const derivation of options.derivations) {
64
- schema.registerDerivation(derivation);
65
- }
66
- }
67
- if (options.transformations) {
68
- for (const transformation of options.transformations) {
69
- schema.registerTransformation(transformation);
70
- }
71
- }
72
- if (options.hashFns) {
73
- for (const hashFn of options.hashFns) {
74
- schema.registerHashFn(hashFn);
75
- }
76
- }
77
- if (options.CAUTION_MEGA_DANGER_ZONE_extensions) {
78
- for (const extension of options.CAUTION_MEGA_DANGER_ZONE_extensions) {
79
- schema.CAUTION_MEGA_DANGER_ZONE_registerExtension(extension);
80
- }
81
- }
82
-
83
- // Add support for LegacyMode ReactiveResource with Maximal coverage
84
- // for upgrading from 4.x
85
- registerDerivations$1(schema);
86
- schema.CAUTION_MEGA_DANGER_ZONE_registerExtension(EmberArrayLikeExtension);
87
- schema.CAUTION_MEGA_DANGER_ZONE_registerExtension(EmberObjectArrayExtension);
88
- schema.CAUTION_MEGA_DANGER_ZONE_registerExtension(EmberObjectExtension);
89
-
90
- // add support for fragments
91
- if (options.modelFragments) {
92
- schema.CAUTION_MEGA_DANGER_ZONE_registerExtension?.(FragmentExtension);
93
- schema.CAUTION_MEGA_DANGER_ZONE_registerExtension?.(FragmentArrayExtension);
94
- }
95
-
96
- // Add fallback for Models
97
- return new DelegatingSchemaService(this, schema);
98
- }
99
- createCache(capabilities) {
100
- // eslint-disable-next-line new-cap
101
- return new options.cache(capabilities);
102
- }
103
- instantiateRecord(key, createArgs) {
104
- if (this.schema.isDelegated(key)) {
105
- return instantiateRecord.call(this, key, createArgs);
106
- }
107
- return instantiateRecord$1(this, key, createArgs);
108
- }
109
- teardownRecord(record) {
110
- const key = recordIdentifierFor(record);
111
- if (this.schema.isDelegated(key)) {
112
- return teardownRecord.call(this, record);
113
- }
114
- return teardownRecord$1(record);
115
- }
116
- modelFor(type) {
117
- assertType(this.schema, type);
118
- // TODO I'm not sure this is right
119
- (test => {
120
- if (!test) {
121
- throw new Error(`modelFor should only be used to lookup legacy models when in linksMode: false`);
122
- }
123
- })(!options.linksMode || !this.schema.isDelegated({
124
- type
125
- }));
126
- const klass =
127
- // prefer real models if present
128
- modelFor.call(this, type) || (
129
- // fallback to ShimModelClass specific to fragments if fragments support in use
130
- options.modelFragments ? fragmentsModelFor.call(this, type) : false) ||
131
- // fallback to ShimModelClass
132
- super.modelFor(type);
133
- return klass;
134
- }
135
- adapterFor(modelName, _allowMissing) {
136
- (test => {
137
- if (!test) {
138
- throw new Error(`useLegacyStore was setup in linksMode. linksMode assumes that all requests have been migrated away from adapters and serializers.`);
139
- }
140
- })(!options.linksMode);
141
- // @ts-expect-error
142
- return adapterFor.call(this, modelName, _allowMissing);
143
- }
144
- serializerFor(...args) {
145
- (test => {
146
- if (!test) {
147
- throw new Error(`useLegacyStore was setup in linksMode. linksMode assumes that all requests have been migrated away from adapters and serializers.`);
148
- }
149
- })(!options.linksMode);
150
- return serializerFor.call(this, ...args);
151
- }
152
- pushPayload(...args) {
153
- (test => {
154
- if (!test) {
155
- throw new Error(`useLegacyStore was setup in linksMode. linksMode assumes that all requests have been migrated away from adapters and serializers.`);
156
- }
157
- })(!options.linksMode);
158
- return pushPayload.call(this, ...args);
159
- }
160
- normalize(...args) {
161
- (test => {
162
- if (!test) {
163
- throw new Error(`useLegacyStore was setup in linksMode. linksMode assumes that all requests have been migrated away from adapters and serializers.`);
164
- }
165
- })(!options.linksMode);
166
- return normalize.call(this, ...args);
167
- }
168
- serializeRecord(...args) {
169
- (test => {
170
- if (!test) {
171
- throw new Error(`useLegacyStore was setup in linksMode. linksMode assumes that all requests have been migrated away from adapters and serializers.`);
172
- }
173
- })(!options.linksMode);
174
- return serializeRecord.call(this, ...args);
175
- }
176
- destroy() {
177
- if (!options.linksMode) {
178
- cleanup.call(this);
179
- }
180
- super.destroy();
181
- }
182
- }
183
- if (options.legacyRequests) {
184
- restoreDeprecatedStoreBehaviors(BaseKlass);
185
- }
186
- return LegacyConfiguredStore;
159
+ ((test) => {
160
+ if (!test) throw new Error(`If legacyRequests is true, linksMode must be false`);
161
+ })(!(options.linksMode && options.legacyRequests));
162
+ class BaseKlass extends StoreKlass {}
163
+ class LegacyConfiguredStore extends BaseKlass {
164
+ constructor(createArgs) {
165
+ super(createArgs);
166
+ let requestManager;
167
+ Object.defineProperty(this, "requestManager", {
168
+ configurable: true,
169
+ enumerable: true,
170
+ get: () => {
171
+ if (!requestManager) {
172
+ const handlersOption = options.handlers;
173
+ const handlers = typeof handlersOption === "function" ? handlersOption(this) : handlersOption ?? [];
174
+ requestManager = new RequestManager().use([
175
+ options.linksMode ? null : LegacyNetworkHandler,
176
+ ...handlers,
177
+ Fetch
178
+ ].filter(Boolean)).useCache(CacheHandler);
179
+ }
180
+ return requestManager;
181
+ },
182
+ set: (value) => {
183
+ requestManager = value;
184
+ }
185
+ });
186
+ }
187
+ lifetimes = options.policy ?? new DefaultCachePolicy({
188
+ apiCacheHardExpires: 9e5,
189
+ apiCacheSoftExpires: 3e4,
190
+ constraints: { headers: {
191
+ "X-WarpDrive-Expires": true,
192
+ "Cache-Control": true,
193
+ Expires: true
194
+ } }
195
+ });
196
+ createSchemaService() {
197
+ const schema = new SchemaService();
198
+ registerDerivations(schema);
199
+ if (options.schemas) schema.registerResources(options.schemas);
200
+ if (options.traits) for (const trait of options.traits) schema.registerTrait(trait);
201
+ if (options.derivations) for (const derivation of options.derivations) schema.registerDerivation(derivation);
202
+ if (options.transformations) for (const transformation of options.transformations) schema.registerTransformation(transformation);
203
+ if (options.hashFns) for (const hashFn of options.hashFns) schema.registerHashFn(hashFn);
204
+ if (options.CAUTION_MEGA_DANGER_ZONE_extensions) for (const extension of options.CAUTION_MEGA_DANGER_ZONE_extensions) schema.CAUTION_MEGA_DANGER_ZONE_registerExtension(extension);
205
+ registerDerivations$1(schema);
206
+ schema.CAUTION_MEGA_DANGER_ZONE_registerExtension(EmberArrayLikeExtension);
207
+ schema.CAUTION_MEGA_DANGER_ZONE_registerExtension(EmberObjectArrayExtension);
208
+ schema.CAUTION_MEGA_DANGER_ZONE_registerExtension(EmberObjectExtension);
209
+ if (options.modelFragments) {
210
+ schema.CAUTION_MEGA_DANGER_ZONE_registerExtension?.(FragmentExtension);
211
+ schema.CAUTION_MEGA_DANGER_ZONE_registerExtension?.(FragmentArrayExtension);
212
+ }
213
+ return new DelegatingSchemaService(this, schema);
214
+ }
215
+ createCache(capabilities) {
216
+ return new options.cache(capabilities);
217
+ }
218
+ instantiateRecord(key, createArgs) {
219
+ if (this.schema.isDelegated(key)) return instantiateRecord$1.call(this, key, createArgs);
220
+ return instantiateRecord(this, key, createArgs);
221
+ }
222
+ teardownRecord(record) {
223
+ const key = recordIdentifierFor(record);
224
+ if (this.schema.isDelegated(key)) return teardownRecord$1.call(this, record);
225
+ return teardownRecord(record);
226
+ }
227
+ modelFor(type) {
228
+ assertType(this.schema, type);
229
+ return modelFor.call(this, type) || (options.modelFragments ? fragmentsModelFor.call(this, type) : false) || super.modelFor(type);
230
+ }
231
+ adapterFor(modelName, _allowMissing) {
232
+ ((test) => {
233
+ if (!test) throw new Error(`useLegacyStore was setup in linksMode. linksMode assumes that all requests have been migrated away from adapters and serializers.`);
234
+ })(!options.linksMode);
235
+ return adapterFor.call(this, modelName, _allowMissing);
236
+ }
237
+ serializerFor(...args) {
238
+ ((test) => {
239
+ if (!test) throw new Error(`useLegacyStore was setup in linksMode. linksMode assumes that all requests have been migrated away from adapters and serializers.`);
240
+ })(!options.linksMode);
241
+ return serializerFor.call(this, ...args);
242
+ }
243
+ pushPayload(...args) {
244
+ ((test) => {
245
+ if (!test) throw new Error(`useLegacyStore was setup in linksMode. linksMode assumes that all requests have been migrated away from adapters and serializers.`);
246
+ })(!options.linksMode);
247
+ return pushPayload.call(this, ...args);
248
+ }
249
+ normalize(...args) {
250
+ ((test) => {
251
+ if (!test) throw new Error(`useLegacyStore was setup in linksMode. linksMode assumes that all requests have been migrated away from adapters and serializers.`);
252
+ })(!options.linksMode);
253
+ return normalize.call(this, ...args);
254
+ }
255
+ serializeRecord(...args) {
256
+ ((test) => {
257
+ if (!test) throw new Error(`useLegacyStore was setup in linksMode. linksMode assumes that all requests have been migrated away from adapters and serializers.`);
258
+ })(!options.linksMode);
259
+ return serializeRecord.call(this, ...args);
260
+ }
261
+ destroy() {
262
+ if (!options.linksMode) cleanup.call(this);
263
+ super.destroy();
264
+ }
265
+ }
266
+ if (options.legacyRequests) restoreDeprecatedStoreBehaviors(BaseKlass);
267
+ return LegacyConfiguredStore;
187
268
  }
188
269
  function assertType(schema, type) {
189
- (test => {
190
- if (!test) {
191
- throw new Error(`Expected type ${type} to be a valid ResourceType`);
192
- }
193
- })(schema.hasResource({
194
- type
195
- }));
270
+ ((test) => {
271
+ if (!test) throw new Error(`Expected type ${type} to be a valid ResourceType`);
272
+ })(schema.hasResource({ type }));
196
273
  }
197
- export { useLegacyStore };
274
+
275
+ //#endregion
276
+ export { useLegacyStore };
277
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["CacheHandler","Fetch","recordIdentifierFor","RequestManager","Store","instantiateRecord","registerDerivations","SchemaService","teardownRecord","DefaultCachePolicy","adapterFor","cleanup","LegacyNetworkHandler","normalize","pushPayload","serializeRecord","serializerFor","EmberArrayLikeExtension","EmberObjectArrayExtension","EmberObjectExtension","instantiateModel","modelFor","teardownModel","FragmentArrayExtension","FragmentExtension","fragmentsModelFor","DelegatingSchemaService","registerLegacyDerivations","restoreDeprecatedStoreBehaviors","useLegacyStore","options","StoreKlass","test","Error","linksMode","legacyRequests","BaseKlass","LegacyConfiguredStore","constructor","createArgs","requestManager","Object","defineProperty","configurable","enumerable","get","handlersOption","handlers","use","filter","Boolean","useCache","set","value","lifetimes","policy","apiCacheHardExpires","apiCacheSoftExpires","constraints","headers","Expires","createSchemaService","schema","schemas","registerResources","traits","trait","registerTrait","derivations","derivation","registerDerivation","transformations","transformation","registerTransformation","hashFns","hashFn","registerHashFn","CAUTION_MEGA_DANGER_ZONE_extensions","extension","CAUTION_MEGA_DANGER_ZONE_registerExtension","modelFragments","createCache","capabilities","cache","key","isDelegated","call","record","type","assertType","klass","modelName","_allowMissing","args","destroy","hasResource"],"sources":["../../../src/index.ts"],"sourcesContent":["/**\n * @module\n * @mergeModuleWith <project>\n */\n\nimport {\n CacheHandler,\n Fetch,\n recordIdentifierFor,\n RequestManager,\n Store,\n type StoreSetupOptions,\n} from '@warp-drive/core';\nimport { assert } from '@warp-drive/core/build-config/macros';\nimport { instantiateRecord, registerDerivations, SchemaService, teardownRecord } from '@warp-drive/core/reactive';\nimport type { Handler } from '@warp-drive/core/request';\nimport { DefaultCachePolicy } from '@warp-drive/core/store';\nimport type { CacheCapabilitiesManager, ModelSchema, ResourceKey } from '@warp-drive/core/types';\nimport type { Cache } from '@warp-drive/core/types/cache';\nimport type { TypeFromInstance } from '@warp-drive/core/types/record';\n// oxlint-disable-next-line no-unused-vars\nimport type { RequestInfo } from '@warp-drive/core/types/request';\nimport type { ObjectSchema, ResourceSchema } from '@warp-drive/core/types/schema/fields';\n\nimport type { MinimumAdapterInterface } from './compat';\nimport {\n adapterFor,\n cleanup,\n LegacyNetworkHandler,\n normalize,\n pushPayload,\n serializeRecord,\n serializerFor,\n} from './compat';\nimport { EmberArrayLikeExtension, EmberObjectArrayExtension, EmberObjectExtension } from './compat/extensions';\nimport type Model from './model';\nimport { instantiateRecord as instantiateModel, modelFor, teardownRecord as teardownModel } from './model';\nimport { FragmentArrayExtension, FragmentExtension } from './model-fragments';\nimport { fragmentsModelFor } from './model-fragments/hooks/model-for';\nimport { DelegatingSchemaService, registerDerivations as registerLegacyDerivations } from './model/migration-support';\nimport { restoreDeprecatedStoreBehaviors } from './store';\n\ninterface _LegacyStoreSetupOptions<T extends Cache> extends Omit<StoreSetupOptions<T>, 'schemas'> {\n /**\n * The {@link ResourceSchema | ResourceSchemas} or {@link ObjectSchema | ObjectSchemas} of entities\n * migrated to no longer use {@link Model}.\n *\n * :::caution\n * {@link Model} is still able to be used directly as a source of schema when using {@link useLegacyStore},\n * however, its reliance on EmberObject, classic computeds and resolver behaviors mean that Model\n * will stop working when these things are deprecated in Ember.\n * :::\n */\n schemas?: Array<ResourceSchema | ObjectSchema>;\n\n /**\n * Whether to include support for ModelFragments migrations.\n *\n * @default false\n */\n modelFragments?: boolean;\n}\n\n/**\n * Setup options for a legacy store configured to use `Model` with `linksMode`\n * enabled, meaning no legacy adapter/serializer request infrastructure is required.\n *\n * @public\n */\nexport interface LegacyModelStoreSetupOptions<T extends Cache> extends _LegacyStoreSetupOptions<T> {\n /**\n * If true, it is presumed that no requests require use of the LegacyNetworkHandler\n * and associated adapters/serializer methods.\n *\n * If legacyRequests is true, {@link linksMode} must be false\n *\n * @default false\n */\n linksMode: true;\n /**\n * if true, all legacy request methods and supporting infrastructure will\n * be available on the store.\n *\n * If legacyRequests is true, {@link linksMode} must be false\n *\n * @default false\n */\n legacyRequests?: false;\n}\n\n/**\n * Setup options for a legacy store configured to use `Model` along with the\n * legacy adapter/serializer network layer, but without the deprecated\n * `store.findRecord`/`findAll`/`query`/etc. request methods.\n *\n * @public\n */\nexport interface LegacyModelAndNetworkStoreSetupOptions<T extends Cache> extends _LegacyStoreSetupOptions<T> {\n /**\n * If true, it is presumed that no requests require use of the LegacyNetworkHandler\n * and associated adapters/serializer methods.\n *\n * @default false\n */\n linksMode: false;\n /**\n * if true, all legacy request methods and supporting infrastructure will\n * be available on the store.\n *\n * If legacyRequests is true, {@link linksMode} must be false\n *\n * @default false\n */\n legacyRequests?: false;\n}\n\n/**\n * Setup options for a legacy store configured to use `Model` along with the\n * legacy adapter/serializer network layer and the deprecated\n * `store.findRecord`/`findAll`/`query`/etc. request methods.\n *\n * @public\n */\nexport interface LegacyModelAndNetworkAndRequestStoreSetupOptions<T extends Cache> extends _LegacyStoreSetupOptions<T> {\n /**\n * If true, it is presumed that no requests require use of the LegacyNetworkHandler\n * and associated adapters/serializer methods.\n *\n * @default false\n */\n linksMode: false;\n /**\n * if true, all legacy request methods and supporting infrastructure will\n * be available on the store.\n *\n * If legacyRequests is true, {@link linksMode} must be false\n *\n * @default false\n */\n legacyRequests: true;\n}\n\n//export type ConfiguredStore<T = unknown> = typeof Store;\n\n/**\n * The available options when setting up the legacy store,\n * one of:\n *\n * - {@link LegacyModelStoreSetupOptions}\n * - {@link LegacyModelAndNetworkStoreSetupOptions}\n * - {@link LegacyModelAndNetworkAndRequestStoreSetupOptions}\n */\nexport type LegacyStoreSetupOptions<T extends Cache = Cache> =\n | LegacyModelStoreSetupOptions<T>\n | LegacyModelAndNetworkStoreSetupOptions<T>\n | LegacyModelAndNetworkAndRequestStoreSetupOptions<T>;\n\nexport declare class ConfiguredStore<\n T extends {\n /**\n * The {@link Cache} implementation this store was configured with.\n */\n cache: Cache;\n },\n> extends Store {\n // get cache(): T extends OptionsWithCache<infer R> ? R : never;\n createCache(capabilities: CacheCapabilitiesManager): T['cache'];\n}\n\n/**\n * Use the legacy store with the given options.\n *\n * See {@link LegacyStoreSetupOptions} for details on the available options.\n *\n * ```ts\n * import { useLegacyStore } from '@warp-drive/legacy';\n * import { JSONAPICache } from '@warp-drive/json-api';\n *\n * export default useLegacyStore({\n * linksMode: false,\n * legacyRequests: true,\n * cache: JSONAPICache,\n * schemas: [],\n * });\n * ```\n *\n * ### Adding Stateful Handlers\n *\n * A request {@link Handler} is sometimes more than a plain object or class\n * with a `request` method — it may need access to a stateful dependency such\n * as an Ember service (an auth token, a feature-flags service, an i18n\n * helper, etc.).\n *\n * A plain class handler that only relies on Ember's `@service` decorator will\n * not work here on its own: the handler is never instantiated *through*\n * Ember's container (it's just `new`'d up), so it has no owner and its\n * `@service` injections would fail to resolve.\n *\n * Instead, give `handlers` a function. It receives the {@link Store} instance\n * being configured, which by the time the function runs already has an owner\n * assigned. Use `getOwner`/`setOwner` from `@ember/owner` to transfer that\n * owner onto your handler instance before returning it, exactly as you would\n * when constructing any other DI-aware object outside of the container:\n *\n * ```ts\n * import { getOwner, setOwner } from '@ember/owner';\n * import { service } from '@ember/service';\n * import { useLegacyStore } from '@warp-drive/legacy';\n * import type { NextFn } from '@warp-drive/core/request';\n * import type { RequestContext } from '@warp-drive/core/types/request';\n * import { JSONAPICache } from '@warp-drive/json-api';\n *\n * class AuthHandler {\n * @service session;\n *\n * request<T>(context: RequestContext, next: NextFn<T>) {\n * const headers = new Headers(context.request.headers);\n * headers.append('Authorization', `Bearer ${this.session.accessToken}`);\n * return next(Object.assign({}, context.request, { headers }));\n * }\n * }\n *\n * export default useLegacyStore({\n * linksMode: false,\n * legacyRequests: true,\n * cache: JSONAPICache,\n * handlers: (store) => {\n * const authHandler = new AuthHandler();\n * setOwner(authHandler, getOwner(store)!);\n * return [authHandler];\n * },\n * });\n * ```\n *\n * The `handlers` function is invoked lazily and only once per store instance,\n * the first time `store.requestManager` is accessed, so it is safe to do\n * owner-dependent setup like this inside of it.\n *\n * ### Accessing the Store from a Handler's Context\n *\n * If a handler only needs to read something *off of the store itself*\n * (its cache, or a property/service you've attached to a custom store\n * subclass) rather than an unrelated Ember service, there is a second,\n * simpler option that requires no DI/`setOwner` wiring at all.\n *\n * Every request issued via {@link Store.request | store.request(...)}\n * automatically carries the originating store along as\n * {@link RequestInfo.store | context.request.store}. Any handler — a plain\n * object, a function-built handler, or a class — can read it directly,\n * without needing the `handlers` callback form shown above:\n *\n * ```ts\n * import { useLegacyStore } from '@warp-drive/legacy';\n * import type { NextFn } from '@warp-drive/core/request';\n * import type { RequestContext } from '@warp-drive/core/types/request';\n * import { JSONAPICache } from '@warp-drive/json-api';\n *\n * const LoggingHandler = {\n * request<T>(context: RequestContext, next: NextFn<T>) {\n * // only present when the request was made via `store.request(...)`\n * const store = context.request.store;\n * if (store) {\n * console.log(`[${store.constructor.name}] ${context.request.url ?? ''}`);\n * }\n * return next(context.request);\n * },\n * };\n *\n * export default useLegacyStore({\n * linksMode: false,\n * legacyRequests: true,\n * cache: JSONAPICache,\n * handlers: [LoggingHandler],\n * });\n * ```\n *\n * The trade-off versus the `getOwner`/`setOwner` pattern above is that\n * `context.request.store` is only populated for requests issued via\n * `store.request(...)`; a request made directly against a\n * {@link RequestManager} won't have it set unless the caller supplies it\n * explicitly, so a handler relying on it should treat it as optional (as\n * `LoggingHandler` does above).\n */\nexport function useLegacyStore<T extends Cache>(\n options: LegacyModelStoreSetupOptions<T>,\n StoreKlass?: typeof Store\n): typeof ConfiguredStore<{ cache: T }>;\nexport function useLegacyStore<T extends Cache>(\n options: LegacyModelAndNetworkStoreSetupOptions<T>,\n StoreKlass?: typeof Store\n): typeof ConfiguredStore<{ cache: T }>;\nexport function useLegacyStore<T extends Cache>(\n options: LegacyModelAndNetworkAndRequestStoreSetupOptions<T>,\n StoreKlass?: typeof Store\n): typeof ConfiguredStore<{ cache: T }>;\nexport function useLegacyStore<T extends Cache>(\n options: LegacyStoreSetupOptions<T>,\n StoreKlass: typeof Store = Store\n): typeof ConfiguredStore<{ cache: T }> {\n assert(`If legacyRequests is true, linksMode must be false`, !(options.linksMode && options.legacyRequests));\n // we extend the store to ensure we don't leak our prototype overrides to other stores below.\n class BaseKlass extends StoreKlass {}\n class LegacyConfiguredStore extends BaseKlass {\n constructor(createArgs?: unknown) {\n super(createArgs);\n // installed via defineProperty (rather than a class field/accessor) so that\n // this lazy override of the inherited `requestManager` field does not\n // conflict with the documented pattern of assigning it directly on\n // consumer-authored Store subclasses. The setter preserves the ability\n // to replace `requestManager` outright after construction.\n let requestManager: RequestManager | undefined;\n Object.defineProperty(this, 'requestManager', {\n configurable: true,\n enumerable: true,\n get: (): RequestManager => {\n if (!requestManager) {\n const handlersOption = options.handlers;\n const handlers = typeof handlersOption === 'function' ? handlersOption(this) : (handlersOption ?? []);\n requestManager = new RequestManager()\n .use([options.linksMode ? null : LegacyNetworkHandler, ...handlers, Fetch].filter(Boolean) as Handler[])\n .useCache(CacheHandler);\n }\n return requestManager;\n },\n set: (value: RequestManager): void => {\n requestManager = value;\n },\n });\n }\n\n lifetimes =\n options.policy ??\n new DefaultCachePolicy({\n apiCacheHardExpires: 15 * 60 * 1000, // 15 minutes\n apiCacheSoftExpires: 1 * 30 * 1000, // 30 seconds\n constraints: {\n headers: {\n 'X-WarpDrive-Expires': true,\n 'Cache-Control': true,\n Expires: true,\n },\n },\n });\n\n createSchemaService(): DelegatingSchemaService {\n // prepare for PolarisMode\n const schema = new SchemaService();\n registerDerivations(schema);\n if (options.schemas) schema.registerResources(options.schemas);\n\n if (options.traits) {\n for (const trait of options.traits) {\n schema.registerTrait(trait);\n }\n }\n\n if (options.derivations) {\n for (const derivation of options.derivations) {\n schema.registerDerivation(derivation);\n }\n }\n\n if (options.transformations) {\n for (const transformation of options.transformations) {\n schema.registerTransformation(transformation);\n }\n }\n\n if (options.hashFns) {\n for (const hashFn of options.hashFns) {\n schema.registerHashFn(hashFn);\n }\n }\n\n if (options.CAUTION_MEGA_DANGER_ZONE_extensions) {\n for (const extension of options.CAUTION_MEGA_DANGER_ZONE_extensions) {\n schema.CAUTION_MEGA_DANGER_ZONE_registerExtension(extension);\n }\n }\n\n // Add support for LegacyMode ReactiveResource with Maximal coverage\n // for upgrading from 4.x\n registerLegacyDerivations(schema);\n schema.CAUTION_MEGA_DANGER_ZONE_registerExtension(EmberArrayLikeExtension);\n schema.CAUTION_MEGA_DANGER_ZONE_registerExtension(EmberObjectArrayExtension);\n schema.CAUTION_MEGA_DANGER_ZONE_registerExtension(EmberObjectExtension);\n\n // add support for fragments\n if (options.modelFragments) {\n schema.CAUTION_MEGA_DANGER_ZONE_registerExtension?.(FragmentExtension);\n schema.CAUTION_MEGA_DANGER_ZONE_registerExtension?.(FragmentArrayExtension);\n }\n\n // Add fallback for Models\n return new DelegatingSchemaService(this, schema);\n }\n\n createCache(capabilities: CacheCapabilitiesManager) {\n // oxlint-disable-next-line new-cap\n return new options.cache(capabilities);\n }\n\n instantiateRecord(key: ResourceKey, createArgs?: Record<string, unknown>) {\n if (this.schema.isDelegated(key)) {\n return instantiateModel.call(this, key, createArgs);\n }\n return instantiateRecord(this, key, createArgs);\n }\n\n teardownRecord(record: unknown): void {\n const key = recordIdentifierFor(record);\n if (this.schema.isDelegated(key)) {\n return teardownModel.call(this, record as Model);\n }\n return teardownRecord(record);\n }\n\n modelFor<InstanceType>(type: TypeFromInstance<InstanceType>): ModelSchema<InstanceType>;\n modelFor(type: string): ModelSchema;\n modelFor(type: string): ModelSchema {\n assertType(this.schema, type);\n\n const klass =\n // prefer real models if present\n (modelFor.call(this, type) as ModelSchema) ||\n // fallback to ShimModelClass specific to fragments if fragments support in use\n (options.modelFragments ? (fragmentsModelFor.call(this, type) as ModelSchema) : false) ||\n // fallback to ShimModelClass\n super.modelFor(type);\n\n return klass;\n }\n\n adapterFor(this: Store, modelName: string): MinimumAdapterInterface;\n adapterFor(this: Store, modelName: string, _allowMissing: true): MinimumAdapterInterface | undefined;\n adapterFor(this: Store, modelName: string, _allowMissing?: true): MinimumAdapterInterface | undefined {\n assert(\n `useLegacyStore was setup in linksMode. linksMode assumes that all requests have been migrated away from adapters and serializers.`,\n !options.linksMode\n );\n // @ts-expect-error\n return adapterFor.call(this, modelName, _allowMissing);\n }\n\n serializerFor(this: Store, ...args: Parameters<typeof serializerFor>): ReturnType<typeof serializerFor> {\n assert(\n `useLegacyStore was setup in linksMode. linksMode assumes that all requests have been migrated away from adapters and serializers.`,\n !options.linksMode\n );\n return serializerFor.call(this, ...args);\n }\n\n pushPayload(this: Store, ...args: Parameters<typeof pushPayload>): ReturnType<typeof pushPayload> {\n assert(\n `useLegacyStore was setup in linksMode. linksMode assumes that all requests have been migrated away from adapters and serializers.`,\n !options.linksMode\n );\n return pushPayload.call(this, ...args);\n }\n\n normalize(this: Store, ...args: Parameters<typeof normalize>): ReturnType<typeof normalize> {\n assert(\n `useLegacyStore was setup in linksMode. linksMode assumes that all requests have been migrated away from adapters and serializers.`,\n !options.linksMode\n );\n return normalize.call(this, ...args);\n }\n\n serializeRecord(this: Store, ...args: Parameters<typeof serializeRecord>): ReturnType<typeof serializeRecord> {\n assert(\n `useLegacyStore was setup in linksMode. linksMode assumes that all requests have been migrated away from adapters and serializers.`,\n !options.linksMode\n );\n return serializeRecord.call(this, ...args);\n }\n\n destroy() {\n if (!options.linksMode) {\n cleanup.call(this);\n }\n super.destroy();\n }\n }\n\n if (options.legacyRequests) {\n restoreDeprecatedStoreBehaviors(BaseKlass);\n }\n\n return LegacyConfiguredStore;\n}\n\nfunction assertType(schema: DelegatingSchemaService, type: string) {\n assert(`Expected type ${type} to be a valid ResourceType`, schema.hasResource({ type }));\n}\n"],"mappings":"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"}