@warp-drive/core 5.6.0-alpha.15 → 5.6.0-alpha.17

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 (286) hide show
  1. package/declarations/build-config/babel-macros.d.ts +1 -2
  2. package/declarations/build-config/canary-features.d.ts +1 -2
  3. package/declarations/build-config/debugging.d.ts +1 -2
  4. package/declarations/build-config/deprecations.d.ts +1 -2
  5. package/declarations/build-config/env.d.ts +1 -2
  6. package/declarations/build-config/macros.d.ts +1 -2
  7. package/declarations/build-config.d.ts +1 -2
  8. package/declarations/configure.d.ts +6 -7
  9. package/declarations/graph/-private/-diff.d.ts +21 -22
  10. package/declarations/graph/-private/-edge-definition.d.ts +134 -135
  11. package/declarations/graph/-private/-state.d.ts +93 -7
  12. package/declarations/graph/-private/-utils.d.ts +18 -13
  13. package/declarations/graph/-private/coerce-id.d.ts +6 -1
  14. package/declarations/graph/-private/debug/assert-polymorphic-type.d.ts +15 -4
  15. package/declarations/graph/-private/edges/collection.d.ts +35 -36
  16. package/declarations/graph/-private/edges/implicit.d.ts +28 -29
  17. package/declarations/graph/-private/edges/resource.d.ts +19 -20
  18. package/declarations/graph/-private/graph.d.ts +83 -48
  19. package/declarations/graph/-private/normalize-link.d.ts +7 -2
  20. package/declarations/graph/-private/operations/add-to-related-records.d.ts +3 -4
  21. package/declarations/graph/-private/operations/merge-identifier.d.ts +2 -3
  22. package/declarations/graph/-private/operations/remove-from-related-records.d.ts +3 -4
  23. package/declarations/graph/-private/operations/replace-related-record.d.ts +2 -3
  24. package/declarations/graph/-private/operations/replace-related-records.d.ts +58 -4
  25. package/declarations/graph/-private/operations/update-relationship.d.ts +11 -9
  26. package/declarations/graph/-private.d.ts +9 -10
  27. package/declarations/index.d.ts +11 -12
  28. package/declarations/reactive/-private/document.d.ts +143 -144
  29. package/declarations/reactive/-private/fields/compute.d.ts +31 -28
  30. package/declarations/reactive/-private/fields/extension.d.ts +2 -3
  31. package/declarations/reactive/-private/fields/managed-array.d.ts +19 -20
  32. package/declarations/reactive/-private/fields/managed-object.d.ts +16 -16
  33. package/declarations/reactive/-private/fields/many-array-manager.d.ts +15 -16
  34. package/declarations/reactive/-private/hooks.d.ts +3 -4
  35. package/declarations/reactive/-private/record.d.ts +61 -59
  36. package/declarations/reactive/-private/schema.d.ts +242 -224
  37. package/declarations/reactive/-private/symbols.d.ts +26 -1
  38. package/declarations/reactive/-private.d.ts +1 -2
  39. package/declarations/reactive.d.ts +4 -5
  40. package/declarations/request/-private/context.d.ts +34 -35
  41. package/declarations/request/-private/debug.d.ts +2 -3
  42. package/declarations/request/-private/fetch.d.ts +23 -24
  43. package/declarations/request/-private/future.d.ts +3 -4
  44. package/declarations/request/-private/manager.d.ts +159 -157
  45. package/declarations/request/-private/promise-cache.d.ts +21 -13
  46. package/declarations/request/-private/types.d.ts +124 -124
  47. package/declarations/request/-private/utils.d.ts +8 -9
  48. package/declarations/request.d.ts +5 -6
  49. package/declarations/store/-private/cache-handler/handler.d.ts +57 -52
  50. package/declarations/store/-private/cache-handler/types.d.ts +95 -96
  51. package/declarations/store/-private/cache-handler/utils.d.ts +16 -16
  52. package/declarations/store/-private/caches/cache-utils.d.ts +7 -4
  53. package/declarations/store/-private/caches/identifier-cache.d.ts +234 -246
  54. package/declarations/store/-private/caches/instance-cache.d.ts +47 -47
  55. package/declarations/store/-private/caches/resource-utils.d.ts +3 -4
  56. package/declarations/store/-private/debug/utils.d.ts +6 -7
  57. package/declarations/store/-private/default-cache-policy.d.ts +362 -361
  58. package/declarations/store/-private/legacy-model-support/record-reference.d.ts +154 -159
  59. package/declarations/store/-private/legacy-model-support/shim-model-class.d.ts +14 -14
  60. package/declarations/store/-private/managers/cache-capabilities-manager.d.ts +21 -22
  61. package/declarations/store/-private/managers/cache-manager.d.ts +440 -425
  62. package/declarations/store/-private/managers/notification-manager.d.ts +88 -83
  63. package/declarations/store/-private/managers/record-array-manager.d.ts +89 -90
  64. package/declarations/store/-private/network/request-cache.d.ts +86 -83
  65. package/declarations/store/-private/new-core-tmp/promise-state.d.ts +252 -244
  66. package/declarations/store/-private/new-core-tmp/reactivity/configure.d.ts +154 -155
  67. package/declarations/store/-private/new-core-tmp/reactivity/internal.d.ts +148 -149
  68. package/declarations/store/-private/new-core-tmp/reactivity/signal.d.ts +28 -23
  69. package/declarations/store/-private/new-core-tmp/request-state.d.ts +263 -241
  70. package/declarations/store/-private/new-core-tmp/request-subscription.d.ts +253 -223
  71. package/declarations/store/-private/record-arrays/identifier-array.d.ts +125 -121
  72. package/declarations/store/-private/record-arrays/many-array.d.ts +180 -184
  73. package/declarations/store/-private/record-arrays/native-proxy-type-fix.d.ts +120 -110
  74. package/declarations/store/-private/store-service.d.ts +1594 -1586
  75. package/declarations/store/-private/utils/coerce-id.d.ts +6 -1
  76. package/declarations/store/-private/utils/construct-resource.d.ts +1 -2
  77. package/declarations/store/-private/utils/is-non-empty-string.d.ts +0 -1
  78. package/declarations/store/-private/utils/normalize-model-name.d.ts +0 -1
  79. package/declarations/store/-private/utils/uuid-polyfill.d.ts +0 -1
  80. package/declarations/store/-private.d.ts +31 -28
  81. package/declarations/store/-types/q/cache-capabilities-manager.d.ts +96 -97
  82. package/declarations/store/-types/q/ds-model.d.ts +17 -18
  83. package/declarations/store/-types/q/identifier.d.ts +11 -12
  84. package/declarations/store/-types/q/record-instance.d.ts +16 -17
  85. package/declarations/store/-types/q/schema-service.d.ts +346 -343
  86. package/declarations/store/-types/q/store.d.ts +25 -28
  87. package/declarations/store.d.ts +1 -2
  88. package/declarations/types/-private.d.ts +16 -8
  89. package/declarations/types/cache/aliases.d.ts +11 -1
  90. package/declarations/types/cache/change.d.ts +4 -5
  91. package/declarations/types/cache/mutations.d.ts +51 -28
  92. package/declarations/types/cache/operations.d.ts +60 -47
  93. package/declarations/types/cache/relationship.d.ts +11 -9
  94. package/declarations/types/cache.d.ts +495 -484
  95. package/declarations/types/graph.d.ts +31 -32
  96. package/declarations/types/identifier.d.ts +83 -82
  97. package/declarations/types/json/raw.d.ts +1 -2
  98. package/declarations/types/params.d.ts +4 -5
  99. package/declarations/types/record.d.ts +117 -76
  100. package/declarations/types/request.d.ts +289 -266
  101. package/declarations/types/runtime.d.ts +8 -9
  102. package/declarations/types/schema/concepts.d.ts +19 -13
  103. package/declarations/types/schema/fields.d.ts +1712 -1713
  104. package/declarations/types/schema/fields.type-test.d.ts +0 -1
  105. package/declarations/types/spec/document.d.ts +28 -22
  106. package/declarations/types/spec/error.d.ts +16 -17
  107. package/declarations/types/spec/json-api-raw.d.ts +102 -102
  108. package/declarations/types/symbols.d.ts +74 -75
  109. package/declarations/types/utils.d.ts +5 -5
  110. package/declarations/types.d.ts +10 -11
  111. package/declarations/utils/string.d.ts +43 -40
  112. package/dist/graph/-private.js +1 -1
  113. package/dist/{handler-D1C3Innj.js → handler-C2T-IyJK.js} +1 -1
  114. package/dist/index.js +2 -2
  115. package/dist/reactive/-private.js +1 -1
  116. package/dist/reactive.js +42 -73
  117. package/dist/{request-state-CCOJIj5i.js → request-state-CjLph1LP.js} +275 -261
  118. package/dist/store/-private.js +2 -2
  119. package/dist/{symbols-epHW0Vm9.js → symbols-SIstXMLI.js} +1 -1
  120. package/dist/types/-private.js +1 -1
  121. package/package.json +4 -4
  122. package/declarations/build-config/babel-macros.d.ts.map +0 -1
  123. package/declarations/build-config/canary-features.d.ts.map +0 -1
  124. package/declarations/build-config/debugging.d.ts.map +0 -1
  125. package/declarations/build-config/deprecations.d.ts.map +0 -1
  126. package/declarations/build-config/env.d.ts.map +0 -1
  127. package/declarations/build-config/macros.d.ts.map +0 -1
  128. package/declarations/build-config.d.ts.map +0 -1
  129. package/declarations/configure.d.ts.map +0 -1
  130. package/declarations/graph/-private/-diff.d.ts.map +0 -1
  131. package/declarations/graph/-private/-edge-definition.d.ts.map +0 -1
  132. package/declarations/graph/-private/-state.d.ts.map +0 -1
  133. package/declarations/graph/-private/-utils.d.ts.map +0 -1
  134. package/declarations/graph/-private/coerce-id.d.ts.map +0 -1
  135. package/declarations/graph/-private/debug/assert-polymorphic-type.d.ts.map +0 -1
  136. package/declarations/graph/-private/edges/collection.d.ts.map +0 -1
  137. package/declarations/graph/-private/edges/implicit.d.ts.map +0 -1
  138. package/declarations/graph/-private/edges/resource.d.ts.map +0 -1
  139. package/declarations/graph/-private/graph.d.ts.map +0 -1
  140. package/declarations/graph/-private/normalize-link.d.ts.map +0 -1
  141. package/declarations/graph/-private/operations/add-to-related-records.d.ts.map +0 -1
  142. package/declarations/graph/-private/operations/merge-identifier.d.ts.map +0 -1
  143. package/declarations/graph/-private/operations/remove-from-related-records.d.ts.map +0 -1
  144. package/declarations/graph/-private/operations/replace-related-record.d.ts.map +0 -1
  145. package/declarations/graph/-private/operations/replace-related-records.d.ts.map +0 -1
  146. package/declarations/graph/-private/operations/update-relationship.d.ts.map +0 -1
  147. package/declarations/graph/-private.d.ts.map +0 -1
  148. package/declarations/index.d.ts.map +0 -1
  149. package/declarations/reactive/-private/document.d.ts.map +0 -1
  150. package/declarations/reactive/-private/fields/compute.d.ts.map +0 -1
  151. package/declarations/reactive/-private/fields/extension.d.ts.map +0 -1
  152. package/declarations/reactive/-private/fields/managed-array.d.ts.map +0 -1
  153. package/declarations/reactive/-private/fields/managed-object.d.ts.map +0 -1
  154. package/declarations/reactive/-private/fields/many-array-manager.d.ts.map +0 -1
  155. package/declarations/reactive/-private/hooks.d.ts.map +0 -1
  156. package/declarations/reactive/-private/record.d.ts.map +0 -1
  157. package/declarations/reactive/-private/schema.d.ts.map +0 -1
  158. package/declarations/reactive/-private/symbols.d.ts.map +0 -1
  159. package/declarations/reactive/-private.d.ts.map +0 -1
  160. package/declarations/reactive.d.ts.map +0 -1
  161. package/declarations/request/-private/context.d.ts.map +0 -1
  162. package/declarations/request/-private/debug.d.ts.map +0 -1
  163. package/declarations/request/-private/fetch.d.ts.map +0 -1
  164. package/declarations/request/-private/future.d.ts.map +0 -1
  165. package/declarations/request/-private/manager.d.ts.map +0 -1
  166. package/declarations/request/-private/promise-cache.d.ts.map +0 -1
  167. package/declarations/request/-private/types.d.ts.map +0 -1
  168. package/declarations/request/-private/utils.d.ts.map +0 -1
  169. package/declarations/request.d.ts.map +0 -1
  170. package/declarations/store/-private/cache-handler/handler.d.ts.map +0 -1
  171. package/declarations/store/-private/cache-handler/types.d.ts.map +0 -1
  172. package/declarations/store/-private/cache-handler/utils.d.ts.map +0 -1
  173. package/declarations/store/-private/caches/cache-utils.d.ts.map +0 -1
  174. package/declarations/store/-private/caches/identifier-cache.d.ts.map +0 -1
  175. package/declarations/store/-private/caches/instance-cache.d.ts.map +0 -1
  176. package/declarations/store/-private/caches/resource-utils.d.ts.map +0 -1
  177. package/declarations/store/-private/debug/utils.d.ts.map +0 -1
  178. package/declarations/store/-private/default-cache-policy.d.ts.map +0 -1
  179. package/declarations/store/-private/legacy-model-support/record-reference.d.ts.map +0 -1
  180. package/declarations/store/-private/legacy-model-support/shim-model-class.d.ts.map +0 -1
  181. package/declarations/store/-private/managers/cache-capabilities-manager.d.ts.map +0 -1
  182. package/declarations/store/-private/managers/cache-manager.d.ts.map +0 -1
  183. package/declarations/store/-private/managers/notification-manager.d.ts.map +0 -1
  184. package/declarations/store/-private/managers/record-array-manager.d.ts.map +0 -1
  185. package/declarations/store/-private/network/request-cache.d.ts.map +0 -1
  186. package/declarations/store/-private/new-core-tmp/promise-state.d.ts.map +0 -1
  187. package/declarations/store/-private/new-core-tmp/reactivity/configure.d.ts.map +0 -1
  188. package/declarations/store/-private/new-core-tmp/reactivity/internal.d.ts.map +0 -1
  189. package/declarations/store/-private/new-core-tmp/reactivity/signal.d.ts.map +0 -1
  190. package/declarations/store/-private/new-core-tmp/request-state.d.ts.map +0 -1
  191. package/declarations/store/-private/new-core-tmp/request-subscription.d.ts.map +0 -1
  192. package/declarations/store/-private/record-arrays/identifier-array.d.ts.map +0 -1
  193. package/declarations/store/-private/record-arrays/many-array.d.ts.map +0 -1
  194. package/declarations/store/-private/record-arrays/native-proxy-type-fix.d.ts.map +0 -1
  195. package/declarations/store/-private/store-service.d.ts.map +0 -1
  196. package/declarations/store/-private/store-service.type-test.d.ts +0 -2
  197. package/declarations/store/-private/store-service.type-test.d.ts.map +0 -1
  198. package/declarations/store/-private/utils/coerce-id.d.ts.map +0 -1
  199. package/declarations/store/-private/utils/construct-resource.d.ts.map +0 -1
  200. package/declarations/store/-private/utils/is-non-empty-string.d.ts.map +0 -1
  201. package/declarations/store/-private/utils/normalize-model-name.d.ts.map +0 -1
  202. package/declarations/store/-private/utils/uuid-polyfill.d.ts.map +0 -1
  203. package/declarations/store/-private.d.ts.map +0 -1
  204. package/declarations/store/-types/q/cache-capabilities-manager.d.ts.map +0 -1
  205. package/declarations/store/-types/q/ds-model.d.ts.map +0 -1
  206. package/declarations/store/-types/q/identifier.d.ts.map +0 -1
  207. package/declarations/store/-types/q/promise-proxies.d.ts +0 -2
  208. package/declarations/store/-types/q/promise-proxies.d.ts.map +0 -1
  209. package/declarations/store/-types/q/record-data-json-api.d.ts +0 -31
  210. package/declarations/store/-types/q/record-data-json-api.d.ts.map +0 -1
  211. package/declarations/store/-types/q/record-instance.d.ts.map +0 -1
  212. package/declarations/store/-types/q/schema-service.d.ts.map +0 -1
  213. package/declarations/store/-types/q/store.d.ts.map +0 -1
  214. package/declarations/store.d.ts.map +0 -1
  215. package/declarations/types/-private.d.ts.map +0 -1
  216. package/declarations/types/cache/aliases.d.ts.map +0 -1
  217. package/declarations/types/cache/change.d.ts.map +0 -1
  218. package/declarations/types/cache/mutations.d.ts.map +0 -1
  219. package/declarations/types/cache/operations.d.ts.map +0 -1
  220. package/declarations/types/cache/relationship.d.ts.map +0 -1
  221. package/declarations/types/cache.d.ts.map +0 -1
  222. package/declarations/types/graph.d.ts.map +0 -1
  223. package/declarations/types/identifier.d.ts.map +0 -1
  224. package/declarations/types/json/raw.d.ts.map +0 -1
  225. package/declarations/types/params.d.ts.map +0 -1
  226. package/declarations/types/record.d.ts.map +0 -1
  227. package/declarations/types/record.type-test.d.ts +0 -2
  228. package/declarations/types/record.type-test.d.ts.map +0 -1
  229. package/declarations/types/request.d.ts.map +0 -1
  230. package/declarations/types/request.type-test.d.ts +0 -2
  231. package/declarations/types/request.type-test.d.ts.map +0 -1
  232. package/declarations/types/runtime.d.ts.map +0 -1
  233. package/declarations/types/schema/concepts.d.ts.map +0 -1
  234. package/declarations/types/schema/fields.d.ts.map +0 -1
  235. package/declarations/types/schema/fields.type-test.d.ts.map +0 -1
  236. package/declarations/types/spec/document.d.ts.map +0 -1
  237. package/declarations/types/spec/error.d.ts.map +0 -1
  238. package/declarations/types/spec/json-api-raw.d.ts.map +0 -1
  239. package/declarations/types/symbols.d.ts.map +0 -1
  240. package/declarations/types/utils.d.ts.map +0 -1
  241. package/declarations/types.d.ts.map +0 -1
  242. package/declarations/utils/string.d.ts.map +0 -1
  243. package/dist/build-config/babel-macros.js.map +0 -1
  244. package/dist/build-config/canary-features.js.map +0 -1
  245. package/dist/build-config/debugging.js.map +0 -1
  246. package/dist/build-config/deprecations.js.map +0 -1
  247. package/dist/build-config/env.js.map +0 -1
  248. package/dist/build-config/macros.js.map +0 -1
  249. package/dist/build-config.js.map +0 -1
  250. package/dist/configure-B48bFHOl.js.map +0 -1
  251. package/dist/configure.js.map +0 -1
  252. package/dist/context-COmAnXUQ.js.map +0 -1
  253. package/dist/graph/-private.js.map +0 -1
  254. package/dist/handler-D1C3Innj.js.map +0 -1
  255. package/dist/index.js.map +0 -1
  256. package/dist/reactive/-private.js.map +0 -1
  257. package/dist/reactive.js.map +0 -1
  258. package/dist/request-state-CCOJIj5i.js.map +0 -1
  259. package/dist/request.js.map +0 -1
  260. package/dist/store/-private.js.map +0 -1
  261. package/dist/store.js.map +0 -1
  262. package/dist/symbols-epHW0Vm9.js.map +0 -1
  263. package/dist/types/-private.js.map +0 -1
  264. package/dist/types/cache/aliases.js.map +0 -1
  265. package/dist/types/cache/change.js.map +0 -1
  266. package/dist/types/cache/mutations.js.map +0 -1
  267. package/dist/types/cache/operations.js.map +0 -1
  268. package/dist/types/cache/relationship.js.map +0 -1
  269. package/dist/types/cache.js.map +0 -1
  270. package/dist/types/graph.js.map +0 -1
  271. package/dist/types/identifier.js.map +0 -1
  272. package/dist/types/json/raw.js.map +0 -1
  273. package/dist/types/params.js.map +0 -1
  274. package/dist/types/record.js.map +0 -1
  275. package/dist/types/request.js.map +0 -1
  276. package/dist/types/runtime.js.map +0 -1
  277. package/dist/types/schema/concepts.js.map +0 -1
  278. package/dist/types/schema/fields.js.map +0 -1
  279. package/dist/types/schema/fields.type-test.js.map +0 -1
  280. package/dist/types/spec/document.js.map +0 -1
  281. package/dist/types/spec/error.js.map +0 -1
  282. package/dist/types/spec/json-api-raw.js.map +0 -1
  283. package/dist/types/symbols.js.map +0 -1
  284. package/dist/types/utils.js.map +0 -1
  285. package/dist/types.js.map +0 -1
  286. package/dist/utils/string.js.map +0 -1
@@ -1,32 +1,31 @@
1
- import { type Context } from './context';
1
+ import { type Context } from "./context.js";
2
2
  interface FastbootRequest extends Request {
3
- protocol: string;
4
- host: string;
3
+ protocol: string;
4
+ host: string;
5
5
  }
6
6
  export interface FastBoot {
7
- require(moduleName: string): unknown;
8
- isFastBoot: boolean;
9
- request: FastbootRequest;
7
+ require(moduleName: string): unknown;
8
+ isFastBoot: boolean;
9
+ request: FastbootRequest;
10
10
  }
11
11
  /**
12
- * ```ts
13
- * import { Fetch } from '@warp-drive/core';
14
- * ```
15
- *
16
- * A basic Fetch Handler which converts a request into a
17
- * `fetch` call presuming the response to be `json`.
18
- *
19
- * ```ts
20
- * import { RequestManager, Fetch } from '@warp-drive/core';
21
- *
22
- * const manager = new RequestManager()
23
- * .use([Fetch]);
24
- * ```
25
- *
26
- * @public
27
- */
12
+ * ```ts
13
+ * import { Fetch } from '@warp-drive/core';
14
+ * ```
15
+ *
16
+ * A basic Fetch Handler which converts a request into a
17
+ * `fetch` call presuming the response to be `json`.
18
+ *
19
+ * ```ts
20
+ * import { RequestManager, Fetch } from '@warp-drive/core';
21
+ *
22
+ * const manager = new RequestManager()
23
+ * .use([Fetch]);
24
+ * ```
25
+ *
26
+ * @public
27
+ */
28
28
  declare const Fetch: {
29
- request<T>(context: Context): Promise<T>;
29
+ request<T>(context: Context): Promise<T>;
30
30
  };
31
31
  export { Fetch };
32
- //# sourceMappingURL=fetch.d.ts.map
@@ -1,8 +1,7 @@
1
- import { type StructuredDocument } from '../../types/request';
2
- import type { ContextOwner } from './context';
3
- import type { Deferred, DeferredFuture, Future } from './types';
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
4
  export declare function isFuture<T>(maybe: unknown): maybe is Future<T>;
5
5
  export declare function createDeferred<T>(): Deferred<T>;
6
6
  export declare function upgradePromise<T>(promise: Promise<StructuredDocument<T>>, future: Future<T>): Future<T>;
7
7
  export declare function createFuture<T>(owner: ContextOwner): DeferredFuture<T>;
8
- //# sourceMappingURL=future.d.ts.map
@@ -1,160 +1,162 @@
1
- import type { StableDocumentIdentifier } from '../../types/identifier';
2
- import type { RequestInfo } from '../../types/request';
3
- import type { CacheHandler, Future, GenericCreateArgs, Handler, ManagedRequestPriority } from './types';
4
- import { IS_CACHE_HANDLER } from './utils';
1
+ import type { StableDocumentIdentifier } 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
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
- * @class RequestManager
94
- * @public
95
- */
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
+ * @class RequestManager
94
+ * @public
95
+ */
96
96
  export declare class RequestManager {
97
- #private;
98
- /** @internal */
99
- _hasCacheHandler: boolean;
100
- /**
101
- * A map of pending requests from request.id to their
102
- * associated CacheHandler promise.
103
- *
104
- * This queue is managed by the CacheHandler
105
- *
106
- * @internal
107
- */
108
- _pending: Map<number, Promise<unknown>>;
109
- /** @internal */
110
- _deduped: Map<StableDocumentIdentifier, {
111
- priority: ManagedRequestPriority;
112
- promise: Promise<unknown>;
113
- }>;
114
- constructor(options?: GenericCreateArgs);
115
- /**
116
- * Register a handler to use for primary cache intercept.
117
- *
118
- * Only one such handler may exist. If using the same
119
- * RequestManager as the Store instance the Store
120
- * registers itself as a Cache handler.
121
- *
122
- * @public
123
- */
124
- useCache(cacheHandler: CacheHandler & {
125
- [IS_CACHE_HANDLER]?: true;
126
- }): this;
127
- /**
128
- * Register handler(s) to use when a request is issued.
129
- *
130
- * Handlers will be invoked in the order they are registered.
131
- * Each Handler is given the opportunity to handle the request,
132
- * curry the request, or pass along a modified request.
133
- *
134
- * @public
135
- * @param {Handler[]} newHandlers
136
- * @return {ThisType}
137
- */
138
- use(newHandlers: Handler[]): this;
139
- /**
140
- * Issue a Request.
141
- *
142
- * Returns a Future that fulfills with a StructuredDocument
143
- *
144
- * @public
145
- * @param {RequestInfo} request
146
- * @return {Future}
147
- */
148
- request<RT, T = unknown>(request: RequestInfo<RT, T>): Future<RT>;
149
- /**
150
- * This method exists so that the RequestManager can be created
151
- * can be created by container/factory systems that expect to
152
- * call a static `create` method to instantiate the class.
153
- *
154
- * Using `new RequestManager()` directly is preferred.
155
- *
156
- * @private
157
- */
158
- static create(options?: GenericCreateArgs): RequestManager;
97
+ #private;
98
+ /** @internal */
99
+ _hasCacheHandler: boolean;
100
+ /**
101
+ * A map of pending requests from request.id to their
102
+ * associated CacheHandler promise.
103
+ *
104
+ * This queue is managed by the CacheHandler
105
+ *
106
+ * @internal
107
+ */
108
+ _pending: Map<number, Promise<unknown>>;
109
+ /** @internal */
110
+ _deduped: Map<StableDocumentIdentifier, {
111
+ priority: ManagedRequestPriority;
112
+ promise: Promise<unknown>;
113
+ }>;
114
+ constructor(options?: GenericCreateArgs);
115
+ /**
116
+ * Register a handler to use for primary cache intercept.
117
+ *
118
+ * Only one such handler may exist. If using the same
119
+ * RequestManager as the Store instance the Store
120
+ * registers itself as a Cache handler.
121
+ *
122
+ * @public
123
+ */
124
+ useCache(cacheHandler: CacheHandler & {
125
+ [IS_CACHE_HANDLER]?: true;
126
+ }): this;
127
+ /**
128
+ * Register handler(s) to use when a request is issued.
129
+ *
130
+ * Handlers will be invoked in the order they are registered.
131
+ * Each Handler is given the opportunity to handle the request,
132
+ * curry the request, or pass along a modified request.
133
+ *
134
+ * @public
135
+ * @param {Handler[]} newHandlers
136
+ * @return {ThisType}
137
+ */
138
+ use(newHandlers: Handler[]): this;
139
+ /**
140
+ * Issue a Request.
141
+ *
142
+ * Returns a Future that fulfills with a StructuredDocument
143
+ *
144
+ * @public
145
+ * @param {RequestInfo} request
146
+ * @return {Future}
147
+ */
148
+ request<
149
+ RT,
150
+ T = unknown
151
+ >(request: RequestInfo<RT, T>): Future<RT>;
152
+ /**
153
+ * This method exists so that the RequestManager can be created
154
+ * can be created by container/factory systems that expect to
155
+ * call a static `create` method to instantiate the class.
156
+ *
157
+ * Using `new RequestManager()` directly is preferred.
158
+ *
159
+ * @private
160
+ */
161
+ static create(options?: GenericCreateArgs): RequestManager;
159
162
  }
160
- //# sourceMappingURL=manager.d.ts.map
@@ -1,20 +1,28 @@
1
- export type CacheResult<T = unknown, E = unknown> = {
2
- isError: true;
3
- result: E;
1
+ export type CacheResult<
2
+ T = unknown,
3
+ E = unknown
4
+ > = {
5
+ isError: true;
6
+ result: E;
4
7
  } | {
5
- isError: false;
6
- result: T;
8
+ isError: false;
9
+ result: T;
7
10
  };
8
- export type Awaitable<T = unknown, E = unknown> = {
9
- then: (onFulfilled: (value: T) => unknown, onRejected: (reason: E) => unknown) => unknown;
10
- catch: (onRejected: (reason: E) => unknown) => unknown;
11
- finally: (onFinally: () => unknown) => unknown;
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;
12
18
  };
13
- export declare const PromiseCache: WeakMap<Awaitable<unknown, unknown>, CacheResult<unknown, unknown>>;
14
- export declare const RequestMap: Map<number, CacheResult<unknown, unknown>>;
19
+ export declare const PromiseCache: WeakMap<Awaitable, CacheResult>;
20
+ export declare const RequestMap: Map<number, CacheResult>;
15
21
  export declare function setRequestResult(requestId: number, result: CacheResult): void;
16
22
  export declare function clearRequestResult(requestId: number): void;
17
23
  export declare function getRequestResult(requestId: number): CacheResult | undefined;
18
24
  export declare function setPromiseResult(promise: Promise<unknown> | Awaitable, result: CacheResult): void;
19
- export declare function getPromiseResult<T, E>(promise: Promise<T> | Awaitable<T, E>): CacheResult<T, E> | undefined;
20
- //# sourceMappingURL=promise-cache.d.ts.map
25
+ export declare function getPromiseResult<
26
+ T,
27
+ E
28
+ >(promise: Promise<T> | Awaitable<T, E>): CacheResult<T, E> | undefined;