@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
@@ -0,0 +1,784 @@
1
+ import { _ as AdapterPayload, g as SerializerOptions, m as Snapshot, p as SnapshotRecordArray, v as MinimumAdapterInterface } from "./compat-BbNNmTM-.js";
2
+ import { Store } from "@warp-drive/core";
3
+ import EmberObject from "@ember/object";
4
+ import Mixin from "@ember/object/mixin";
5
+ import { ModelSchema } from "@warp-drive/core/types";
6
+ //#region src/adapter/-private/build-url-mixin.d.ts
7
+ /**
8
+ * The methods provided by the `BuildURLMixin` mixin (see the exported
9
+ * `BuildURLMixin` {@link Mixin} below).
10
+ *
11
+ * See also {@link MixtBuildURLMixin}, the interface used to type `this`
12
+ * within these methods.
13
+ */
14
+ interface BuildURLMixin {
15
+ /**
16
+ * Builds a URL for a given type and optional ID.
17
+ *
18
+ * By default, it pluralizes the type's name (for example, 'post'
19
+ * becomes 'posts' and 'person' becomes 'people'). To override the
20
+ * pluralization see {@link BuildURLMixin.pathForType | pathForType}.
21
+ *
22
+ * If an ID is specified, it adds the ID to the path generated
23
+ * for the type, separated by a `/`.
24
+ *
25
+ * This overload builds the URL for a `store.findRecord(type, id)` call.
26
+ *
27
+ * @public
28
+ */
29
+ buildURL(this: MixtBuildURLMixin, modelName: string, id: string, snapshot: Snapshot, requestType: "findRecord"): string;
30
+ /**
31
+ * Builds the URL for a `store.findAll(type)` call.
32
+ *
33
+ * @public
34
+ */
35
+ buildURL(this: MixtBuildURLMixin, modelName: string, id: null, snapshot: SnapshotRecordArray, requestType: "findAll"): string;
36
+ /**
37
+ * Builds the URL for a `store.query(type, query)` call.
38
+ *
39
+ * @public
40
+ */
41
+ buildURL(this: MixtBuildURLMixin, modelName: string, id: null, snapshot: null, requestType: "query", query: Record<string, unknown>): string;
42
+ /**
43
+ * Builds the URL for a `store.queryRecord(type, query)` call.
44
+ *
45
+ * @public
46
+ */
47
+ buildURL(this: MixtBuildURLMixin, modelName: string, id: null, snapshot: null, requestType: "queryRecord", query: Record<string, unknown>): string;
48
+ /**
49
+ * Builds the URL for coalescing multiple `store.findRecord(type, id)`
50
+ * records into 1 request when the adapter's `coalesceFindRequests`
51
+ * property is `true`. The `id` and `snapshot` parameters will be
52
+ * arrays of ids and snapshots.
53
+ *
54
+ * @public
55
+ */
56
+ buildURL(this: MixtBuildURLMixin, modelName: string, id: string[], snapshot: Snapshot[], requestType: "findMany"): string;
57
+ /**
58
+ * Builds the URL for fetching an async `hasMany` relationship when a
59
+ * URL is not provided by the server.
60
+ *
61
+ * @public
62
+ */
63
+ buildURL(this: MixtBuildURLMixin, modelName: string, id: string, snapshot: Snapshot, requestType: "findHasMany"): string;
64
+ /**
65
+ * Builds the URL for fetching an async `belongsTo` relationship when a
66
+ * URL is not provided by the server.
67
+ *
68
+ * @public
69
+ */
70
+ buildURL(this: MixtBuildURLMixin, modelName: string, id: string, snapshot: Snapshot, requestType: "findBelongsTo"): string;
71
+ /**
72
+ * Builds the URL for a `record.save()` call when the record was
73
+ * created locally using `store.createRecord()`.
74
+ *
75
+ * @public
76
+ */
77
+ buildURL(this: MixtBuildURLMixin, modelName: string, id: string | null, snapshot: Snapshot, requestType: "createRecord"): string;
78
+ /**
79
+ * Builds the URL for a `record.save()` call when the record has been
80
+ * updated locally.
81
+ *
82
+ * @public
83
+ */
84
+ buildURL(this: MixtBuildURLMixin, modelName: string, id: string, snapshot: Snapshot, requestType: "updateRecord"): string;
85
+ /**
86
+ * Builds the URL for a `record.save()` call when the record has been
87
+ * deleted locally.
88
+ *
89
+ * @public
90
+ */
91
+ buildURL(this: MixtBuildURLMixin, modelName: string, id: string, snapshot: Snapshot, requestType: "deleteRecord"): string;
92
+ /**
93
+ * Builds a URL for a given type and ID without a specific request type.
94
+ *
95
+ * @public
96
+ */
97
+ buildURL(this: MixtBuildURLMixin, modelName: string, id: string, snapshot: Snapshot): string;
98
+ /**
99
+ * @private
100
+ */
101
+ _buildURL(this: MixtBuildURLMixin, modelName: string | null | undefined, id?: string | null): string;
102
+ /**
103
+ * Builds a URL for a `store.findRecord(type, id)` call.
104
+ *
105
+ * @public
106
+ */
107
+ urlForFindRecord(this: MixtBuildURLMixin, id: string, modelName: string, snapshot: Snapshot): string;
108
+ /**
109
+ * Builds a URL for a `store.findAll(type)` call.
110
+ *
111
+ * @public
112
+ */
113
+ urlForFindAll(this: MixtBuildURLMixin, modelName: string, snapshots: SnapshotRecordArray): string;
114
+ /**
115
+ * Builds a URL for a `store.queryRecord(type, query)` call.
116
+ *
117
+ * @public
118
+ */
119
+ urlForQueryRecord(this: MixtBuildURLMixin, query: Record<string, unknown>, modelName: string): string;
120
+ /**
121
+ * Builds a URL for a `store.query(type, query)` call.
122
+ *
123
+ * @public
124
+ */
125
+ urlForQuery(this: MixtBuildURLMixin, query: Record<string, unknown>, modelName: string): string;
126
+ /**
127
+ * Builds a URL for coalescing multiple `store.findRecord(type, id)`
128
+ * records into 1 request when the adapter's `coalesceFindRequests`
129
+ * property is `true`.
130
+ *
131
+ * @public
132
+ */
133
+ urlForFindMany(this: MixtBuildURLMixin, ids: string[], modelName: string, snapshots: Snapshot[]): string;
134
+ /**
135
+ * Builds a URL for fetching an async `hasMany` relationship when a
136
+ * URL is not provided by the server.
137
+ *
138
+ * @public
139
+ */
140
+ urlForFindHasMany(this: MixtBuildURLMixin, id: string, modelName: string, snapshot: Snapshot): string;
141
+ /**
142
+ * Builds a URL for fetching an async `belongsTo` relationship when a
143
+ * URL is not provided by the server.
144
+ *
145
+ * @public
146
+ */
147
+ urlForFindBelongsTo(this: MixtBuildURLMixin, id: string, modelName: string, snapshot: Snapshot): string;
148
+ /**
149
+ * Builds a URL for a `record.save()` call when the record was created
150
+ * locally using `store.createRecord()`.
151
+ *
152
+ * @public
153
+ */
154
+ urlForCreateRecord(this: MixtBuildURLMixin, modelName: string, snapshot: Snapshot): string;
155
+ /**
156
+ * Builds a URL for a `record.save()` call when the record has been
157
+ * updated locally.
158
+ *
159
+ * @public
160
+ */
161
+ urlForUpdateRecord(this: MixtBuildURLMixin, id: string, modelName: string, snapshot: Snapshot): string;
162
+ /**
163
+ * Builds a URL for a `record.save()` call when the record has been
164
+ * deleted locally.
165
+ *
166
+ * @public
167
+ */
168
+ urlForDeleteRecord(this: MixtBuildURLMixin, id: string, modelName: string, snapshot: Snapshot): string;
169
+ /**
170
+ * @private
171
+ */
172
+ urlPrefix(this: MixtBuildURLMixin, path?: string | null, parentURL?: string): string;
173
+ /**
174
+ * Determines the pathname for a given type.
175
+ *
176
+ * By default, it pluralizes the type's name (for example, 'post'
177
+ * becomes 'posts' and 'person' becomes 'people').
178
+ *
179
+ * @public
180
+ */
181
+ pathForType(this: MixtBuildURLMixin, modelName: string): string;
182
+ }
183
+ interface MixtBuildURLMixin extends BuildURLMixin {
184
+ host: string | null;
185
+ namespace: string | null;
186
+ }
187
+ /**
188
+ * The `Mixin` implementation of {@link BuildURLMixin}, ready to be applied
189
+ * to an `EmberObject` subclass such as an `Adapter`.
190
+ *
191
+ * @public
192
+ */
193
+ declare const BuildURLMixin: Mixin;
194
+ //#endregion
195
+ //#region src/adapter.d.ts
196
+ /**
197
+ An adapter is an object that receives requests from a store and
198
+ translates them into the appropriate action to take against your
199
+ persistence layer. The persistence layer is usually an HTTP API but
200
+ may be anything, such as the browser's local storage. Typically the
201
+ adapter is not invoked directly instead its functionality is accessed
202
+ through the `store`.
203
+
204
+ > ⚠️ CAUTION you likely want the docs for {@link MinimumAdapterInterface}
205
+ > as extending this abstract class is unnecessary.
206
+
207
+ ### Creating an Adapter
208
+
209
+ Create a new subclass of `Adapter` in the `app/adapters` folder:
210
+
211
+ ```js [app/adapters/application.js]
212
+ import { Adapter } from '@warp-drive/legacy/adapter';
213
+
214
+ export default class extends Adapter {
215
+ // ...your code here
216
+ }
217
+ ```
218
+
219
+ Model-specific adapters can be created by putting your adapter
220
+ class in an `app/adapters/` + `model-name` + `.js` file of the application.
221
+
222
+ ```js [app/adapters/post.js]
223
+ import { Adapter } from '@warp-drive/legacy/adapter';
224
+
225
+ export default class extends Adapter {
226
+ // ...Post-specific adapter code goes here
227
+ }
228
+ ```
229
+
230
+ `Adapter` is an abstract base class that you should override in your
231
+ application to customize it for your backend. The minimum set of methods
232
+ that you should implement is:
233
+
234
+ * `findRecord()`
235
+ * `createRecord()`
236
+ * `updateRecord()`
237
+ * `deleteRecord()`
238
+ * `findAll()`
239
+ * `query()`
240
+
241
+ To improve the network performance of your application, you can optimize
242
+ your adapter by overriding these lower-level methods:
243
+
244
+ * `findMany()`
245
+
246
+
247
+ For an example of the implementation, see `RESTAdapter`, the
248
+ included REST adapter.
249
+
250
+ @public
251
+ */
252
+ declare class Adapter extends EmberObject implements MinimumAdapterInterface {
253
+ /**
254
+ * The Store service instance that owns this Adapter.
255
+ */
256
+ store: Store;
257
+ /**
258
+ * @private
259
+ */
260
+ _coalesceFindRequests: boolean;
261
+ /**
262
+ The `findRecord()` method is invoked when the store is asked for a record that
263
+ has not previously been loaded. In response to `findRecord()` being called, you
264
+ should query your persistence layer for a record with the given ID. The `findRecord`
265
+ method should return a promise that will resolve to a JavaScript object that will be
266
+ normalized by the serializer.
267
+
268
+ Here is an example of the `findRecord` implementation:
269
+
270
+ ```js [app/adapters/application.js]
271
+ import { Adapter } from '@warp-drive/legacy/adapter';
272
+ import RSVP from 'RSVP';
273
+ import $ from 'jquery';
274
+
275
+ export default class ApplicationAdapter extends Adapter {
276
+ findRecord(store, type, id, snapshot) {
277
+ return new RSVP.Promise(function(resolve, reject) {
278
+ $.getJSON(`/${type.modelName}/${id}`).then(function(data) {
279
+ resolve(data);
280
+ }, function(jqXHR) {
281
+ reject(jqXHR);
282
+ });
283
+ });
284
+ }
285
+ }
286
+ ```
287
+
288
+ @public
289
+ */
290
+ findRecord(store: Store, type: ModelSchema, id: string, snapshot: Snapshot): Promise<AdapterPayload>;
291
+ /**
292
+ The `findAll()` method is used to retrieve all records for a given type.
293
+
294
+ Example
295
+
296
+ ```js [app/adapters/application.js]
297
+ import { Adapter } from '@warp-drive/legacy/adapter';
298
+ import RSVP from 'RSVP';
299
+ import $ from 'jquery';
300
+
301
+ export default class ApplicationAdapter extends Adapter {
302
+ findAll(store, type) {
303
+ return new RSVP.Promise(function(resolve, reject) {
304
+ $.getJSON(`/${type.modelName}`).then(function(data) {
305
+ resolve(data);
306
+ }, function(jqXHR) {
307
+ reject(jqXHR);
308
+ });
309
+ });
310
+ }
311
+ }
312
+ ```
313
+
314
+ @param neverSet a value is never provided to this argument
315
+ @public
316
+ */
317
+ findAll(store: Store, type: ModelSchema, neverSet: null, snapshotRecordArray: SnapshotRecordArray): Promise<AdapterPayload>;
318
+ /**
319
+ This method is called when you call `query` on the store.
320
+
321
+ Example
322
+
323
+ ```js [app/adapters/application.js]
324
+ import { Adapter } from '@warp-drive/legacy/adapter';
325
+ import RSVP from 'RSVP';
326
+ import $ from 'jquery';
327
+
328
+ export default class ApplicationAdapter extends Adapter {
329
+ query(store, type, query) {
330
+ return new RSVP.Promise(function(resolve, reject) {
331
+ $.getJSON(`/${type.modelName}`, query).then(function(data) {
332
+ resolve(data);
333
+ }, function(jqXHR) {
334
+ reject(jqXHR);
335
+ });
336
+ });
337
+ }
338
+ }
339
+ ```
340
+
341
+ @public
342
+ */
343
+ query(store: Store, type: ModelSchema, query: Record<string, unknown>): Promise<AdapterPayload>;
344
+ /**
345
+ The `queryRecord()` method is invoked when the store is asked for a single
346
+ record through a query object.
347
+
348
+ In response to `queryRecord()` being called, you should always fetch fresh
349
+ data. Once found, you can asynchronously call the store's `push()` method
350
+ to push the record into the store.
351
+
352
+ Here is an example `queryRecord` implementation:
353
+
354
+ Example
355
+
356
+ ```js [app/adapters/application.js]
357
+ import { Adapter, BuildURLMixin } from '@warp-drive/legacy/adapter';
358
+
359
+ export default class ApplicationAdapter extends Adapter.extend(BuildURLMixin) {
360
+ queryRecord(store, type, query) {
361
+ return fetch(`/${type.modelName}`, { body: JSON.stringify(query) })
362
+ .then((response) => response.json());
363
+ }
364
+ }
365
+ ```
366
+
367
+ @public
368
+ */
369
+ queryRecord(store: Store, type: ModelSchema, query: Record<string, unknown>, adapterOptions: object): Promise<AdapterPayload>;
370
+ /**
371
+ If the globally unique IDs for your records should be generated on the client,
372
+ implement the `generateIdForRecord()` method. This method will be invoked
373
+ each time you create a new record, and the value returned from it will be
374
+ assigned to the record's `primaryKey`.
375
+
376
+ Most traditional REST-like HTTP APIs will not use this method. Instead, the ID
377
+ of the record will be set by the server, and your adapter will update the store
378
+ with the new ID when it calls `didCreateRecord()`. Only implement this method if
379
+ you intend to generate record IDs on the client-side.
380
+
381
+ The `generateIdForRecord()` method will be invoked with the requesting store as
382
+ the first parameter and the newly created record as the second parameter:
383
+
384
+ ```javascript
385
+ import { Adapter } from '@warp-drive/legacy/adapter';
386
+ import { v4 } from 'uuid';
387
+
388
+ export default class ApplicationAdapter extends Adapter {
389
+ generateIdForRecord(store, type, inputProperties) {
390
+ return v4();
391
+ }
392
+ }
393
+ ```
394
+
395
+ @param {Store} store
396
+ @param {Model} type the Model class of the record
397
+ @param {Object} inputProperties a hash of properties to set on the
398
+ newly created record.
399
+ @return {(String|Number)} id
400
+ @public
401
+ */
402
+ /**
403
+ Proxies to the serializer's `serialize` method.
404
+
405
+ Example
406
+
407
+ ```js [app/adapters/application.js]
408
+ import { Adapter } from '@warp-drive/legacy/adapter';
409
+
410
+ export default class ApplicationAdapter extends Adapter {
411
+ createRecord(store, type, snapshot) {
412
+ let data = this.serialize(snapshot, { includeId: true });
413
+ let url = `/${type.modelName}`;
414
+
415
+ // ...
416
+ }
417
+ }
418
+ ```
419
+
420
+ @public
421
+ */
422
+ serialize(snapshot: Snapshot, options: SerializerOptions): Record<string, unknown>;
423
+ /**
424
+ Implement this method in a subclass to handle the creation of
425
+ new records.
426
+
427
+ Serializes the record and sends it to the server.
428
+
429
+ Example
430
+
431
+ ```js [app/adapters/application.js]
432
+ import { Adapter } from '@warp-drive/legacy/adapter';
433
+ import RSVP from 'RSVP';
434
+ import $ from 'jquery';
435
+
436
+ export default class ApplicationAdapter extends Adapter {
437
+ createRecord(store, type, snapshot) {
438
+ let data = this.serialize(snapshot, { includeId: true });
439
+
440
+ return new RSVP.Promise(function (resolve, reject) {
441
+ $.ajax({
442
+ type: 'POST',
443
+ url: `/${type.modelName}`,
444
+ dataType: 'json',
445
+ data: data
446
+ }).then(function (data) {
447
+ resolve(data);
448
+ }, function (jqXHR) {
449
+ jqXHR.then = null; // tame jQuery's ill mannered promises
450
+ reject(jqXHR);
451
+ });
452
+ });
453
+ }
454
+ }
455
+ ```
456
+
457
+ @public
458
+ */
459
+ createRecord(store: Store, type: ModelSchema, snapshot: Snapshot): Promise<AdapterPayload>;
460
+ /**
461
+ Implement this method in a subclass to handle the updating of
462
+ a record.
463
+
464
+ Serializes the record update and sends it to the server.
465
+
466
+ The updateRecord method is expected to return a promise that will
467
+ resolve with the serialized record. This allows the backend to
468
+ inform the WarpDrive store the current state of this record after
469
+ the update. If it is not possible to return a serialized record
470
+ the updateRecord promise can also resolve with `undefined` and the
471
+ WarpDrive store will assume all of the updates were successfully
472
+ applied on the backend.
473
+
474
+ Example
475
+
476
+ ```js [app/adapters/application.js]
477
+ import { Adapter } from '@warp-drive/legacy/adapter';
478
+ import RSVP from 'RSVP';
479
+ import $ from 'jquery';
480
+
481
+ export default class ApplicationAdapter extends Adapter {
482
+ updateRecord(store, type, snapshot) {
483
+ let data = this.serialize(snapshot, { includeId: true });
484
+ let id = snapshot.id;
485
+
486
+ return new RSVP.Promise(function(resolve, reject) {
487
+ $.ajax({
488
+ type: 'PUT',
489
+ url: `/${type.modelName}/${id}`,
490
+ dataType: 'json',
491
+ data: data
492
+ }).then(function(data) {
493
+ resolve(data);
494
+ }, function(jqXHR) {
495
+ jqXHR.then = null; // tame jQuery's ill mannered promises
496
+ reject(jqXHR);
497
+ });
498
+ });
499
+ }
500
+ }
501
+ ```
502
+
503
+ @param {Store} store
504
+ @param {Model} type the Model class of the record
505
+ @param {Snapshot} snapshot
506
+ @return {Promise} promise
507
+ @public
508
+ */
509
+ updateRecord(store: Store, type: ModelSchema, snapshot: Snapshot): Promise<AdapterPayload>;
510
+ /**
511
+ Implement this method in a subclass to handle the deletion of
512
+ a record.
513
+
514
+ Sends a delete request for the record to the server.
515
+
516
+ Example
517
+
518
+ ```js [app/adapters/application.js]
519
+ import { Adapter } from '@warp-drive/legacy/adapter';
520
+ import RSVP from 'RSVP';
521
+ import $ from 'jquery';
522
+
523
+ export default class ApplicationAdapter extends Adapter {
524
+ deleteRecord(store, type, snapshot) {
525
+ let data = this.serialize(snapshot, { includeId: true });
526
+ let id = snapshot.id;
527
+
528
+ return new RSVP.Promise(function(resolve, reject) {
529
+ $.ajax({
530
+ type: 'DELETE',
531
+ url: `/${type.modelName}/${id}`,
532
+ dataType: 'json',
533
+ data: data
534
+ }).then(function(data) {
535
+ resolve(data)
536
+ }, function(jqXHR) {
537
+ jqXHR.then = null; // tame jQuery's ill mannered promises
538
+ reject(jqXHR);
539
+ });
540
+ });
541
+ }
542
+ }
543
+ ```
544
+
545
+ @param {Store} store
546
+ @param {Model} type the Model class of the record
547
+ @param {Snapshot} snapshot
548
+ @return {Promise} promise
549
+ @public
550
+ */
551
+ deleteRecord(store: Store, type: ModelSchema, snapshot: Snapshot): Promise<AdapterPayload>;
552
+ /**
553
+ By default the store will try to coalesce all `findRecord` calls within the same runloop
554
+ into as few requests as possible by calling groupRecordsForFindMany and passing it into a findMany call.
555
+ You can opt out of this behaviour by either not implementing the findMany hook or by setting
556
+ coalesceFindRequests to false.
557
+
558
+ @property coalesceFindRequests
559
+ @public
560
+ @type {Boolean}
561
+ */
562
+ get coalesceFindRequests(): boolean;
563
+ set coalesceFindRequests(value: boolean);
564
+ /**
565
+ The store will call `findMany` instead of multiple `findRecord`
566
+ requests to find multiple records at once if coalesceFindRequests
567
+ is true.
568
+
569
+ ```js [app/adapters/application.js]
570
+ import { Adapter } from '@warp-drive/legacy/adapter';
571
+ import RSVP from 'RSVP';
572
+ import $ from 'jquery';
573
+
574
+ export default class ApplicationAdapter extends Adapter {
575
+ findMany(store, type, ids, snapshots) {
576
+ return new RSVP.Promise(function(resolve, reject) {
577
+ $.ajax({
578
+ type: 'GET',
579
+ url: `/${type.modelName}/`,
580
+ dataType: 'json',
581
+ data: { filter: { id: ids.join(',') } }
582
+ }).then(function(data) {
583
+ resolve(data);
584
+ }, function(jqXHR) {
585
+ jqXHR.then = null; // tame jQuery's ill mannered promises
586
+ reject(jqXHR);
587
+ });
588
+ });
589
+ }
590
+ }
591
+ ```
592
+
593
+ @param {Store} store
594
+ @param {Model} type the Model class of the records
595
+ @param {Array} ids
596
+ @param {Array} snapshots
597
+ @return {Promise} promise
598
+ @public
599
+ */
600
+ /**
601
+ Organize records into groups, each of which is to be passed to separate
602
+ calls to `findMany`.
603
+
604
+ For example, if your API has nested URLs that depend on the parent, you will
605
+ want to group records by their parent.
606
+
607
+ The default implementation returns the records as a single group.
608
+
609
+ @public
610
+ @param {Store} store
611
+ @param {Array} snapshots
612
+ @return {Array} an array of arrays of records, each of which is to be
613
+ loaded separately by `findMany`.
614
+ */
615
+ groupRecordsForFindMany(store: Store, snapshots: Snapshot[]): Snapshot[][];
616
+ /**
617
+ This method is used by the store to determine if the store should
618
+ reload a record from the adapter when a record is requested by
619
+ `store.findRecord`.
620
+
621
+ If this method returns `true`, the store will re-fetch a record from
622
+ the adapter. If this method returns `false`, the store will resolve
623
+ immediately using the cached record.
624
+
625
+ For example, if you are building an events ticketing system, in which users
626
+ can only reserve tickets for 20 minutes at a time, and want to ensure that
627
+ in each route you have data that is no more than 20 minutes old you could
628
+ write:
629
+
630
+ ```javascript
631
+ shouldReloadRecord(store, ticketSnapshot) {
632
+ let lastAccessedAt = ticketSnapshot.attr('lastAccessedAt');
633
+ let timeDiff = moment().diff(lastAccessedAt, 'minutes');
634
+
635
+ if (timeDiff > 20) {
636
+ return true;
637
+ } else {
638
+ return false;
639
+ }
640
+ }
641
+ ```
642
+
643
+ This method would ensure that whenever you do `store.findRecord('ticket',
644
+ id)` you will always get a ticket that is no more than 20 minutes old. In
645
+ case the cached version is more than 20 minutes old, `findRecord` will not
646
+ resolve until you fetched the latest version.
647
+
648
+ By default this hook returns `false`, as most UIs should not block user
649
+ interactions while waiting on data update.
650
+
651
+ Note that, with default settings, `shouldBackgroundReloadRecord` will always
652
+ re-fetch the records in the background even if `shouldReloadRecord` returns
653
+ `false`. You can override `shouldBackgroundReloadRecord` if this does not
654
+ suit your use case.
655
+
656
+ @since 1.13.0
657
+ @param {Store} store
658
+ @param {Snapshot} snapshot
659
+ @return {Boolean}
660
+ @public
661
+ */
662
+ shouldReloadRecord(store: Store, snapshot: Snapshot): boolean;
663
+ /**
664
+ This method is used by the store to determine if the store should
665
+ reload all records from the adapter when records are requested by
666
+ `store.findAll`.
667
+
668
+ If this method returns `true`, the store will re-fetch all records from
669
+ the adapter. If this method returns `false`, the store will resolve
670
+ immediately using the cached records.
671
+
672
+ For example, if you are building an events ticketing system, in which users
673
+ can only reserve tickets for 20 minutes at a time, and want to ensure that
674
+ in each route you have data that is no more than 20 minutes old you could
675
+ write:
676
+
677
+ ```javascript
678
+ shouldReloadAll(store, snapshotArray) {
679
+ let snapshots = snapshotArray.snapshots();
680
+
681
+ return snapshots.any((ticketSnapshot) => {
682
+ let lastAccessedAt = ticketSnapshot.attr('lastAccessedAt');
683
+ let timeDiff = moment().diff(lastAccessedAt, 'minutes');
684
+
685
+ if (timeDiff > 20) {
686
+ return true;
687
+ } else {
688
+ return false;
689
+ }
690
+ });
691
+ }
692
+ ```
693
+
694
+ This method would ensure that whenever you do `store.findAll('ticket')` you
695
+ will always get a list of tickets that are no more than 20 minutes old. In
696
+ case a cached version is more than 20 minutes old, `findAll` will not
697
+ resolve until you fetched the latest versions.
698
+
699
+ By default, this method returns `true` if the passed `snapshotRecordArray`
700
+ is empty (meaning that there are no records locally available yet),
701
+ otherwise, it returns `false`.
702
+
703
+ Note that, with default settings, `shouldBackgroundReloadAll` will always
704
+ re-fetch all the records in the background even if `shouldReloadAll` returns
705
+ `false`. You can override `shouldBackgroundReloadAll` if this does not suit
706
+ your use case.
707
+
708
+ @since 1.13.0
709
+ @param {Store} store
710
+ @param {SnapshotRecordArray} snapshotRecordArray
711
+ @return {Boolean}
712
+ @public
713
+ */
714
+ shouldReloadAll(store: Store, snapshotRecordArray: SnapshotRecordArray): boolean;
715
+ /**
716
+ This method is used by the store to determine if the store should
717
+ reload a record after the `store.findRecord` method resolves a
718
+ cached record.
719
+
720
+ This method is *only* checked by the store when the store is
721
+ returning a cached record.
722
+
723
+ If this method returns `true` the store will re-fetch a record from
724
+ the adapter.
725
+
726
+ For example, if you do not want to fetch complex data over a mobile
727
+ connection, or if the network is down, you can implement
728
+ `shouldBackgroundReloadRecord` as follows:
729
+
730
+ ```javascript
731
+ shouldBackgroundReloadRecord(store, snapshot) {
732
+ let { downlink, effectiveType } = navigator.connection;
733
+
734
+ return downlink > 0 && effectiveType === '4g';
735
+ }
736
+ ```
737
+
738
+ By default, this hook returns `true` so the data for the record is updated
739
+ in the background.
740
+
741
+ @since 1.13.0
742
+ @param {Store} store
743
+ @param {Snapshot} snapshot
744
+ @return {Boolean}
745
+ @public
746
+ */
747
+ shouldBackgroundReloadRecord(store: Store, snapshot: Snapshot): boolean;
748
+ /**
749
+ This method is used by the store to determine if the store should
750
+ reload a record array after the `store.findAll` method resolves
751
+ with a cached record array.
752
+
753
+ This method is *only* checked by the store when the store is
754
+ returning a cached record array.
755
+
756
+ If this method returns `true` the store will re-fetch all records
757
+ from the adapter.
758
+
759
+ For example, if you do not want to fetch complex data over a mobile
760
+ connection, or if the network is down, you can implement
761
+ `shouldBackgroundReloadAll` as follows:
762
+
763
+ ```javascript
764
+ shouldBackgroundReloadAll(store, snapshotArray) {
765
+ let { downlink, effectiveType } = navigator.connection;
766
+
767
+ return downlink > 0 && effectiveType === '4g';
768
+ }
769
+ ```
770
+
771
+ By default this method returns `true`, indicating that a background reload
772
+ should always be triggered.
773
+
774
+ @since 1.13.0
775
+ @param {Store} store
776
+ @param {SnapshotRecordArray} snapshotRecordArray
777
+ @return {Boolean}
778
+ @public
779
+ */
780
+ shouldBackgroundReloadAll(store: Store, snapshotRecordArray: SnapshotRecordArray): boolean;
781
+ }
782
+ //#endregion
783
+ export { BuildURLMixin as n, MixtBuildURLMixin as r, Adapter as t };
784
+ //# sourceMappingURL=adapter-CARrK3-8.d.ts.map