@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,336 +1,450 @@
1
- import { getOrSetGlobal } from '@warp-drive/core/types/-private';
2
- import { macroCondition, getGlobalConfig } from '@embroider/macros';
3
-
4
- /* eslint-disable @typescript-eslint/no-unsafe-assignment */
5
- /* eslint-disable @typescript-eslint/no-unsafe-member-access */
6
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
7
-
1
+ import { getOrSetGlobal } from "@warp-drive/core/types/-private";
2
+ import { getGlobalConfig, macroCondition } from "@embroider/macros";
3
+
4
+ //#region src/adapter/error.ts
5
+ function _AdapterError(errors, message = "Adapter operation failed") {
6
+ this.isAdapterError = true;
7
+ const error = Error.call(this, message);
8
+ if (error) {
9
+ this.stack = error.stack;
10
+ this.description = error.description;
11
+ this.fileName = error.fileName;
12
+ this.lineNumber = error.lineNumber;
13
+ this.message = error.message;
14
+ this.name = error.name;
15
+ this.number = error.number;
16
+ }
17
+ this.errors = errors || [{
18
+ title: "Adapter Error",
19
+ detail: message
20
+ }];
21
+ }
8
22
  /**
9
- ## Overview
10
-
11
- :::danger
12
- ⚠️ **This is LEGACY documentation** for a feature that is no longer encouraged to be used.
13
- If starting a new app or thinking of implementing a new adapter, consider writing a
14
- {@link Handler} instead to be used with the {@link RequestManager}
15
- :::
16
-
17
- An `AdapterError` is used by an adapter to signal that an error occurred
18
- during a request to an external API. It indicates a generic error, and
19
- subclasses are used to indicate specific error states.
20
-
21
- To create a custom error to signal a specific error state in communicating
22
- with an external API, extend the `AdapterError`. For example, if the
23
- external API exclusively used HTTP `503 Service Unavailable` to indicate
24
- it was closed for maintenance:
25
-
26
- ```js [app/adapters/maintenance-error.js]
27
- import AdapterError from '@warp-drive/legacy/adapter/error';
28
-
29
- export default AdapterError.extend({ message: "Down for maintenance." });
30
- ```
31
-
32
- This error would then be returned by an adapter's `handleResponse` method:
33
-
34
- ```js [app/adapters/application.js]
35
- import JSONAPIAdapter from '@warp-drive/legacy/adapter/json-api';
36
- import MaintenanceError from './maintenance-error';
37
-
38
- export default class ApplicationAdapter extends JSONAPIAdapter {
39
- handleResponse(status) {
40
- if (503 === status) {
41
- return new MaintenanceError();
42
- }
43
-
44
- return super.handleResponse(...arguments);
45
- }
46
- }
47
- ```
48
-
49
- And can then be detected in an application and used to send the user to an
50
- `under-maintenance` route:
51
-
52
- ```js [app/routes/application.js]
53
- import MaintenanceError from '../adapters/maintenance-error';
54
-
55
- export default class ApplicationRoute extends Route {
56
- actions: {
57
- error(error, transition) {
58
- if (error instanceof MaintenanceError) {
59
- this.transitionTo('under-maintenance');
60
- return;
61
- }
62
-
63
- // ...other error handling logic
64
- }
65
- }
66
- }
67
- ```
68
-
69
- @class AdapterError
70
- @public
23
+ * The shape of the errors thrown/returned by {@link AdapterError} and its subclasses.
24
+ */
25
+ /**
26
+ * The static interface shared by {@link AdapterError} and its subclasses,
27
+ * allowing further subclassing via {@link AdapterRequestErrorConstructor.extend | extend}.
71
28
  */
72
- function _AdapterError(errors, message = 'Adapter operation failed') {
73
- this.isAdapterError = true;
74
- const error = Error.call(this, message);
75
- if (error) {
76
- this.stack = error.stack;
77
- // @ts-expect-error untyped
78
- this.description = error.description;
79
- // @ts-expect-error untyped
80
- this.fileName = error.fileName;
81
- // @ts-expect-error untyped
82
- this.lineNumber = error.lineNumber;
83
- this.message = error.message;
84
- this.name = error.name;
85
- // @ts-expect-error untyped
86
- this.number = error.number;
87
- }
88
- this.errors = errors || [{
89
- title: 'Adapter Error',
90
- detail: message
91
- }];
92
- }
93
29
  _AdapterError.prototype = Object.create(Error.prototype);
94
- _AdapterError.prototype.code = 'AdapterError';
30
+ _AdapterError.prototype.code = "AdapterError";
95
31
  _AdapterError.extend = extendFn(_AdapterError);
96
- const AdapterError = getOrSetGlobal('AdapterError', _AdapterError);
32
+ /**
33
+ * The {@link AdapterRequestError} shape thrown by the {@link AdapterError} constructor.
34
+ */
35
+ /**
36
+ * :::danger
37
+ * ⚠️ **This is LEGACY documentation** for a feature that is no longer encouraged to be used.
38
+ * If starting a new app or thinking of implementing a new adapter, consider writing a
39
+ * {@link Handler} instead to be used with the {@link RequestManager}
40
+ * :::
41
+ *
42
+ * An `AdapterError` is used by an adapter to signal that an error occurred
43
+ * during a request to an external API. It indicates a generic error, and
44
+ * subclasses are used to indicate specific error states.
45
+ *
46
+ * To create a custom error to signal a specific error state in communicating
47
+ * with an external API, extend the `AdapterError`. For example, if the
48
+ * external API exclusively used HTTP `503 Service Unavailable` to indicate
49
+ * it was closed for maintenance:
50
+ *
51
+ * ```js [app/adapters/maintenance-error.js]
52
+ * import AdapterError from '@warp-drive/legacy/adapter/error';
53
+ *
54
+ * export default AdapterError.extend({ message: "Down for maintenance." });
55
+ * ```
56
+ *
57
+ * This error would then be returned by an adapter's `handleResponse` method:
58
+ *
59
+ * ```js [app/adapters/application.js]
60
+ * import JSONAPIAdapter from '@warp-drive/legacy/adapter/json-api';
61
+ * import MaintenanceError from './maintenance-error';
62
+ *
63
+ * export default class ApplicationAdapter extends JSONAPIAdapter {
64
+ * handleResponse(status) {
65
+ * if (503 === status) {
66
+ * return new MaintenanceError();
67
+ * }
68
+ *
69
+ * return super.handleResponse(...arguments);
70
+ * }
71
+ * }
72
+ * ```
73
+ *
74
+ * And can then be detected in an application and used to send the user to an
75
+ * `under-maintenance` route:
76
+ *
77
+ * ```js [app/routes/application.js]
78
+ * import MaintenanceError from '../adapters/maintenance-error';
79
+ *
80
+ * export default class ApplicationRoute extends Route {
81
+ * actions: {
82
+ * error(error, transition) {
83
+ * if (error instanceof MaintenanceError) {
84
+ * this.transitionTo('under-maintenance');
85
+ * return;
86
+ * }
87
+ *
88
+ * // ...other error handling logic
89
+ * }
90
+ * }
91
+ * }
92
+ * ```
93
+ *
94
+ * ### Signaling an Error Without Extending `AdapterError`
95
+ *
96
+ * Extending `AdapterError` (or one of its subclasses) is a convenience, not
97
+ * a requirement. WarpDrive only inspects an error for the {@link AdapterRequestError}
98
+ * shape: an `isAdapterError` flag, a `code`, and an {json:api}-formatted
99
+ * `errors` array. Any object satisfying that shape — including a plain
100
+ * `Error` with those properties attached — will be handled identically to
101
+ * an instance created via `new AdapterError()` or one of its subclasses.
102
+ *
103
+ * This is useful when you'd rather not introduce a class hierarchy, or
104
+ * when the error needs to be constructed from data you don't control
105
+ * (for example, re-throwing an error surfaced by a third-party library):
106
+ *
107
+ * ```js [app/adapters/application.js]
108
+ * import JSONAPIAdapter from '@warp-drive/legacy/adapter/json-api';
109
+ *
110
+ * export default class ApplicationAdapter extends JSONAPIAdapter {
111
+ * handleResponse(status, headers, payload) {
112
+ * if (status === 503) {
113
+ * const error = new Error('Down for maintenance.');
114
+ * error.isAdapterError = true;
115
+ * error.code = 'MaintenanceError';
116
+ * error.errors = [{ title: 'Service Unavailable', detail: 'Down for maintenance.' }];
117
+ * return error;
118
+ * }
119
+ *
120
+ * return super.handleResponse(status, headers, payload);
121
+ * }
122
+ * }
123
+ * ```
124
+ *
125
+ * Because `code` is just a string you control, `error instanceof AdapterError`
126
+ * checks won't match a plain object built this way — consumers should
127
+ * instead branch on `error.isAdapterError && error.code === 'MaintenanceError'`,
128
+ * or on whichever of the {@link AdapterError} subclasses' `code` values
129
+ * (e.g. `'InvalidError'`, `'NotFoundError'`) the error's `code` matches.
130
+ *
131
+ * @public
132
+ */
133
+ const AdapterError = getOrSetGlobal("AdapterError", _AdapterError);
97
134
  function extendFn(ErrorClass) {
98
- return function ({
99
- message: defaultMessage
100
- } = {}) {
101
- return extend(ErrorClass, defaultMessage);
102
- };
135
+ return function({ message: defaultMessage } = {}) {
136
+ return extend(ErrorClass, defaultMessage);
137
+ };
103
138
  }
104
139
  function extend(ParentErrorClass, defaultMessage) {
105
- const ErrorClass = function (errors, message) {
106
- macroCondition(getGlobalConfig().WarpDrive.env.DEBUG) ? (test => {
107
- if (!test) {
108
- throw new Error('`AdapterError` expects json-api formatted errors array.');
109
- }
110
- })(Array.isArray(errors || [])) : {};
111
- ParentErrorClass.call(this, errors, message || defaultMessage);
112
- };
113
- // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
114
- ErrorClass.prototype = Object.create(ParentErrorClass.prototype);
115
- ErrorClass.extend = extendFn(ErrorClass);
116
- return ErrorClass;
140
+ const ErrorClass = function(errors, message) {
141
+ macroCondition(getGlobalConfig().WarpDrive.env.DEBUG) && ((test) => {
142
+ if (!test) throw new Error("`AdapterError` expects json-api formatted errors array.");
143
+ })(Array.isArray(errors || []));
144
+ ParentErrorClass.call(this, errors, message || defaultMessage);
145
+ };
146
+ ErrorClass.prototype = Object.create(ParentErrorClass.prototype);
147
+ ErrorClass.extend = extendFn(ErrorClass);
148
+ return ErrorClass;
117
149
  }
118
-
119
150
  /**
120
- A `InvalidError` is used by an adapter to signal the external API
121
- was unable to process a request because the content was not
122
- semantically correct or meaningful per the API. Usually, this means a
123
- record failed some form of server-side validation. When a promise
124
- from an adapter is rejected with a `InvalidError` the record will
125
- transition to the `invalid` state and the errors will be set to the
126
- `errors` property on the record.
127
-
128
- For WarpDrive to correctly map errors to their corresponding
129
- properties on the model, WarpDrive expects each error to be
130
- a valid JSON-API error object with a `source/pointer` that matches
131
- the property name. For example, if you had a Post model that
132
- looked like this.
133
-
134
- ```js [app/models/post.js]
135
- import { Model, attr } from '@warp-drive/legacy/model';
136
-
137
- export default class PostModel extends Model {
138
- @attr('string') title;
139
- @attr('string') content;
140
- }
141
- ```
142
-
143
- To show an error from the server related to the `title` and
144
- `content` properties your adapter could return a promise that
145
- rejects with a `InvalidError` object that looks like this:
146
-
147
- ```js [app/adapters/post.js]
148
- import RSVP from 'RSVP';
149
- import RESTAdapter from '@warp-drive/legacy/adapter/rest';
150
- import { InvalidError } from '@warp-drive/legacy/adapter/error';
151
-
152
- export default class ApplicationAdapter extends RESTAdapter {
153
- updateRecord() {
154
- // Fictional adapter that always rejects
155
- return RSVP.reject(new InvalidError([
156
- {
157
- detail: 'Must be unique',
158
- source: { pointer: '/data/attributes/title' }
159
- },
160
- {
161
- detail: 'Must not be blank',
162
- source: { pointer: '/data/attributes/content'}
163
- }
164
- ]));
165
- }
166
- }
167
- ```
168
-
169
- Your backend may use different property names for your records the
170
- store will attempt to extract and normalize the errors using the
171
- serializer's `extractErrors` method before the errors get added to
172
- the model. As a result, it is safe for the `InvalidError` to
173
- wrap the error payload unaltered.
174
-
175
- @class InvalidError
176
- @public
151
+ * The {@link AdapterRequestError} shape thrown by the {@link InvalidError} constructor.
177
152
  */
178
- // TODO @deprecate extractError documentation
179
-
180
- const InvalidError = getOrSetGlobal('InvalidError', extend(AdapterError, 'The adapter rejected the commit because it was invalid'));
181
- InvalidError.prototype.code = 'InvalidError';
182
-
183
153
  /**
184
- A `TimeoutError` is used by an adapter to signal that a request
185
- to the external API has timed out. I.e. no response was received from
186
- the external API within an allowed time period.
187
-
188
- An example use case would be to warn the user to check their internet
189
- connection if an adapter operation has timed out:
190
-
191
- ```js [app/routes/application.js]
192
- import { TimeoutError } from '@warp-drive/legacy/adapter/error';
193
-
194
- export default class ApplicationRoute extends Route {
195
- @action
196
- error(error, transition) {
197
- if (error instanceof TimeoutError) {
198
- // alert the user
199
- alert('Are you still connected to the Internet?');
200
- return;
201
- }
202
-
203
- // ...other error handling logic
204
- }
205
- }
206
- ```
207
-
208
- @class TimeoutError
209
- @public
154
+ * An `InvalidError` is used by an adapter to signal that the external API
155
+ * was unable to process a request because the content was not semantically
156
+ * correct or meaningful per the API. Usually, this means a record failed
157
+ * some form of server-side validation. When a promise from an adapter is
158
+ * rejected with an `InvalidError` the record will transition to the
159
+ * `invalid` state and the errors will be set to the `errors` property on
160
+ * the record.
161
+ *
162
+ * For WarpDrive to correctly map errors to their corresponding properties
163
+ * on the model, WarpDrive expects each error to be a valid {json:api} error
164
+ * object with a `source.pointer` that matches the property name. For
165
+ * example, if you had a `Post` model that looked like this:
166
+ *
167
+ * ```js [app/models/post.js]
168
+ * import { Model, attr } from '@warp-drive/legacy/model';
169
+ *
170
+ * export default class PostModel extends Model {
171
+ * @attr('string') title;
172
+ * @attr('string') content;
173
+ * }
174
+ * ```
175
+ *
176
+ * To show an error from the server related to the `title` and `content`
177
+ * properties your adapter could return a promise that rejects with an
178
+ * `InvalidError` that looks like this:
179
+ *
180
+ * ```js [app/adapters/post.js]
181
+ * import RSVP from 'RSVP';
182
+ * import RESTAdapter from '@warp-drive/legacy/adapter/rest';
183
+ * import { InvalidError } from '@warp-drive/legacy/adapter/error';
184
+ *
185
+ * export default class ApplicationAdapter extends RESTAdapter {
186
+ * updateRecord() {
187
+ * // Fictional adapter that always rejects
188
+ * return RSVP.reject(new InvalidError([
189
+ * {
190
+ * detail: 'Must be unique',
191
+ * source: { pointer: '/data/attributes/title' }
192
+ * },
193
+ * {
194
+ * detail: 'Must not be blank',
195
+ * source: { pointer: '/data/attributes/content' }
196
+ * }
197
+ * ]));
198
+ * }
199
+ * }
200
+ * ```
201
+ *
202
+ * Your backend may use different property names for your records; the
203
+ * store will attempt to extract and normalize the errors using the
204
+ * serializer's `extractErrors` method before the errors get added to the
205
+ * model. As a result, it is safe for the `InvalidError` to wrap the error
206
+ * payload unaltered.
207
+ *
208
+ * @public
210
209
  */
211
-
212
- const TimeoutError = getOrSetGlobal('TimeoutError', extend(AdapterError, 'The adapter operation timed out'));
213
- TimeoutError.prototype.code = 'TimeoutError';
214
-
210
+ const InvalidError = getOrSetGlobal("InvalidError", extend(AdapterError, "The adapter rejected the commit because it was invalid"));
211
+ InvalidError.prototype.code = "InvalidError";
215
212
  /**
216
- A `AbortError` is used by an adapter to signal that a request to
217
- the external API was aborted. For example, this can occur if the user
218
- navigates away from the current page after a request to the external API
219
- has been initiated but before a response has been received.
220
-
221
- @class AbortError
222
- @public
213
+ * The {@link AdapterRequestError} shape thrown by the {@link TimeoutError} constructor.
223
214
  */
224
-
225
- const AbortError = getOrSetGlobal('AbortError', extend(AdapterError, 'The adapter operation was aborted'));
226
- AbortError.prototype.code = 'AbortError';
227
-
228
215
  /**
229
- A `UnauthorizedError` equates to a HTTP `401 Unauthorized` response
230
- status. It is used by an adapter to signal that a request to the external
231
- API was rejected because authorization is required and has failed or has not
232
- yet been provided.
233
-
234
- An example use case would be to redirect the user to a login route if a
235
- request is unauthorized:
236
-
237
- ```js [app/routes/application.js]
238
- import { UnauthorizedError } from '@warp-drive/legacy/adapter/error';
239
-
240
- export default class ApplicationRoute extends Route {
241
- @action
242
- error(error, transition) {
243
- if (error instanceof UnauthorizedError) {
244
- // go to the login route
245
- this.transitionTo('login');
246
- return;
247
- }
248
-
249
- // ...other error handling logic
250
- }
251
- }
252
- ```
253
-
254
- @class UnauthorizedError
255
- @public
216
+ * A `TimeoutError` is used by an adapter to signal that a request to the
217
+ * external API has timed out, i.e. no response was received from the
218
+ * external API within an allowed time period.
219
+ *
220
+ * An example use case would be to warn the user to check their internet
221
+ * connection if an adapter operation has timed out:
222
+ *
223
+ * ```js [app/routes/application.js]
224
+ * import { TimeoutError } from '@warp-drive/legacy/adapter/error';
225
+ *
226
+ * export default class ApplicationRoute extends Route {
227
+ * @action
228
+ * error(error, transition) {
229
+ * if (error instanceof TimeoutError) {
230
+ * // alert the user
231
+ * alert('Are you still connected to the Internet?');
232
+ * return;
233
+ * }
234
+ *
235
+ * // ...other error handling logic
236
+ * }
237
+ * }
238
+ * ```
239
+ *
240
+ * @public
256
241
  */
257
-
258
- const UnauthorizedError = getOrSetGlobal('UnauthorizedError', extend(AdapterError, 'The adapter operation is unauthorized'));
259
- UnauthorizedError.prototype.code = 'UnauthorizedError';
260
-
242
+ const TimeoutError = getOrSetGlobal("TimeoutError", extend(AdapterError, "The adapter operation timed out"));
243
+ TimeoutError.prototype.code = "TimeoutError";
261
244
  /**
262
- A `ForbiddenError` equates to a HTTP `403 Forbidden` response status.
263
- It is used by an adapter to signal that a request to the external API was
264
- valid but the server is refusing to respond to it. If authorization was
265
- provided and is valid, then the authenticated user does not have the
266
- necessary permissions for the request.
267
-
268
- @class ForbiddenError
269
- @public
245
+ * The {@link AdapterRequestError} shape thrown by the {@link AbortError} constructor.
270
246
  */
271
-
272
- const ForbiddenError = getOrSetGlobal('ForbiddenError', extend(AdapterError, 'The adapter operation is forbidden'));
273
- ForbiddenError.prototype.code = 'ForbiddenError';
274
-
275
247
  /**
276
- A `NotFoundError` equates to a HTTP `404 Not Found` response status.
277
- It is used by an adapter to signal that a request to the external API
278
- was rejected because the resource could not be found on the API.
279
-
280
- An example use case would be to detect if the user has entered a route
281
- for a specific model that does not exist. For example:
282
-
283
- ```js [app/routes/post.js]
284
- import { NotFoundError } from '@warp-drive/legacy/adapter/error';
285
-
286
- export default class PostRoute extends Route {
287
- @service store;
288
- model(params) {
289
- return this.store.findRecord('post', params.post_id);
290
- }
291
- @action
292
- error(error, transition) {
293
- if (error instanceof NotFoundError) {
294
- // redirect to a list of all posts instead
295
- this.transitionTo('posts');
296
- } else {
297
- // otherwise let the error bubble
298
- return true;
299
- }
300
- }
301
- }
302
- ```
303
-
304
- @class NotFoundError
305
- @public
248
+ * An `AbortError` is used by an adapter to signal that a request to the
249
+ * external API was aborted. For example, this can occur if the user
250
+ * navigates away from the current page after a request to the external API
251
+ * has been initiated but before a response has been received.
252
+ *
253
+ * Because an aborted request is typically expected (the user chose to
254
+ * navigate away, or a newer request superseded this one) rather than
255
+ * exceptional, an example use case would be to silently ignore it instead
256
+ * of surfacing an error to the user:
257
+ *
258
+ * ```js [app/routes/application.js]
259
+ * import { AbortError } from '@warp-drive/legacy/adapter/error';
260
+ *
261
+ * export default class ApplicationRoute extends Route {
262
+ * @action
263
+ * error(error, transition) {
264
+ * if (error instanceof AbortError) {
265
+ * // the request was aborted, nothing to report
266
+ * return;
267
+ * }
268
+ *
269
+ * // ...other error handling logic
270
+ * }
271
+ * }
272
+ * ```
273
+ *
274
+ * @public
306
275
  */
307
-
308
- const NotFoundError = getOrSetGlobal('NotFoundError', extend(AdapterError, 'The adapter could not find the resource'));
309
- NotFoundError.prototype.code = 'NotFoundError';
310
-
276
+ const AbortError = getOrSetGlobal("AbortError", extend(AdapterError, "The adapter operation was aborted"));
277
+ AbortError.prototype.code = "AbortError";
311
278
  /**
312
- A `ConflictError` equates to a HTTP `409 Conflict` response status.
313
- It is used by an adapter to indicate that the request could not be processed
314
- because of a conflict in the request. An example scenario would be when
315
- creating a record with a client-generated ID but that ID is already known
316
- to the external API.
317
-
318
- @class ConflictError
319
- @public
279
+ * The {@link AdapterRequestError} shape thrown by the {@link UnauthorizedError} constructor.
320
280
  */
321
-
322
- const ConflictError = getOrSetGlobal('ConflictError', extend(AdapterError, 'The adapter operation failed due to a conflict'));
323
- ConflictError.prototype.code = 'ConflictError';
324
-
325
281
  /**
326
- A `ServerError` equates to a HTTP `500 Internal Server Error` response
327
- status. It is used by the adapter to indicate that a request has failed
328
- because of an error in the external API.
329
-
330
- @class ServerError
331
- @public
282
+ * A `UnauthorizedError` equates to an HTTP `401 Unauthorized` response
283
+ * status. It is used by an adapter to signal that a request to the external
284
+ * API was rejected because authorization is required and has failed or has
285
+ * not yet been provided.
286
+ *
287
+ * An example use case would be to redirect the user to a login route if a
288
+ * request is unauthorized:
289
+ *
290
+ * ```js [app/routes/application.js]
291
+ * import { UnauthorizedError } from '@warp-drive/legacy/adapter/error';
292
+ *
293
+ * export default class ApplicationRoute extends Route {
294
+ * @action
295
+ * error(error, transition) {
296
+ * if (error instanceof UnauthorizedError) {
297
+ * // go to the login route
298
+ * this.transitionTo('login');
299
+ * return;
300
+ * }
301
+ *
302
+ * // ...other error handling logic
303
+ * }
304
+ * }
305
+ * ```
306
+ *
307
+ * @public
308
+ */
309
+ const UnauthorizedError = getOrSetGlobal("UnauthorizedError", extend(AdapterError, "The adapter operation is unauthorized"));
310
+ UnauthorizedError.prototype.code = "UnauthorizedError";
311
+ /**
312
+ * The {@link AdapterRequestError} shape thrown by the {@link ForbiddenError} constructor.
313
+ */
314
+ /**
315
+ * A `ForbiddenError` equates to an HTTP `403 Forbidden` response status.
316
+ * It is used by an adapter to signal that a request to the external API was
317
+ * valid but the server is refusing to respond to it. If authorization was
318
+ * provided and is valid, then the authenticated user does not have the
319
+ * necessary permissions for the request.
320
+ *
321
+ * Unlike an {@link UnauthorizedError}, retrying the request with different
322
+ * credentials will not help; the currently authenticated user simply lacks
323
+ * permission. An example use case would be to show the user a "you don't
324
+ * have access to this" message rather than redirecting them to log in:
325
+ *
326
+ * ```js [app/routes/application.js]
327
+ * import { ForbiddenError } from '@warp-drive/legacy/adapter/error';
328
+ *
329
+ * export default class ApplicationRoute extends Route {
330
+ * @action
331
+ * error(error, transition) {
332
+ * if (error instanceof ForbiddenError) {
333
+ * this.transitionTo('forbidden');
334
+ * return;
335
+ * }
336
+ *
337
+ * // ...other error handling logic
338
+ * }
339
+ * }
340
+ * ```
341
+ *
342
+ * @public
343
+ */
344
+ const ForbiddenError = getOrSetGlobal("ForbiddenError", extend(AdapterError, "The adapter operation is forbidden"));
345
+ ForbiddenError.prototype.code = "ForbiddenError";
346
+ /**
347
+ * The {@link AdapterRequestError} shape thrown by the {@link NotFoundError} constructor.
348
+ */
349
+ /**
350
+ * A `NotFoundError` equates to an HTTP `404 Not Found` response status.
351
+ * It is used by an adapter to signal that a request to the external API
352
+ * was rejected because the resource could not be found on the API.
353
+ *
354
+ * An example use case would be to detect if the user has entered a route
355
+ * for a specific model that does not exist. For example:
356
+ *
357
+ * ```js [app/routes/post.js]
358
+ * import { NotFoundError } from '@warp-drive/legacy/adapter/error';
359
+ *
360
+ * export default class PostRoute extends Route {
361
+ * @service store;
362
+ * model(params) {
363
+ * return this.store.findRecord('post', params.post_id);
364
+ * }
365
+ * @action
366
+ * error(error, transition) {
367
+ * if (error instanceof NotFoundError) {
368
+ * // redirect to a list of all posts instead
369
+ * this.transitionTo('posts');
370
+ * } else {
371
+ * // otherwise let the error bubble
372
+ * return true;
373
+ * }
374
+ * }
375
+ * }
376
+ * ```
377
+ *
378
+ * @public
379
+ */
380
+ const NotFoundError = getOrSetGlobal("NotFoundError", extend(AdapterError, "The adapter could not find the resource"));
381
+ NotFoundError.prototype.code = "NotFoundError";
382
+ /**
383
+ * The {@link AdapterRequestError} shape thrown by the {@link ConflictError} constructor.
384
+ */
385
+ /**
386
+ * A `ConflictError` equates to an HTTP `409 Conflict` response status.
387
+ * It is used by an adapter to indicate that the request could not be
388
+ * processed because of a conflict in the request. An example scenario
389
+ * would be when creating a record with a client-generated ID but that ID
390
+ * is already known to the external API.
391
+ *
392
+ * An example use case would be to surface a conflict-specific message so
393
+ * the user can retry with different input:
394
+ *
395
+ * ```js [app/routes/application.js]
396
+ * import { ConflictError } from '@warp-drive/legacy/adapter/error';
397
+ *
398
+ * export default class ApplicationRoute extends Route {
399
+ * @action
400
+ * error(error, transition) {
401
+ * if (error instanceof ConflictError) {
402
+ * alert('That identifier is already in use, please choose another.');
403
+ * return;
404
+ * }
405
+ *
406
+ * // ...other error handling logic
407
+ * }
408
+ * }
409
+ * ```
410
+ *
411
+ * @public
412
+ */
413
+ const ConflictError = getOrSetGlobal("ConflictError", extend(AdapterError, "The adapter operation failed due to a conflict"));
414
+ ConflictError.prototype.code = "ConflictError";
415
+ /**
416
+ * The {@link AdapterRequestError} shape thrown by the {@link ServerError} constructor.
417
+ */
418
+ /**
419
+ * A `ServerError` equates to an HTTP `500 Internal Server Error` response
420
+ * status. It is used by the adapter to indicate that a request has failed
421
+ * because of an error in the external API, and is unlikely to succeed if
422
+ * retried immediately.
423
+ *
424
+ * An example use case would be to show a generic "something went wrong on
425
+ * our end" message rather than one implying the user made a mistake:
426
+ *
427
+ * ```js [app/routes/application.js]
428
+ * import { ServerError } from '@warp-drive/legacy/adapter/error';
429
+ *
430
+ * export default class ApplicationRoute extends Route {
431
+ * @action
432
+ * error(error, transition) {
433
+ * if (error instanceof ServerError) {
434
+ * alert('Something went wrong on our end. Please try again later.');
435
+ * return;
436
+ * }
437
+ *
438
+ * // ...other error handling logic
439
+ * }
440
+ * }
441
+ * ```
442
+ *
443
+ * @public
332
444
  */
445
+ const ServerError = getOrSetGlobal("ServerError", extend(AdapterError, "The adapter operation failed due to a server error"));
446
+ ServerError.prototype.code = "ServerError";
333
447
 
334
- const ServerError = getOrSetGlobal('ServerError', extend(AdapterError, 'The adapter operation failed due to a server error'));
335
- ServerError.prototype.code = 'ServerError';
336
- export { AbortError, AdapterError, ConflictError, ForbiddenError, InvalidError, NotFoundError, ServerError, TimeoutError, UnauthorizedError };
448
+ //#endregion
449
+ export { AbortError, AdapterError, ConflictError, ForbiddenError, InvalidError, NotFoundError, ServerError, TimeoutError, UnauthorizedError };
450
+ //# sourceMappingURL=error.js.map