solid-js 1.9.2 → 1.9.3

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 (46) hide show
  1. package/dist/dev.js +559 -318
  2. package/dist/server.js +168 -74
  3. package/dist/solid.js +486 -276
  4. package/h/dist/h.js +40 -9
  5. package/h/jsx-runtime/dist/jsx.js +1 -1
  6. package/h/jsx-runtime/types/index.d.ts +11 -8
  7. package/h/jsx-runtime/types/jsx.d.ts +93 -91
  8. package/h/types/hyperscript.d.ts +11 -11
  9. package/html/dist/html.js +219 -94
  10. package/html/types/lit.d.ts +52 -33
  11. package/package.json +1 -1
  12. package/store/dist/dev.js +123 -43
  13. package/store/dist/server.js +20 -8
  14. package/store/dist/store.js +114 -40
  15. package/store/types/index.d.ts +21 -7
  16. package/store/types/modifiers.d.ts +6 -3
  17. package/store/types/mutable.d.ts +5 -2
  18. package/store/types/server.d.ts +25 -5
  19. package/store/types/store.d.ts +218 -61
  20. package/types/index.d.ts +75 -10
  21. package/types/jsx.d.ts +143 -157
  22. package/types/reactive/array.d.ts +12 -4
  23. package/types/reactive/observable.d.ts +25 -17
  24. package/types/reactive/scheduler.d.ts +9 -6
  25. package/types/reactive/signal.d.ts +233 -142
  26. package/types/render/Suspense.d.ts +5 -5
  27. package/types/render/component.d.ts +71 -35
  28. package/types/render/flow.d.ts +43 -31
  29. package/types/render/hydration.d.ts +15 -15
  30. package/types/server/index.d.ts +57 -2
  31. package/types/server/reactive.d.ts +73 -42
  32. package/types/server/rendering.d.ts +169 -98
  33. package/universal/dist/dev.js +28 -12
  34. package/universal/dist/universal.js +28 -12
  35. package/universal/types/index.d.ts +3 -1
  36. package/universal/types/universal.d.ts +0 -1
  37. package/web/dist/dev.js +639 -89
  38. package/web/dist/server.cjs +13 -10
  39. package/web/dist/server.js +653 -118
  40. package/web/dist/web.js +627 -87
  41. package/web/storage/dist/storage.js +3 -3
  42. package/web/types/client.d.ts +1 -1
  43. package/web/types/core.d.ts +10 -1
  44. package/web/types/index.d.ts +27 -10
  45. package/web/types/server-mock.d.ts +47 -32
  46. package/web/types/server.d.ts +1 -1
@@ -2,158 +2,229 @@ 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> ? P : T extends keyof JSX.IntrinsicElements ? JSX.IntrinsicElements[T] : Record<string, unknown>;
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>;
19
23
  type SharedConfig = {
20
- context?: HydrationContext;
21
- getContextId(): string;
22
- getNextContextId(): string;
24
+ context?: HydrationContext;
25
+ getContextId(): string;
26
+ getNextContextId(): string;
23
27
  };
24
28
  export declare const sharedConfig: SharedConfig;
25
29
  export declare function createUniqueId(): string;
26
30
  export declare function createComponent<T>(Comp: (props: T) => JSX.Element, props: T): JSX.Element;
27
31
  export declare function mergeProps<T, U>(source: T, source1: U): T & U;
28
32
  export declare function mergeProps<T, U, V>(source: T, source1: U, source2: V): T & U & V;
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>
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>
41
83
  ];
42
84
  export declare function For<T>(props: {
43
- each: T[];
44
- fallback?: string;
45
- children: (item: T, index: () => number) => string;
85
+ each: T[];
86
+ fallback?: string;
87
+ children: (item: T, index: () => number) => string;
46
88
  }): string | any[] | undefined;
47
89
  export declare function Index<T>(props: {
48
- each: T[];
49
- fallback?: string;
50
- children: (item: () => T, index: number) => string;
90
+ each: T[];
91
+ fallback?: string;
92
+ children: (item: () => T, index: number) => string;
51
93
  }): string | any[] | undefined;
52
94
  /**
53
95
  * Conditionally render its children or an optional fallback component
54
96
  * @description https://docs.solidjs.com/reference/components/show
55
97
  */
56
98
  export declare function Show<T>(props: {
57
- when: T | undefined | null | false;
58
- keyed?: boolean;
59
- fallback?: string;
60
- children: string | ((item: NonNullable<T> | Accessor<NonNullable<T>>) => string);
99
+ when: T | undefined | null | false;
100
+ keyed?: boolean;
101
+ fallback?: string;
102
+ children: string | ((item: NonNullable<T> | Accessor<NonNullable<T>>) => string);
61
103
  }): string;
62
104
  export declare function Switch(props: {
63
- fallback?: string;
64
- children: MatchProps<unknown> | MatchProps<unknown>[];
105
+ fallback?: string;
106
+ children: MatchProps<unknown> | MatchProps<unknown>[];
65
107
  }): string;
66
108
  type MatchProps<T> = {
67
- when: T | false;
68
- keyed?: boolean;
69
- children: string | ((item: NonNullable<T> | Accessor<NonNullable<T>>) => string);
109
+ when: T | false;
110
+ keyed?: boolean;
111
+ children: string | ((item: NonNullable<T> | Accessor<NonNullable<T>>) => string);
70
112
  };
71
113
  export declare function Match<T>(props: MatchProps<T>): MatchProps<T>;
72
114
  export declare function resetErrorBoundaries(): void;
73
115
  export declare function ErrorBoundary(props: {
74
- fallback: string | ((err: any, reset: () => void) => string);
75
- children: string;
76
- }): string | ((err: any, reset: () => void) => string) | {
77
- t: string;
78
- };
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
+ };
79
124
  export interface Resource<T> {
80
- (): T | undefined;
81
- state: "unresolved" | "pending" | "ready" | "refreshing" | "errored";
82
- loading: boolean;
83
- error: any;
84
- latest: T | undefined;
125
+ (): T | undefined;
126
+ state: "unresolved" | "pending" | "ready" | "refreshing" | "errored";
127
+ loading: boolean;
128
+ error: any;
129
+ latest: T | undefined;
85
130
  }
86
131
  type SuspenseContextType = {
87
- resources: Map<string, {
88
- loading: boolean;
89
- error: any;
90
- }>;
91
- completed: () => void;
132
+ resources: Map<
133
+ string,
134
+ {
135
+ loading: boolean;
136
+ error: any;
137
+ }
138
+ >;
139
+ completed: () => void;
92
140
  };
93
141
  export type ResourceActions<T> = {
94
- mutate: Setter<T>;
95
- refetch: (info?: unknown) => void;
142
+ mutate: Setter<T>;
143
+ refetch: (info?: unknown) => void;
96
144
  };
97
145
  export type ResourceReturn<T> = [Resource<T>, ResourceActions<T>];
98
146
  export type ResourceSource<S> = S | false | null | undefined | (() => S | false | null | undefined);
99
147
  export type ResourceFetcher<S, T> = (k: S, info: ResourceFetcherInfo<T>) => T | Promise<T>;
100
148
  export type ResourceFetcherInfo<T> = {
101
- value: T | undefined;
102
- refetching?: unknown;
103
- };
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;
149
+ value: T | undefined;
150
+ refetching?: unknown;
118
151
  };
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<{
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<{
124
193
  default: T;
125
- }>): T & {
126
- preload: () => Promise<{
127
- default: T;
128
- }>;
194
+ }>;
129
195
  };
130
196
  export declare function enableScheduling(): void;
131
197
  export declare function enableHydration(): void;
132
198
  export declare function startTransition(fn: () => any): void;
133
199
  export declare function useTransition(): [() => boolean, (fn: () => any) => void];
134
200
  type HydrationContext = {
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;
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;
147
213
  };
148
214
  export declare function SuspenseList(props: {
149
- children: string;
150
- revealOrder: "forwards" | "backwards" | "together";
151
- tail?: "collapsed" | "hidden";
215
+ children: string;
216
+ revealOrder: "forwards" | "backwards" | "together";
217
+ tail?: "collapsed" | "hidden";
152
218
  }): string;
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;
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;
159
230
  export {};
@@ -1,4 +1,11 @@
1
- import { createRoot, createRenderEffect, mergeProps, createMemo, createComponent, untrack } from 'solid-js';
1
+ import {
2
+ createRoot,
3
+ createRenderEffect,
4
+ mergeProps,
5
+ createMemo,
6
+ createComponent,
7
+ untrack
8
+ } from "solid-js";
2
9
 
3
10
  function createRenderer$1({
4
11
  createElement,
@@ -32,7 +39,7 @@ function createRenderer$1({
32
39
  current = cleanChildren(parent, current, marker, node);
33
40
  } else {
34
41
  if (current !== "" && typeof current === "string") {
35
- replaceText(getFirstChild(parent), current = value);
42
+ replaceText(getFirstChild(parent), (current = value));
36
43
  } else {
37
44
  cleanChildren(parent, current, marker, createTextNode(value));
38
45
  current = value;
@@ -50,12 +57,14 @@ function createRenderer$1({
50
57
  } else if (Array.isArray(value)) {
51
58
  const array = [];
52
59
  if (normalizeIncomingArray(array, value, unwrapArray)) {
53
- createRenderEffect(() => current = insertExpression(parent, array, current, marker, true));
60
+ createRenderEffect(
61
+ () => (current = insertExpression(parent, array, current, marker, true))
62
+ );
54
63
  return () => current;
55
64
  }
56
65
  if (array.length === 0) {
57
66
  const replacement = cleanChildren(parent, current, marker);
58
- if (multi) return current = replacement;
67
+ if (multi) return (current = replacement);
59
68
  } else {
60
69
  if (Array.isArray(current)) {
61
70
  if (current.length === 0) {
@@ -64,13 +73,13 @@ function createRenderer$1({
64
73
  } else if (current == null || current === "") {
65
74
  appendNodes(parent, array);
66
75
  } else {
67
- reconcileArrays(parent, multi && current || [getFirstChild(parent)], array);
76
+ reconcileArrays(parent, (multi && current) || [getFirstChild(parent)], array);
68
77
  }
69
78
  }
70
79
  current = array;
71
80
  } else {
72
81
  if (Array.isArray(current)) {
73
- if (multi) return current = cleanChildren(parent, current, marker, value);
82
+ if (multi) return (current = cleanChildren(parent, current, marker, value));
74
83
  cleanChildren(parent, current, null, value);
75
84
  } else if (current == null || current === "" || !getFirstChild(parent)) {
76
85
  insertNode(parent, value);
@@ -84,14 +93,16 @@ function createRenderer$1({
84
93
  for (let i = 0, len = array.length; i < len; i++) {
85
94
  let item = array[i],
86
95
  t;
87
- if (item == null || item === true || item === false) ; else if (Array.isArray(item)) {
96
+ if (item == null || item === true || item === false);
97
+ else if (Array.isArray(item)) {
88
98
  dynamic = normalizeIncomingArray(normalized, item) || dynamic;
89
99
  } else if ((t = typeof item) === "string" || t === "number") {
90
100
  normalized.push(createTextNode(item));
91
101
  } else if (t === "function") {
92
102
  if (unwrap) {
93
103
  while (typeof item === "function") item = item();
94
- dynamic = normalizeIncomingArray(normalized, Array.isArray(item) ? item : [item]) || dynamic;
104
+ dynamic =
105
+ normalizeIncomingArray(normalized, Array.isArray(item) ? item : [item]) || dynamic;
95
106
  } else {
96
107
  normalized.push(item);
97
108
  dynamic = true;
@@ -119,7 +130,8 @@ function createRenderer$1({
119
130
  bEnd--;
120
131
  }
121
132
  if (aEnd === aStart) {
122
- const node = bEnd < bLength ? bStart ? getNextSibling(b[bStart - 1]) : b[bEnd - bStart] : after;
133
+ const node =
134
+ bEnd < bLength ? (bStart ? getNextSibling(b[bStart - 1]) : b[bEnd - bStart]) : after;
123
135
  while (bStart < bEnd) insertNode(parentNode, b[bStart++], node);
124
136
  } else if (bEnd === bStart) {
125
137
  while (aStart < aEnd) {
@@ -159,7 +171,7 @@ function createRenderer$1({
159
171
  function cleanChildren(parent, current, marker, replacement) {
160
172
  if (marker === undefined) {
161
173
  let removed;
162
- while (removed = getFirstChild(parent)) removeNode(parent, removed);
174
+ while ((removed = getFirstChild(parent))) removeNode(parent, removed);
163
175
  replacement && insertNode(parent, replacement);
164
176
  return "";
165
177
  }
@@ -170,7 +182,9 @@ function createRenderer$1({
170
182
  const el = current[i];
171
183
  if (node !== el) {
172
184
  const isParent = getParentNode(el) === parent;
173
- if (!inserted && !i) isParent ? replaceNode(parent, node, el) : insertNode(parent, node, marker);else isParent && removeNode(parent, el);
185
+ if (!inserted && !i)
186
+ isParent ? replaceNode(parent, node, el) : insertNode(parent, node, marker);
187
+ else isParent && removeNode(parent, el);
174
188
  } else inserted = true;
175
189
  }
176
190
  } else insertNode(parent, node, marker);
@@ -186,7 +200,9 @@ function createRenderer$1({
186
200
  function spreadExpression(node, props, prevProps = {}, skipChildren) {
187
201
  props || (props = {});
188
202
  if (!skipChildren) {
189
- createRenderEffect(() => prevProps.children = insertExpression(node, props.children, prevProps.children));
203
+ createRenderEffect(
204
+ () => (prevProps.children = insertExpression(node, props.children, prevProps.children))
205
+ );
190
206
  }
191
207
  createRenderEffect(() => props.ref && props.ref(node));
192
208
  createRenderEffect(() => {
@@ -1,4 +1,11 @@
1
- import { createRoot, createRenderEffect, mergeProps, createMemo, createComponent, untrack } from 'solid-js';
1
+ import {
2
+ createRoot,
3
+ createRenderEffect,
4
+ mergeProps,
5
+ createMemo,
6
+ createComponent,
7
+ untrack
8
+ } from "solid-js";
2
9
 
3
10
  function createRenderer$1({
4
11
  createElement,
@@ -32,7 +39,7 @@ function createRenderer$1({
32
39
  current = cleanChildren(parent, current, marker, node);
33
40
  } else {
34
41
  if (current !== "" && typeof current === "string") {
35
- replaceText(getFirstChild(parent), current = value);
42
+ replaceText(getFirstChild(parent), (current = value));
36
43
  } else {
37
44
  cleanChildren(parent, current, marker, createTextNode(value));
38
45
  current = value;
@@ -50,12 +57,14 @@ function createRenderer$1({
50
57
  } else if (Array.isArray(value)) {
51
58
  const array = [];
52
59
  if (normalizeIncomingArray(array, value, unwrapArray)) {
53
- createRenderEffect(() => current = insertExpression(parent, array, current, marker, true));
60
+ createRenderEffect(
61
+ () => (current = insertExpression(parent, array, current, marker, true))
62
+ );
54
63
  return () => current;
55
64
  }
56
65
  if (array.length === 0) {
57
66
  const replacement = cleanChildren(parent, current, marker);
58
- if (multi) return current = replacement;
67
+ if (multi) return (current = replacement);
59
68
  } else {
60
69
  if (Array.isArray(current)) {
61
70
  if (current.length === 0) {
@@ -64,13 +73,13 @@ function createRenderer$1({
64
73
  } else if (current == null || current === "") {
65
74
  appendNodes(parent, array);
66
75
  } else {
67
- reconcileArrays(parent, multi && current || [getFirstChild(parent)], array);
76
+ reconcileArrays(parent, (multi && current) || [getFirstChild(parent)], array);
68
77
  }
69
78
  }
70
79
  current = array;
71
80
  } else {
72
81
  if (Array.isArray(current)) {
73
- if (multi) return current = cleanChildren(parent, current, marker, value);
82
+ if (multi) return (current = cleanChildren(parent, current, marker, value));
74
83
  cleanChildren(parent, current, null, value);
75
84
  } else if (current == null || current === "" || !getFirstChild(parent)) {
76
85
  insertNode(parent, value);
@@ -84,14 +93,16 @@ function createRenderer$1({
84
93
  for (let i = 0, len = array.length; i < len; i++) {
85
94
  let item = array[i],
86
95
  t;
87
- if (item == null || item === true || item === false) ; else if (Array.isArray(item)) {
96
+ if (item == null || item === true || item === false);
97
+ else if (Array.isArray(item)) {
88
98
  dynamic = normalizeIncomingArray(normalized, item) || dynamic;
89
99
  } else if ((t = typeof item) === "string" || t === "number") {
90
100
  normalized.push(createTextNode(item));
91
101
  } else if (t === "function") {
92
102
  if (unwrap) {
93
103
  while (typeof item === "function") item = item();
94
- dynamic = normalizeIncomingArray(normalized, Array.isArray(item) ? item : [item]) || dynamic;
104
+ dynamic =
105
+ normalizeIncomingArray(normalized, Array.isArray(item) ? item : [item]) || dynamic;
95
106
  } else {
96
107
  normalized.push(item);
97
108
  dynamic = true;
@@ -119,7 +130,8 @@ function createRenderer$1({
119
130
  bEnd--;
120
131
  }
121
132
  if (aEnd === aStart) {
122
- const node = bEnd < bLength ? bStart ? getNextSibling(b[bStart - 1]) : b[bEnd - bStart] : after;
133
+ const node =
134
+ bEnd < bLength ? (bStart ? getNextSibling(b[bStart - 1]) : b[bEnd - bStart]) : after;
123
135
  while (bStart < bEnd) insertNode(parentNode, b[bStart++], node);
124
136
  } else if (bEnd === bStart) {
125
137
  while (aStart < aEnd) {
@@ -159,7 +171,7 @@ function createRenderer$1({
159
171
  function cleanChildren(parent, current, marker, replacement) {
160
172
  if (marker === undefined) {
161
173
  let removed;
162
- while (removed = getFirstChild(parent)) removeNode(parent, removed);
174
+ while ((removed = getFirstChild(parent))) removeNode(parent, removed);
163
175
  replacement && insertNode(parent, replacement);
164
176
  return "";
165
177
  }
@@ -170,7 +182,9 @@ function createRenderer$1({
170
182
  const el = current[i];
171
183
  if (node !== el) {
172
184
  const isParent = getParentNode(el) === parent;
173
- if (!inserted && !i) isParent ? replaceNode(parent, node, el) : insertNode(parent, node, marker);else isParent && removeNode(parent, el);
185
+ if (!inserted && !i)
186
+ isParent ? replaceNode(parent, node, el) : insertNode(parent, node, marker);
187
+ else isParent && removeNode(parent, el);
174
188
  } else inserted = true;
175
189
  }
176
190
  } else insertNode(parent, node, marker);
@@ -186,7 +200,9 @@ function createRenderer$1({
186
200
  function spreadExpression(node, props, prevProps = {}, skipChildren) {
187
201
  props || (props = {});
188
202
  if (!skipChildren) {
189
- createRenderEffect(() => prevProps.children = insertExpression(node, props.children, prevProps.children));
203
+ createRenderEffect(
204
+ () => (prevProps.children = insertExpression(node, props.children, prevProps.children))
205
+ );
190
206
  }
191
207
  createRenderEffect(() => props.ref && props.ref(node));
192
208
  createRenderEffect(() => {
@@ -1,2 +1,4 @@
1
1
  import type { RendererOptions, Renderer } from "./universal.js";
2
- export declare function createRenderer<NodeType>(options: RendererOptions<NodeType>): Renderer<NodeType>;
2
+ export declare function createRenderer<NodeType>(
3
+ options: RendererOptions<NodeType>
4
+ ): Renderer<NodeType>;
@@ -27,4 +27,3 @@ export interface Renderer<NodeType> {
27
27
  }
28
28
 
29
29
  export function createRenderer<NodeType>(options: RendererOptions<NodeType>): Renderer<NodeType>;
30
-