solid-js 1.9.5 → 1.9.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 (51) hide show
  1. package/dist/dev.cjs +21 -10
  2. package/dist/dev.js +327 -557
  3. package/dist/server.js +81 -178
  4. package/dist/solid.cjs +21 -10
  5. package/dist/solid.js +283 -486
  6. package/h/dist/h.js +9 -40
  7. package/h/jsx-runtime/dist/jsx.js +1 -1
  8. package/h/jsx-runtime/types/index.d.ts +8 -11
  9. package/h/jsx-runtime/types/jsx.d.ts +2947 -1021
  10. package/h/types/hyperscript.d.ts +11 -11
  11. package/html/dist/html.cjs +2 -2
  12. package/html/dist/html.js +96 -221
  13. package/html/types/lit.d.ts +33 -52
  14. package/package.json +3 -3
  15. package/store/dist/dev.js +43 -123
  16. package/store/dist/server.js +8 -20
  17. package/store/dist/store.js +40 -114
  18. package/store/types/index.d.ts +7 -21
  19. package/store/types/modifiers.d.ts +3 -6
  20. package/store/types/mutable.d.ts +2 -5
  21. package/store/types/server.d.ts +5 -25
  22. package/store/types/store.d.ts +61 -218
  23. package/types/index.d.ts +11 -78
  24. package/types/jsx.d.ts +2091 -278
  25. package/types/reactive/array.d.ts +4 -12
  26. package/types/reactive/observable.d.ts +16 -22
  27. package/types/reactive/scheduler.d.ts +6 -9
  28. package/types/reactive/signal.d.ts +145 -236
  29. package/types/render/Suspense.d.ts +5 -5
  30. package/types/render/component.d.ts +37 -73
  31. package/types/render/flow.d.ts +31 -43
  32. package/types/render/hydration.d.ts +15 -15
  33. package/types/server/index.d.ts +2 -57
  34. package/types/server/reactive.d.ts +45 -76
  35. package/types/server/rendering.d.ts +98 -169
  36. package/universal/dist/dev.cjs +3 -1
  37. package/universal/dist/dev.js +15 -29
  38. package/universal/dist/universal.cjs +3 -1
  39. package/universal/dist/universal.js +15 -29
  40. package/universal/types/index.d.ts +1 -3
  41. package/universal/types/universal.d.ts +1 -0
  42. package/web/dist/dev.cjs +8 -5
  43. package/web/dist/dev.js +96 -643
  44. package/web/dist/server.cjs +9 -6
  45. package/web/dist/server.js +116 -646
  46. package/web/dist/web.cjs +8 -5
  47. package/web/dist/web.js +94 -631
  48. package/web/storage/dist/storage.js +3 -3
  49. package/web/types/core.d.ts +2 -10
  50. package/web/types/index.d.ts +11 -31
  51. package/web/types/server-mock.d.ts +32 -47
@@ -2,229 +2,158 @@ import { Accessor, Setter, Signal } from "./reactive.js";
2
2
  import type { JSX } from "../jsx.js";
3
3
  export type Component<P = {}> = (props: P) => JSX.Element;
4
4
  export type VoidProps<P = {}> = P & {
5
- children?: never;
5
+ children?: never;
6
6
  };
7
7
  export type VoidComponent<P = {}> = Component<VoidProps<P>>;
8
8
  export type ParentProps<P = {}> = P & {
9
- children?: JSX.Element;
9
+ children?: JSX.Element;
10
10
  };
11
11
  export type ParentComponent<P = {}> = Component<ParentProps<P>>;
12
12
  export type FlowProps<P = {}, C = JSX.Element> = P & {
13
- children: C;
13
+ children: C;
14
14
  };
15
15
  export type FlowComponent<P = {}, C = JSX.Element> = Component<FlowProps<P, C>>;
16
16
  export type Ref<T> = T | ((val: T) => void);
17
17
  export type ValidComponent = keyof JSX.IntrinsicElements | Component<any> | (string & {});
18
- export type ComponentProps<T extends ValidComponent> = T extends Component<infer P>
19
- ? P
20
- : T extends keyof JSX.IntrinsicElements
21
- ? JSX.IntrinsicElements[T]
22
- : Record<string, unknown>;
18
+ export type ComponentProps<T extends ValidComponent> = T extends Component<infer P> ? P : T extends keyof JSX.IntrinsicElements ? JSX.IntrinsicElements[T] : Record<string, unknown>;
23
19
  type SharedConfig = {
24
- context?: HydrationContext;
25
- getContextId(): string;
26
- getNextContextId(): string;
20
+ context?: HydrationContext;
21
+ getContextId(): string;
22
+ getNextContextId(): string;
27
23
  };
28
24
  export declare const sharedConfig: SharedConfig;
29
25
  export declare function createUniqueId(): string;
30
26
  export declare function createComponent<T>(Comp: (props: T) => JSX.Element, props: T): JSX.Element;
31
27
  export declare function mergeProps<T, U>(source: T, source1: U): T & U;
32
28
  export declare function mergeProps<T, U, V>(source: T, source1: U, source2: V): T & U & V;
33
- export declare function mergeProps<T, U, V, W>(
34
- source: T,
35
- source1: U,
36
- source2: V,
37
- source3: W
38
- ): T & U & V & W;
39
- export declare function splitProps<T extends object, K1 extends keyof T>(
40
- props: T,
41
- ...keys: [K1[]]
42
- ): [Pick<T, K1>, Omit<T, K1>];
43
- export declare function splitProps<T extends object, K1 extends keyof T, K2 extends keyof T>(
44
- props: T,
45
- ...keys: [K1[], K2[]]
46
- ): [Pick<T, K1>, Pick<T, K2>, Omit<T, K1 | K2>];
47
- export declare function splitProps<
48
- T extends object,
49
- K1 extends keyof T,
50
- K2 extends keyof T,
51
- K3 extends keyof T
52
- >(
53
- props: T,
54
- ...keys: [K1[], K2[], K3[]]
55
- ): [Pick<T, K1>, Pick<T, K2>, Pick<T, K3>, Omit<T, K1 | K2 | K3>];
56
- export declare function splitProps<
57
- T extends object,
58
- K1 extends keyof T,
59
- K2 extends keyof T,
60
- K3 extends keyof T,
61
- K4 extends keyof T
62
- >(
63
- props: T,
64
- ...keys: [K1[], K2[], K3[], K4[]]
65
- ): [Pick<T, K1>, Pick<T, K2>, Pick<T, K3>, Pick<T, K4>, Omit<T, K1 | K2 | K3 | K4>];
66
- export declare function splitProps<
67
- T extends object,
68
- K1 extends keyof T,
69
- K2 extends keyof T,
70
- K3 extends keyof T,
71
- K4 extends keyof T,
72
- K5 extends keyof T
73
- >(
74
- props: T,
75
- ...keys: [K1[], K2[], K3[], K4[], K5[]]
76
- ): [
77
- Pick<T, K1>,
78
- Pick<T, K2>,
79
- Pick<T, K3>,
80
- Pick<T, K4>,
81
- Pick<T, K5>,
82
- Omit<T, K1 | K2 | K3 | K4 | K5>
29
+ export declare function mergeProps<T, U, V, W>(source: T, source1: U, source2: V, source3: W): T & U & V & W;
30
+ export declare function splitProps<T extends object, K1 extends keyof T>(props: T, ...keys: [K1[]]): [Pick<T, K1>, Omit<T, K1>];
31
+ export declare function splitProps<T extends object, K1 extends keyof T, K2 extends keyof T>(props: T, ...keys: [K1[], K2[]]): [Pick<T, K1>, Pick<T, K2>, Omit<T, K1 | K2>];
32
+ export declare function splitProps<T extends object, K1 extends keyof T, K2 extends keyof T, K3 extends keyof T>(props: T, ...keys: [K1[], K2[], K3[]]): [Pick<T, K1>, Pick<T, K2>, Pick<T, K3>, Omit<T, K1 | K2 | K3>];
33
+ export declare function splitProps<T extends object, K1 extends keyof T, K2 extends keyof T, K3 extends keyof T, K4 extends keyof T>(props: T, ...keys: [K1[], K2[], K3[], K4[]]): [Pick<T, K1>, Pick<T, K2>, Pick<T, K3>, Pick<T, K4>, Omit<T, K1 | K2 | K3 | K4>];
34
+ export declare function splitProps<T extends object, K1 extends keyof T, K2 extends keyof T, K3 extends keyof T, K4 extends keyof T, K5 extends keyof T>(props: T, ...keys: [K1[], K2[], K3[], K4[], K5[]]): [
35
+ Pick<T, K1>,
36
+ Pick<T, K2>,
37
+ Pick<T, K3>,
38
+ Pick<T, K4>,
39
+ Pick<T, K5>,
40
+ Omit<T, K1 | K2 | K3 | K4 | K5>
83
41
  ];
84
42
  export declare function For<T>(props: {
85
- each: T[];
86
- fallback?: string;
87
- children: (item: T, index: () => number) => string;
43
+ each: T[];
44
+ fallback?: string;
45
+ children: (item: T, index: () => number) => string;
88
46
  }): string | any[] | undefined;
89
47
  export declare function Index<T>(props: {
90
- each: T[];
91
- fallback?: string;
92
- children: (item: () => T, index: number) => string;
48
+ each: T[];
49
+ fallback?: string;
50
+ children: (item: () => T, index: number) => string;
93
51
  }): string | any[] | undefined;
94
52
  /**
95
53
  * Conditionally render its children or an optional fallback component
96
54
  * @description https://docs.solidjs.com/reference/components/show
97
55
  */
98
56
  export declare function Show<T>(props: {
99
- when: T | undefined | null | false;
100
- keyed?: boolean;
101
- fallback?: string;
102
- children: string | ((item: NonNullable<T> | Accessor<NonNullable<T>>) => string);
57
+ when: T | undefined | null | false;
58
+ keyed?: boolean;
59
+ fallback?: string;
60
+ children: string | ((item: NonNullable<T> | Accessor<NonNullable<T>>) => string);
103
61
  }): string;
104
62
  export declare function Switch(props: {
105
- fallback?: string;
106
- children: MatchProps<unknown> | MatchProps<unknown>[];
63
+ fallback?: string;
64
+ children: MatchProps<unknown> | MatchProps<unknown>[];
107
65
  }): string;
108
66
  type MatchProps<T> = {
109
- when: T | false;
110
- keyed?: boolean;
111
- children: string | ((item: NonNullable<T> | Accessor<NonNullable<T>>) => string);
67
+ when: T | false;
68
+ keyed?: boolean;
69
+ children: string | ((item: NonNullable<T> | Accessor<NonNullable<T>>) => string);
112
70
  };
113
71
  export declare function Match<T>(props: MatchProps<T>): MatchProps<T>;
114
72
  export declare function resetErrorBoundaries(): void;
115
73
  export declare function ErrorBoundary(props: {
116
- fallback: string | ((err: any, reset: () => void) => string);
117
- children: string;
118
- }):
119
- | string
120
- | ((err: any, reset: () => void) => string)
121
- | {
122
- t: string;
123
- };
74
+ fallback: string | ((err: any, reset: () => void) => string);
75
+ children: string;
76
+ }): string | ((err: any, reset: () => void) => string) | {
77
+ t: string;
78
+ };
124
79
  export interface Resource<T> {
125
- (): T | undefined;
126
- state: "unresolved" | "pending" | "ready" | "refreshing" | "errored";
127
- loading: boolean;
128
- error: any;
129
- latest: T | undefined;
80
+ (): T | undefined;
81
+ state: "unresolved" | "pending" | "ready" | "refreshing" | "errored";
82
+ loading: boolean;
83
+ error: any;
84
+ latest: T | undefined;
130
85
  }
131
86
  type SuspenseContextType = {
132
- resources: Map<
133
- string,
134
- {
135
- loading: boolean;
136
- error: any;
137
- }
138
- >;
139
- completed: () => void;
87
+ resources: Map<string, {
88
+ loading: boolean;
89
+ error: any;
90
+ }>;
91
+ completed: () => void;
140
92
  };
141
93
  export type ResourceActions<T> = {
142
- mutate: Setter<T>;
143
- refetch: (info?: unknown) => void;
94
+ mutate: Setter<T>;
95
+ refetch: (info?: unknown) => void;
144
96
  };
145
97
  export type ResourceReturn<T> = [Resource<T>, ResourceActions<T>];
146
98
  export type ResourceSource<S> = S | false | null | undefined | (() => S | false | null | undefined);
147
99
  export type ResourceFetcher<S, T> = (k: S, info: ResourceFetcherInfo<T>) => T | Promise<T>;
148
100
  export type ResourceFetcherInfo<T> = {
149
- value: T | undefined;
150
- refetching?: unknown;
101
+ value: T | undefined;
102
+ refetching?: unknown;
151
103
  };
152
- export type ResourceOptions<T> = undefined extends T
153
- ? {
154
- initialValue?: T;
155
- name?: string;
156
- deferStream?: boolean;
157
- ssrLoadFrom?: "initial" | "server";
158
- storage?: () => Signal<T | undefined>;
159
- onHydrated?: <S, T>(k: S, info: ResourceFetcherInfo<T>) => void;
160
- }
161
- : {
162
- initialValue: T;
163
- name?: string;
164
- deferStream?: boolean;
165
- ssrLoadFrom?: "initial" | "server";
166
- storage?: (v?: T) => Signal<T | undefined>;
167
- onHydrated?: <S, T>(k: S, info: ResourceFetcherInfo<T>) => void;
168
- };
169
- export declare function createResource<T, S = true>(
170
- fetcher: ResourceFetcher<S, T>,
171
- options?: ResourceOptions<undefined>
172
- ): ResourceReturn<T | undefined>;
173
- export declare function createResource<T, S = true>(
174
- fetcher: ResourceFetcher<S, T>,
175
- options: ResourceOptions<T>
176
- ): ResourceReturn<T>;
177
- export declare function createResource<T, S>(
178
- source: ResourceSource<S>,
179
- fetcher: ResourceFetcher<S, T>,
180
- options?: ResourceOptions<undefined>
181
- ): ResourceReturn<T | undefined>;
182
- export declare function createResource<T, S>(
183
- source: ResourceSource<S>,
184
- fetcher: ResourceFetcher<S, T>,
185
- options: ResourceOptions<T>
186
- ): ResourceReturn<T>;
187
- export declare function lazy<T extends Component<any>>(
188
- fn: () => Promise<{
189
- default: T;
190
- }>
191
- ): T & {
192
- preload: () => Promise<{
104
+ export type ResourceOptions<T> = undefined extends T ? {
105
+ initialValue?: T;
106
+ name?: string;
107
+ deferStream?: boolean;
108
+ ssrLoadFrom?: "initial" | "server";
109
+ storage?: () => Signal<T | undefined>;
110
+ onHydrated?: <S, T>(k: S, info: ResourceFetcherInfo<T>) => void;
111
+ } : {
112
+ initialValue: T;
113
+ name?: string;
114
+ deferStream?: boolean;
115
+ ssrLoadFrom?: "initial" | "server";
116
+ storage?: (v?: T) => Signal<T | undefined>;
117
+ onHydrated?: <S, T>(k: S, info: ResourceFetcherInfo<T>) => void;
118
+ };
119
+ export declare function createResource<T, S = true>(fetcher: ResourceFetcher<S, T>, options?: ResourceOptions<undefined>): ResourceReturn<T | undefined>;
120
+ export declare function createResource<T, S = true>(fetcher: ResourceFetcher<S, T>, options: ResourceOptions<T>): ResourceReturn<T>;
121
+ export declare function createResource<T, S>(source: ResourceSource<S>, fetcher: ResourceFetcher<S, T>, options?: ResourceOptions<undefined>): ResourceReturn<T | undefined>;
122
+ export declare function createResource<T, S>(source: ResourceSource<S>, fetcher: ResourceFetcher<S, T>, options: ResourceOptions<T>): ResourceReturn<T>;
123
+ export declare function lazy<T extends Component<any>>(fn: () => Promise<{
193
124
  default: T;
194
- }>;
125
+ }>): T & {
126
+ preload: () => Promise<{
127
+ default: T;
128
+ }>;
195
129
  };
196
130
  export declare function enableScheduling(): void;
197
131
  export declare function enableHydration(): void;
198
132
  export declare function startTransition(fn: () => any): void;
199
133
  export declare function useTransition(): [() => boolean, (fn: () => any) => void];
200
134
  type HydrationContext = {
201
- id: string;
202
- count: number;
203
- serialize: (id: string, v: Promise<any> | any, deferStream?: boolean) => void;
204
- nextRoot: (v: any) => string;
205
- replace: (id: string, replacement: () => any) => void;
206
- block: (p: Promise<any>) => void;
207
- resources: Record<string, any>;
208
- suspense: Record<string, SuspenseContextType>;
209
- registerFragment: (v: string) => (v?: string, err?: any) => boolean;
210
- lazy: Record<string, Promise<any>>;
211
- async?: boolean;
212
- noHydrate: boolean;
135
+ id: string;
136
+ count: number;
137
+ serialize: (id: string, v: Promise<any> | any, deferStream?: boolean) => void;
138
+ nextRoot: (v: any) => string;
139
+ replace: (id: string, replacement: () => any) => void;
140
+ block: (p: Promise<any>) => void;
141
+ resources: Record<string, any>;
142
+ suspense: Record<string, SuspenseContextType>;
143
+ registerFragment: (v: string) => (v?: string, err?: any) => boolean;
144
+ lazy: Record<string, Promise<any>>;
145
+ async?: boolean;
146
+ noHydrate: boolean;
213
147
  };
214
148
  export declare function SuspenseList(props: {
215
- children: string;
216
- revealOrder: "forwards" | "backwards" | "together";
217
- tail?: "collapsed" | "hidden";
149
+ children: string;
150
+ revealOrder: "forwards" | "backwards" | "together";
151
+ tail?: "collapsed" | "hidden";
218
152
  }): string;
219
- export declare function Suspense(props: { fallback?: string; children: string }):
220
- | string
221
- | number
222
- | boolean
223
- | Node
224
- | JSX.ArrayElement
225
- | {
226
- t: string;
227
- }
228
- | null
229
- | undefined;
153
+ export declare function Suspense(props: {
154
+ fallback?: string;
155
+ children: string;
156
+ }): string | number | boolean | Node | JSX.ArrayElement | {
157
+ t: string;
158
+ } | null | undefined;
230
159
  export {};
@@ -2,6 +2,8 @@
2
2
 
3
3
  var solidJs = require('solid-js');
4
4
 
5
+ const memo = fn => solidJs.createMemo(() => fn());
6
+
5
7
  function createRenderer$1({
6
8
  createElement,
7
9
  createTextNode,
@@ -226,7 +228,7 @@ function createRenderer$1({
226
228
  },
227
229
  mergeProps: solidJs.mergeProps,
228
230
  effect: solidJs.createRenderEffect,
229
- memo: solidJs.createMemo,
231
+ memo,
230
232
  createComponent: solidJs.createComponent,
231
233
  use(fn, element, arg) {
232
234
  return solidJs.untrack(() => fn(element, arg));
@@ -1,11 +1,6 @@
1
- import {
2
- createRoot,
3
- createRenderEffect,
4
- mergeProps,
5
- createMemo,
6
- createComponent,
7
- untrack
8
- } from "solid-js";
1
+ import { createMemo, createRoot, createRenderEffect, mergeProps, createComponent, untrack } from 'solid-js';
2
+
3
+ const memo = fn => createMemo(() => fn());
9
4
 
10
5
  function createRenderer$1({
11
6
  createElement,
@@ -39,7 +34,7 @@ function createRenderer$1({
39
34
  current = cleanChildren(parent, current, marker, node);
40
35
  } else {
41
36
  if (current !== "" && typeof current === "string") {
42
- replaceText(getFirstChild(parent), (current = value));
37
+ replaceText(getFirstChild(parent), current = value);
43
38
  } else {
44
39
  cleanChildren(parent, current, marker, createTextNode(value));
45
40
  current = value;
@@ -57,14 +52,12 @@ function createRenderer$1({
57
52
  } else if (Array.isArray(value)) {
58
53
  const array = [];
59
54
  if (normalizeIncomingArray(array, value, unwrapArray)) {
60
- createRenderEffect(
61
- () => (current = insertExpression(parent, array, current, marker, true))
62
- );
55
+ createRenderEffect(() => current = insertExpression(parent, array, current, marker, true));
63
56
  return () => current;
64
57
  }
65
58
  if (array.length === 0) {
66
59
  const replacement = cleanChildren(parent, current, marker);
67
- if (multi) return (current = replacement);
60
+ if (multi) return current = replacement;
68
61
  } else {
69
62
  if (Array.isArray(current)) {
70
63
  if (current.length === 0) {
@@ -73,13 +66,13 @@ function createRenderer$1({
73
66
  } else if (current == null || current === "") {
74
67
  appendNodes(parent, array);
75
68
  } else {
76
- reconcileArrays(parent, (multi && current) || [getFirstChild(parent)], array);
69
+ reconcileArrays(parent, multi && current || [getFirstChild(parent)], array);
77
70
  }
78
71
  }
79
72
  current = array;
80
73
  } else {
81
74
  if (Array.isArray(current)) {
82
- if (multi) return (current = cleanChildren(parent, current, marker, value));
75
+ if (multi) return current = cleanChildren(parent, current, marker, value);
83
76
  cleanChildren(parent, current, null, value);
84
77
  } else if (current == null || current === "" || !getFirstChild(parent)) {
85
78
  insertNode(parent, value);
@@ -93,16 +86,14 @@ function createRenderer$1({
93
86
  for (let i = 0, len = array.length; i < len; i++) {
94
87
  let item = array[i],
95
88
  t;
96
- if (item == null || item === true || item === false);
97
- else if (Array.isArray(item)) {
89
+ if (item == null || item === true || item === false) ; else if (Array.isArray(item)) {
98
90
  dynamic = normalizeIncomingArray(normalized, item) || dynamic;
99
91
  } else if ((t = typeof item) === "string" || t === "number") {
100
92
  normalized.push(createTextNode(item));
101
93
  } else if (t === "function") {
102
94
  if (unwrap) {
103
95
  while (typeof item === "function") item = item();
104
- dynamic =
105
- normalizeIncomingArray(normalized, Array.isArray(item) ? item : [item]) || dynamic;
96
+ dynamic = normalizeIncomingArray(normalized, Array.isArray(item) ? item : [item]) || dynamic;
106
97
  } else {
107
98
  normalized.push(item);
108
99
  dynamic = true;
@@ -130,8 +121,7 @@ function createRenderer$1({
130
121
  bEnd--;
131
122
  }
132
123
  if (aEnd === aStart) {
133
- const node =
134
- bEnd < bLength ? (bStart ? getNextSibling(b[bStart - 1]) : b[bEnd - bStart]) : after;
124
+ const node = bEnd < bLength ? bStart ? getNextSibling(b[bStart - 1]) : b[bEnd - bStart] : after;
135
125
  while (bStart < bEnd) insertNode(parentNode, b[bStart++], node);
136
126
  } else if (bEnd === bStart) {
137
127
  while (aStart < aEnd) {
@@ -171,7 +161,7 @@ function createRenderer$1({
171
161
  function cleanChildren(parent, current, marker, replacement) {
172
162
  if (marker === undefined) {
173
163
  let removed;
174
- while ((removed = getFirstChild(parent))) removeNode(parent, removed);
164
+ while (removed = getFirstChild(parent)) removeNode(parent, removed);
175
165
  replacement && insertNode(parent, replacement);
176
166
  return "";
177
167
  }
@@ -182,9 +172,7 @@ function createRenderer$1({
182
172
  const el = current[i];
183
173
  if (node !== el) {
184
174
  const isParent = getParentNode(el) === parent;
185
- if (!inserted && !i)
186
- isParent ? replaceNode(parent, node, el) : insertNode(parent, node, marker);
187
- else isParent && removeNode(parent, el);
175
+ if (!inserted && !i) isParent ? replaceNode(parent, node, el) : insertNode(parent, node, marker);else isParent && removeNode(parent, el);
188
176
  } else inserted = true;
189
177
  }
190
178
  } else insertNode(parent, node, marker);
@@ -200,9 +188,7 @@ function createRenderer$1({
200
188
  function spreadExpression(node, props, prevProps = {}, skipChildren) {
201
189
  props || (props = {});
202
190
  if (!skipChildren) {
203
- createRenderEffect(
204
- () => (prevProps.children = insertExpression(node, props.children, prevProps.children))
205
- );
191
+ createRenderEffect(() => prevProps.children = insertExpression(node, props.children, prevProps.children));
206
192
  }
207
193
  createRenderEffect(() => props.ref && props.ref(node));
208
194
  createRenderEffect(() => {
@@ -240,7 +226,7 @@ function createRenderer$1({
240
226
  },
241
227
  mergeProps,
242
228
  effect: createRenderEffect,
243
- memo: createMemo,
229
+ memo,
244
230
  createComponent,
245
231
  use(fn, element, arg) {
246
232
  return untrack(() => fn(element, arg));
@@ -2,6 +2,8 @@
2
2
 
3
3
  var solidJs = require('solid-js');
4
4
 
5
+ const memo = fn => solidJs.createMemo(() => fn());
6
+
5
7
  function createRenderer$1({
6
8
  createElement,
7
9
  createTextNode,
@@ -226,7 +228,7 @@ function createRenderer$1({
226
228
  },
227
229
  mergeProps: solidJs.mergeProps,
228
230
  effect: solidJs.createRenderEffect,
229
- memo: solidJs.createMemo,
231
+ memo,
230
232
  createComponent: solidJs.createComponent,
231
233
  use(fn, element, arg) {
232
234
  return solidJs.untrack(() => fn(element, arg));
@@ -1,11 +1,6 @@
1
- import {
2
- createRoot,
3
- createRenderEffect,
4
- mergeProps,
5
- createMemo,
6
- createComponent,
7
- untrack
8
- } from "solid-js";
1
+ import { createMemo, createRoot, createRenderEffect, mergeProps, createComponent, untrack } from 'solid-js';
2
+
3
+ const memo = fn => createMemo(() => fn());
9
4
 
10
5
  function createRenderer$1({
11
6
  createElement,
@@ -39,7 +34,7 @@ function createRenderer$1({
39
34
  current = cleanChildren(parent, current, marker, node);
40
35
  } else {
41
36
  if (current !== "" && typeof current === "string") {
42
- replaceText(getFirstChild(parent), (current = value));
37
+ replaceText(getFirstChild(parent), current = value);
43
38
  } else {
44
39
  cleanChildren(parent, current, marker, createTextNode(value));
45
40
  current = value;
@@ -57,14 +52,12 @@ function createRenderer$1({
57
52
  } else if (Array.isArray(value)) {
58
53
  const array = [];
59
54
  if (normalizeIncomingArray(array, value, unwrapArray)) {
60
- createRenderEffect(
61
- () => (current = insertExpression(parent, array, current, marker, true))
62
- );
55
+ createRenderEffect(() => current = insertExpression(parent, array, current, marker, true));
63
56
  return () => current;
64
57
  }
65
58
  if (array.length === 0) {
66
59
  const replacement = cleanChildren(parent, current, marker);
67
- if (multi) return (current = replacement);
60
+ if (multi) return current = replacement;
68
61
  } else {
69
62
  if (Array.isArray(current)) {
70
63
  if (current.length === 0) {
@@ -73,13 +66,13 @@ function createRenderer$1({
73
66
  } else if (current == null || current === "") {
74
67
  appendNodes(parent, array);
75
68
  } else {
76
- reconcileArrays(parent, (multi && current) || [getFirstChild(parent)], array);
69
+ reconcileArrays(parent, multi && current || [getFirstChild(parent)], array);
77
70
  }
78
71
  }
79
72
  current = array;
80
73
  } else {
81
74
  if (Array.isArray(current)) {
82
- if (multi) return (current = cleanChildren(parent, current, marker, value));
75
+ if (multi) return current = cleanChildren(parent, current, marker, value);
83
76
  cleanChildren(parent, current, null, value);
84
77
  } else if (current == null || current === "" || !getFirstChild(parent)) {
85
78
  insertNode(parent, value);
@@ -93,16 +86,14 @@ function createRenderer$1({
93
86
  for (let i = 0, len = array.length; i < len; i++) {
94
87
  let item = array[i],
95
88
  t;
96
- if (item == null || item === true || item === false);
97
- else if (Array.isArray(item)) {
89
+ if (item == null || item === true || item === false) ; else if (Array.isArray(item)) {
98
90
  dynamic = normalizeIncomingArray(normalized, item) || dynamic;
99
91
  } else if ((t = typeof item) === "string" || t === "number") {
100
92
  normalized.push(createTextNode(item));
101
93
  } else if (t === "function") {
102
94
  if (unwrap) {
103
95
  while (typeof item === "function") item = item();
104
- dynamic =
105
- normalizeIncomingArray(normalized, Array.isArray(item) ? item : [item]) || dynamic;
96
+ dynamic = normalizeIncomingArray(normalized, Array.isArray(item) ? item : [item]) || dynamic;
106
97
  } else {
107
98
  normalized.push(item);
108
99
  dynamic = true;
@@ -130,8 +121,7 @@ function createRenderer$1({
130
121
  bEnd--;
131
122
  }
132
123
  if (aEnd === aStart) {
133
- const node =
134
- bEnd < bLength ? (bStart ? getNextSibling(b[bStart - 1]) : b[bEnd - bStart]) : after;
124
+ const node = bEnd < bLength ? bStart ? getNextSibling(b[bStart - 1]) : b[bEnd - bStart] : after;
135
125
  while (bStart < bEnd) insertNode(parentNode, b[bStart++], node);
136
126
  } else if (bEnd === bStart) {
137
127
  while (aStart < aEnd) {
@@ -171,7 +161,7 @@ function createRenderer$1({
171
161
  function cleanChildren(parent, current, marker, replacement) {
172
162
  if (marker === undefined) {
173
163
  let removed;
174
- while ((removed = getFirstChild(parent))) removeNode(parent, removed);
164
+ while (removed = getFirstChild(parent)) removeNode(parent, removed);
175
165
  replacement && insertNode(parent, replacement);
176
166
  return "";
177
167
  }
@@ -182,9 +172,7 @@ function createRenderer$1({
182
172
  const el = current[i];
183
173
  if (node !== el) {
184
174
  const isParent = getParentNode(el) === parent;
185
- if (!inserted && !i)
186
- isParent ? replaceNode(parent, node, el) : insertNode(parent, node, marker);
187
- else isParent && removeNode(parent, el);
175
+ if (!inserted && !i) isParent ? replaceNode(parent, node, el) : insertNode(parent, node, marker);else isParent && removeNode(parent, el);
188
176
  } else inserted = true;
189
177
  }
190
178
  } else insertNode(parent, node, marker);
@@ -200,9 +188,7 @@ function createRenderer$1({
200
188
  function spreadExpression(node, props, prevProps = {}, skipChildren) {
201
189
  props || (props = {});
202
190
  if (!skipChildren) {
203
- createRenderEffect(
204
- () => (prevProps.children = insertExpression(node, props.children, prevProps.children))
205
- );
191
+ createRenderEffect(() => prevProps.children = insertExpression(node, props.children, prevProps.children));
206
192
  }
207
193
  createRenderEffect(() => props.ref && props.ref(node));
208
194
  createRenderEffect(() => {
@@ -240,7 +226,7 @@ function createRenderer$1({
240
226
  },
241
227
  mergeProps,
242
228
  effect: createRenderEffect,
243
- memo: createMemo,
229
+ memo,
244
230
  createComponent,
245
231
  use(fn, element, arg) {
246
232
  return untrack(() => fn(element, arg));
@@ -1,4 +1,2 @@
1
1
  import type { RendererOptions, Renderer } from "./universal.js";
2
- export declare function createRenderer<NodeType>(
3
- options: RendererOptions<NodeType>
4
- ): Renderer<NodeType>;
2
+ export declare function createRenderer<NodeType>(options: RendererOptions<NodeType>): Renderer<NodeType>;
@@ -27,3 +27,4 @@ export interface Renderer<NodeType> {
27
27
  }
28
28
 
29
29
  export function createRenderer<NodeType>(options: RendererOptions<NodeType>): Renderer<NodeType>;
30
+