@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,286 +0,0 @@
1
- /**
2
- * # About
3
- *
4
- * This module provides an implementation of reactive objects that a Store may use for creating
5
- * reactive representations of the raw data for requests, resources and their relationships
6
- * stored in the cache.
7
- *
8
- * - For configuring the store to use these reactive objects, see [The Setup Guide](/guides/configuration/)
9
- * - For defining resource schemas, see [The Schema Guide](/guides/the-manual/schemas/)
10
- *
11
- * Any method that returns a record instance will use the `instantiateRecord`
12
- * hook configured above to instantiate a ReactiveResource once this is in place.
13
- * After that, its up to you what ReactiveResource can do.
14
- *
15
- * ## Modes
16
- *
17
- * ReactiveResource has two modes: `legacy` and `polaris`.
18
- *
19
- * **LegacyMode** can be used to emulate the behaviors and capabilities of WarpDrive's `Model` class,
20
- * and because there is little distinction between Model and a ReactiveResource in LegacyMode we refer
21
- * to both of these approaches as LegacyMode. This mode is the default experience in V5.
22
- *
23
- * In LegacyMode:
24
- *
25
- * - records are mutable
26
- * - local changes immediately reflect app wide
27
- * - records have all the APIs of Model (references, state props, currentState, methods etc)
28
- * - the continued use of `@warp-drive/legacy` is required (though most imports from it can be removed)
29
- * - `async: true` relationships are supported (but not recommended outside of [LinksMode](/guides/the-manual/misc/links-mode.md))
30
- *
31
- * ---
32
- *
33
- * **PolarisMode** is an upcoming suite of features that will become the default experience in V6.
34
- *
35
- * In PolarisMode:
36
- *
37
- * - records are immutable, unless creating a new resource or explicitly checking out a record for editing
38
- * - local changes are isolated until committed, displaying only via the editable version of the record
39
- * - records have a more limited API, focused on only what is in their schema.
40
- * - some common operations may have more friction to perform because intended utilities are not yet available
41
- * - `async: true` relationships are not supported (see [LinksMode](/guides/the-manual/misc/links-mode.md))
42
- * - The `@warp-drive/legacy` package is not required
43
- *
44
- * These modes are interopable. The reactive object (record) for a resource in PolarisMode can relate to
45
- * a record in LegacyMode and vice-versa. This interopability is true whether the record in LegacyMode is
46
- * a ReactiveResource or a Model.
47
- *
48
- * ---
49
- *
50
- * ## Basic Usage
51
- *
52
- * ReactiveResource is a reactive object that transforms raw data from an associated
53
- * cache into reactive data backed by Signals.
54
- *
55
- * The shape of the object and the transformation of raw cache data into its
56
- * reactive form is controlled by a resource schema.
57
- *
58
- * For instance, lets say your API is a [{json:api}](https://jsonapi.org) and your store is using
59
- * the Cache provided by {@link @warp-drive/json-api! | @warp-drive/json-api}, and a request
60
- * returns the following raw data:
61
- *
62
- * ```ts
63
- * {
64
- * data: {
65
- * type: 'user',
66
- * id: '1',
67
- * attributes: { firstName: 'Chris', lastName: 'Thoburn' },
68
- * relationships: { pets: { data: [{ type: 'dog', id: '1' }] }}
69
- * },
70
- * included: [
71
- * {
72
- * type: 'dog',
73
- * id: '1',
74
- * attributes: { name: 'Rey' },
75
- * relationships: { owner: { data: { type: 'user', id: '1' }}}
76
- * }
77
- * ]
78
- * }
79
- * ```
80
- *
81
- * We could describe the `'user'` and `'dog'` resources in the above payload
82
- * with the following schemas:
83
- *
84
- * ```ts
85
- * store.schema.registerResources([
86
- * {
87
- * type: 'user',
88
- * identity: { type: '@id', name: 'id' },
89
- * fields: [
90
- * {
91
- * type: '@identity',
92
- * name: '$type',
93
- * kind: 'derived',
94
- * options: { key: 'type' },
95
- * },
96
- * { kind: 'field', name: 'firstName' },
97
- * { kind: 'field', name: 'lastName' },
98
- * {
99
- * kind: 'derived',
100
- * name: 'name',
101
- * type: 'concat',
102
- * options: { fields: ['firstName', 'lastName'], separator: ' ' }
103
- * },
104
- * {
105
- * kind: 'hasMany',
106
- * name: 'pets',
107
- * type: 'pet',
108
- * options: {
109
- * async: false,
110
- * inverse: 'owner',
111
- * polymorphic: true,
112
- * linksMode: true,
113
- * }
114
- * }
115
- * ]
116
- * },
117
- * {
118
- * type: 'dog',
119
- * identity: { type: '@id', name: 'id' },
120
- * fields: [
121
- * {
122
- * type: '@identity',
123
- * name: '$type',
124
- * kind: 'derived',
125
- * options: { key: 'type' },
126
- * },
127
- * { kind: 'field', name: 'name' },
128
- * {
129
- * kind: 'belongsTo',
130
- * name: 'owner',
131
- * type: 'user',
132
- * options: {
133
- * async: false,
134
- * inverse: 'pets',
135
- * as: 'pet',
136
- * linksMode: true,
137
- * }
138
- * }
139
- * ]
140
- * }
141
- * ]);
142
- * ```
143
- *
144
- * With these schemas in place, the reactive objects that the store would
145
- * provide us whenever we encountered a `'user'` or a `'dog'` would be:
146
- *
147
- * ```ts
148
- * interface Pet {
149
- * readonly id: string;
150
- * readonly owner: User;
151
- * }
152
- *
153
- * interface Dog extends Pet {
154
- * readonly $type: 'dog';
155
- * readonly name: string;
156
- * }
157
- *
158
- * interface EditableUser {
159
- * readonly $type: 'user';
160
- * readonly id: string;
161
- * firstName: string;
162
- * lastName: string;
163
- * readonly name: string;
164
- * pets: Array<Dog | Pet>;
165
- * }
166
- *
167
- * interface User {
168
- * readonly $type: 'user';
169
- * readonly id: string;
170
- * readonly firstName: string;
171
- * readonly lastName: string;
172
- * readonly name: string;
173
- * readonly pets: Readonly<Array<Dog | Pet>>;
174
- * [Checkout](): Promise<EditableUser>
175
- * }>
176
- * ```
177
- *
178
- * Note how based on the schema the reactive object we receive is able to produce
179
- * `name` on user (despite no name field being in the cache), provide `$type`
180
- * pulled from the identity of the resource, and flatten the individual attributes
181
- * and relationships onto the record for easier use.
182
- *
183
- * Notice also how we typed this object with `readonly`. This is because while
184
- * ReactiveResource instances are ***deeply reactive***, they are also ***immutable***.
185
- *
186
- * We can mutate a ReactiveResource only be explicitly asking permission to do so, and
187
- * in the process gaining access to an editable copy. The immutable version will
188
- * not show any in-process edits made to this editable copy.
189
- *
190
- * ```ts
191
- * import { Checkout } from '@warp-drive/schema-record';
192
- *
193
- * const editable = await user[Checkout]();
194
- * ```
195
- *
196
- * ## Utilities
197
- *
198
- * ReactiveResource provides a schema builder that simplifies setting up a couple of
199
- * conventional fields like identity and `$type`. We can rewrite the schema
200
- * definition above using this utility like so:
201
- *
202
- * ```ts
203
- * import { withDefaults } from '@warp-drive/core/reactive';
204
- *
205
- * store.schema.registerResources([
206
- * withDefaults({
207
- * type: 'user',
208
- * fields: [
209
- * { kind: 'field', name: 'firstName' },
210
- * { kind: 'field', name: 'lastName' },
211
- * {
212
- * kind: 'derived',
213
- * name: 'name',
214
- * type: 'concat',
215
- * options: { fields: ['firstName', 'lastName'], separator: ' ' }
216
- * },
217
- * {
218
- * kind: 'hasMany',
219
- * name: 'pets',
220
- * type: 'pet',
221
- * options: {
222
- * async: false,
223
- * inverse: 'owner',
224
- * polymorphic: true,
225
- * linksMode: true,
226
- * resetOnRemoteUpdate: false,
227
- * }
228
- * }
229
- * ]
230
- * }),
231
- * withDefaults({
232
- * type: 'dog',
233
- * fields: [
234
- * { kind: 'field', name: 'name' },
235
- * {
236
- * kind: 'belongsTo',
237
- * name: 'owner',
238
- * type: 'user',
239
- * options: {
240
- * async: false,
241
- * inverse: 'pets',
242
- * as: 'pet',
243
- * linksMode: true,
244
- * resetOnRemoteUpdate: false,
245
- * }
246
- * }
247
- * ]
248
- * })
249
- * ]);
250
- * ```
251
- *
252
- * ## Type Support
253
- *
254
- * ### Resource Schemas
255
- *
256
- * - {@link PolarisResourceSchema}
257
- * - {@link LegacyResourceSchema}
258
- * - {@link ObjectSchema}
259
- *
260
- * ### Resource Schema Type Utils
261
- *
262
- * - {@link resourceSchema}
263
- * - {@link objectSchema}
264
- * - {@link isResourceSchema}
265
- * - {@link isLegacyResourceSchema}
266
- *
267
- * ### Field Schemas
268
- *
269
- * - {@link LegacyModeFieldSchema}
270
- * - {@link PolarisModeFieldSchema}
271
- *
272
- * @module
273
- */
274
- import { checkout } from "./reactive/-private/record.js";
275
- export { instantiateRecord, teardownRecord } from "./reactive/-private/hooks.js";
276
- export { type CAUTION_MEGA_DANGER_ZONE_Extension, type ProcessedExtension, type ExtensionDef, type Transformation, SchemaService, withDefaults, fromIdentity, registerDerivations } from "./reactive/-private/schema.js";
277
- export { commit, type ReactiveResource } from "./reactive/-private/record.js";
278
- export { checkout };
279
- export { Checkout } from "./reactive/-private/symbols.js";
280
- export { type ReactiveDocument, type ReactiveDataDocument, type ReactiveErrorDocument } from "./reactive/-private/document.js";
281
- export { createRequestSubscription, getRequestState, type RequestSubscription, type RequestLoadingState, type RequestState } from "./signals/-private.js";
282
- export { getPromiseState, type PromiseState, type ResolvedPromise, type RejectedPromise, type PendingPromise } from "./signals/-private.js";
283
- export type { LegacyLiveArray } from "./store/-private/record-arrays/legacy-live-array.js";
284
- export type { LegacyManyArray } from "./store/-private/record-arrays/legacy-many-array.js";
285
- export type { LegacyQueryArray } from "./store/-private/record-arrays/legacy-query.js";
286
- export type { ReactiveResourceArray } from "./store/-private/record-arrays/resource-array.js";
@@ -1,39 +0,0 @@
1
- import type { RequestKey } from "../../types/identifier.js";
2
- import type { ImmutableHeaders, ImmutableRequestInfo, RequestInfo, ResponseInfo } from "../../types/request.js";
3
- import type { DeferredStream, GodContext } from "./types.js";
4
- export declare function upgradeHeaders(headers: Headers | ImmutableHeaders): ImmutableHeaders;
5
- export declare function cloneResponseProperties(response: Response): ResponseInfo;
6
- export declare class ContextOwner {
7
- hasSetStream: boolean;
8
- hasSetResponse: boolean;
9
- hasSubscribers: boolean;
10
- stream: DeferredStream;
11
- response: ResponseInfo | null;
12
- request: ImmutableRequestInfo;
13
- enhancedRequest: ImmutableRequestInfo;
14
- nextCalled: number;
15
- god: GodContext;
16
- controller: AbortController;
17
- requestId: number;
18
- isRoot: boolean;
19
- constructor(request: RequestInfo, god: GodContext, isRoot?: boolean);
20
- get hasRequestedStream(): boolean;
21
- getResponse(): ResponseInfo | null;
22
- getStream(): Promise<ReadableStream | null>;
23
- abort(reason: DOMException): void;
24
- setStream(stream: ReadableStream | Promise<ReadableStream | null> | null): void;
25
- resolveStream(): void;
26
- setResponse(response: ResponseInfo | Response | null): void;
27
- }
28
- export declare class Context {
29
- request: ImmutableRequestInfo;
30
- id: number;
31
- constructor(owner: ContextOwner, isCacheHandler: boolean);
32
- setStream(stream: ReadableStream | Promise<ReadableStream | null>): void;
33
- setResponse(response: ResponseInfo | Response | null): void;
34
- setIdentifier(identifier: RequestKey): void;
35
- get hasRequestedStream(): boolean;
36
- /** @private */
37
- _finalize(): void;
38
- }
39
- export type HandlerRequestContext = Context;
@@ -1,4 +0,0 @@
1
- import type { RequestInfo } from "../../types/request.js";
2
- import { Context } from "./context.js";
3
- export declare function deepFreeze<T = unknown>(value: T): T;
4
- export declare function assertValidRequest(request: RequestInfo | Context, isTopLevel: boolean): asserts request is RequestInfo;
@@ -1,33 +0,0 @@
1
- import { type Context } from "./context.js";
2
- import type { FetchError } from "./utils.js";
3
- export type { FetchError };
4
- interface FastbootRequest extends Request {
5
- protocol: string;
6
- host: string;
7
- }
8
- export interface FastBoot {
9
- require(moduleName: string): unknown;
10
- isFastBoot: boolean;
11
- request: FastbootRequest;
12
- }
13
- /**
14
- * ```ts
15
- * import { Fetch } from '@warp-drive/core';
16
- * ```
17
- *
18
- * A basic Fetch Handler which converts a request into a
19
- * `fetch` call presuming the response to be `json`.
20
- *
21
- * ```ts
22
- * import { RequestManager, Fetch } from '@warp-drive/core';
23
- *
24
- * const manager = new RequestManager()
25
- * .use([Fetch]);
26
- * ```
27
- *
28
- * @public
29
- */
30
- declare const Fetch: {
31
- request<T>(context: Context): Promise<T>;
32
- };
33
- export { Fetch };
@@ -1,7 +0,0 @@
1
- import { type StructuredDocument } from "../../types/request.js";
2
- import type { ContextOwner } from "./context.js";
3
- import type { Deferred, DeferredFuture, Future } from "./types.js";
4
- export declare function isFuture<T>(maybe: unknown): maybe is Future<T>;
5
- export declare function createDeferred<T>(): Deferred<T>;
6
- export declare function upgradePromise<T>(promise: Promise<StructuredDocument<T>>, future: Future<T>): Future<T>;
7
- export declare function createFuture<T>(owner: ContextOwner): DeferredFuture<T>;
@@ -1,158 +0,0 @@
1
- import type { RequestKey } from "../../types/identifier.js";
2
- import { type RequestInfo } from "../../types/request.js";
3
- import type { CacheHandler, Future, GenericCreateArgs, Handler, ManagedRequestPriority } from "./types.js";
4
- import { IS_CACHE_HANDLER } from "./utils.js";
5
- /**
6
- * ## Import
7
- *
8
- * ```js
9
- * import { RequestManager } from '@warp-drive/core';
10
- * ```
11
- *
12
- * For complete usage guide see the [RequestManager Documentation](/guides/).
13
- *
14
- * ## How It Works
15
- *
16
- * ```ts
17
- * interface RequestManager {
18
- * request<T>(req: RequestInfo): Future<T>;
19
- * }
20
- * ```
21
- *
22
- * A RequestManager provides a request/response flow in which configured
23
- * handlers are successively given the opportunity to handle, modify, or
24
- * pass-along a request.
25
- *
26
- * <img src="/images/handlers-all-labeled.gif" alt="RequestManager Flow Animation" width="100%" />
27
- *
28
- * For example:
29
- *
30
- * ::: code-group
31
- *
32
- * ```ts [Setup.ts]
33
- * import { RequestManager, Fetch } from '@warp-drive/core';
34
- * import { AutoCompress } from '@warp-drive/utilities/handlers';
35
- * import Auth from 'ember-simple-auth/handler';
36
- *
37
- * // ... create manager
38
- * const manager = new RequestManager()
39
- * .use([Auth, new AutoCompress(), Fetch]); // [!code focus]
40
- * ```
41
- *
42
- * ```ts [Usage.ts]
43
- * import Config from './config';
44
- *
45
- * const { apiUrl } = Config;
46
- *
47
- * // ... execute a request
48
- * const response = await manager.request({
49
- * url: `${apiUrl}/users`
50
- * });
51
- * ```
52
- *
53
- * :::
54
- *
55
- * ### Futures
56
- *
57
- * The return value of `manager.request` is a `Future`, which allows
58
- * access to limited information about the request while it is still
59
- * pending and fulfills with the final state when the request completes.
60
- *
61
- * A `Future` is cancellable via `abort`.
62
- *
63
- * Handlers may optionally expose a `ReadableStream` to the `Future` for
64
- * streaming data; however, when doing so the future should not resolve
65
- * until the response stream is fully read.
66
- *
67
- * ```ts
68
- * interface Future<T> extends Promise<StructuredDocument<T>> {
69
- * abort(): void;
70
- *
71
- * async getStream(): ReadableStream | null;
72
- * }
73
- * ```
74
- *
75
- * ### StructuredDocuments
76
- *
77
- * A Future resolves with a `StructuredDataDocument` or rejects with a `StructuredErrorDocument`.
78
- *
79
- * ```ts
80
- * interface StructuredDataDocument<T> {
81
- * request: ImmutableRequestInfo;
82
- * response: ImmutableResponseInfo;
83
- * content: T;
84
- * }
85
- * interface StructuredErrorDocument extends Error {
86
- * request: ImmutableRequestInfo;
87
- * response: ImmutableResponseInfo;
88
- * error: string | object;
89
- * }
90
- * type StructuredDocument<T> = StructuredDataDocument<T> | StructuredErrorDocument;
91
- * ```
92
- *
93
- * @public
94
- */
95
- export declare class RequestManager {
96
- constructor(options?: GenericCreateArgs);
97
- /**
98
- * Register a handler to use for primary cache intercept.
99
- *
100
- * Only one such handler may exist. If using the same
101
- * RequestManager as the Store instance the Store
102
- * registers itself as a Cache handler.
103
- *
104
- * @public
105
- */
106
- useCache(cacheHandler: CacheHandler & {
107
- [IS_CACHE_HANDLER]?: true;
108
- }): this;
109
- /**
110
- * Register handler(s) to use when a request is issued.
111
- *
112
- * Handlers will be invoked in the order they are registered.
113
- * Each Handler is given the opportunity to handle the request,
114
- * curry the request, or pass along a modified request.
115
- *
116
- * @public
117
- */
118
- use(newHandlers: Handler[]): this;
119
- /**
120
- * Issue a Request.
121
- *
122
- * Returns a Future that fulfills with a StructuredDocument
123
- *
124
- * @public
125
- */
126
- request<RT>(request: RequestInfo<RT>): Future<RT>;
127
- /**
128
- * This method exists so that the RequestManager can be created
129
- * can be created by container/factory systems that expect to
130
- * call a static `create` method to instantiate the class.
131
- *
132
- * Using `new RequestManager()` directly is preferred.
133
- *
134
- * @private
135
- */
136
- static create(options?: GenericCreateArgs): RequestManager;
137
- }
138
- /**
139
- * This type exists for internal use only for
140
- * where intimate contracts still exist either for
141
- * the Test Suite or for Legacy code.
142
- *
143
- * @private
144
- */
145
- export interface PrivateRequestManager extends RequestManager {
146
- /**
147
- * A map of pending requests from request.id to their
148
- * associated CacheHandler promise.
149
- *
150
- * This queue is managed by the CacheHandler
151
- *
152
- */
153
- _pending: Map<number, Promise<unknown>>;
154
- _deduped: Map<RequestKey, {
155
- priority: ManagedRequestPriority;
156
- promise: Promise<unknown>;
157
- }>;
158
- }
@@ -1,28 +0,0 @@
1
- export type CacheResult<
2
- T = unknown,
3
- E = unknown
4
- > = {
5
- isError: true;
6
- result: E;
7
- } | {
8
- isError: false;
9
- result: T;
10
- };
11
- export type Awaitable<
12
- T = unknown,
13
- E = unknown
14
- > = {
15
- then: (onFulfilled: (value: T) => unknown, onRejected: (reason: E) => unknown) => unknown;
16
- catch: (onRejected: (reason: E) => unknown) => unknown;
17
- finally: (onFinally: () => unknown) => unknown;
18
- };
19
- export declare const PromiseCache: WeakMap<Awaitable, CacheResult>;
20
- export declare const RequestMap: Map<number, CacheResult>;
21
- export declare function setRequestResult(requestId: number, result: CacheResult): void;
22
- export declare function clearRequestResult(requestId: number): void;
23
- export declare function getRequestResult(requestId: number): CacheResult | undefined;
24
- export declare function setPromiseResult(promise: Promise<unknown> | Awaitable, result: CacheResult): void;
25
- export declare function getPromiseResult<
26
- T,
27
- E
28
- >(promise: Promise<T> | Awaitable<T, E>): CacheResult<T, E> | undefined;