solid-js 1.9.4 → 2.0.0-experimental.0

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 (75) hide show
  1. package/dist/dev.cjs +213 -1603
  2. package/dist/dev.js +159 -1749
  3. package/dist/server.cjs +38 -1
  4. package/dist/server.js +38 -1
  5. package/dist/solid.cjs +196 -1558
  6. package/dist/solid.js +139 -1682
  7. package/package.json +8 -154
  8. package/types/{render → client}/component.d.ts +0 -61
  9. package/types/client/core.d.ts +75 -0
  10. package/types/client/flow.d.ts +114 -0
  11. package/types/{render → client}/hydration.d.ts +0 -2
  12. package/types/{reactive → client}/observable.d.ts +1 -1
  13. package/types/index.d.ts +44 -55
  14. package/types/jsx.d.ts +1944 -174
  15. package/types/server/index.d.ts +1 -1
  16. package/types/server/reactive.d.ts +6 -1
  17. package/types/server/store.d.ts +6 -0
  18. package/h/dist/h.cjs +0 -115
  19. package/h/dist/h.js +0 -144
  20. package/h/jsx-dev-runtime/package.json +0 -8
  21. package/h/jsx-runtime/dist/jsx.cjs +0 -15
  22. package/h/jsx-runtime/dist/jsx.js +0 -10
  23. package/h/jsx-runtime/package.json +0 -8
  24. package/h/jsx-runtime/types/index.d.ts +0 -14
  25. package/h/jsx-runtime/types/jsx.d.ts +0 -2276
  26. package/h/package.json +0 -8
  27. package/h/types/hyperscript.d.ts +0 -20
  28. package/h/types/index.d.ts +0 -3
  29. package/html/dist/html.cjs +0 -583
  30. package/html/dist/html.js +0 -706
  31. package/html/package.json +0 -8
  32. package/html/types/index.d.ts +0 -3
  33. package/html/types/lit.d.ts +0 -60
  34. package/store/dist/dev.cjs +0 -454
  35. package/store/dist/dev.js +0 -525
  36. package/store/dist/server.cjs +0 -126
  37. package/store/dist/server.js +0 -126
  38. package/store/dist/store.cjs +0 -434
  39. package/store/dist/store.js +0 -499
  40. package/store/package.json +0 -46
  41. package/store/types/index.d.ts +0 -26
  42. package/store/types/modifiers.d.ts +0 -9
  43. package/store/types/mutable.d.ts +0 -8
  44. package/store/types/server.d.ts +0 -37
  45. package/store/types/store.d.ts +0 -263
  46. package/types/reactive/array.d.ts +0 -52
  47. package/types/reactive/scheduler.d.ts +0 -13
  48. package/types/reactive/signal.d.ts +0 -664
  49. package/types/render/Suspense.d.ts +0 -26
  50. package/types/render/flow.d.ts +0 -130
  51. package/types/render/index.d.ts +0 -4
  52. package/universal/dist/dev.cjs +0 -243
  53. package/universal/dist/dev.js +0 -257
  54. package/universal/dist/universal.cjs +0 -243
  55. package/universal/dist/universal.js +0 -257
  56. package/universal/package.json +0 -20
  57. package/universal/types/index.d.ts +0 -4
  58. package/universal/types/universal.d.ts +0 -29
  59. package/web/dist/dev.cjs +0 -804
  60. package/web/dist/dev.js +0 -1241
  61. package/web/dist/server.cjs +0 -795
  62. package/web/dist/server.js +0 -1216
  63. package/web/dist/web.cjs +0 -793
  64. package/web/dist/web.js +0 -1220
  65. package/web/package.json +0 -46
  66. package/web/storage/dist/storage.cjs +0 -12
  67. package/web/storage/dist/storage.js +0 -10
  68. package/web/storage/package.json +0 -15
  69. package/web/storage/types/index.d.ts +0 -2
  70. package/web/types/client.d.ts +0 -79
  71. package/web/types/core.d.ts +0 -10
  72. package/web/types/index.d.ts +0 -54
  73. package/web/types/jsx.d.ts +0 -1
  74. package/web/types/server-mock.d.ts +0 -80
  75. package/web/types/server.d.ts +0 -177
package/dist/server.cjs CHANGED
@@ -735,6 +735,40 @@ function Suspense(props) {
735
735
  }, suspenseError);
736
736
  }
737
737
 
738
+ function isWrappable(obj) {
739
+ return obj != null && typeof obj === "object" && !Object.isFrozen(obj);
740
+ }
741
+ function unwrap(item) {
742
+ return item;
743
+ }
744
+ function setProperty(state, property, value) {
745
+ if (state[property] === value) return;
746
+ if (value === undefined) {
747
+ delete state[property];
748
+ } else state[property] = value;
749
+ }
750
+ function createStore(state) {
751
+ function setStore(fn) {
752
+ fn(state);
753
+ }
754
+ return [state, setStore];
755
+ }
756
+ function reconcile(value) {
757
+ return state => {
758
+ if (!isWrappable(state) || !isWrappable(value)) return value;
759
+ const targetKeys = Object.keys(value);
760
+ const previousKeys = Object.keys(state);
761
+ for (let i = 0, len = targetKeys.length; i < len; i++) {
762
+ const key = targetKeys[i];
763
+ setProperty(state, key, value[key]);
764
+ }
765
+ for (let i = 0, len = previousKeys.length; i < len; i++) {
766
+ if (value[previousKeys[i]] === undefined) setProperty(state, previousKeys[i], undefined);
767
+ }
768
+ return state;
769
+ };
770
+ }
771
+
738
772
  exports.$DEVCOMP = $DEVCOMP;
739
773
  exports.$PROXY = $PROXY;
740
774
  exports.$TRACK = $TRACK;
@@ -751,7 +785,6 @@ exports.batch = batch;
751
785
  exports.catchError = catchError;
752
786
  exports.children = children;
753
787
  exports.createComponent = createComponent;
754
- exports.createComputed = createComputed;
755
788
  exports.createContext = createContext;
756
789
  exports.createDeferred = createDeferred;
757
790
  exports.createEffect = createEffect;
@@ -762,6 +795,7 @@ exports.createResource = createResource;
762
795
  exports.createRoot = createRoot;
763
796
  exports.createSelector = createSelector;
764
797
  exports.createSignal = createSignal;
798
+ exports.createStore = createStore;
765
799
  exports.createUniqueId = createUniqueId;
766
800
  exports.enableExternalSource = enableExternalSource;
767
801
  exports.enableHydration = enableHydration;
@@ -771,6 +805,7 @@ exports.from = from;
771
805
  exports.getListener = getListener;
772
806
  exports.getOwner = getOwner;
773
807
  exports.indexArray = indexArray;
808
+ exports.isWrappable = isWrappable;
774
809
  exports.lazy = lazy;
775
810
  exports.mapArray = mapArray;
776
811
  exports.mergeProps = mergeProps;
@@ -779,6 +814,7 @@ exports.on = on;
779
814
  exports.onCleanup = onCleanup;
780
815
  exports.onError = onError;
781
816
  exports.onMount = onMount;
817
+ exports.reconcile = reconcile;
782
818
  exports.requestCallback = requestCallback;
783
819
  exports.resetErrorBoundaries = resetErrorBoundaries;
784
820
  exports.runWithOwner = runWithOwner;
@@ -786,5 +822,6 @@ exports.sharedConfig = sharedConfig;
786
822
  exports.splitProps = splitProps;
787
823
  exports.startTransition = startTransition;
788
824
  exports.untrack = untrack;
825
+ exports.unwrap = unwrap;
789
826
  exports.useContext = useContext;
790
827
  exports.useTransition = useTransition;
package/dist/server.js CHANGED
@@ -776,6 +776,40 @@ function Suspense(props) {
776
776
  }, suspenseError);
777
777
  }
778
778
 
779
+ function isWrappable(obj) {
780
+ return obj != null && typeof obj === "object" && !Object.isFrozen(obj);
781
+ }
782
+ function unwrap(item) {
783
+ return item;
784
+ }
785
+ function setProperty(state, property, value) {
786
+ if (state[property] === value) return;
787
+ if (value === undefined) {
788
+ delete state[property];
789
+ } else state[property] = value;
790
+ }
791
+ function createStore(state) {
792
+ function setStore(fn) {
793
+ fn(state);
794
+ }
795
+ return [state, setStore];
796
+ }
797
+ function reconcile(value) {
798
+ return state => {
799
+ if (!isWrappable(state) || !isWrappable(value)) return value;
800
+ const targetKeys = Object.keys(value);
801
+ const previousKeys = Object.keys(state);
802
+ for (let i = 0, len = targetKeys.length; i < len; i++) {
803
+ const key = targetKeys[i];
804
+ setProperty(state, key, value[key]);
805
+ }
806
+ for (let i = 0, len = previousKeys.length; i < len; i++) {
807
+ if (value[previousKeys[i]] === undefined) setProperty(state, previousKeys[i], undefined);
808
+ }
809
+ return state;
810
+ };
811
+ }
812
+
779
813
  export {
780
814
  $DEVCOMP,
781
815
  $PROXY,
@@ -793,7 +827,6 @@ export {
793
827
  catchError,
794
828
  children,
795
829
  createComponent,
796
- createComputed,
797
830
  createContext,
798
831
  createDeferred,
799
832
  createEffect,
@@ -804,6 +837,7 @@ export {
804
837
  createRoot,
805
838
  createSelector,
806
839
  createSignal,
840
+ createStore,
807
841
  createUniqueId,
808
842
  enableExternalSource,
809
843
  enableHydration,
@@ -813,6 +847,7 @@ export {
813
847
  getListener,
814
848
  getOwner,
815
849
  indexArray,
850
+ isWrappable,
816
851
  lazy,
817
852
  mapArray,
818
853
  mergeProps,
@@ -821,6 +856,7 @@ export {
821
856
  onCleanup,
822
857
  onError,
823
858
  onMount,
859
+ reconcile,
824
860
  requestCallback,
825
861
  resetErrorBoundaries,
826
862
  runWithOwner,
@@ -828,6 +864,7 @@ export {
828
864
  splitProps,
829
865
  startTransition,
830
866
  untrack,
867
+ unwrap,
831
868
  useContext,
832
869
  useTransition
833
870
  };