solid-js 1.8.5 → 1.8.6

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 (49) hide show
  1. package/dist/dev.cjs +12 -9
  2. package/dist/dev.js +545 -307
  3. package/dist/server.js +170 -75
  4. package/dist/solid.cjs +7 -6
  5. package/dist/solid.js +467 -262
  6. package/h/dist/h.js +34 -8
  7. package/h/jsx-runtime/dist/jsx.js +1 -1
  8. package/h/jsx-runtime/types/index.d.ts +11 -8
  9. package/h/jsx-runtime/types/jsx.d.ts +12 -5
  10. package/h/types/hyperscript.d.ts +11 -11
  11. package/html/dist/html.js +216 -94
  12. package/html/types/lit.d.ts +47 -33
  13. package/package.json +7 -2
  14. package/store/dist/dev.js +114 -42
  15. package/store/dist/server.js +19 -8
  16. package/store/dist/store.js +105 -39
  17. package/store/types/index.d.ts +21 -7
  18. package/store/types/modifiers.d.ts +6 -3
  19. package/store/types/mutable.d.ts +5 -2
  20. package/store/types/server.d.ts +12 -4
  21. package/store/types/store.d.ts +218 -61
  22. package/types/index.d.ts +75 -9
  23. package/types/jsx.d.ts +11 -5
  24. package/types/reactive/array.d.ts +12 -4
  25. package/types/reactive/observable.d.ts +25 -17
  26. package/types/reactive/scheduler.d.ts +9 -6
  27. package/types/reactive/signal.d.ts +229 -140
  28. package/types/render/Suspense.d.ts +5 -5
  29. package/types/render/component.d.ts +62 -31
  30. package/types/render/flow.d.ts +43 -31
  31. package/types/render/hydration.d.ts +13 -13
  32. package/types/server/index.d.ts +57 -2
  33. package/types/server/reactive.d.ts +73 -42
  34. package/types/server/rendering.d.ts +166 -95
  35. package/universal/dist/dev.js +28 -12
  36. package/universal/dist/universal.js +28 -12
  37. package/universal/types/index.d.ts +3 -1
  38. package/universal/types/universal.d.ts +0 -1
  39. package/web/dist/dev.cjs +1 -1
  40. package/web/dist/dev.js +620 -81
  41. package/web/dist/server.cjs +22 -10
  42. package/web/dist/server.js +195 -101
  43. package/web/dist/storage.js +3 -3
  44. package/web/dist/web.cjs +1 -1
  45. package/web/dist/web.js +614 -80
  46. package/web/types/client.d.ts +2 -2
  47. package/web/types/core.d.ts +10 -1
  48. package/web/types/index.d.ts +27 -10
  49. package/web/types/server-mock.d.ts +47 -32
package/dist/dev.cjs CHANGED
@@ -159,7 +159,8 @@ let Effects = null;
159
159
  let ExecCount = 0;
160
160
  const DevHooks = {
161
161
  afterUpdate: null,
162
- afterCreateOwner: null
162
+ afterCreateOwner: null,
163
+ afterCreateSignal: null
163
164
  };
164
165
  const [transPending, setTransPending] = /*@__PURE__*/createSignal(false);
165
166
  function createRoot(fn, detachedOwner) {
@@ -199,9 +200,10 @@ function createSignal(value, options) {
199
200
  observerSlots: null,
200
201
  comparator: options.equals || undefined
201
202
  };
202
- if (!options.internal) {
203
+ {
203
204
  if (options.name) s.name = options.name;
204
- registerGraph(s);
205
+ if (DevHooks.afterCreateSignal) DevHooks.afterCreateSignal(s);
206
+ if (!options.internal) registerGraph(s);
205
207
  }
206
208
  const setter = value => {
207
209
  if (typeof value === "function") {
@@ -676,10 +678,7 @@ function writeSignal(node, value, isComp) {
676
678
  function updateComputation(node) {
677
679
  if (!node.fn) return;
678
680
  cleanNode(node);
679
- const owner = Owner,
680
- listener = Listener,
681
- time = ExecCount;
682
- Listener = Owner = node;
681
+ const time = ExecCount;
683
682
  runComputation(node, Transition && Transition.running && Transition.sources.has(node) ? node.tValue : node.value, time);
684
683
  if (Transition && !Transition.running && Transition.sources.has(node)) {
685
684
  queueMicrotask(() => {
@@ -691,11 +690,12 @@ function updateComputation(node) {
691
690
  }, false);
692
691
  });
693
692
  }
694
- Listener = listener;
695
- Owner = owner;
696
693
  }
697
694
  function runComputation(node, value, time) {
698
695
  let nextValue;
696
+ const owner = Owner,
697
+ listener = Listener;
698
+ Listener = Owner = node;
699
699
  try {
700
700
  nextValue = node.fn(value);
701
701
  } catch (err) {
@@ -712,6 +712,9 @@ function runComputation(node, value, time) {
712
712
  }
713
713
  node.updatedAt = time + 1;
714
714
  return handleError(err);
715
+ } finally {
716
+ Listener = listener;
717
+ Owner = owner;
715
718
  }
716
719
  if (!node.updatedAt || node.updatedAt <= time) {
717
720
  if (node.updatedAt != null && "observers" in node) {