@warp-drive-mirror/core 5.10.0-alpha.13 → 5.10.0-alpha.14

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 (115) hide show
  1. package/dist/{-private-BpyvBYFj.js → -private-Y-13dsHO.js} +39 -9
  2. package/dist/-private-Y-13dsHO.js.map +1 -0
  3. package/dist/build-config/babel-macros.d.ts +5 -0
  4. package/dist/build-config/canary-features.d.ts +5 -0
  5. package/dist/build-config/debugging.d.ts +59 -0
  6. package/dist/build-config/deprecations.d.ts +5 -0
  7. package/dist/build-config.d.ts +17 -0
  8. package/dist/{configure-CjsojjiI.d.ts → configure-CodrrdQr.d.ts} +51 -8
  9. package/dist/configure-CodrrdQr.d.ts.map +1 -0
  10. package/dist/configure.d.ts +10 -2
  11. package/dist/configure.js +2 -2
  12. package/dist/graph/-private.d.ts +1 -1
  13. package/dist/index.d.ts +1 -1
  14. package/dist/index.js +1 -1
  15. package/dist/{internal-CgOlgOt3.d.ts → internal-BOC6nyCi.d.ts} +25 -15
  16. package/dist/{internal-CgOlgOt3.d.ts.map → internal-BOC6nyCi.d.ts.map} +1 -1
  17. package/dist/reactive/-private.d.ts +1 -1
  18. package/dist/reactive.d.ts +276 -1
  19. package/dist/reactive.js +2 -2
  20. package/dist/{request-MiwUbGdT.js → request-DUGpwUhf.js} +23 -13
  21. package/dist/{request-MiwUbGdT.js.map → request-DUGpwUhf.js.map} +1 -1
  22. package/dist/request.d.ts +9 -1
  23. package/dist/request.js +1 -1
  24. package/dist/signals/-leaked.d.ts +16 -2
  25. package/dist/signals/-leaked.d.ts.map +1 -1
  26. package/dist/signals/-leaked.js +1 -1
  27. package/dist/{src-DlNeupkA.js → src-DDLNZD8D.js} +5 -5
  28. package/dist/{src-DlNeupkA.js.map → src-DDLNZD8D.js.map} +1 -1
  29. package/dist/store/-private.d.ts +1 -1
  30. package/dist/store/-private.js +1 -1
  31. package/dist/store.d.ts +6 -1
  32. package/dist/types/-private.d.ts +1 -0
  33. package/dist/types/-private.js +1 -1
  34. package/dist/types/cache/relationship.d.ts +5 -0
  35. package/dist/types/cache.d.ts +6 -1
  36. package/dist/types/graph.d.ts +5 -0
  37. package/dist/types/record.d.ts +5 -0
  38. package/dist/types/request.d.ts +1 -1
  39. package/dist/types/runtime.d.ts +10 -5
  40. package/dist/types/runtime.d.ts.map +1 -1
  41. package/dist/types/runtime.js +7 -3
  42. package/dist/types/runtime.js.map +1 -1
  43. package/dist/types/schema/concepts.d.ts +5 -0
  44. package/dist/types/schema/schema-service.d.ts +6 -1
  45. package/dist/types/spec/error.d.ts +4 -0
  46. package/dist/types/spec/json-api-raw.d.ts +5 -0
  47. package/dist/types.d.ts +9 -1
  48. package/dist/unpkg/dev/{-private-BH4O810v.js → -private-BoKjsWc1.js} +39 -9
  49. package/dist/unpkg/dev/-private-BoKjsWc1.js.map +1 -0
  50. package/dist/unpkg/dev/configure.js +2 -2
  51. package/dist/unpkg/dev/index.js +1 -1
  52. package/dist/unpkg/dev/reactive.js +2 -2
  53. package/dist/unpkg/dev/{request-Fe-vpe-u.js → request-BQUGZTOj.js} +23 -13
  54. package/dist/unpkg/dev/{request-Fe-vpe-u.js.map → request-BQUGZTOj.js.map} +1 -1
  55. package/dist/unpkg/dev/request.js +1 -1
  56. package/dist/unpkg/dev/signals/-leaked.js +1 -1
  57. package/dist/unpkg/dev/{src-FSk0Z_Lp.js → src-DqRXbeNO.js} +5 -5
  58. package/dist/unpkg/dev/{src-FSk0Z_Lp.js.map → src-DqRXbeNO.js.map} +1 -1
  59. package/dist/unpkg/dev/store/-private.js +1 -1
  60. package/dist/unpkg/dev/types/-private.js +1 -1
  61. package/dist/unpkg/dev/types/runtime.js +7 -3
  62. package/dist/unpkg/dev/types/runtime.js.map +1 -1
  63. package/dist/unpkg/dev-deprecated/{-private-BH4O810v.js → -private-BoKjsWc1.js} +39 -9
  64. package/dist/unpkg/dev-deprecated/-private-BoKjsWc1.js.map +1 -0
  65. package/dist/unpkg/dev-deprecated/configure.js +2 -2
  66. package/dist/unpkg/dev-deprecated/index.js +1 -1
  67. package/dist/unpkg/dev-deprecated/reactive.js +2 -2
  68. package/dist/unpkg/dev-deprecated/{request-Fe-vpe-u.js → request-BQUGZTOj.js} +23 -13
  69. package/dist/unpkg/dev-deprecated/{request-Fe-vpe-u.js.map → request-BQUGZTOj.js.map} +1 -1
  70. package/dist/unpkg/dev-deprecated/request.js +1 -1
  71. package/dist/unpkg/dev-deprecated/signals/-leaked.js +1 -1
  72. package/dist/unpkg/dev-deprecated/{src-Isk_Je7q.js → src-EY9o2zd6.js} +5 -5
  73. package/dist/unpkg/dev-deprecated/{src-Isk_Je7q.js.map → src-EY9o2zd6.js.map} +1 -1
  74. package/dist/unpkg/dev-deprecated/store/-private.js +1 -1
  75. package/dist/unpkg/dev-deprecated/types/-private.js +1 -1
  76. package/dist/unpkg/dev-deprecated/types/runtime.js +7 -3
  77. package/dist/unpkg/dev-deprecated/types/runtime.js.map +1 -1
  78. package/dist/unpkg/{prod-deprecated/-private-DKVDMUfT.js → prod/-private-CRDwlN1v.js} +39 -9
  79. package/dist/unpkg/prod/-private-CRDwlN1v.js.map +1 -0
  80. package/dist/unpkg/prod/configure.js +2 -2
  81. package/dist/unpkg/prod/index.js +1 -1
  82. package/dist/unpkg/prod/reactive.js +2 -2
  83. package/dist/unpkg/{prod-deprecated/request-ndw2Fy91.js → prod/request-0h8eJko9.js} +23 -13
  84. package/dist/unpkg/{prod-deprecated/request-ndw2Fy91.js.map → prod/request-0h8eJko9.js.map} +1 -1
  85. package/dist/unpkg/prod/request.js +1 -1
  86. package/dist/unpkg/prod/signals/-leaked.js +1 -1
  87. package/dist/unpkg/prod/{src-CoSpuocQ.js → src-Dagh1FmP.js} +5 -5
  88. package/dist/unpkg/prod/{src-CoSpuocQ.js.map → src-Dagh1FmP.js.map} +1 -1
  89. package/dist/unpkg/prod/store/-private.js +1 -1
  90. package/dist/unpkg/prod/types/-private.js +1 -1
  91. package/dist/unpkg/prod/types/runtime.js +7 -3
  92. package/dist/unpkg/prod/types/runtime.js.map +1 -1
  93. package/dist/unpkg/{prod/-private-DKVDMUfT.js → prod-deprecated/-private-CRDwlN1v.js} +39 -9
  94. package/dist/unpkg/prod-deprecated/-private-CRDwlN1v.js.map +1 -0
  95. package/dist/unpkg/prod-deprecated/configure.js +2 -2
  96. package/dist/unpkg/prod-deprecated/index.js +1 -1
  97. package/dist/unpkg/prod-deprecated/reactive.js +2 -2
  98. package/dist/unpkg/{prod/request-ndw2Fy91.js → prod-deprecated/request-0h8eJko9.js} +23 -13
  99. package/dist/unpkg/{prod/request-ndw2Fy91.js.map → prod-deprecated/request-0h8eJko9.js.map} +1 -1
  100. package/dist/unpkg/prod-deprecated/request.js +1 -1
  101. package/dist/unpkg/prod-deprecated/signals/-leaked.js +1 -1
  102. package/dist/unpkg/prod-deprecated/{src-FK_rMde5.js → src-CvV5lz9D.js} +5 -5
  103. package/dist/unpkg/prod-deprecated/{src-FK_rMde5.js.map → src-CvV5lz9D.js.map} +1 -1
  104. package/dist/unpkg/prod-deprecated/store/-private.js +1 -1
  105. package/dist/unpkg/prod-deprecated/types/-private.js +1 -1
  106. package/dist/unpkg/prod-deprecated/types/runtime.js +7 -3
  107. package/dist/unpkg/prod-deprecated/types/runtime.js.map +1 -1
  108. package/logos/README.md +1 -1
  109. package/package.json +4 -4
  110. package/dist/-private-BpyvBYFj.js.map +0 -1
  111. package/dist/configure-CjsojjiI.d.ts.map +0 -1
  112. package/dist/unpkg/dev/-private-BH4O810v.js.map +0 -1
  113. package/dist/unpkg/dev-deprecated/-private-BH4O810v.js.map +0 -1
  114. package/dist/unpkg/prod/-private-DKVDMUfT.js.map +0 -1
  115. package/dist/unpkg/prod-deprecated/-private-DKVDMUfT.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  import { getOrSetGlobal, peekTransient, setTransient } from "./types/-private.js";
2
- import { f as setPromiseResult, o as DOMError, u as getPromiseResult } from "./request-MiwUbGdT.js";
2
+ import { f as setPromiseResult, o as DOMError, u as getPromiseResult } from "./request-DUGpwUhf.js";
3
3
  import { getGlobalConfig, macroCondition } from "@embroider/macros";
4
4
 
5
5
  //#region src/signals/reactivity/configure.ts
@@ -16,10 +16,12 @@ const OBJECT_SIGNAL = getOrSetGlobal("#{}", Symbol("#{}"));
16
16
  * The hooks which MUST be configured in order to use reactive arrays,
17
17
  * resources and documents with framework specfic signals or TC39 signals.
18
18
  *
19
- * Support for multiple frameworks simultaneously can be done via
20
- * this abstraction by returning multiple signals from the `createSignal`
21
- * method, and consuming the correct one via the correct framework via
22
- * the `consumeSignal` and `notifySignal` methods.
19
+ * To support multiple frameworks on the same page, import
20
+ * `@warp-drive-mirror/alien-signals/install` before each framework's `install` entry
21
+ * point. Its hooks implement {@link SignalHooks.register}, so each framework's
22
+ * hooks, passed to {@link registerSignals}, are added to its signals graph
23
+ * instead of replacing it, and its memos stay up to date for every framework.
24
+ * See [Using Ember and React on the Same Page](/guides/the-manual/cookbook/multiple-frameworks-on-one-page.md).
23
25
  *
24
26
  * Unlike many signals implementations, WarpDrive does not wrap values as
25
27
  * signals directly, but instead uses signals to alert the reactive layer
@@ -56,8 +58,9 @@ const OBJECT_SIGNAL = getOrSetGlobal("#{}", Symbol("#{}"));
56
58
  * @public
57
59
  */
58
60
  /**
59
- * Configures the signals implementation to use. Supports multiple
60
- * implementations simultaneously.
61
+ * Configures the signals implementation to use, replacing any configured
62
+ * before. To add a framework's hooks alongside those of other frameworks, use
63
+ * {@link registerSignals} instead.
61
64
  *
62
65
  * See {@link HooksOptions} for the options passed to the provided function
63
66
  * when called.
@@ -75,6 +78,33 @@ function setupSignals(buildConfig) {
75
78
  setTransient("signalHooks", hooks);
76
79
  }
77
80
  /**
81
+ * Adds the hooks built by `buildConfig` to the configured signals implementation if it composes
82
+ * other implementations, such as `@warp-drive-mirror/alien-signals`, and otherwise configures them with
83
+ * {@link setupSignals}.
84
+ *
85
+ * A framework's `install` entry point calls this rather than `setupSignals`, so that importing
86
+ * `@warp-drive-mirror/alien-signals/install` first lets every framework on the page share its signals
87
+ * and memos.
88
+ *
89
+ * @example
90
+ * ```ts
91
+ * import { registerSignals } from '@warp-drive-mirror/core/configure';
92
+ *
93
+ * registerSignals(buildSignalConfig);
94
+ * ```
95
+ *
96
+ * @summary Registers signal hooks with the configured composing implementation, or configures
97
+ * them with `setupSignals` when there is none.
98
+ * @since 5.10.0
99
+ * @public
100
+ * @param buildConfig - a function that takes options and returns a configuration object
101
+ */
102
+ function registerSignals(buildConfig) {
103
+ const signalHooks = peekTransient("signalHooks");
104
+ if (signalHooks?.register) signalHooks.register(buildConfig);
105
+ else setupSignals(buildConfig);
106
+ }
107
+ /**
78
108
  * Internal method for consuming the configured `createSignal` hook
79
109
  *
80
110
  * @private
@@ -3890,5 +3920,5 @@ function getPromiseState(promise) {
3890
3920
  }
3891
3921
 
3892
3922
  //#endregion
3893
- export { ARRAY_SIGNAL as A, createInternalMemo as C, notifyInternalSignal as D, makeInitializer as E, setupSignals as M, waitFor as N, peekInternalSignal as O, willSyncFlushWatchers as P, consumeInternalSignal as S, getOrCreateInternalSignal as T, entangleSignal as _, getPaginationState as a, signal as b, getPaginationCache as c, getRequestState as d, createSignalDescriptor as f, entangleInitiallyStaleSignal as g, defineSignal as h, getPaginationLinks as i, OBJECT_SIGNAL as j, withSignalStore as k, DISPOSE as l, defineNonEnumerableSignal as m, createPaginationLinksSubscription as n, clearPaginationCache as o, defineGate as p, createPaginationSubscription as r, defaultPageHints as s, getPromiseState as t, createRequestSubscription as u, gate as v, createInternalSignal as w, Signals as x, memoized as y };
3894
- //# sourceMappingURL=-private-BpyvBYFj.js.map
3923
+ export { ARRAY_SIGNAL as A, createInternalMemo as C, notifyInternalSignal as D, makeInitializer as E, willSyncFlushWatchers as F, registerSignals as M, setupSignals as N, peekInternalSignal as O, waitFor as P, consumeInternalSignal as S, getOrCreateInternalSignal as T, entangleSignal as _, getPaginationState as a, signal as b, getPaginationCache as c, getRequestState as d, createSignalDescriptor as f, entangleInitiallyStaleSignal as g, defineSignal as h, getPaginationLinks as i, OBJECT_SIGNAL as j, withSignalStore as k, DISPOSE as l, defineNonEnumerableSignal as m, createPaginationLinksSubscription as n, clearPaginationCache as o, defineGate as p, createPaginationSubscription as r, defaultPageHints as s, getPromiseState as t, createRequestSubscription as u, gate as v, createInternalSignal as w, Signals as x, memoized as y };
3924
+ //# sourceMappingURL=-private-Y-13dsHO.js.map