solid-js 1.8.8 → 1.8.10

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 +17 -21
  2. package/dist/dev.js +554 -321
  3. package/dist/server.js +170 -75
  4. package/dist/solid.cjs +17 -21
  5. package/dist/solid.js +481 -279
  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 +2 -1
  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 +3 -2
  14. package/store/dist/dev.cjs +1 -1
  15. package/store/dist/dev.js +117 -42
  16. package/store/dist/server.js +19 -8
  17. package/store/dist/store.cjs +1 -1
  18. package/store/dist/store.js +108 -39
  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 +2 -1
  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 +233 -142
  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 +13 -13
  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 +167 -96
  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 -1
  42. package/web/dist/dev.js +621 -82
  43. package/web/dist/server.cjs +53 -42
  44. package/web/dist/server.js +244 -127
  45. package/web/dist/storage.js +3 -3
  46. package/web/dist/web.cjs +1 -1
  47. package/web/dist/web.js +615 -81
  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
@@ -1350,41 +1350,37 @@ function mergeProps(...sources) {
1350
1350
  }
1351
1351
  }, propTraps);
1352
1352
  }
1353
- const target = {};
1354
1353
  const sourcesMap = {};
1355
- const defined = new Set();
1354
+ const defined = Object.create(null);
1356
1355
  for (let i = sources.length - 1; i >= 0; i--) {
1357
1356
  const source = sources[i];
1358
1357
  if (!source) continue;
1359
1358
  const sourceKeys = Object.getOwnPropertyNames(source);
1360
- for (let i = 0, length = sourceKeys.length; i < length; i++) {
1359
+ for (let i = sourceKeys.length - 1; i >= 0; i--) {
1361
1360
  const key = sourceKeys[i];
1362
1361
  if (key === "__proto__" || key === "constructor") continue;
1363
1362
  const desc = Object.getOwnPropertyDescriptor(source, key);
1364
- if (!defined.has(key)) {
1365
- if (desc.get) {
1366
- defined.add(key);
1367
- Object.defineProperty(target, key, {
1368
- enumerable: true,
1369
- configurable: true,
1370
- get: resolveSources.bind(sourcesMap[key] = [desc.get.bind(source)])
1371
- });
1372
- } else {
1373
- if (desc.value !== undefined) defined.add(key);
1374
- target[key] = desc.value;
1375
- }
1363
+ if (!defined[key]) {
1364
+ defined[key] = desc.get ? {
1365
+ enumerable: true,
1366
+ configurable: true,
1367
+ get: resolveSources.bind(sourcesMap[key] = [desc.get.bind(source)])
1368
+ } : desc.value !== undefined ? desc : undefined;
1376
1369
  } else {
1377
1370
  const sources = sourcesMap[key];
1378
1371
  if (sources) {
1379
- if (desc.get) {
1380
- sources.push(desc.get.bind(source));
1381
- } else if (desc.value !== undefined) {
1382
- sources.push(() => desc.value);
1383
- }
1384
- } else if (target[key] === undefined) target[key] = desc.value;
1372
+ if (desc.get) sources.push(desc.get.bind(source));else if (desc.value !== undefined) sources.push(() => desc.value);
1373
+ }
1385
1374
  }
1386
1375
  }
1387
1376
  }
1377
+ const target = {};
1378
+ const definedKeys = Object.keys(defined);
1379
+ for (let i = definedKeys.length - 1; i >= 0; i--) {
1380
+ const key = definedKeys[i],
1381
+ desc = defined[key];
1382
+ if (desc && desc.get) Object.defineProperty(target, key, desc);else target[key] = desc ? desc.value : undefined;
1383
+ }
1388
1384
  return target;
1389
1385
  }
1390
1386
  function splitProps(props, ...keys) {