@warp-drive/core 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 (476) hide show
  1. package/dist/-private-BYn1Vh-L.js +22 -0
  2. package/dist/-private-BYn1Vh-L.js.map +1 -0
  3. package/dist/-private-CyhhcK1a.js +120 -0
  4. package/dist/-private-CyhhcK1a.js.map +1 -0
  5. package/dist/-private-zrP4VGAf.js +3530 -0
  6. package/dist/-private-zrP4VGAf.js.map +1 -0
  7. package/dist/aliases-BWYW5EhX.d.ts +17 -0
  8. package/dist/aliases-BWYW5EhX.d.ts.map +1 -0
  9. package/dist/build-config/babel-macros.d.ts +2 -0
  10. package/dist/build-config/babel-macros.js +3 -1
  11. package/dist/build-config/canary-features.d.ts +1 -0
  12. package/dist/build-config/canary-features.js +1 -1
  13. package/dist/build-config/debugging.d.ts +1 -0
  14. package/dist/build-config/debugging.js +1 -1
  15. package/dist/build-config/deprecations.d.ts +1 -0
  16. package/dist/build-config/deprecations.js +1 -1
  17. package/dist/build-config/env.d.ts +2 -0
  18. package/dist/build-config/env.js +3 -1
  19. package/dist/build-config/macros.d.ts +2 -0
  20. package/dist/build-config/macros.js +3 -1
  21. package/dist/build-config.d.ts +2 -0
  22. package/dist/build-config.js +3 -1
  23. package/dist/change-C7kqv2kW.d.ts +41 -0
  24. package/dist/change-C7kqv2kW.d.ts.map +1 -0
  25. package/dist/concepts-DFldVwEM.d.ts +77 -0
  26. package/dist/concepts-DFldVwEM.d.ts.map +1 -0
  27. package/dist/configure-B_F639tN.d.ts +134 -0
  28. package/dist/configure-B_F639tN.d.ts.map +1 -0
  29. package/dist/configure.d.ts +2 -0
  30. package/dist/configure.js +3 -2
  31. package/dist/document-BEn91SwT.d.ts +129 -0
  32. package/dist/document-BEn91SwT.d.ts.map +1 -0
  33. package/dist/error-50OSEhsF.d.ts +77 -0
  34. package/dist/error-50OSEhsF.d.ts.map +1 -0
  35. package/dist/fields-FM7peCiM.d.ts +2327 -0
  36. package/dist/fields-FM7peCiM.d.ts.map +1 -0
  37. package/dist/graph/-private.d.ts +2 -0
  38. package/dist/graph/-private.js +2200 -3196
  39. package/dist/graph/-private.js.map +1 -0
  40. package/dist/graph-DLqYXP2z.d.ts +186 -0
  41. package/dist/graph-DLqYXP2z.d.ts.map +1 -0
  42. package/dist/identifier-DQnqOSJK.d.ts +112 -0
  43. package/dist/identifier-DQnqOSJK.d.ts.map +1 -0
  44. package/dist/index.d.ts +2 -0
  45. package/dist/index.js +3 -8
  46. package/dist/internal-DtWOpxrR.d.ts +9182 -0
  47. package/dist/internal-DtWOpxrR.d.ts.map +1 -0
  48. package/dist/json-api-raw-C5APJHHB.d.ts +378 -0
  49. package/dist/json-api-raw-C5APJHHB.d.ts.map +1 -0
  50. package/dist/mutations-CqtoGB4t.d.ts +165 -0
  51. package/dist/mutations-CqtoGB4t.d.ts.map +1 -0
  52. package/dist/operations-D1qA6r0_.d.ts +244 -0
  53. package/dist/operations-D1qA6r0_.d.ts.map +1 -0
  54. package/dist/params-DrEx3bf8.d.ts +41 -0
  55. package/dist/params-DrEx3bf8.d.ts.map +1 -0
  56. package/dist/raw-D5hnjiq7.d.ts +31 -0
  57. package/dist/raw-D5hnjiq7.d.ts.map +1 -0
  58. package/dist/reactive/-private.d.ts +2 -0
  59. package/dist/reactive/-private.js +3 -1
  60. package/dist/reactive.d.ts +2 -0
  61. package/dist/reactive.js +5 -4
  62. package/dist/record-D3QQcaIR.d.ts +254 -0
  63. package/dist/record-D3QQcaIR.d.ts.map +1 -0
  64. package/dist/relationship-CmHzMPKf.d.ts +65 -0
  65. package/dist/relationship-CmHzMPKf.d.ts.map +1 -0
  66. package/dist/request-7BJFgSu_.js +766 -0
  67. package/dist/request-7BJFgSu_.js.map +1 -0
  68. package/dist/request.d.ts +2 -0
  69. package/dist/request.js +2 -48
  70. package/dist/signals/-leaked.d.ts +1060 -0
  71. package/dist/signals/-leaked.d.ts.map +1 -0
  72. package/dist/signals/-leaked.js +3 -1
  73. package/dist/src-BOAWJH_S.js +9227 -0
  74. package/dist/src-BOAWJH_S.js.map +1 -0
  75. package/dist/store/-private.d.ts +2 -0
  76. package/dist/store/-private.js +3 -1
  77. package/dist/store-DNF9Rgoh.js +462 -0
  78. package/dist/store-DNF9Rgoh.js.map +1 -0
  79. package/dist/store.d.ts +2 -0
  80. package/dist/store.js +3 -1
  81. package/dist/symbols-DjRDCeX0.d.ts +88 -0
  82. package/dist/symbols-DjRDCeX0.d.ts.map +1 -0
  83. package/dist/types/-private.d.ts +76 -0
  84. package/dist/types/-private.d.ts.map +1 -0
  85. package/dist/types/-private.js +1 -77
  86. package/dist/types/cache/aliases.d.ts +2 -0
  87. package/dist/types/cache/change.d.ts +2 -0
  88. package/dist/types/cache/mutations.d.ts +2 -0
  89. package/dist/types/cache/operations.d.ts +2 -0
  90. package/dist/types/cache/relationship.d.ts +2 -0
  91. package/dist/types/cache.d.ts +2 -0
  92. package/dist/types/graph.d.ts +2 -0
  93. package/dist/types/identifier.d.ts +2 -0
  94. package/dist/types/identifier.js +60 -52
  95. package/dist/types/identifier.js.map +1 -0
  96. package/dist/types/json/raw.d.ts +2 -0
  97. package/dist/types/params.d.ts +2 -0
  98. package/dist/types/record.d.ts +2 -0
  99. package/dist/types/record.js +211 -181
  100. package/dist/types/record.js.map +1 -0
  101. package/dist/types/request.d.ts +2 -0
  102. package/dist/types/request.js +138 -69
  103. package/dist/types/request.js.map +1 -0
  104. package/dist/types/runtime.d.ts +55 -0
  105. package/dist/types/runtime.d.ts.map +1 -0
  106. package/dist/types/runtime.js +54 -26
  107. package/dist/types/runtime.js.map +1 -0
  108. package/dist/types/schema/concepts.d.ts +2 -0
  109. package/dist/types/schema/fields.d.ts +2 -0
  110. package/dist/types/schema/fields.js +501 -495
  111. package/dist/types/schema/fields.js.map +1 -0
  112. package/dist/types/schema/fields.type-test.d.ts +1 -0
  113. package/dist/types/schema/fields.type-test.js +79 -0
  114. package/dist/types/schema/fields.type-test.js.map +1 -0
  115. package/dist/types/schema/schema-service.d.ts +2 -0
  116. package/dist/types/spec/document.d.ts +2 -0
  117. package/dist/types/spec/error.d.ts +2 -0
  118. package/dist/types/spec/json-api-raw.d.ts +2 -0
  119. package/dist/types/symbols.d.ts +2 -0
  120. package/dist/types/symbols.js +84 -77
  121. package/dist/types/symbols.js.map +1 -0
  122. package/dist/types/utils.d.ts +2 -0
  123. package/dist/types.d.ts +3 -0
  124. package/dist/unpkg/dev/-private-BoSTJwp9.js +3519 -0
  125. package/dist/unpkg/dev/-private-BoSTJwp9.js.map +1 -0
  126. package/dist/unpkg/dev/-private-CUkeqUhO.js +22 -0
  127. package/dist/unpkg/dev/-private-CUkeqUhO.js.map +1 -0
  128. package/dist/unpkg/dev/-private-D6Tw25AD.js +111 -0
  129. package/dist/unpkg/dev/-private-D6Tw25AD.js.map +1 -0
  130. package/dist/unpkg/dev/build-config/babel-macros.js +3 -1
  131. package/dist/unpkg/dev/build-config/canary-features.js +1 -1
  132. package/dist/unpkg/dev/build-config/debugging.js +1 -1
  133. package/dist/unpkg/dev/build-config/deprecations.js +1 -1
  134. package/dist/unpkg/dev/build-config/env.js +3 -1
  135. package/dist/unpkg/dev/build-config/macros.js +3 -1
  136. package/dist/unpkg/dev/build-config.js +3 -1
  137. package/dist/unpkg/dev/configure.js +3 -1
  138. package/dist/unpkg/dev/graph/-private.js +1958 -2953
  139. package/dist/unpkg/dev/graph/-private.js.map +1 -0
  140. package/dist/unpkg/dev/index.js +3 -6
  141. package/dist/unpkg/dev/reactive/-private.js +3 -1
  142. package/dist/unpkg/dev/reactive.js +5 -3
  143. package/dist/unpkg/dev/request-CwjpJB3r.js +756 -0
  144. package/dist/unpkg/dev/request-CwjpJB3r.js.map +1 -0
  145. package/dist/unpkg/dev/request.js +2 -48
  146. package/dist/unpkg/dev/runtime-DoDtzXJb.js +110 -0
  147. package/dist/unpkg/dev/runtime-DoDtzXJb.js.map +1 -0
  148. package/dist/unpkg/dev/signals/-leaked.js +3 -1
  149. package/dist/unpkg/dev/src-CP6e_ozt.js +8331 -0
  150. package/dist/unpkg/dev/src-CP6e_ozt.js.map +1 -0
  151. package/dist/unpkg/dev/store/-private.js +3 -55
  152. package/dist/unpkg/dev/store-DamE3C4y.js +427 -0
  153. package/dist/unpkg/dev/store-DamE3C4y.js.map +1 -0
  154. package/dist/unpkg/dev/store.js +1 -556
  155. package/dist/unpkg/dev/types/-private.js +1 -67
  156. package/dist/unpkg/dev/types/identifier.js +63 -56
  157. package/dist/unpkg/dev/types/identifier.js.map +1 -0
  158. package/dist/unpkg/dev/types/record.js +211 -181
  159. package/dist/unpkg/dev/types/record.js.map +1 -0
  160. package/dist/unpkg/dev/types/request.js +138 -69
  161. package/dist/unpkg/dev/types/request.js.map +1 -0
  162. package/dist/unpkg/dev/types/runtime.js +54 -26
  163. package/dist/unpkg/dev/types/runtime.js.map +1 -0
  164. package/dist/unpkg/dev/types/schema/fields.js +501 -495
  165. package/dist/unpkg/dev/types/schema/fields.js.map +1 -0
  166. package/dist/unpkg/dev/types/schema/fields.type-test.js +79 -0
  167. package/dist/unpkg/dev/types/schema/fields.type-test.js.map +1 -0
  168. package/dist/unpkg/dev/types/symbols.js +84 -77
  169. package/dist/unpkg/dev/types/symbols.js.map +1 -0
  170. package/dist/unpkg/dev/utils/string.js +79 -85
  171. package/dist/unpkg/dev/utils/string.js.map +1 -0
  172. package/dist/unpkg/dev-deprecated/-private-BoSTJwp9.js +3519 -0
  173. package/dist/unpkg/dev-deprecated/-private-BoSTJwp9.js.map +1 -0
  174. package/dist/unpkg/dev-deprecated/-private-CUkeqUhO.js +22 -0
  175. package/dist/unpkg/dev-deprecated/-private-CUkeqUhO.js.map +1 -0
  176. package/dist/unpkg/dev-deprecated/-private-D6Tw25AD.js +111 -0
  177. package/dist/unpkg/dev-deprecated/-private-D6Tw25AD.js.map +1 -0
  178. package/dist/unpkg/dev-deprecated/build-config/babel-macros.js +3 -1
  179. package/dist/unpkg/dev-deprecated/build-config/canary-features.js +1 -1
  180. package/dist/unpkg/dev-deprecated/build-config/debugging.js +1 -1
  181. package/dist/unpkg/dev-deprecated/build-config/deprecations.js +1 -1
  182. package/dist/unpkg/dev-deprecated/build-config/env.js +3 -1
  183. package/dist/unpkg/dev-deprecated/build-config/macros.js +3 -1
  184. package/dist/unpkg/dev-deprecated/build-config.js +3 -1
  185. package/dist/unpkg/dev-deprecated/configure.js +3 -1
  186. package/dist/unpkg/dev-deprecated/graph/-private.js +2077 -3147
  187. package/dist/unpkg/dev-deprecated/graph/-private.js.map +1 -0
  188. package/dist/unpkg/dev-deprecated/index.js +3 -5
  189. package/dist/unpkg/dev-deprecated/reactive/-private.js +3 -1
  190. package/dist/unpkg/dev-deprecated/reactive.js +5 -3
  191. package/dist/unpkg/dev-deprecated/request-CwjpJB3r.js +756 -0
  192. package/dist/unpkg/dev-deprecated/request-CwjpJB3r.js.map +1 -0
  193. package/dist/unpkg/dev-deprecated/request.js +2 -48
  194. package/dist/unpkg/dev-deprecated/runtime-CPL2BGgT.js +110 -0
  195. package/dist/unpkg/dev-deprecated/runtime-CPL2BGgT.js.map +1 -0
  196. package/dist/unpkg/dev-deprecated/signals/-leaked.js +3 -1
  197. package/dist/unpkg/dev-deprecated/src-De8OV58h.js +8884 -0
  198. package/dist/unpkg/dev-deprecated/src-De8OV58h.js.map +1 -0
  199. package/dist/unpkg/dev-deprecated/store/-private.js +3 -1
  200. package/dist/unpkg/dev-deprecated/store-Bsdz5mRe.js +427 -0
  201. package/dist/unpkg/dev-deprecated/store-Bsdz5mRe.js.map +1 -0
  202. package/dist/unpkg/dev-deprecated/store.js +1 -556
  203. package/dist/unpkg/dev-deprecated/types/-private.js +1 -67
  204. package/dist/unpkg/dev-deprecated/types/identifier.js +63 -56
  205. package/dist/unpkg/dev-deprecated/types/identifier.js.map +1 -0
  206. package/dist/unpkg/dev-deprecated/types/record.js +211 -181
  207. package/dist/unpkg/dev-deprecated/types/record.js.map +1 -0
  208. package/dist/unpkg/dev-deprecated/types/request.js +138 -69
  209. package/dist/unpkg/dev-deprecated/types/request.js.map +1 -0
  210. package/dist/unpkg/dev-deprecated/types/runtime.js +54 -26
  211. package/dist/unpkg/dev-deprecated/types/runtime.js.map +1 -0
  212. package/dist/unpkg/dev-deprecated/types/schema/fields.js +501 -495
  213. package/dist/unpkg/dev-deprecated/types/schema/fields.js.map +1 -0
  214. package/dist/unpkg/dev-deprecated/types/schema/fields.type-test.js +79 -0
  215. package/dist/unpkg/dev-deprecated/types/schema/fields.type-test.js.map +1 -0
  216. package/dist/unpkg/dev-deprecated/types/symbols.js +84 -77
  217. package/dist/unpkg/dev-deprecated/types/symbols.js.map +1 -0
  218. package/dist/unpkg/dev-deprecated/utils/string.js +79 -85
  219. package/dist/unpkg/dev-deprecated/utils/string.js.map +1 -0
  220. package/dist/unpkg/prod/-private-B36B1ztP.js +22 -0
  221. package/dist/unpkg/prod/-private-B36B1ztP.js.map +1 -0
  222. package/dist/unpkg/prod/-private-DHco-h0q.js +3294 -0
  223. package/dist/unpkg/prod/-private-DHco-h0q.js.map +1 -0
  224. package/dist/unpkg/prod/-private-Dhl123OI.js +99 -0
  225. package/dist/unpkg/prod/-private-Dhl123OI.js.map +1 -0
  226. package/dist/unpkg/prod/build-config/babel-macros.js +3 -1
  227. package/dist/unpkg/prod/build-config/canary-features.js +1 -1
  228. package/dist/unpkg/prod/build-config/debugging.js +1 -1
  229. package/dist/unpkg/prod/build-config/deprecations.js +1 -1
  230. package/dist/unpkg/prod/build-config/env.js +3 -1
  231. package/dist/unpkg/prod/build-config/macros.js +3 -1
  232. package/dist/unpkg/prod/build-config.js +3 -1
  233. package/dist/unpkg/prod/configure.js +3 -2
  234. package/dist/unpkg/prod/graph/-private.js +1494 -2101
  235. package/dist/unpkg/prod/graph/-private.js.map +1 -0
  236. package/dist/unpkg/prod/index.js +2 -482
  237. package/dist/unpkg/prod/reactive/-private.js +3 -1
  238. package/dist/unpkg/prod/reactive.js +5 -30
  239. package/dist/unpkg/prod/request-BBdC1Sz7.js +480 -0
  240. package/dist/unpkg/prod/request-BBdC1Sz7.js.map +1 -0
  241. package/dist/unpkg/prod/request.js +3 -2
  242. package/dist/unpkg/prod/signals/-leaked.js +3 -1
  243. package/dist/unpkg/prod/src-nFHlZgKa.js +6942 -0
  244. package/dist/unpkg/prod/src-nFHlZgKa.js.map +1 -0
  245. package/dist/unpkg/prod/store/-private.js +3 -126
  246. package/dist/unpkg/prod/store-BWhmb7Ob.js +359 -0
  247. package/dist/unpkg/prod/store-BWhmb7Ob.js.map +1 -0
  248. package/dist/unpkg/prod/store.js +1 -435
  249. package/dist/unpkg/prod/types/-private.js +1 -47
  250. package/dist/unpkg/prod/types/identifier.js +63 -56
  251. package/dist/unpkg/prod/types/identifier.js.map +1 -0
  252. package/dist/unpkg/prod/types/record.js +211 -181
  253. package/dist/unpkg/prod/types/record.js.map +1 -0
  254. package/dist/unpkg/prod/types/request.js +138 -69
  255. package/dist/unpkg/prod/types/request.js.map +1 -0
  256. package/dist/unpkg/prod/types/runtime.js +54 -26
  257. package/dist/unpkg/prod/types/runtime.js.map +1 -0
  258. package/dist/unpkg/prod/types/schema/fields.js +501 -495
  259. package/dist/unpkg/prod/types/schema/fields.js.map +1 -0
  260. package/dist/unpkg/prod/types/schema/fields.type-test.js +79 -0
  261. package/dist/unpkg/prod/types/schema/fields.type-test.js.map +1 -0
  262. package/dist/unpkg/prod/types/symbols.js +84 -77
  263. package/dist/unpkg/prod/types/symbols.js.map +1 -0
  264. package/dist/unpkg/prod/utils/string.js +70 -66
  265. package/dist/unpkg/prod/utils/string.js.map +1 -0
  266. package/dist/unpkg/prod-deprecated/-private-B36B1ztP.js +22 -0
  267. package/dist/unpkg/prod-deprecated/-private-B36B1ztP.js.map +1 -0
  268. package/dist/unpkg/prod-deprecated/-private-DHco-h0q.js +3294 -0
  269. package/dist/unpkg/prod-deprecated/-private-DHco-h0q.js.map +1 -0
  270. package/dist/unpkg/prod-deprecated/-private-Dhl123OI.js +99 -0
  271. package/dist/unpkg/prod-deprecated/-private-Dhl123OI.js.map +1 -0
  272. package/dist/unpkg/prod-deprecated/build-config/babel-macros.js +3 -1
  273. package/dist/unpkg/prod-deprecated/build-config/canary-features.js +1 -1
  274. package/dist/unpkg/prod-deprecated/build-config/debugging.js +1 -1
  275. package/dist/unpkg/prod-deprecated/build-config/deprecations.js +1 -1
  276. package/dist/unpkg/prod-deprecated/build-config/env.js +3 -1
  277. package/dist/unpkg/prod-deprecated/build-config/macros.js +3 -1
  278. package/dist/unpkg/prod-deprecated/build-config.js +3 -1
  279. package/dist/unpkg/prod-deprecated/configure.js +3 -2
  280. package/dist/unpkg/prod-deprecated/graph/-private.js +1603 -2272
  281. package/dist/unpkg/prod-deprecated/graph/-private.js.map +1 -0
  282. package/dist/unpkg/prod-deprecated/index.js +2 -482
  283. package/dist/unpkg/prod-deprecated/reactive/-private.js +3 -1
  284. package/dist/unpkg/prod-deprecated/reactive.js +5 -5
  285. package/dist/unpkg/prod-deprecated/request-BBdC1Sz7.js +480 -0
  286. package/dist/unpkg/prod-deprecated/request-BBdC1Sz7.js.map +1 -0
  287. package/dist/unpkg/prod-deprecated/request.js +3 -2
  288. package/dist/unpkg/prod-deprecated/signals/-leaked.js +3 -1
  289. package/dist/unpkg/prod-deprecated/src-Cku5ymUJ.js +7375 -0
  290. package/dist/unpkg/prod-deprecated/src-Cku5ymUJ.js.map +1 -0
  291. package/dist/unpkg/prod-deprecated/store/-private.js +3 -88
  292. package/dist/unpkg/prod-deprecated/store-BWhmb7Ob.js +359 -0
  293. package/dist/unpkg/prod-deprecated/store-BWhmb7Ob.js.map +1 -0
  294. package/dist/unpkg/prod-deprecated/store.js +1 -435
  295. package/dist/unpkg/prod-deprecated/types/-private.js +1 -47
  296. package/dist/unpkg/prod-deprecated/types/identifier.js +63 -56
  297. package/dist/unpkg/prod-deprecated/types/identifier.js.map +1 -0
  298. package/dist/unpkg/prod-deprecated/types/record.js +211 -181
  299. package/dist/unpkg/prod-deprecated/types/record.js.map +1 -0
  300. package/dist/unpkg/prod-deprecated/types/request.js +138 -69
  301. package/dist/unpkg/prod-deprecated/types/request.js.map +1 -0
  302. package/dist/unpkg/prod-deprecated/types/runtime.js +54 -26
  303. package/dist/unpkg/prod-deprecated/types/runtime.js.map +1 -0
  304. package/dist/unpkg/prod-deprecated/types/schema/fields.js +501 -495
  305. package/dist/unpkg/prod-deprecated/types/schema/fields.js.map +1 -0
  306. package/dist/unpkg/prod-deprecated/types/schema/fields.type-test.js +79 -0
  307. package/dist/unpkg/prod-deprecated/types/schema/fields.type-test.js.map +1 -0
  308. package/dist/unpkg/prod-deprecated/types/symbols.js +84 -77
  309. package/dist/unpkg/prod-deprecated/types/symbols.js.map +1 -0
  310. package/dist/unpkg/prod-deprecated/utils/string.js +70 -66
  311. package/dist/unpkg/prod-deprecated/utils/string.js.map +1 -0
  312. package/dist/utils/string.d.ts +54 -0
  313. package/dist/utils/string.d.ts.map +1 -0
  314. package/dist/utils/string.js +84 -85
  315. package/dist/utils/string.js.map +1 -0
  316. package/dist/utils-BtURiy8l.d.ts +24 -0
  317. package/dist/utils-BtURiy8l.d.ts.map +1 -0
  318. package/package.json +17 -21
  319. package/declarations/build-config/babel-macros.d.ts +0 -1
  320. package/declarations/build-config/canary-features.d.ts +0 -1
  321. package/declarations/build-config/debugging.d.ts +0 -1
  322. package/declarations/build-config/deprecations.d.ts +0 -1
  323. package/declarations/build-config/env.d.ts +0 -1
  324. package/declarations/build-config/macros.d.ts +0 -1
  325. package/declarations/build-config.d.ts +0 -18
  326. package/declarations/configure.d.ts +0 -7
  327. package/declarations/graph/-private/-diff.d.ts +0 -19
  328. package/declarations/graph/-private/-edge-definition.d.ts +0 -149
  329. package/declarations/graph/-private/-state.d.ts +0 -9
  330. package/declarations/graph/-private/-utils.d.ts +0 -25
  331. package/declarations/graph/-private/coerce-id.d.ts +0 -4
  332. package/declarations/graph/-private/debug/assert-polymorphic-type.d.ts +0 -6
  333. package/declarations/graph/-private/edges/collection.d.ts +0 -39
  334. package/declarations/graph/-private/edges/implicit.d.ts +0 -43
  335. package/declarations/graph/-private/edges/resource.d.ts +0 -23
  336. package/declarations/graph/-private/graph.d.ts +0 -56
  337. package/declarations/graph/-private/normalize-link.d.ts +0 -2
  338. package/declarations/graph/-private/operations/add-to-related-records.d.ts +0 -4
  339. package/declarations/graph/-private/operations/merge-identifier.d.ts +0 -3
  340. package/declarations/graph/-private/operations/remove-from-related-records.d.ts +0 -4
  341. package/declarations/graph/-private/operations/replace-related-record.d.ts +0 -3
  342. package/declarations/graph/-private/operations/replace-related-records.d.ts +0 -7
  343. package/declarations/graph/-private/operations/update-relationship.d.ts +0 -9
  344. package/declarations/graph/-private.d.ts +0 -13
  345. package/declarations/index.d.ts +0 -96
  346. package/declarations/reactive/-private/default-mode.d.ts +0 -73
  347. package/declarations/reactive/-private/document.d.ts +0 -142
  348. package/declarations/reactive/-private/fields/extension.d.ts +0 -8
  349. package/declarations/reactive/-private/fields/get-field-key.d.ts +0 -8
  350. package/declarations/reactive/-private/fields/managed-array.d.ts +0 -18
  351. package/declarations/reactive/-private/fields/managed-object.d.ts +0 -17
  352. package/declarations/reactive/-private/fields/many-array-manager.d.ts +0 -19
  353. package/declarations/reactive/-private/hooks.d.ts +0 -5
  354. package/declarations/reactive/-private/kind/alias-field.d.ts +0 -4
  355. package/declarations/reactive/-private/kind/array-field.d.ts +0 -4
  356. package/declarations/reactive/-private/kind/attribute-field.d.ts +0 -4
  357. package/declarations/reactive/-private/kind/belongs-to-field.d.ts +0 -4
  358. package/declarations/reactive/-private/kind/collection-field.d.ts +0 -4
  359. package/declarations/reactive/-private/kind/derived-field.d.ts +0 -4
  360. package/declarations/reactive/-private/kind/generic-field.d.ts +0 -4
  361. package/declarations/reactive/-private/kind/has-many-field.d.ts +0 -4
  362. package/declarations/reactive/-private/kind/hash-field.d.ts +0 -4
  363. package/declarations/reactive/-private/kind/identity-field.d.ts +0 -4
  364. package/declarations/reactive/-private/kind/local-field.d.ts +0 -4
  365. package/declarations/reactive/-private/kind/object-field.d.ts +0 -4
  366. package/declarations/reactive/-private/kind/resource-field.d.ts +0 -4
  367. package/declarations/reactive/-private/kind/schema-array-field.d.ts +0 -4
  368. package/declarations/reactive/-private/kind/schema-object-field.d.ts +0 -4
  369. package/declarations/reactive/-private/record.d.ts +0 -83
  370. package/declarations/reactive/-private/schema.d.ts +0 -326
  371. package/declarations/reactive/-private/symbols.d.ts +0 -5
  372. package/declarations/reactive/-private.d.ts +0 -2
  373. package/declarations/reactive.d.ts +0 -286
  374. package/declarations/request/-private/context.d.ts +0 -39
  375. package/declarations/request/-private/debug.d.ts +0 -4
  376. package/declarations/request/-private/fetch.d.ts +0 -33
  377. package/declarations/request/-private/future.d.ts +0 -7
  378. package/declarations/request/-private/manager.d.ts +0 -158
  379. package/declarations/request/-private/promise-cache.d.ts +0 -28
  380. package/declarations/request/-private/types.d.ts +0 -234
  381. package/declarations/request/-private/utils.d.ts +0 -57
  382. package/declarations/request.d.ts +0 -52
  383. package/declarations/signals/-leaked.d.ts +0 -2
  384. package/declarations/signals/-private.d.ts +0 -6
  385. package/declarations/signals/promise-state.d.ts +0 -264
  386. package/declarations/signals/reactivity/configure.d.ts +0 -138
  387. package/declarations/signals/reactivity/internal.d.ts +0 -154
  388. package/declarations/signals/reactivity/signal.d.ts +0 -56
  389. package/declarations/signals/request-state.d.ts +0 -372
  390. package/declarations/signals/request-subscription.d.ts +0 -177
  391. package/declarations/store/-private/cache-handler/handler.d.ts +0 -56
  392. package/declarations/store/-private/cache-handler/types.d.ts +0 -84
  393. package/declarations/store/-private/cache-handler/utils.d.ts +0 -31
  394. package/declarations/store/-private/caches/instance-cache.d.ts +0 -58
  395. package/declarations/store/-private/caches/resource-utils.d.ts +0 -9
  396. package/declarations/store/-private/debug/utils.d.ts +0 -7
  397. package/declarations/store/-private/default-cache-policy.d.ts +0 -387
  398. package/declarations/store/-private/managers/cache-capabilities-manager.d.ts +0 -34
  399. package/declarations/store/-private/managers/cache-key-manager.d.ts +0 -304
  400. package/declarations/store/-private/managers/cache-manager.d.ts +0 -367
  401. package/declarations/store/-private/managers/notification-manager.d.ts +0 -83
  402. package/declarations/store/-private/managers/record-array-manager.d.ts +0 -100
  403. package/declarations/store/-private/network/request-cache.d.ts +0 -103
  404. package/declarations/store/-private/record-arrays/-utils.d.ts +0 -80
  405. package/declarations/store/-private/record-arrays/legacy-live-array.d.ts +0 -81
  406. package/declarations/store/-private/record-arrays/legacy-many-array.d.ts +0 -133
  407. package/declarations/store/-private/record-arrays/legacy-query.d.ts +0 -81
  408. package/declarations/store/-private/record-arrays/native-proxy-type-fix.d.ts +0 -3
  409. package/declarations/store/-private/record-arrays/resource-array.d.ts +0 -67
  410. package/declarations/store/-private/store-service.d.ts +0 -874
  411. package/declarations/store/-private/utils/coerce-id.d.ts +0 -4
  412. package/declarations/store/-private/utils/construct-resource.d.ts +0 -6
  413. package/declarations/store/-private/utils/is-non-empty-string.d.ts +0 -1
  414. package/declarations/store/-private/utils/normalize-model-name.d.ts +0 -1
  415. package/declarations/store/-private/utils/uuid-polyfill.d.ts +0 -1
  416. package/declarations/store/-private.d.ts +0 -24
  417. package/declarations/store/-types/q/cache-capabilities-manager.d.ts +0 -90
  418. package/declarations/store/-types/q/identifier.d.ts +0 -23
  419. package/declarations/store/-types/q/record-instance.d.ts +0 -22
  420. package/declarations/store/-types/q/store.d.ts +0 -31
  421. package/declarations/store/deprecated/-private.d.ts +0 -223
  422. package/declarations/store/deprecated/store.d.ts +0 -784
  423. package/declarations/store.d.ts +0 -2
  424. package/declarations/types/-private.d.ts +0 -22
  425. package/declarations/types/cache/aliases.d.ts +0 -1
  426. package/declarations/types/cache/change.d.ts +0 -6
  427. package/declarations/types/cache/mutations.d.ts +0 -38
  428. package/declarations/types/cache/operations.d.ts +0 -168
  429. package/declarations/types/cache/relationship.d.ts +0 -13
  430. package/declarations/types/cache.d.ts +0 -429
  431. package/declarations/types/graph.d.ts +0 -47
  432. package/declarations/types/identifier.d.ts +0 -86
  433. package/declarations/types/json/raw.d.ts +0 -6
  434. package/declarations/types/params.d.ts +0 -8
  435. package/declarations/types/record.d.ts +0 -269
  436. package/declarations/types/request.d.ts +0 -367
  437. package/declarations/types/runtime.d.ts +0 -14
  438. package/declarations/types/schema/concepts.d.ts +0 -23
  439. package/declarations/types/schema/fields.d.ts +0 -2200
  440. package/declarations/types/schema/fields.type-test.d.ts +0 -1
  441. package/declarations/types/schema/schema-service.d.ts +0 -380
  442. package/declarations/types/spec/document.d.ts +0 -67
  443. package/declarations/types/spec/error.d.ts +0 -18
  444. package/declarations/types/spec/json-api-raw.d.ts +0 -139
  445. package/declarations/types/symbols.d.ts +0 -78
  446. package/declarations/types/utils.d.ts +0 -5
  447. package/declarations/types.d.ts +0 -11
  448. package/declarations/utils/string.d.ts +0 -47
  449. package/dist/configure-DPUFCemT.js +0 -1940
  450. package/dist/default-cache-policy-D7_u4YRH.js +0 -572
  451. package/dist/future-BKkJJkj7.js +0 -678
  452. package/dist/index-CQP2NSqg.js +0 -9982
  453. package/dist/symbols-3C1OkYtZ.js +0 -39
  454. package/dist/unpkg/dev/-leaked-Co0EI6Go.js +0 -1939
  455. package/dist/unpkg/dev/-private-sql1_mdx.js +0 -39
  456. package/dist/unpkg/dev/future-DFfOzSoe.js +0 -672
  457. package/dist/unpkg/dev/index-BzcBOnw9.js +0 -9392
  458. package/dist/unpkg/dev/runtime-E1M51_-O.js +0 -135
  459. package/dist/unpkg/dev-deprecated/-leaked-DjMeRqdU.js +0 -1939
  460. package/dist/unpkg/dev-deprecated/-private-3C1OkYtZ.js +0 -39
  461. package/dist/unpkg/dev-deprecated/future-DFfOzSoe.js +0 -672
  462. package/dist/unpkg/dev-deprecated/index-6TnTv-WG.js +0 -10007
  463. package/dist/unpkg/dev-deprecated/runtime-DAu5b0IR.js +0 -135
  464. package/dist/unpkg/prod/-leaked-DUONXQDB.js +0 -1676
  465. package/dist/unpkg/prod/-private-sql1_mdx.js +0 -39
  466. package/dist/unpkg/prod/handler-EU_8ncB2.js +0 -1619
  467. package/dist/unpkg/prod/promise-cache-DIT8Ypjq.js +0 -19
  468. package/dist/unpkg/prod/request-BrJSCG6r.js +0 -421
  469. package/dist/unpkg/prod/schema-BSkHyoWz.js +0 -5219
  470. package/dist/unpkg/prod-deprecated/-leaked-DRNv9VIX.js +0 -1676
  471. package/dist/unpkg/prod-deprecated/-private-3C1OkYtZ.js +0 -39
  472. package/dist/unpkg/prod-deprecated/handler-CCIu4sQ3.js +0 -334
  473. package/dist/unpkg/prod-deprecated/hooks-Dv4Np0MY.js +0 -26
  474. package/dist/unpkg/prod-deprecated/promise-cache-DIT8Ypjq.js +0 -19
  475. package/dist/unpkg/prod-deprecated/request-BrJSCG6r.js +0 -421
  476. package/dist/unpkg/prod-deprecated/schema-CJcjHv0E.js +0 -6939
@@ -1,678 +0,0 @@
1
- import { SkipCache, STRUCTURED, IS_FUTURE } from './types/request.js';
2
- import { getOrSetGlobal, getOrSetUniversal } from './types/-private.js';
3
- import { macroCondition, getGlobalConfig } from '@embroider/macros';
4
- const BODY_TYPES = {
5
- type: 'string',
6
- klass: ['Blob', 'ArrayBuffer', 'TypedArray', 'DataView', 'FormData', 'URLSearchParams', 'ReadableStream']
7
- };
8
- const ValidKeys = new Map([['duplex', ['half']], ['records', 'array'], ['data', 'json'], ['body', BODY_TYPES], ['disableTestWaiter', 'boolean'], ['options', 'object'], ['cacheOptions', 'object'], ['op', 'string'], ['store', 'object'], ['url', 'string'], ['cache', ['default', 'force-cache', 'no-cache', 'no-store', 'only-if-cached', 'reload']], ['credentials', ['include', 'omit', 'same-origin']], ['destination', ['', 'object', 'audio', 'audioworklet', 'document', 'embed', 'font', 'frame', 'iframe', 'image', 'manifest', 'paintworklet', 'report', 'script', 'sharedworker', 'style', 'track', 'video', 'worker', 'xslt']], ['headers', 'headers'], ['integrity', 'string'], ['keepalive', 'boolean'], ['method', ['QUERY', 'GET', 'PUT', 'PATCH', 'DELETE', 'POST', 'OPTIONS', 'HEAD', 'CONNECT', 'TRACE']], ['mode', ['same-origin', 'cors', 'navigate', 'no-cors']], ['redirect', ['error', 'follow', 'manual']], ['referrer', 'string'], ['signal', 'AbortSignal'], ['controller', 'AbortController'], ['referrerPolicy', ['', 'same-origin', 'no-referrer', 'no-referrer-when-downgrade', 'origin', 'origin-when-cross-origin', 'strict-origin', 'strict-origin-when-cross-origin', 'unsafe-url']]]);
9
- const IS_FROZEN = getOrSetGlobal('IS_FROZEN', Symbol('FROZEN'));
10
- const IS_COLLECTION = getOrSetGlobal('IS_COLLECTION', Symbol.for('Collection'));
11
- function freezeHeaders(headers) {
12
- headers.delete = headers.set = headers.append = () => {
13
- throw new Error(`Cannot Mutate Immutatable Headers, use headers.clone to get a copy`);
14
- };
15
- upgradeHeaders(headers);
16
- return headers;
17
- }
18
- function deepFreeze(value) {
19
- if (value && value[IS_FROZEN]) {
20
- return value;
21
- }
22
- const _type = typeof value;
23
- switch (_type) {
24
- case 'boolean':
25
- case 'string':
26
- case 'number':
27
- case 'symbol':
28
- case 'undefined':
29
- case 'bigint':
30
- return value;
31
- case 'function':
32
- throw new Error(`Cannot deep-freeze a function`);
33
- case 'object':
34
- {
35
- const _niceType = niceTypeOf(value);
36
- switch (_niceType) {
37
- case 'array':
38
- {
39
- if (value[IS_COLLECTION]) {
40
- return value;
41
- }
42
- const arr = value.map(deepFreeze);
43
- arr[IS_FROZEN] = true;
44
- return Object.freeze(arr);
45
- }
46
- case 'null':
47
- return value;
48
- case 'object':
49
- Object.keys(value).forEach(key => {
50
- try {
51
- value[key] = deepFreeze(value[key]);
52
- } catch {
53
- // continue
54
- }
55
- });
56
- value[IS_FROZEN] = true;
57
- return Object.freeze(value);
58
- case 'headers':
59
- return freezeHeaders(value);
60
- case 'Collection':
61
- case 'Store':
62
- case 'AbortSignal':
63
- return value;
64
- case 'date':
65
- case 'map':
66
- case 'set':
67
- case 'error':
68
- case 'stream':
69
- default:
70
- // console.log(`Cannot deep-freeze ${_niceType}`);
71
- return value;
72
- }
73
- }
74
- }
75
- }
76
- function isMaybeContext(request) {
77
- if (request && typeof request === 'object') {
78
- const keys = Object.keys(request);
79
- if (keys.length === 1 && keys[0] === 'request') {
80
- return true;
81
- }
82
- }
83
- return false;
84
- }
85
- function niceTypeOf(v) {
86
- if (v === null) {
87
- return 'null';
88
- }
89
- if (typeof v === 'string') {
90
- return v ? 'non-empty-string' : 'empty-string';
91
- }
92
- if (!v) {
93
- return typeof v;
94
- }
95
- if (Array.isArray(v)) {
96
- return 'array';
97
- }
98
- if (v instanceof Date) {
99
- return 'date';
100
- }
101
- if (v instanceof Map) {
102
- return 'map';
103
- }
104
- if (v instanceof Set) {
105
- return 'set';
106
- }
107
- if (v instanceof Error) {
108
- return 'error';
109
- }
110
- if (v instanceof ReadableStream || v instanceof WritableStream || v instanceof TransformStream) {
111
- return 'stream';
112
- }
113
- if (v instanceof Headers) {
114
- return 'headers';
115
- }
116
- if (typeof v === 'object' && v.constructor && v.constructor.name !== 'Object') {
117
- return v.constructor.name;
118
- }
119
- return typeof v;
120
- }
121
- function validateKey(key, value, errors) {
122
- const schema = ValidKeys.get(key);
123
- if (!schema && !IgnoredKeys.has(key)) {
124
- errors.push(`InvalidKey: '${key}'`);
125
- return;
126
- }
127
- if (schema) {
128
- if (schema === BODY_TYPES) {
129
- if (typeof value === 'string' || value instanceof ReadableStream) {
130
- return;
131
- }
132
- const type = niceTypeOf(value);
133
- if (schema.klass.includes(type)) {
134
- return;
135
- }
136
- errors.push(`InvalidValue: key 'body' should be a string or one of '${schema.klass.join("', '")}', received ${'<a value of type ' + niceTypeOf(value) + '>'}`);
137
- return;
138
- }
139
- if (Array.isArray(schema)) {
140
- if (!schema.includes(value)) {
141
- errors.push(`InvalidValue: key ${key} should be one of '${schema.join("', '")}', received ${typeof value === 'string' ? value : '<a value of type ' + niceTypeOf(value) + '>'}`);
142
- }
143
- return;
144
- } else if (schema === 'json') {
145
- try {
146
- JSON.stringify(value);
147
- } catch (e) {
148
- errors.push(`InvalidValue: key ${key} should be a JSON serializable value, but failed to serialize with Error - ${e.message}`);
149
- }
150
- return;
151
- } else if (schema === 'headers') {
152
- if (!(value instanceof Headers)) {
153
- errors.push(`InvalidValue: key ${key} should be an instance of Headers, received ${niceTypeOf(value)}`);
154
- }
155
- return;
156
- } else if (schema === 'record') {
157
- const _type = typeof value;
158
- // record must extend plain object or Object.create(null)
159
- if (!value || _type !== 'object' || value.constructor && value.constructor !== Object) {
160
- errors.push(`InvalidValue: key ${key} should be a dictionary of string keys to string values, received ${niceTypeOf(value)}`);
161
- return;
162
- }
163
- const keys = Object.keys(value);
164
- keys.forEach(k => {
165
- const v = value[k];
166
- if (typeof k !== 'string') {
167
- errors.push(`\tThe key ${String(k)} on ${key} should be a string key`);
168
- } else if (typeof v !== 'string') {
169
- errors.push(`\tThe value of ${key}.${k} should be a string not ${niceTypeOf(v)}`);
170
- }
171
- });
172
- return;
173
- } else if (schema === 'string') {
174
- if (typeof value !== 'string' || value.length === 0) {
175
- errors.push(`InvalidValue: key ${key} should be a non-empty string, received ${typeof value === 'string' ? "''" : typeof value}`);
176
- }
177
- return;
178
- } else if (schema === 'object') {
179
- if (!value || Array.isArray(value) || typeof value !== 'object') {
180
- errors.push(`InvalidValue: key ${key} should be an object`);
181
- }
182
- return;
183
- } else if (schema === 'boolean') {
184
- if (typeof value !== 'boolean') {
185
- errors.push(`InvalidValue: key ${key} should be a boolean, received ${typeof value}`);
186
- }
187
- return;
188
- } else if (schema === 'array') {
189
- if (!Array.isArray(value)) {
190
- errors.push(`InvalidValue: key ${key} should be an array, received ${typeof value}`);
191
- }
192
- return;
193
- }
194
- }
195
- }
196
- const IgnoredKeys = new Set([]);
197
- function assertValidRequest(request, isTopLevel) {
198
- if (macroCondition(getGlobalConfig().WarpDrive.env.DEBUG)) {
199
- // handle basic shape
200
- if (!request) {
201
- throw new Error(`Expected ${isTopLevel ? 'RequestManager.request' : 'next'}(<request>) to be called with a request, but none was provided.`);
202
- }
203
- if (Array.isArray(request) || typeof request !== 'object') {
204
- throw new Error(`The \`request\` passed to \`${isTopLevel ? 'RequestManager.request' : 'next'}(<request>)\` should be an object, received \`${niceTypeOf(request)}\``);
205
- }
206
- if (Object.keys(request).length === 0) {
207
- throw new Error(`The \`request\` passed to \`${isTopLevel ? 'RequestManager.request' : 'next'}(<request>)\` was empty (\`{}\`). Requests need at least one valid key.`);
208
- }
209
-
210
- // handle accidentally passing context entirely
211
- if (request instanceof Context) {
212
- throw new Error(`Expected a request passed to \`${isTopLevel ? 'RequestManager.request' : 'next'}(<request>)\` but received the previous handler's context instead`);
213
- }
214
- // handle Object.assign({}, context);
215
- if (isMaybeContext(request)) {
216
- throw new Error(`Expected a request passed to \`${isTopLevel ? 'RequestManager.request' : 'next'}(<request>)\` but received an object with a request key instead.`);
217
- }
218
-
219
- // handle schema
220
- const keys = Object.keys(request);
221
- const validationErrors = [];
222
- const isLegacyRequest = Boolean('op' in request && !request.url);
223
- keys.forEach(key => {
224
- if (isLegacyRequest && key === 'data') {
225
- return;
226
- }
227
- validateKey(key, request[key], validationErrors);
228
- });
229
- if (validationErrors.length) {
230
- const error = new Error(`Invalid Request passed to \`${isTopLevel ? 'RequestManager.request' : 'next'}(<request>)\`.\n\nThe following issues were found:\n\n\t${validationErrors.join('\n\t')}`);
231
- error.errors = validationErrors;
232
- throw error;
233
- }
234
- }
235
- }
236
- function upgradeHeaders(headers) {
237
- headers.clone = () => {
238
- return new Headers(headers);
239
- };
240
- headers.toJSON = () => {
241
- return Array.from(headers);
242
- };
243
- return headers;
244
- }
245
- function cloneResponseProperties(response) {
246
- const {
247
- headers,
248
- ok,
249
- redirected,
250
- status,
251
- statusText,
252
- type,
253
- url
254
- } = response;
255
- upgradeHeaders(headers);
256
- return {
257
- headers: headers,
258
- ok,
259
- redirected,
260
- status,
261
- statusText,
262
- type,
263
- url
264
- };
265
- }
266
- class ContextOwner {
267
- hasSetStream = false;
268
- hasSetResponse = false;
269
- hasSubscribers = false;
270
- stream = createDeferred();
271
- response = null;
272
- nextCalled = 0;
273
- constructor(request, god, isRoot = false) {
274
- this.isRoot = isRoot;
275
- this.requestId = god.id;
276
- this.controller = request.controller || god.controller;
277
- this.stream.promise.sizeHint = 0;
278
- if (request.controller) {
279
- if (request.controller !== god.controller) {
280
- god.controller.signal.addEventListener('abort', () => {
281
- this.controller.abort(god.controller.signal.reason);
282
- });
283
- }
284
- delete request.controller;
285
- }
286
- let enhancedRequest = Object.assign({
287
- signal: this.controller.signal
288
- }, request);
289
- if (macroCondition(getGlobalConfig().WarpDrive.env.DEBUG)) {
290
- if (!request?.cacheOptions?.[SkipCache]) {
291
- request = deepFreeze(request);
292
- enhancedRequest = deepFreeze(enhancedRequest);
293
- }
294
- } else {
295
- if (request.headers) {
296
- upgradeHeaders(request.headers);
297
- }
298
- }
299
- this.enhancedRequest = enhancedRequest;
300
- this.request = request;
301
- this.god = god;
302
- this.stream.promise = this.stream.promise.then(stream => {
303
- if (this.god.stream === stream && this.hasSubscribers) {
304
- this.god.stream = null;
305
- }
306
- return stream;
307
- });
308
- }
309
- get hasRequestedStream() {
310
- return this.god.hasRequestedStream;
311
- }
312
- getResponse() {
313
- if (this.hasSetResponse) {
314
- return this.response;
315
- }
316
- if (this.nextCalled === 1) {
317
- return this.god.response;
318
- }
319
- return null;
320
- }
321
- getStream() {
322
- if (this.isRoot) {
323
- this.god.hasRequestedStream = true;
324
- }
325
- if (!this.hasSetResponse) {
326
- const hint = this.god.response?.headers?.get('content-length');
327
- this.stream.promise.sizeHint = hint ? parseInt(hint, 10) : 0;
328
- }
329
- this.hasSubscribers = true;
330
- return this.stream.promise;
331
- }
332
- abort(reason) {
333
- this.controller.abort(reason);
334
- }
335
- setStream(stream) {
336
- if (!this.hasSetStream) {
337
- this.hasSetStream = true;
338
- if (!(stream instanceof Promise)) {
339
- this.god.stream = stream;
340
- }
341
- // @ts-expect-error
342
- this.stream.resolve(stream);
343
- }
344
- }
345
- resolveStream() {
346
- this.setStream(this.nextCalled === 1 ? this.god.stream : null);
347
- }
348
- setResponse(response) {
349
- if (this.hasSetResponse) {
350
- if (macroCondition(getGlobalConfig().WarpDrive.env.DEBUG)) {
351
- throw new Error(`Cannot setResponse when a response has already been set`);
352
- }
353
- return;
354
- }
355
- this.hasSetResponse = true;
356
- if (response instanceof Response) {
357
- // TODO potentially avoid cloning in prod
358
- let responseData = cloneResponseProperties(response);
359
- if (macroCondition(getGlobalConfig().WarpDrive.env.DEBUG)) {
360
- responseData = deepFreeze(responseData);
361
- }
362
- this.response = responseData;
363
- this.god.response = responseData;
364
- const sizeHint = response.headers?.get('content-length');
365
- this.stream.promise.sizeHint = sizeHint ? parseInt(sizeHint, 10) : 0;
366
- } else {
367
- this.response = response;
368
- this.god.response = response;
369
- }
370
- }
371
- }
372
- class Context {
373
- /** @internal */
374
-
375
- /** @internal */
376
-
377
- /** @internal */
378
-
379
- constructor(owner, isCacheHandler) {
380
- this.id = owner.requestId;
381
- this.___owner = owner;
382
- this.request = owner.enhancedRequest;
383
- this._isCacheHandler = isCacheHandler;
384
- this._finalized = false;
385
- }
386
- setStream(stream) {
387
- this.___owner.setStream(stream);
388
- }
389
- setResponse(response) {
390
- this.___owner.setResponse(response);
391
- }
392
- setIdentifier(identifier) {
393
- macroCondition(getGlobalConfig().WarpDrive.env.DEBUG) ? (test => {
394
- if (!test) {
395
- throw new Error(`setIdentifier may only be used synchronously from a CacheHandler`);
396
- }
397
- })(identifier && this._isCacheHandler && !this._finalized) : {};
398
- this.___owner.god.identifier = identifier;
399
- }
400
- get hasRequestedStream() {
401
- return this.___owner.hasRequestedStream;
402
- }
403
-
404
- /** @private */
405
- _finalize() {
406
- this._finalized = true;
407
- }
408
- }
409
- const PromiseCache = getOrSetUniversal('PromiseCache', new WeakMap());
410
- const RequestMap = getOrSetUniversal('RequestMap', new Map());
411
- function setRequestResult(requestId, result) {
412
- RequestMap.set(requestId, result);
413
- }
414
- function clearRequestResult(requestId) {
415
- RequestMap.delete(requestId);
416
- }
417
- function getRequestResult(requestId) {
418
- return RequestMap.get(requestId);
419
- }
420
- function setPromiseResult(promise, result) {
421
- PromiseCache.set(promise, result);
422
- }
423
- function getPromiseResult(promise) {
424
- return PromiseCache.get(promise);
425
- }
426
- const IS_CACHE_HANDLER = getOrSetGlobal('IS_CACHE_HANDLER', Symbol('IS_CACHE_HANDLER'));
427
- function curryFuture(owner, inbound, outbound) {
428
- owner.setStream(inbound.getStream());
429
- inbound.then(doc => {
430
- const document = {
431
- [STRUCTURED]: true,
432
- request: owner.request,
433
- response: doc.response,
434
- content: doc.content
435
- };
436
- outbound.resolve(document);
437
- }, error => {
438
- if (isDoc(error)) {
439
- owner.setStream(owner.god.stream);
440
- }
441
- if (!error || !(error instanceof Error)) {
442
- try {
443
- throw new Error(error ? error : `Request Rejected with an Unknown Error`);
444
- } catch (e) {
445
- if (error && typeof error === 'object') {
446
- Object.assign(e, error);
447
- e.message = error.message || `Request Rejected with an Unknown Error`;
448
- }
449
- error = e;
450
- }
451
- }
452
- error[STRUCTURED] = true;
453
- error.request = owner.request;
454
- error.response = owner.getResponse();
455
- error.error = error.error || error.message;
456
- outbound.reject(error);
457
- });
458
- return outbound.promise;
459
- }
460
- function isDoc(doc) {
461
- return doc && doc[STRUCTURED] === true;
462
- }
463
- function ensureDoc(owner, content, isError) {
464
- if (isDoc(content)) {
465
- return content;
466
- }
467
- if (isError) {
468
- return {
469
- [STRUCTURED]: true,
470
- request: owner.request,
471
- response: owner.getResponse(),
472
- error: content
473
- };
474
- }
475
- return {
476
- [STRUCTURED]: true,
477
- request: owner.request,
478
- response: owner.getResponse(),
479
- content: content
480
- };
481
- }
482
-
483
- /**
484
- * Additional properties exposed on errors thrown by the
485
- * {@link Fetch | Fetch Handler}.
486
- *
487
- * In the case of an Abort or system/browser level issue,
488
- * this extends {@link DOMException}.
489
- *
490
- * Else it extends from {@link AggregateError} if the
491
- * response includes an array of errors, falling back
492
- * to {@link Error} as its base.
493
- */
494
-
495
- function enhanceReason(reason) {
496
- return new DOMException(reason || 'The user aborted a request.', 'AbortError');
497
- }
498
- function handleOutcome(owner, inbound, outbound) {
499
- inbound.then(content => {
500
- if (owner.controller.signal.aborted) {
501
- // the next function did not respect the signal, we handle it here
502
- outbound.reject(enhanceReason(owner.controller.signal.reason));
503
- return;
504
- }
505
- if (isDoc(content)) {
506
- owner.setStream(owner.god.stream);
507
- content = content.content;
508
- }
509
- const document = {
510
- [STRUCTURED]: true,
511
- request: owner.request,
512
- response: owner.getResponse(),
513
- content
514
- };
515
- outbound.resolve(document);
516
- }, error => {
517
- if (isDoc(error)) {
518
- owner.setStream(owner.god.stream);
519
- }
520
- if (!error || !(error instanceof Error)) {
521
- try {
522
- throw new Error(error ? error : `Request Rejected with an Unknown Error`);
523
- } catch (e) {
524
- if (error && typeof error === 'object') {
525
- Object.assign(e, error);
526
- e.message = error.message || `Request Rejected with an Unknown Error`;
527
- }
528
- error = e;
529
- }
530
- }
531
- error[STRUCTURED] = true;
532
- error.request = owner.request;
533
- error.response = owner.getResponse();
534
- error.error = error.error || error.message;
535
- outbound.reject(error);
536
- });
537
- return outbound.promise;
538
- }
539
- function isCacheHandler(handler, index) {
540
- return index === 0 && Boolean(handler[IS_CACHE_HANDLER]);
541
- }
542
- function executeNextHandler(wares, request, i, god) {
543
- if (macroCondition(getGlobalConfig().WarpDrive.env.DEBUG)) {
544
- if (i === wares.length) {
545
- throw new Error(`No handler was able to handle this request.`);
546
- }
547
- assertValidRequest(request, false);
548
- }
549
- const owner = new ContextOwner(request, god, i === 0);
550
- function next(r) {
551
- owner.nextCalled++;
552
- return executeNextHandler(wares, r, i + 1, god);
553
- }
554
- const _isCacheHandler = isCacheHandler(wares[i], i);
555
- const context = new Context(owner, _isCacheHandler);
556
- let outcome;
557
- try {
558
- outcome = wares[i].request(context, next);
559
- if (_isCacheHandler) {
560
- context._finalize();
561
- }
562
- if (!!outcome && _isCacheHandler) {
563
- if (!(outcome instanceof Promise)) {
564
- setRequestResult(owner.requestId, {
565
- isError: false,
566
- result: ensureDoc(owner, outcome, false)
567
- });
568
- outcome = Promise.resolve(outcome);
569
- }
570
- } else if (macroCondition(getGlobalConfig().WarpDrive.env.DEBUG)) {
571
- if (!outcome || !(outcome instanceof Promise) && !(typeof outcome === 'object' && 'then' in outcome)) {
572
- // eslint-disable-next-line no-console
573
- console.log({
574
- request,
575
- handler: wares[i],
576
- outcome
577
- });
578
- if (outcome === undefined) {
579
- throw new Error(`Expected handler.request to return a promise, instead received undefined.`);
580
- }
581
- throw new Error(`Expected handler.request to return a promise, instead received a synchronous value.`);
582
- }
583
- }
584
- } catch (e) {
585
- if (_isCacheHandler) {
586
- setRequestResult(owner.requestId, {
587
- isError: true,
588
- result: ensureDoc(owner, e, true)
589
- });
590
- }
591
- // eslint-disable-next-line @typescript-eslint/prefer-promise-reject-errors
592
- outcome = Promise.reject(e);
593
- }
594
- const future = createFuture(owner);
595
- if (isFuture(outcome)) {
596
- return curryFuture(owner, outcome, future);
597
- }
598
- return handleOutcome(owner, outcome, future);
599
- }
600
- function isFuture(maybe) {
601
- return Boolean(maybe && maybe instanceof Promise && maybe[IS_FUTURE] === true);
602
- }
603
- function createDeferred() {
604
- let resolve;
605
- let reject;
606
- const promise = new Promise((res, rej) => {
607
- resolve = res;
608
- reject = rej;
609
- });
610
- return {
611
- resolve,
612
- reject,
613
- promise
614
- };
615
- }
616
- function upgradePromise(promise, future) {
617
- promise[IS_FUTURE] = true;
618
- // eslint-disable-next-line @typescript-eslint/unbound-method
619
- promise.getStream = future.getStream;
620
- // eslint-disable-next-line @typescript-eslint/unbound-method
621
- promise.abort = future.abort;
622
- // eslint-disable-next-line @typescript-eslint/unbound-method
623
- promise.onFinalize = future.onFinalize;
624
- promise.id = future.id;
625
- promise.lid = future.lid;
626
- promise.requester = future.requester;
627
- if (macroCondition(getGlobalConfig().WarpDrive.env.DEBUG)) {
628
- // @ts-expect-error
629
- promise.toJSON = () => {
630
- const id = 'Future<' + promise.id + '>';
631
- if (promise.lid) {
632
- return `${id} (${promise.lid.lid})`;
633
- }
634
- return id;
635
- };
636
- }
637
- return promise;
638
- }
639
- function createFuture(owner) {
640
- const deferred = createDeferred();
641
- let {
642
- promise
643
- } = deferred;
644
- let cbs;
645
- promise = promise.finally(() => {
646
- owner.resolveStream();
647
- if (cbs) {
648
- cbs.forEach(cb => cb());
649
- }
650
- });
651
- promise.onFinalize = fn => {
652
- cbs = cbs || [];
653
- cbs.push(fn);
654
- };
655
- promise[IS_FUTURE] = true;
656
- promise.getStream = () => {
657
- return owner.getStream();
658
- };
659
- promise.abort = reason => {
660
- owner.abort(enhanceReason(reason));
661
- };
662
- promise.id = owner.requestId;
663
- promise.lid = owner.god.identifier;
664
- promise.requester = owner.god.requester;
665
- if (macroCondition(getGlobalConfig().WarpDrive.env.DEBUG)) {
666
- // @ts-expect-error
667
- promise.toJSON = () => {
668
- const id = 'Future<' + promise.id + '>';
669
- if (promise.lid) {
670
- return `${id} (${promise.lid.lid})`;
671
- }
672
- return id;
673
- };
674
- }
675
- deferred.promise = promise;
676
- return deferred;
677
- }
678
- export { IS_CACHE_HANDLER as I, cloneResponseProperties as a, assertValidRequest as b, createDeferred as c, getRequestResult as d, executeNextHandler as e, clearRequestResult as f, getPromiseResult as g, setPromiseResult as s, upgradePromise as u };