solid-js 1.8.22 → 1.8.23

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 (51) hide show
  1. package/dist/dev.cjs +7 -6
  2. package/dist/dev.js +567 -325
  3. package/dist/server.cjs +1 -1
  4. package/dist/server.js +169 -75
  5. package/dist/solid.cjs +7 -6
  6. package/dist/solid.js +494 -283
  7. package/h/dist/h.js +40 -9
  8. package/h/jsx-runtime/dist/jsx.js +1 -1
  9. package/h/jsx-runtime/types/index.d.ts +11 -8
  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 +1 -1
  14. package/store/dist/dev.cjs +1 -1
  15. package/store/dist/dev.js +123 -43
  16. package/store/dist/server.js +19 -8
  17. package/store/dist/store.cjs +1 -1
  18. package/store/dist/store.js +114 -40
  19. package/store/types/index.d.ts +21 -7
  20. package/store/types/modifiers.d.ts +6 -3
  21. package/store/types/mutable.d.ts +5 -2
  22. package/store/types/server.d.ts +12 -4
  23. package/store/types/store.d.ts +218 -61
  24. package/types/index.d.ts +75 -10
  25. package/types/jsx.d.ts +13 -7
  26. package/types/reactive/array.d.ts +12 -4
  27. package/types/reactive/observable.d.ts +25 -17
  28. package/types/reactive/scheduler.d.ts +9 -6
  29. package/types/reactive/signal.d.ts +236 -143
  30. package/types/render/Suspense.d.ts +5 -5
  31. package/types/render/component.d.ts +64 -33
  32. package/types/render/flow.d.ts +43 -31
  33. package/types/render/hydration.d.ts +15 -15
  34. package/types/server/index.d.ts +57 -2
  35. package/types/server/reactive.d.ts +73 -42
  36. package/types/server/rendering.d.ts +169 -98
  37. package/universal/dist/dev.js +28 -12
  38. package/universal/dist/universal.js +28 -12
  39. package/universal/types/index.d.ts +3 -1
  40. package/universal/types/universal.d.ts +0 -1
  41. package/web/dist/dev.cjs +1 -0
  42. package/web/dist/dev.js +626 -83
  43. package/web/dist/server.cjs +1 -1
  44. package/web/dist/server.js +211 -97
  45. package/web/dist/web.cjs +1 -0
  46. package/web/dist/web.js +617 -81
  47. package/web/storage/dist/storage.js +3 -3
  48. package/web/types/client.d.ts +2 -2
  49. package/web/types/core.d.ts +10 -1
  50. package/web/types/index.d.ts +27 -10
  51. package/web/types/server-mock.d.ts +47 -32
package/dist/dev.cjs CHANGED
@@ -146,6 +146,7 @@ function nextHydrateContext() {
146
146
 
147
147
  const equalFn = (a, b) => a === b;
148
148
  const $PROXY = Symbol("solid-proxy");
149
+ const SUPPORTS_PROXY = typeof Proxy === "function";
149
150
  const $TRACK = Symbol("solid-track");
150
151
  const $DEVCOMP = Symbol("solid-dev-component");
151
152
  const signalOptions = {
@@ -965,11 +966,11 @@ function cleanNode(node) {
965
966
  }
966
967
  }
967
968
  }
969
+ if (node.tOwned) {
970
+ for (i = node.tOwned.length - 1; i >= 0; i--) cleanNode(node.tOwned[i]);
971
+ delete node.tOwned;
972
+ }
968
973
  if (Transition && Transition.running && node.pure) {
969
- if (node.tOwned) {
970
- for (i = node.tOwned.length - 1; i >= 0; i--) cleanNode(node.tOwned[i]);
971
- delete node.tOwned;
972
- }
973
974
  reset(node, true);
974
975
  } else if (node.owned) {
975
976
  for (i = node.owned.length - 1; i >= 0; i--) cleanNode(node.owned[i]);
@@ -1336,7 +1337,7 @@ function mergeProps(...sources) {
1336
1337
  proxy = proxy || !!s && $PROXY in s;
1337
1338
  sources[i] = typeof s === "function" ? (proxy = true, createMemo(s)) : s;
1338
1339
  }
1339
- if (proxy) {
1340
+ if (SUPPORTS_PROXY && proxy) {
1340
1341
  return new Proxy({
1341
1342
  get(property) {
1342
1343
  for (let i = sources.length - 1; i >= 0; i--) {
@@ -1391,7 +1392,7 @@ function mergeProps(...sources) {
1391
1392
  return target;
1392
1393
  }
1393
1394
  function splitProps(props, ...keys) {
1394
- if ($PROXY in props) {
1395
+ if (SUPPORTS_PROXY && $PROXY in props) {
1395
1396
  const blocked = new Set(keys.length > 1 ? keys.flat() : keys[0]);
1396
1397
  const res = keys.map(k => {
1397
1398
  return new Proxy({