@warp-drive/core 5.8.0-beta.0 → 5.8.0-beta.1

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 (275) hide show
  1. package/README.md +23 -36
  2. package/declarations/build-config.d.ts +18 -1
  3. package/declarations/configure.d.ts +1 -1
  4. package/declarations/graph/-private/-edge-definition.d.ts +12 -2
  5. package/declarations/index.d.ts +90 -8
  6. package/declarations/reactive/-private/default-mode.d.ts +1 -1
  7. package/declarations/reactive/-private/document.d.ts +58 -46
  8. package/declarations/reactive/-private/fields/extension.d.ts +1 -1
  9. package/declarations/reactive/-private/fields/managed-array.d.ts +2 -2
  10. package/declarations/reactive/-private/fields/managed-object.d.ts +1 -1
  11. package/declarations/reactive/-private/record.d.ts +10 -1
  12. package/declarations/reactive/-private/schema.d.ts +77 -4
  13. package/declarations/reactive/-private.d.ts +1 -0
  14. package/declarations/reactive.d.ts +13 -8
  15. package/declarations/request/-private/types.d.ts +1 -1
  16. package/declarations/request.d.ts +47 -0
  17. package/declarations/signals/-leaked.d.ts +2 -0
  18. package/declarations/signals/-private.d.ts +6 -0
  19. package/declarations/{store/-private/new-core-tmp → signals}/promise-state.d.ts +2 -1
  20. package/declarations/{store/-private/new-core-tmp → signals}/request-state.d.ts +6 -6
  21. package/declarations/{store/-private/new-core-tmp → signals}/request-subscription.d.ts +4 -4
  22. package/declarations/store/-private/cache-handler/types.d.ts +2 -16
  23. package/declarations/store/-private/caches/instance-cache.d.ts +5 -6
  24. package/declarations/store/-private/default-cache-policy.d.ts +147 -129
  25. package/declarations/store/-private/managers/cache-capabilities-manager.d.ts +1 -1
  26. package/declarations/store/-private/managers/cache-key-manager.d.ts +26 -8
  27. package/declarations/store/-private/managers/cache-manager.d.ts +7 -18
  28. package/declarations/store/-private/managers/notification-manager.d.ts +1 -1
  29. package/declarations/store/-private/record-arrays/legacy-many-array.d.ts +1 -1
  30. package/declarations/store/-private/record-arrays/resource-array.d.ts +1 -1
  31. package/declarations/store/-private/store-service.d.ts +43 -64
  32. package/declarations/store/-private.d.ts +0 -6
  33. package/declarations/store/-types/q/cache-capabilities-manager.d.ts +1 -1
  34. package/declarations/store/deprecated/-private.d.ts +2 -2
  35. package/declarations/store/deprecated/store.d.ts +33 -32
  36. package/declarations/store.d.ts +1 -0
  37. package/declarations/types/cache.d.ts +8 -6
  38. package/declarations/types/record.d.ts +132 -0
  39. package/declarations/types/request.d.ts +26 -14
  40. package/declarations/types/schema/fields.d.ts +37 -13
  41. package/declarations/{store/-types/q → types/schema}/schema-service.d.ts +15 -13
  42. package/declarations/types/spec/document.d.ts +34 -0
  43. package/declarations/types/symbols.d.ts +2 -2
  44. package/declarations/types.d.ts +1 -1
  45. package/dist/build-config.js +1 -1
  46. package/dist/configure-DPUFCemT.js +1940 -0
  47. package/dist/configure.js +2 -1
  48. package/dist/default-cache-policy-D7_u4YRH.js +572 -0
  49. package/dist/{context-C_7OLieY.js → future-BKkJJkj7.js} +174 -174
  50. package/dist/graph/-private.js +16 -6
  51. package/dist/{request-state-C955e0AL.js → index-CQP2NSqg.js} +8830 -9427
  52. package/dist/index.js +6 -382
  53. package/dist/reactive/-private.js +1 -1
  54. package/dist/reactive.js +4 -903
  55. package/dist/request.js +49 -1
  56. package/dist/signals/-leaked.js +1 -0
  57. package/dist/store/-private.js +1 -2
  58. package/dist/store.js +1 -533
  59. package/dist/symbols-3C1OkYtZ.js +39 -0
  60. package/dist/types/-private.js +1 -1
  61. package/dist/types/record.js +127 -0
  62. package/dist/types/request.js +14 -12
  63. package/dist/types/runtime.js +1 -1
  64. package/dist/types/schema/fields.js +14 -0
  65. package/dist/types/schema/schema-service.js +0 -0
  66. package/dist/types/symbols.js +2 -2
  67. package/dist/unpkg/dev/-leaked-Co0EI6Go.js +1939 -0
  68. package/dist/unpkg/dev/build-config/babel-macros.js +1 -0
  69. package/dist/unpkg/dev/build-config/canary-features.js +1 -0
  70. package/dist/unpkg/dev/build-config/debugging.js +1 -0
  71. package/dist/unpkg/dev/build-config/deprecations.js +1 -0
  72. package/dist/unpkg/dev/build-config/env.js +1 -0
  73. package/dist/unpkg/dev/build-config/macros.js +1 -0
  74. package/dist/unpkg/dev/build-config.js +1 -0
  75. package/dist/unpkg/dev/configure.js +1 -0
  76. package/dist/unpkg/dev/future-DFfOzSoe.js +672 -0
  77. package/dist/unpkg/dev/graph/-private.js +3132 -0
  78. package/dist/unpkg/dev/index-BzcBOnw9.js +9392 -0
  79. package/dist/unpkg/dev/index.js +6 -0
  80. package/dist/unpkg/dev/reactive/-private.js +1 -0
  81. package/dist/unpkg/dev/reactive.js +3 -0
  82. package/dist/unpkg/dev/request.js +49 -0
  83. package/dist/unpkg/dev/runtime-E1M51_-O.js +135 -0
  84. package/dist/unpkg/dev/signals/-leaked.js +1 -0
  85. package/dist/unpkg/dev/store/-private.js +55 -0
  86. package/dist/unpkg/dev/store.js +558 -0
  87. package/dist/unpkg/dev/types/-private.js +69 -0
  88. package/dist/unpkg/dev/types/cache/aliases.js +0 -0
  89. package/dist/unpkg/dev/types/cache/change.js +0 -0
  90. package/dist/unpkg/dev/types/cache/mutations.js +0 -0
  91. package/dist/unpkg/dev/types/cache/operations.js +0 -0
  92. package/dist/unpkg/dev/types/cache/relationship.js +0 -0
  93. package/dist/unpkg/dev/types/cache.js +0 -0
  94. package/dist/unpkg/dev/types/graph.js +0 -0
  95. package/dist/unpkg/dev/types/identifier.js +61 -0
  96. package/dist/unpkg/dev/types/json/raw.js +0 -0
  97. package/dist/unpkg/dev/types/params.js +0 -0
  98. package/dist/unpkg/dev/types/record.js +191 -0
  99. package/dist/unpkg/dev/types/request.js +77 -0
  100. package/dist/unpkg/dev/types/runtime.js +34 -0
  101. package/dist/unpkg/dev/types/schema/concepts.js +0 -0
  102. package/dist/unpkg/dev/types/schema/fields.js +505 -0
  103. package/dist/unpkg/dev/types/schema/fields.type-test.js +0 -0
  104. package/dist/unpkg/dev/types/schema/schema-service.js +0 -0
  105. package/dist/unpkg/dev/types/spec/document.js +0 -0
  106. package/dist/unpkg/dev/types/spec/error.js +0 -0
  107. package/dist/unpkg/dev/types/spec/json-api-raw.js +0 -0
  108. package/dist/unpkg/dev/types/symbols.js +84 -0
  109. package/dist/unpkg/dev/types/utils.js +0 -0
  110. package/dist/unpkg/dev/types.js +0 -0
  111. package/dist/unpkg/dev/utils/string.js +91 -0
  112. package/dist/unpkg/dev-deprecated/-leaked-DjMeRqdU.js +1939 -0
  113. package/dist/unpkg/dev-deprecated/-private-3C1OkYtZ.js +39 -0
  114. package/dist/unpkg/dev-deprecated/build-config/babel-macros.js +1 -0
  115. package/dist/unpkg/dev-deprecated/build-config/canary-features.js +1 -0
  116. package/dist/unpkg/dev-deprecated/build-config/debugging.js +1 -0
  117. package/dist/unpkg/dev-deprecated/build-config/deprecations.js +1 -0
  118. package/dist/unpkg/dev-deprecated/build-config/env.js +1 -0
  119. package/dist/unpkg/dev-deprecated/build-config/macros.js +1 -0
  120. package/dist/unpkg/dev-deprecated/build-config.js +1 -0
  121. package/dist/unpkg/dev-deprecated/configure.js +1 -0
  122. package/dist/unpkg/dev-deprecated/future-DFfOzSoe.js +672 -0
  123. package/dist/unpkg/dev-deprecated/graph/-private.js +3327 -0
  124. package/dist/unpkg/dev-deprecated/index-6TnTv-WG.js +10007 -0
  125. package/dist/unpkg/dev-deprecated/index.js +5 -0
  126. package/dist/unpkg/dev-deprecated/reactive/-private.js +1 -0
  127. package/dist/unpkg/dev-deprecated/reactive.js +3 -0
  128. package/dist/unpkg/dev-deprecated/request.js +49 -0
  129. package/dist/unpkg/dev-deprecated/runtime-DAu5b0IR.js +135 -0
  130. package/dist/unpkg/dev-deprecated/signals/-leaked.js +1 -0
  131. package/dist/unpkg/dev-deprecated/store/-private.js +1 -0
  132. package/dist/unpkg/dev-deprecated/store.js +558 -0
  133. package/dist/unpkg/dev-deprecated/types/-private.js +69 -0
  134. package/dist/unpkg/dev-deprecated/types/cache/aliases.js +0 -0
  135. package/dist/unpkg/dev-deprecated/types/cache/change.js +0 -0
  136. package/dist/unpkg/dev-deprecated/types/cache/mutations.js +0 -0
  137. package/dist/unpkg/dev-deprecated/types/cache/operations.js +0 -0
  138. package/dist/unpkg/dev-deprecated/types/cache/relationship.js +0 -0
  139. package/dist/unpkg/dev-deprecated/types/cache.js +0 -0
  140. package/dist/unpkg/dev-deprecated/types/graph.js +0 -0
  141. package/dist/unpkg/dev-deprecated/types/identifier.js +61 -0
  142. package/dist/unpkg/dev-deprecated/types/json/raw.js +0 -0
  143. package/dist/unpkg/dev-deprecated/types/params.js +0 -0
  144. package/dist/unpkg/dev-deprecated/types/record.js +191 -0
  145. package/dist/unpkg/dev-deprecated/types/request.js +77 -0
  146. package/dist/unpkg/dev-deprecated/types/runtime.js +34 -0
  147. package/dist/unpkg/dev-deprecated/types/schema/concepts.js +0 -0
  148. package/dist/unpkg/dev-deprecated/types/schema/fields.js +505 -0
  149. package/dist/unpkg/dev-deprecated/types/schema/fields.type-test.js +0 -0
  150. package/dist/unpkg/dev-deprecated/types/schema/schema-service.js +0 -0
  151. package/dist/unpkg/dev-deprecated/types/spec/document.js +0 -0
  152. package/dist/unpkg/dev-deprecated/types/spec/error.js +0 -0
  153. package/dist/unpkg/dev-deprecated/types/spec/json-api-raw.js +0 -0
  154. package/dist/unpkg/dev-deprecated/types/symbols.js +84 -0
  155. package/dist/unpkg/dev-deprecated/types/utils.js +0 -0
  156. package/dist/unpkg/dev-deprecated/types.js +0 -0
  157. package/dist/unpkg/dev-deprecated/utils/string.js +91 -0
  158. package/dist/unpkg/prod/-leaked-DUONXQDB.js +1676 -0
  159. package/dist/unpkg/prod/-private-sql1_mdx.js +39 -0
  160. package/dist/unpkg/prod/build-config/babel-macros.js +1 -0
  161. package/dist/unpkg/prod/build-config/canary-features.js +1 -0
  162. package/dist/unpkg/prod/build-config/debugging.js +1 -0
  163. package/dist/unpkg/prod/build-config/deprecations.js +1 -0
  164. package/dist/unpkg/prod/build-config/env.js +1 -0
  165. package/dist/unpkg/prod/build-config/macros.js +1 -0
  166. package/dist/unpkg/prod/build-config.js +1 -0
  167. package/dist/unpkg/prod/configure.js +2 -0
  168. package/dist/unpkg/prod/graph/-private.js +2235 -0
  169. package/dist/unpkg/prod/handler-EU_8ncB2.js +1619 -0
  170. package/dist/unpkg/prod/index.js +483 -0
  171. package/dist/unpkg/prod/promise-cache-DIT8Ypjq.js +19 -0
  172. package/dist/unpkg/prod/reactive/-private.js +1 -0
  173. package/dist/unpkg/prod/reactive.js +30 -0
  174. package/dist/unpkg/prod/request-BrJSCG6r.js +421 -0
  175. package/dist/unpkg/prod/request.js +2 -0
  176. package/dist/unpkg/prod/schema-BSkHyoWz.js +5219 -0
  177. package/dist/unpkg/prod/signals/-leaked.js +1 -0
  178. package/dist/unpkg/prod/store/-private.js +126 -0
  179. package/dist/unpkg/prod/store.js +437 -0
  180. package/dist/unpkg/prod/types/-private.js +49 -0
  181. package/dist/unpkg/prod/types/cache/aliases.js +0 -0
  182. package/dist/unpkg/prod/types/cache/change.js +0 -0
  183. package/dist/unpkg/prod/types/cache/mutations.js +0 -0
  184. package/dist/unpkg/prod/types/cache/operations.js +0 -0
  185. package/dist/unpkg/prod/types/cache/relationship.js +0 -0
  186. package/dist/unpkg/prod/types/cache.js +0 -0
  187. package/dist/unpkg/prod/types/graph.js +0 -0
  188. package/dist/unpkg/prod/types/identifier.js +61 -0
  189. package/dist/unpkg/prod/types/json/raw.js +0 -0
  190. package/dist/unpkg/prod/types/params.js +0 -0
  191. package/dist/unpkg/prod/types/record.js +191 -0
  192. package/dist/unpkg/prod/types/request.js +77 -0
  193. package/dist/unpkg/prod/types/runtime.js +34 -0
  194. package/dist/unpkg/prod/types/schema/concepts.js +0 -0
  195. package/dist/unpkg/prod/types/schema/fields.js +505 -0
  196. package/dist/unpkg/prod/types/schema/fields.type-test.js +0 -0
  197. package/dist/unpkg/prod/types/schema/schema-service.js +0 -0
  198. package/dist/unpkg/prod/types/spec/document.js +0 -0
  199. package/dist/unpkg/prod/types/spec/error.js +0 -0
  200. package/dist/unpkg/prod/types/spec/json-api-raw.js +0 -0
  201. package/dist/unpkg/prod/types/symbols.js +84 -0
  202. package/dist/unpkg/prod/types/utils.js +0 -0
  203. package/dist/unpkg/prod/types.js +0 -0
  204. package/dist/unpkg/prod/utils/string.js +72 -0
  205. package/dist/unpkg/prod-deprecated/-leaked-DRNv9VIX.js +1676 -0
  206. package/dist/unpkg/prod-deprecated/-private-3C1OkYtZ.js +39 -0
  207. package/dist/unpkg/prod-deprecated/build-config/babel-macros.js +1 -0
  208. package/dist/unpkg/prod-deprecated/build-config/canary-features.js +1 -0
  209. package/dist/unpkg/prod-deprecated/build-config/debugging.js +1 -0
  210. package/dist/unpkg/prod-deprecated/build-config/deprecations.js +1 -0
  211. package/dist/unpkg/prod-deprecated/build-config/env.js +1 -0
  212. package/dist/unpkg/prod-deprecated/build-config/macros.js +1 -0
  213. package/dist/unpkg/prod-deprecated/build-config.js +1 -0
  214. package/dist/unpkg/prod-deprecated/configure.js +2 -0
  215. package/dist/unpkg/prod-deprecated/graph/-private.js +2408 -0
  216. package/dist/unpkg/prod-deprecated/handler-CCIu4sQ3.js +334 -0
  217. package/dist/unpkg/prod-deprecated/hooks-Dv4Np0MY.js +26 -0
  218. package/dist/unpkg/prod-deprecated/index.js +483 -0
  219. package/dist/unpkg/prod-deprecated/promise-cache-DIT8Ypjq.js +19 -0
  220. package/dist/unpkg/prod-deprecated/reactive/-private.js +1 -0
  221. package/dist/unpkg/prod-deprecated/reactive.js +5 -0
  222. package/dist/unpkg/prod-deprecated/request-BrJSCG6r.js +421 -0
  223. package/dist/unpkg/prod-deprecated/request.js +2 -0
  224. package/dist/unpkg/prod-deprecated/schema-CJcjHv0E.js +6939 -0
  225. package/dist/unpkg/prod-deprecated/signals/-leaked.js +1 -0
  226. package/dist/unpkg/prod-deprecated/store/-private.js +88 -0
  227. package/dist/unpkg/prod-deprecated/store.js +437 -0
  228. package/dist/unpkg/prod-deprecated/types/-private.js +49 -0
  229. package/dist/unpkg/prod-deprecated/types/cache/aliases.js +0 -0
  230. package/dist/unpkg/prod-deprecated/types/cache/change.js +0 -0
  231. package/dist/unpkg/prod-deprecated/types/cache/mutations.js +0 -0
  232. package/dist/unpkg/prod-deprecated/types/cache/operations.js +0 -0
  233. package/dist/unpkg/prod-deprecated/types/cache/relationship.js +0 -0
  234. package/dist/unpkg/prod-deprecated/types/cache.js +0 -0
  235. package/dist/unpkg/prod-deprecated/types/graph.js +0 -0
  236. package/dist/unpkg/prod-deprecated/types/identifier.js +61 -0
  237. package/dist/unpkg/prod-deprecated/types/json/raw.js +0 -0
  238. package/dist/unpkg/prod-deprecated/types/params.js +0 -0
  239. package/dist/unpkg/prod-deprecated/types/record.js +191 -0
  240. package/dist/unpkg/prod-deprecated/types/request.js +77 -0
  241. package/dist/unpkg/prod-deprecated/types/runtime.js +34 -0
  242. package/dist/unpkg/prod-deprecated/types/schema/concepts.js +0 -0
  243. package/dist/unpkg/prod-deprecated/types/schema/fields.js +505 -0
  244. package/dist/unpkg/prod-deprecated/types/schema/fields.type-test.js +0 -0
  245. package/dist/unpkg/prod-deprecated/types/schema/schema-service.js +0 -0
  246. package/dist/unpkg/prod-deprecated/types/spec/document.js +0 -0
  247. package/dist/unpkg/prod-deprecated/types/spec/error.js +0 -0
  248. package/dist/unpkg/prod-deprecated/types/spec/json-api-raw.js +0 -0
  249. package/dist/unpkg/prod-deprecated/types/symbols.js +84 -0
  250. package/dist/unpkg/prod-deprecated/types/utils.js +0 -0
  251. package/dist/unpkg/prod-deprecated/types.js +0 -0
  252. package/dist/unpkg/prod-deprecated/utils/string.js +72 -0
  253. package/logos/README.md +2 -2
  254. package/logos/logo-yellow-slab.svg +1 -0
  255. package/logos/word-mark-black.svg +1 -0
  256. package/logos/word-mark-white.svg +1 -0
  257. package/package.json +12 -4
  258. package/declarations/store/-private/new-core-tmp/expensive-subscription.d.ts +0 -24
  259. package/dist/configure-C3x8YXzL.js +0 -181
  260. package/logos/NCC-1701-a-blue.svg +0 -4
  261. package/logos/NCC-1701-a-gold.svg +0 -4
  262. package/logos/NCC-1701-a-gold_100.svg +0 -1
  263. package/logos/NCC-1701-a-gold_base-64.txt +0 -1
  264. package/logos/NCC-1701-a.svg +0 -4
  265. package/logos/docs-badge.svg +0 -2
  266. package/logos/ember-data-logo-dark.svg +0 -12
  267. package/logos/ember-data-logo-light.svg +0 -12
  268. package/logos/social1.png +0 -0
  269. package/logos/social2.png +0 -0
  270. package/logos/warp-drive-logo-dark.svg +0 -4
  271. package/logos/warp-drive-logo-gold.svg +0 -4
  272. /package/declarations/{store/-private/new-core-tmp → signals}/reactivity/configure.d.ts +0 -0
  273. /package/declarations/{store/-private/new-core-tmp → signals}/reactivity/internal.d.ts +0 -0
  274. /package/declarations/{store/-private/new-core-tmp → signals}/reactivity/signal.d.ts +0 -0
  275. /package/dist/{symbols-sql1_mdx.js → unpkg/dev/-private-sql1_mdx.js} +0 -0
package/README.md CHANGED
@@ -1,49 +1,44 @@
1
- <h1 align="center">
2
- <img
3
- class="project-logo light-only"
4
- src="./logos/github-header.svg#gh-light-mode-only"
5
- alt="WarpDrive | Boldly go where no app has gone before"
6
- title="WarpDrive | Boldly go where no app has gone before"
7
- />
1
+ <p align="center">
8
2
  <img
9
- class="project-logo dark-only"
10
- src="./logos/github-header.svg#gh-dark-mode-only"
11
- alt="WarpDrive | Boldly go where no app has gone before"
12
- title="WarpDrive | Boldly go where no app has gone before"
3
+ class="project-logo"
4
+ src="./logos/logo-yellow-slab.svg"
5
+ alt="WarpDrive"
6
+ width="180px"
7
+ title="WarpDrive"
13
8
  />
14
- </h1>
9
+ </p>
15
10
 
16
- ![NPM Stable Version](https://img.shields.io/npm/v/ember-data/latest?label=version&style=flat&color=FFC474)
17
- ![NPM Downloads](https://img.shields.io/npm/dm/ember-data.svg?style=flat&color=FFC474)
18
- ![License](https://img.shields.io/github/license/emberjs/data.svg?style=flat&color=FFC474)
19
- [![Docs](./logos/docs-badge.svg)](https://api.emberjs.com/ember-data/release)
20
- [![Discord Community Server](https://img.shields.io/badge/Discord-grey?logo=discord&logoColor=FFC474)](https://discord.gg/zT3asNS
11
+ ![NPM Stable Version](https://img.shields.io/npm/v/ember-data/latest?label=version&style=flat&color=fdb155)
12
+ ![NPM Downloads](https://img.shields.io/npm/dm/ember-data.svg?style=flat&color=fdb155)
13
+ ![License](https://img.shields.io/github/license/warp-drive-data/warp-drive.svg?style=flat&color=fdb155)
14
+ [![EmberJS Discord Community Server](https://img.shields.io/badge/EmberJS-grey?logo=discord&logoColor=fdb155)](https://discord.gg/zT3asNS
15
+ )
16
+ [![WarpDrive Discord Server](https://img.shields.io/badge/WarpDrive-grey?logo=discord&logoColor=fdb155)](https://discord.gg/PHBbnWJx5S
21
17
  )
22
18
 
23
19
  <p align="center">
24
20
  <br>
25
- <a href="https://warp-drive.io">WarpDrive</a> is a lightweight data library for web apps &mdash;
21
+ <a href="https://warp-drive.io">WarpDrive</a> is the lightweight data library for web apps &mdash;
26
22
  <br>
27
23
  universal, typed, reactive, and ready to scale.
28
- <br>
29
- <br>
24
+ <br/><br/>
30
25
  </p>
31
26
 
32
- WarpDrive provides features that make it easy to build scalable, fast, feature
33
- rich application &mdash; letting you ship better experiences more quickly without re-architecting your app or API. WarpDrive is:
27
+ ***Warp*Drive** makes it easy to build scalable, fast, feature
28
+ rich applications &mdash; letting you ship better experiences more quickly without re-architecting your app or API. ***Warp*Drive** is:
34
29
 
30
+ - 🌌 Seamless Reactivity in any Framework
35
31
  - ⚡️ Committed to Best-In-Class Performance
36
- - 🌲 Focused on being as svelte as possible
37
- - 🚀 SSR Ready
38
32
  - 💚 Typed
39
- - 🔜 works with any framework
40
- - ⚛️ Supports any API: `GraphQL` `JSON:API` `REST` `tRPC` ...bespoke or a mix
33
+ - ⚛️ Works with any API
34
+ - 🌲 Focused on being as tiny as possible
35
+ - 🚀 SSR Ready
41
36
  - 🐹 Built with ♥️ by [Ember](https://emberjs.com)
42
37
 
43
38
  <br>
44
39
  <br>
45
40
 
46
- *Get Started* → [Guides](./guides/index.md)
41
+ *Get Started* → [Guides](https://warp-drive.io/guides/)
47
42
 
48
43
  <br>
49
44
 
@@ -51,17 +46,9 @@ rich application &mdash; letting you ship better experiences more quickly withou
51
46
 
52
47
  <br>
53
48
 
54
- ## Installation
55
-
56
- ```sh
57
- pnpm add -E @warp-drive/core@latest
58
- ```
59
-
60
- <br>
61
-
62
49
  ## Code of Conduct
63
50
 
64
- Refer to the [Code of Conduct](https://github.com/emberjs/data/blob/main/CODE_OF_CONDUCT.md) for community guidelines and inclusivity.
51
+ Refer to the [Code of Conduct](https://github.com/warp-drive-data/warp-drive/blob/main/CODE_OF_CONDUCT.md) for community guidelines and inclusivity.
65
52
 
66
53
  <br>
67
54
 
@@ -1 +1,18 @@
1
- export { setConfig } from "@warp-drive/build-config";
1
+ /**
2
+ * This module provides a build-plugin that enables configuration of deprecations,
3
+ * optional features, development/testing support and debug logging.
4
+ *
5
+ * Available settings include:
6
+ *
7
+ * - {@link LOGGING | debugging}
8
+ * - {@link DEPRECATIONS | deprecations}
9
+ * - {@link FEATURES | features}
10
+ * - {@link WarpDriveConfig.polyfillUUID | polyfillUUID}
11
+ * - {@link WarpDriveConfig.includeDataAdapterInProduction | includeDataAdapterInProduction}
12
+ * - {@link WarpDriveConfig.compatWith | compatWith}
13
+ *
14
+ * @module
15
+ */
16
+ import type { WarpDriveConfig } from "@warp-drive/build-config";
17
+ export { setConfig, babelPlugin } from "@warp-drive/build-config";
18
+ export type { WarpDriveConfig };
@@ -4,4 +4,4 @@
4
4
  *
5
5
  * @module
6
6
  */
7
- export { setupSignals, type HooksOptions, type SignalHooks } from "./store/-private/new-core-tmp/reactivity/configure.js";
7
+ export { setupSignals, type HooksOptions, type SignalHooks } from "./signals/-private.js";
@@ -75,10 +75,15 @@ export declare function temporaryConvertToLegacy(field: ResourceField | Collecti
75
75
  export interface UpgradedMeta {
76
76
  kind: "implicit" | RelationshipFieldKind;
77
77
  /**
78
- * The field name on `this` record
78
+ * The field sourceKey on `this` record,
79
+ * name if sourceKey is not set.
79
80
  */
80
81
  key: string;
81
82
  /**
83
+ * The field name on `this` record
84
+ */
85
+ name: string;
86
+ /**
82
87
  * The `type` of the related record
83
88
  *
84
89
  */
@@ -91,10 +96,15 @@ export interface UpgradedMeta {
91
96
  isLinksMode: boolean;
92
97
  inverseKind: "implicit" | RelationshipFieldKind;
93
98
  /**
94
- * The field name on the opposing record
99
+ * The field sourceKey on the opposing record,
100
+ * name if sourceKey is not set.
95
101
  */
96
102
  inverseKey: string;
97
103
  /**
104
+ * The field name on the opposing record,
105
+ */
106
+ inverseName: string;
107
+ /**
98
108
  * The `type` of `this` record
99
109
  */
100
110
  inverseType: string;
@@ -1,14 +1,96 @@
1
- /**
2
- * @module
3
- * @mergeModuleWith <project>
4
- */
1
+ import type { CAUTION_MEGA_DANGER_ZONE_Extension } from "./reactive.js";
5
2
  import type { ReactiveDocument } from "./reactive/-private/document.js";
6
- export { Fetch } from "./request/-private/fetch.js";
7
- export { RequestManager } from "./request/-private/manager.js";
8
- export { Store, type StoreRequestContext, CacheHandler, type CachePolicy, type StoreRequestInput, recordIdentifierFor, storeFor } from "./store/-private.js";
3
+ import type { Handler } from "./request.js";
4
+ import { Fetch } from "./request/-private/fetch.js";
5
+ import { RequestManager } from "./request/-private/manager.js";
6
+ import { CacheHandler, type CachePolicy, Store } from "./store/-private.js";
7
+ import { recordIdentifierFor } from "./store/-private.js";
8
+ import type { CacheCapabilitiesManager } from "./types.js";
9
+ import type { Cache } from "./types/cache.js";
10
+ import type { Derivation, HashFn, Transformation } from "./types/schema/concepts.js";
11
+ import type { ObjectSchema, PolarisResourceSchema, Trait } from "./types/schema/fields.js";
12
+ export { recordIdentifierFor, recordIdentifierFor as cacheKeyFor };
13
+ export { Fetch, RequestManager };
14
+ export { Store, CacheHandler, type CachePolicy };
15
+ export { type StoreRequestContext, type StoreRequestInput, storeFor } from "./store/-private.js";
9
16
  /**
10
- * @deprecated use `ReactiveDocument` instead
17
+ * @deprecated use {@link ReactiveDocument} instead
11
18
  */
12
19
  export type Document<T> = ReactiveDocument<T>;
13
20
  export type { DocumentCacheOperation, CacheOperation, NotificationType } from "./store/-private/managers/notification-manager.js";
14
21
  export { setIdentifierGenerationMethod, setIdentifierUpdateMethod, setIdentifierForgetMethod, setIdentifierResetMethod, setKeyInfoForResource } from "./store/-private/managers/cache-key-manager.js";
22
+ /**
23
+ * Options for setting up a Store instance with `useRecommendedStore`.
24
+ */
25
+ export interface StoreSetupOptions<T extends Cache = Cache> {
26
+ /**
27
+ * The Cache implementation to use
28
+ */
29
+ cache: new (capabilities: CacheCapabilitiesManager) => T;
30
+ /**
31
+ * The Cache policy to use.
32
+ *
33
+ * Defaults to {@link DefaultCachePolicy} configured to
34
+ * respect `Expires`, `X-WarpDrive-Expires`, and `Cache-Control` headers
35
+ * with a fallback to 30s soft expiration and 15m hard expiration.
36
+ */
37
+ policy?: CachePolicy;
38
+ /**
39
+ * The request handlers to use. {@link Fetch} will automatically
40
+ * be added to the end of the handler chain and {@link CacheHandler}
41
+ * will automatically be added as the cache handler.
42
+ */
43
+ handlers?: Handler[];
44
+ /**
45
+ * Schemas describing the structure of your resource data.
46
+ *
47
+ * See {@link PolarisResourceSchema,} and {@link ObjectSchema} for more information.
48
+ */
49
+ schemas?: Array<PolarisResourceSchema | ObjectSchema>;
50
+ /**
51
+ * {@link Trait | Traits} to use with {@link PolarisResourceSchema, | Resource Schemas}
52
+ */
53
+ traits?: Trait[];
54
+ /**
55
+ * {@link Derivation | Derivations} to use for derived fields.
56
+ */
57
+ derivations?: Derivation[];
58
+ /**
59
+ * {@link Transformation | Transformations} to use for transforming fields.
60
+ */
61
+ transformations?: Transformation[];
62
+ /**
63
+ * {@link HashFn | Hash Functions} to use for embedded object identity and polymorphic type calculations
64
+ */
65
+ hashFns?: HashFn[];
66
+ /**
67
+ * {@link CAUTION_MEGA_DANGER_ZONE_Extension | Extensions} to use with resources, objects and arrays
68
+ * to provide custom behaviors and capabilities that are not described by Schema.
69
+ *
70
+ * This feature should only be used during a transition period to support migrating towards
71
+ * schemas from existing Model and ModelFragments implementations.
72
+ */
73
+ CAUTION_MEGA_DANGER_ZONE_extensions?: CAUTION_MEGA_DANGER_ZONE_Extension[];
74
+ }
75
+ export declare class ConfiguredStore<T extends {
76
+ cache: Cache;
77
+ }> extends Store {
78
+ createCache(capabilities: CacheCapabilitiesManager): T["cache"];
79
+ }
80
+ /**
81
+ * Creates a configured Store class with recommended defaults
82
+ * for schema handling, reactivity, caching, and request management.
83
+ *
84
+ * ```ts
85
+ * import { useRecommendedStore } from '@warp-drive/core';
86
+ * import { JSONAPICache } from '@warp-drive/json-api';
87
+ *
88
+ * export const Store = useRecommendedStore({
89
+ * cache: JSONAPICache,
90
+ * schemas: [],
91
+ * });
92
+ * ```
93
+ */
94
+ export declare function useRecommendedStore<T extends Cache>(options: StoreSetupOptions<T>, StoreKlass?: typeof Store): typeof ConfiguredStore<{
95
+ cache: T;
96
+ }>;
@@ -1,5 +1,5 @@
1
+ import type { SignalStore } from "../../signals/-private.js";
1
2
  import type { Store } from "../../store/-private.js";
2
- import type { SignalStore } from "../../store/-private/new-core-tmp/reactivity/internal.js";
3
3
  import type { ResourceKey } from "../../types.js";
4
4
  import type { FieldSchema, HashField, IdentityField, SchemaArrayField, SchemaObjectField } from "../../types/schema/fields.js";
5
5
  import type { ReactiveResource } from "./record.js";
@@ -3,25 +3,13 @@ import type { RequestKey } from "../../types/identifier.js";
3
3
  import type { ImmutableRequestInfo, RequestInfo } from "../../types/request.js";
4
4
  import type { ResourceDocument } from "../../types/spec/document.js";
5
5
  import type { Meta, PaginationLinks } from "../../types/spec/json-api-raw.js";
6
- /**
7
- * A Document is a class that wraps the response content from a request to the API
8
- * returned by `Cache.put` or `Cache.peek`, converting ResourceKeys into
9
- * ReactiveResource instances.
10
- *
11
- * It is not directly instantiated by the user, and its properties should not
12
- * be directly modified. Whether individual properties are mutable or not is
13
- * determined by the record instance itself.
14
- *
15
- * @public
16
- * @hideconstructor
17
- */
18
- export declare class ReactiveDocument<T> {
6
+ export interface ReactiveDocumentBase<T> {
19
7
  /**
20
8
  * The links object for this document, if any
21
9
  *
22
10
  * e.g.
23
11
  *
24
- * ```
12
+ * ```ts
25
13
  * {
26
14
  * self: '/articles?page[number]=3',
27
15
  * }
@@ -31,24 +19,6 @@ export declare class ReactiveDocument<T> {
31
19
  */
32
20
  readonly links?: PaginationLinks;
33
21
  /**
34
- * The primary data for this document, if any.
35
- *
36
- * If this document has no primary data (e.g. because it is an error document)
37
- * this property will be `undefined`.
38
- *
39
- * For collections this will be an array of record instances,
40
- * for single resource requests it will be a single record instance or null.
41
- *
42
- * @public
43
- */
44
- readonly data?: T;
45
- /**
46
- * The errors returned by the API for this request, if any
47
- *
48
- * @public
49
- */
50
- readonly errors?: object[];
51
- /**
52
22
  * The meta object for this document, if any
53
23
  *
54
24
  * @public
@@ -60,18 +30,12 @@ export declare class ReactiveDocument<T> {
60
30
  * @public
61
31
  */
62
32
  readonly identifier: RequestKey | null;
63
- constructor(store: Store, cacheKey: RequestKey | null, localCache: {
64
- document: ResourceDocument;
65
- request: ImmutableRequestInfo;
66
- } | null);
67
33
  /**
68
34
  * Fetches the related link for this document, returning a promise that resolves
69
35
  * with the document when the request completes. If no related link is present,
70
36
  * will fallback to the self link if present
71
37
  *
72
38
  * @public
73
- * @param {Object} options
74
- * @return {Promise<Document>}
75
39
  */
76
40
  fetch(options?: RequestInfo<ReactiveDocument<T>>): Promise<ReactiveDocument<T>>;
77
41
  /**
@@ -80,8 +44,6 @@ export declare class ReactiveDocument<T> {
80
44
  * next link.
81
45
  *
82
46
  * @public
83
- * @param {Object} options
84
- * @return {Promise<Document | null>}
85
47
  */
86
48
  next(options?: RequestInfo<ReactiveDocument<T>>): Promise<ReactiveDocument<T> | null>;
87
49
  /**
@@ -90,8 +52,6 @@ export declare class ReactiveDocument<T> {
90
52
  * prev link.
91
53
  *
92
54
  * @public
93
- * @param {Object} options
94
- * @return {Promise<Document | null>}
95
55
  */
96
56
  prev(options: RequestInfo<ReactiveDocument<T>>): Promise<ReactiveDocument<T> | null>;
97
57
  /**
@@ -100,8 +60,6 @@ export declare class ReactiveDocument<T> {
100
60
  * first link.
101
61
  *
102
62
  * @public
103
- * @param {Object} options
104
- * @return {Promise<Document | null>}
105
63
  */
106
64
  first(options: RequestInfo<ReactiveDocument<T>>): Promise<ReactiveDocument<T> | null>;
107
65
  /**
@@ -110,8 +68,6 @@ export declare class ReactiveDocument<T> {
110
68
  * last link.
111
69
  *
112
70
  * @public
113
- * @param {Object} options
114
- * @return {Promise<Document | null>}
115
71
  */
116
72
  last(options: RequestInfo<ReactiveDocument<T>>): Promise<ReactiveDocument<T> | null>;
117
73
  /**
@@ -128,3 +84,59 @@ export declare class ReactiveDocument<T> {
128
84
  */
129
85
  toJSON(): object;
130
86
  }
87
+ export interface ReactiveErrorDocument<T> extends ReactiveDocumentBase<T> {
88
+ /**
89
+ * The primary data for this document, if any.
90
+ *
91
+ * If this document has no primary data (e.g. because it is an error document)
92
+ * this property will be `undefined`.
93
+ *
94
+ * For collections this will be an array of record instances,
95
+ * for single resource requests it will be a single record instance or null.
96
+ *
97
+ * @public
98
+ */
99
+ readonly data?: undefined;
100
+ /**
101
+ * The errors returned by the API for this request, if any
102
+ *
103
+ * @public
104
+ */
105
+ readonly errors: object[];
106
+ }
107
+ export interface ReactiveDataDocument<T> extends ReactiveDocumentBase<T> {
108
+ /**
109
+ * The primary data for this document, if any.
110
+ *
111
+ * If this document has no primary data (e.g. because it is an error document)
112
+ * this property will be `undefined`.
113
+ *
114
+ * For collections this will be an array of record instances,
115
+ * for single resource requests it will be a single record instance or null.
116
+ *
117
+ * @public
118
+ */
119
+ readonly data: T;
120
+ /**
121
+ * The errors returned by the API for this request, if any
122
+ *
123
+ * @public
124
+ */
125
+ readonly errors?: undefined;
126
+ }
127
+ /**
128
+ * A Document is a class that wraps the response content from a request to the API
129
+ * returned by `Cache.put` or `Cache.peek`, converting ResourceKeys into
130
+ * ReactiveResource instances.
131
+ *
132
+ * It is not directly instantiated by the user, and its properties should not
133
+ * be directly modified. Whether individual properties are mutable or not is
134
+ * determined by the record instance itself.
135
+ *
136
+ * @public
137
+ */
138
+ export type ReactiveDocument<T> = ReactiveDataDocument<T> | ReactiveErrorDocument<T>;
139
+ export declare function createReactiveDocument<T>(store: Store, cacheKey: RequestKey | null, localCache: {
140
+ document: ResourceDocument;
141
+ request: ImmutableRequestInfo;
142
+ } | null): ReactiveDocument<T>;
@@ -1,4 +1,4 @@
1
- import type { SignalStore, WarpDriveSignal } from "../../../store/-private/new-core-tmp/reactivity/internal.js";
1
+ import type { SignalStore, WarpDriveSignal } from "../../../signals/-private.js";
2
2
  import type { ExtensionDef } from "../schema.js";
3
3
  export type ProxiedMethod = (...args: unknown[]) => unknown;
4
4
  export declare function expectNever(value: never): void;
@@ -1,5 +1,5 @@
1
- import type { WarpDriveSignal } from "../../../store/-private.js";
2
- import { ARRAY_SIGNAL } from "../../../store/-private.js";
1
+ import type { WarpDriveSignal } from "../../../signals/-private.js";
2
+ import { ARRAY_SIGNAL } from "../../../signals/-private.js";
3
3
  import type { ResourceKey } from "../../../types/identifier.js";
4
4
  import type { ArrayField, SchemaArrayField } from "../../../types/schema/fields.js";
5
5
  import type { KindContext } from "../default-mode.js";
@@ -1,4 +1,4 @@
1
- import { OBJECT_SIGNAL, type WarpDriveSignal } from "../../../store/-private.js";
1
+ import { OBJECT_SIGNAL, type WarpDriveSignal } from "../../../signals/-private.js";
2
2
  import type { ObjectField, SchemaObjectField } from "../../../types/schema/fields.js";
3
3
  import type { KindContext } from "../default-mode.js";
4
4
  import type { ReactiveResource } from "../record.js";
@@ -1,5 +1,5 @@
1
1
  import type { ObjectContext, ResourceContext } from "./default-mode.js";
2
- import { Checkout } from "./symbols.js";
2
+ import { Checkout, Context } from "./symbols.js";
3
3
  export interface ReactiveResource {
4
4
  /**
5
5
  * Create an editable copy of the record
@@ -21,6 +21,15 @@ export interface ReactiveResource {
21
21
  [Checkout]<T>(): Promise<T>;
22
22
  }
23
23
  /**
24
+ * @private
25
+ */
26
+ export interface PrivateReactiveResource extends ReactiveResource {
27
+ /**
28
+ * @private
29
+ */
30
+ [Context]: ObjectContext | ResourceContext;
31
+ }
32
+ /**
24
33
  * A class that uses a the ResourceSchema for a ResourceType
25
34
  * and a ResourceKey to transform data from the cache into a rich, reactive
26
35
  * object.
@@ -8,17 +8,22 @@ import type { WithPartial } from "../../types/utils.js";
8
8
  import type { ReactiveResource } from "./record.js";
9
9
  /**
10
10
  * Extensions allow providing non-schema driven behaviors to
11
- * reactive resources and arrays.
11
+ * ReactiveResources, ReactiveArrays, and ReactiveObjects.
12
+ *
13
+ * This should only be used for temporary migration purposes
14
+ * to the new schema system when migrating from either Model
15
+ * or ModelFragments.
12
16
  */
13
17
  export interface CAUTION_MEGA_DANGER_ZONE_Extension {
14
18
  /**
15
19
  * Whether this extension extends the behaviors of objects
16
- * or of arrays.
20
+ * (both ReactiveObjects and ReactiveResources) or of arrays.
17
21
  */
18
22
  kind: "object" | "array";
19
23
  /**
20
24
  * The name of the extension, to be used when specifying
21
- * either `objectExtensions` or `arrayExtensions`
25
+ * either `objectExtensions` or `arrayExtensions` on the
26
+ * field, ResourceSchema or ObjectSchema
22
27
  */
23
28
  name: string;
24
29
  /**
@@ -29,6 +34,74 @@ export interface CAUTION_MEGA_DANGER_ZONE_Extension {
29
34
  *
30
35
  * A constructable such as a Function or Class whose prototype
31
36
  * will be iterated with getOwnPropertyNames.
37
+ *
38
+ * Examples:
39
+ *
40
+ * **An Object with methods**
41
+ *
42
+ * ```ts
43
+ * store.schema.CAUTION_MEGA_DANGER_ZONE_registerExtension({
44
+ * kind: 'object',
45
+ * name: 'do-thing-1',
46
+ * features: {
47
+ * doThingOne(this: { street: string }) {
48
+ * return `do-thing-1:${this.street}`;
49
+ * },
50
+ * doThingTwo(this: { street: string }) {
51
+ * return `do-thing-1:${this.street}`;
52
+ * },
53
+ * },
54
+ * });
55
+ * ```
56
+ *
57
+ * **A class with getters, methods and decorated fields**
58
+ *
59
+ * ```ts
60
+ * class Features {
61
+ * sayHello() {
62
+ * return 'hello!';
63
+ * }
64
+ *
65
+ * @tracked trackedField = 'initial tracked value';
66
+ *
67
+ * get realName() {
68
+ * const self = this as unknown as { name: string };
69
+ * return self.name;
70
+ * }
71
+ * set realName(v: string) {
72
+ * const self = this as unknown as { name: string };
73
+ * self.name = v;
74
+ * }
75
+ *
76
+ * get greeting() {
77
+ * const self = this as unknown as { name: string };
78
+ * return `hello ${self.name}!`;
79
+ * }
80
+ *
81
+ * @computed('name')
82
+ * get salutation() {
83
+ * const self = this as unknown as { name: string };
84
+ * return `salutations ${self.name}!`;
85
+ * }
86
+ *
87
+ * @cached
88
+ * get helloThere() {
89
+ * const self = this as unknown as { name: string };
90
+ * return `Well Hello There ${self.name}!`;
91
+ * }
92
+ * }
93
+ *
94
+ * // non-decorated fields dont appear on class prototypes as they are instance only
95
+ * // @ts-expect-error
96
+ * Features.prototype.untrackedField = 'initial untracked value';
97
+ *
98
+ * store.schema.CAUTION_MEGA_DANGER_ZONE_registerExtension({
99
+ * kind: 'object',
100
+ * name: 'my-ext',
101
+ * features: Features,
102
+ * });
103
+ * ```
104
+ *
32
105
  */
33
106
  features: Record<string | symbol, unknown> | Function;
34
107
  }
@@ -80,7 +153,7 @@ export interface ExtensibleField {
80
153
  * @param schema
81
154
  * @return {PolarisResourceSchema}
82
155
  */
83
- export declare function withDefaults(schema: WithPartial<PolarisResourceSchema, "identity">): ResourceSchema;
156
+ export declare function withDefaults(schema: WithPartial<PolarisResourceSchema, "identity">): PolarisResourceSchema;
84
157
  interface FromIdentityDerivation {
85
158
  (record: ReactiveResource, options: {
86
159
  key: "lid";
@@ -1 +1,2 @@
1
1
  export { Context } from "./-private/symbols.js";
2
+ export type { PrivateReactiveResource } from "./-private/record.js";
@@ -5,8 +5,8 @@
5
5
  * reactive representations of the raw data for requests, resources and their relationships
6
6
  * stored in the cache.
7
7
  *
8
- * - For configuring the store to use these reactive objects, see [The Setup Guide](/guides/1-configuration/2-setup/1-universal.md)
9
- * - For defining resource schemas, see [The Schema Guide](/guides)
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
10
  *
11
11
  * Any method that returns a record instance will use the `instantiateRecord`
12
12
  * hook configured above to instantiate a ReactiveResource once this is in place.
@@ -26,7 +26,7 @@
26
26
  * - local changes immediately reflect app wide
27
27
  * - records have all the APIs of Model (references, state props, currentState, methods etc)
28
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](https://github.com/emberjs/data/blob/main/guides/relationships/features/links-mode.md))
29
+ * - `async: true` relationships are supported (but not recommended outside of [LinksMode](/guides/the-manual/misc/links-mode.md))
30
30
  *
31
31
  * ---
32
32
  *
@@ -38,7 +38,7 @@
38
38
  * - local changes are isolated until committed, displaying only via the editable version of the record
39
39
  * - records have a more limited API, focused on only what is in their schema.
40
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](https://github.com/emberjs/data/blob/main/guides/relationships/features/links-mode.md))
41
+ * - `async: true` relationships are not supported (see [LinksMode](/guides/the-manual/misc/links-mode.md))
42
42
  * - The `@warp-drive/legacy` package is not required
43
43
  *
44
44
  * These modes are interopable. The reactive object (record) for a resource in PolarisMode can relate to
@@ -55,8 +55,8 @@
55
55
  * The shape of the object and the transformation of raw cache data into its
56
56
  * reactive form is controlled by a resource schema.
57
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 [@warp-drive/json-api](/api/@warp-drive/json-api), and a request
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
60
  * returns the following raw data:
61
61
  *
62
62
  * ```ts
@@ -277,5 +277,10 @@ export { type CAUTION_MEGA_DANGER_ZONE_Extension, type ProcessedExtension, type
277
277
  export { commit, type ReactiveResource } from "./reactive/-private/record.js";
278
278
  export { checkout };
279
279
  export { Checkout } from "./reactive/-private/symbols.js";
280
- export { type ReactiveDocument } from "./reactive/-private/document.js";
281
- export { getExpensiveRequestSubscription } from "./store/-private/new-core-tmp/expensive-subscription.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";
@@ -27,7 +27,7 @@ export type DeferredStream = {
27
27
  };
28
28
  };
29
29
  /**
30
- * A Future is a {@link Promise} which resolves to a {@link StructuredDataDocument | StructuredDocument}
30
+ * A Future is a {@link Promise} which resolves or rejects with a {@link StructuredDocument}
31
31
  * while providing the ability to {@link Future.abort | abort} the underlying request, and
32
32
  * {@link Future.getStream | access the response stream} before the outer promise resolves;
33
33
  *