solid-js 1.8.5 → 1.8.7

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 +13 -10
  2. package/dist/dev.js +545 -307
  3. package/dist/server.js +170 -75
  4. package/dist/solid.cjs +8 -7
  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 +167 -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 +28 -13
  42. package/web/dist/server.js +201 -104
  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,9 +159,9 @@ 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
- const [transPending, setTransPending] = /*@__PURE__*/createSignal(false);
165
165
  function createRoot(fn, detachedOwner) {
166
166
  const listener = Listener,
167
167
  owner = Owner,
@@ -199,9 +199,10 @@ function createSignal(value, options) {
199
199
  observerSlots: null,
200
200
  comparator: options.equals || undefined
201
201
  };
202
- if (!options.internal) {
202
+ {
203
203
  if (options.name) s.name = options.name;
204
- registerGraph(s);
204
+ if (DevHooks.afterCreateSignal) DevHooks.afterCreateSignal(s);
205
+ if (!options.internal) registerGraph(s);
205
206
  }
206
207
  const setter = value => {
207
208
  if (typeof value === "function") {
@@ -539,6 +540,7 @@ function startTransition(fn) {
539
540
  return t ? t.done : undefined;
540
541
  });
541
542
  }
543
+ const [transPending, setTransPending] = /*@__PURE__*/createSignal(false);
542
544
  function useTransition() {
543
545
  return [transPending, startTransition];
544
546
  }
@@ -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) {