solid-js 1.3.0 → 1.3.1
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.
- package/package.json +5 -5
- package/store/dist/dev.cjs +3 -5
- package/store/dist/dev.js +3 -5
- package/store/dist/store.cjs +2 -4
- package/store/dist/store.js +2 -4
- package/store/types/index.d.ts +1 -1
- package/store/types/modifiers.d.ts +3 -3
- package/store/types/mutable.d.ts +3 -3
- package/store/types/server.d.ts +3 -38
- package/store/types/store.d.ts +27 -55
- package/web/dist/dev.cjs +1 -1
- package/web/dist/dev.js +1 -1
- package/web/dist/server.cjs +1 -1
- package/web/dist/server.js +1 -1
- package/web/dist/web.cjs +1 -1
- package/web/dist/web.js +1 -1
- package/web/types/client.d.ts +1 -1
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "solid-js",
|
|
3
3
|
"description": "A declarative JavaScript library for building user interfaces.",
|
|
4
|
-
"version": "1.3.
|
|
4
|
+
"version": "1.3.1",
|
|
5
5
|
"author": "Ryan Carniato",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"homepage": "https://solidjs.com",
|
|
@@ -124,9 +124,9 @@
|
|
|
124
124
|
"build": "npm-run-all -cnl build:*",
|
|
125
125
|
"build:link": "symlink-dir . node_modules/solid-js",
|
|
126
126
|
"build:js": "ncp ../../node_modules/dom-expressions/src/jsx.d.ts ./src/jsx.d.ts && rollup -c",
|
|
127
|
-
"build:types": "tsc",
|
|
128
|
-
"build:types-store": "tsc --project ./store/tsconfig.json && tsconfig-replace-paths --project ./store/tsconfig.types.json",
|
|
129
|
-
"build:types-web": "tsc --project ./web/tsconfig.json && tsconfig-replace-paths --project ./web/tsconfig.types.json",
|
|
127
|
+
"build:types": "tsc --project ./tsconfig.build.json",
|
|
128
|
+
"build:types-store": "tsc --project ./store/tsconfig.build.json && tsconfig-replace-paths --project ./store/tsconfig.types.json",
|
|
129
|
+
"build:types-web": "tsc --project ./web/tsconfig.build.json && tsconfig-replace-paths --project ./web/tsconfig.types.json",
|
|
130
130
|
"build:types-html": "tsc --project ./html/tsconfig.json",
|
|
131
131
|
"build:types-h": "tsc --project ./h/tsconfig.json",
|
|
132
132
|
"build:types-universal": "tsc --project ./universal/tsconfig.json",
|
|
@@ -144,5 +144,5 @@
|
|
|
144
144
|
"compiler",
|
|
145
145
|
"performance"
|
|
146
146
|
],
|
|
147
|
-
"gitHead": "
|
|
147
|
+
"gitHead": "9198a44115b8450b0ae61355008a490c4e25007f"
|
|
148
148
|
}
|
package/store/dist/dev.cjs
CHANGED
|
@@ -103,7 +103,7 @@ const proxyTraps$1 = {
|
|
|
103
103
|
node = nodes[property] || (nodes[property] = createDataNode());
|
|
104
104
|
node();
|
|
105
105
|
}
|
|
106
|
-
return wrappable ? wrap$1(value, target[$NAME] && `${target[$NAME]}:${property}`) : value;
|
|
106
|
+
return wrappable ? wrap$1(value, target[$NAME] && `${target[$NAME]}:${property.toString()}`) : value;
|
|
107
107
|
},
|
|
108
108
|
set() {
|
|
109
109
|
console.warn("Cannot mutate a Store directly");
|
|
@@ -344,8 +344,7 @@ function reconcile(value, options = {}) {
|
|
|
344
344
|
key = "id"
|
|
345
345
|
} = options,
|
|
346
346
|
v = unwrap(value);
|
|
347
|
-
return
|
|
348
|
-
const state = s;
|
|
347
|
+
return state => {
|
|
349
348
|
if (!isWrappable(state) || !isWrappable(v)) return v;
|
|
350
349
|
applyState(v, {
|
|
351
350
|
state
|
|
@@ -369,8 +368,7 @@ const setterTraps = {
|
|
|
369
368
|
}
|
|
370
369
|
};
|
|
371
370
|
function produce(fn) {
|
|
372
|
-
return
|
|
373
|
-
const state = s;
|
|
371
|
+
return state => {
|
|
374
372
|
if (isWrappable(state)) fn(new Proxy(state, setterTraps));
|
|
375
373
|
return state;
|
|
376
374
|
};
|
package/store/dist/dev.js
CHANGED
|
@@ -99,7 +99,7 @@ const proxyTraps$1 = {
|
|
|
99
99
|
node = nodes[property] || (nodes[property] = createDataNode());
|
|
100
100
|
node();
|
|
101
101
|
}
|
|
102
|
-
return wrappable ? wrap$1(value, target[$NAME] && `${target[$NAME]}:${property}`) : value;
|
|
102
|
+
return wrappable ? wrap$1(value, target[$NAME] && `${target[$NAME]}:${property.toString()}`) : value;
|
|
103
103
|
},
|
|
104
104
|
set() {
|
|
105
105
|
console.warn("Cannot mutate a Store directly");
|
|
@@ -340,8 +340,7 @@ function reconcile(value, options = {}) {
|
|
|
340
340
|
key = "id"
|
|
341
341
|
} = options,
|
|
342
342
|
v = unwrap(value);
|
|
343
|
-
return
|
|
344
|
-
const state = s;
|
|
343
|
+
return state => {
|
|
345
344
|
if (!isWrappable(state) || !isWrappable(v)) return v;
|
|
346
345
|
applyState(v, {
|
|
347
346
|
state
|
|
@@ -365,8 +364,7 @@ const setterTraps = {
|
|
|
365
364
|
}
|
|
366
365
|
};
|
|
367
366
|
function produce(fn) {
|
|
368
|
-
return
|
|
369
|
-
const state = s;
|
|
367
|
+
return state => {
|
|
370
368
|
if (isWrappable(state)) fn(new Proxy(state, setterTraps));
|
|
371
369
|
return state;
|
|
372
370
|
};
|
package/store/dist/store.cjs
CHANGED
|
@@ -324,8 +324,7 @@ function reconcile(value, options = {}) {
|
|
|
324
324
|
key = "id"
|
|
325
325
|
} = options,
|
|
326
326
|
v = unwrap(value);
|
|
327
|
-
return
|
|
328
|
-
const state = s;
|
|
327
|
+
return state => {
|
|
329
328
|
if (!isWrappable(state) || !isWrappable(v)) return v;
|
|
330
329
|
applyState(v, {
|
|
331
330
|
state
|
|
@@ -349,8 +348,7 @@ const setterTraps = {
|
|
|
349
348
|
}
|
|
350
349
|
};
|
|
351
350
|
function produce(fn) {
|
|
352
|
-
return
|
|
353
|
-
const state = s;
|
|
351
|
+
return state => {
|
|
354
352
|
if (isWrappable(state)) fn(new Proxy(state, setterTraps));
|
|
355
353
|
return state;
|
|
356
354
|
};
|
package/store/dist/store.js
CHANGED
|
@@ -320,8 +320,7 @@ function reconcile(value, options = {}) {
|
|
|
320
320
|
key = "id"
|
|
321
321
|
} = options,
|
|
322
322
|
v = unwrap(value);
|
|
323
|
-
return
|
|
324
|
-
const state = s;
|
|
323
|
+
return state => {
|
|
325
324
|
if (!isWrappable(state) || !isWrappable(v)) return v;
|
|
326
325
|
applyState(v, {
|
|
327
326
|
state
|
|
@@ -345,8 +344,7 @@ const setterTraps = {
|
|
|
345
344
|
}
|
|
346
345
|
};
|
|
347
346
|
function produce(fn) {
|
|
348
|
-
return
|
|
349
|
-
const state = s;
|
|
347
|
+
return state => {
|
|
350
348
|
if (isWrappable(state)) fn(new Proxy(state, setterTraps));
|
|
351
349
|
return state;
|
|
352
350
|
};
|
package/store/types/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { createStore, unwrap, $RAW } from "./store";
|
|
2
|
-
export type { Store, SetStoreFunction, NotWrappable, StoreNode, StoreSetter, StorePathRange, ArrayFilterFn, Part, Next,
|
|
2
|
+
export type { Store, SetStoreFunction, NotWrappable, StoreNode, StoreSetter, StorePathRange, ArrayFilterFn, Part, Next, WrappableNext, DeepReadonly } from "./store";
|
|
3
3
|
export * from "./mutable";
|
|
4
4
|
export * from "./modifiers";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Store
|
|
1
|
+
import { Store } from "./store";
|
|
2
2
|
export declare type ReconcileOptions = {
|
|
3
3
|
key?: string | null;
|
|
4
4
|
merge?: boolean;
|
|
5
5
|
};
|
|
6
|
-
export declare function reconcile<T>(value: T
|
|
7
|
-
export declare function produce<T>(fn: (state: T) => void): (state:
|
|
6
|
+
export declare function reconcile<T>(value: T, options?: ReconcileOptions): (state: unknown) => Store<T>;
|
|
7
|
+
export declare function produce<T>(fn: (state: T) => void): (state: Store<T>) => Store<T>;
|
package/store/types/mutable.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { StoreNode
|
|
2
|
-
export declare function createMutable<T extends StoreNode>(state: T
|
|
1
|
+
import { StoreNode } from "./store";
|
|
2
|
+
export declare function createMutable<T extends StoreNode>(state: T, options?: {
|
|
3
3
|
name?: string;
|
|
4
|
-
}):
|
|
4
|
+
}): T;
|
package/store/types/server.d.ts
CHANGED
|
@@ -1,50 +1,15 @@
|
|
|
1
|
+
import { SetStoreFunction, Store } from "store";
|
|
1
2
|
export declare const $RAW: unique symbol;
|
|
2
|
-
declare type AddSymbolToPrimitive<T> = T extends {
|
|
3
|
-
[Symbol.toPrimitive]: infer V;
|
|
4
|
-
} ? {
|
|
5
|
-
[Symbol.toPrimitive]: V;
|
|
6
|
-
} : {};
|
|
7
|
-
declare type AddCallable<T> = T extends {
|
|
8
|
-
(...x: any[]): infer V;
|
|
9
|
-
} ? {
|
|
10
|
-
(...x: Parameters<T>): V;
|
|
11
|
-
} : {};
|
|
12
|
-
declare type NotWrappable = string | number | boolean | Function | null;
|
|
13
|
-
export declare type Store<T> = {
|
|
14
|
-
[P in keyof T]: T[P] extends object ? Store<T[P]> : T[P];
|
|
15
|
-
} & {
|
|
16
|
-
[$RAW]?: T;
|
|
17
|
-
} & AddSymbolToPrimitive<T> & AddCallable<T>;
|
|
18
3
|
export declare function isWrappable(obj: any): boolean;
|
|
19
4
|
export declare function unwrap<T>(item: any): T;
|
|
20
5
|
export declare function setProperty(state: any, property: string | number, value: any, force?: boolean): void;
|
|
21
6
|
export declare function updatePath(current: any, path: any[], traversed?: (number | string)[]): void;
|
|
22
|
-
declare type StoreSetter<T> = Partial<T> | ((prevState: T extends NotWrappable ? T : Store<T>, traversed?: (string | number)[]) => Partial<T> | void);
|
|
23
|
-
declare type StorePathRange = {
|
|
24
|
-
from?: number;
|
|
25
|
-
to?: number;
|
|
26
|
-
by?: number;
|
|
27
|
-
};
|
|
28
|
-
declare type ArrayFilterFn<T> = (item: T extends any[] ? T[number] : never, index: number) => boolean;
|
|
29
|
-
declare type Part<T> = keyof T | Array<keyof T> | StorePathRange | ArrayFilterFn<T>;
|
|
30
|
-
declare type Next<T, K> = K extends keyof T ? T[K] : K extends Array<keyof T> ? T[K[number]] : T extends any[] ? K extends StorePathRange ? T[number] : K extends ArrayFilterFn<T> ? T[number] : never : never;
|
|
31
|
-
export interface SetStoreFunction<T> {
|
|
32
|
-
<Setter extends StoreSetter<T>>(...args: [Setter]): void;
|
|
33
|
-
<K1 extends Part<T>, Setter extends StoreSetter<Next<T, K1>>>(...args: [K1, Setter]): void;
|
|
34
|
-
<K1 extends Part<T>, K2 extends Part<Next<T, K1>>, Setter extends StoreSetter<Next<Next<T, K1>, K2>>>(...args: [K1, K2, Setter]): void;
|
|
35
|
-
<K1 extends Part<T>, K2 extends Part<Next<T, K1>>, K3 extends Part<Next<Next<T, K1>, K2>>, Setter extends StoreSetter<Next<Next<Next<T, K1>, K2>, K3>>>(...args: [K1, K2, K3, Setter]): void;
|
|
36
|
-
<K1 extends Part<T>, K2 extends Part<Next<T, K1>>, K3 extends Part<Next<Next<T, K1>, K2>>, K4 extends Part<Next<Next<Next<T, K1>, K2>, K3>>, Setter extends StoreSetter<Next<Next<Next<Next<T, K1>, K2>, K3>, K4>>>(...args: [K1, K2, K3, K4, Setter]): void;
|
|
37
|
-
<K1 extends Part<T>, K2 extends Part<Next<T, K1>>, K3 extends Part<Next<Next<T, K1>, K2>>, K4 extends Part<Next<Next<Next<T, K1>, K2>, K3>>, K5 extends Part<Next<Next<Next<Next<T, K1>, K2>, K3>, K4>>, Setter extends StoreSetter<Next<Next<Next<Next<Next<T, K1>, K2>, K3>, K4>, K5>>>(...args: [K1, K2, K3, K4, K5, Setter]): void;
|
|
38
|
-
<K1 extends Part<T>, K2 extends Part<Next<T, K1>>, K3 extends Part<Next<Next<T, K1>, K2>>, K4 extends Part<Next<Next<Next<T, K1>, K2>, K3>>, K5 extends Part<Next<Next<Next<Next<T, K1>, K2>, K3>, K4>>, K6 extends Part<Next<Next<Next<Next<Next<T, K1>, K2>, K3>, K4>, K5>>, Setter extends StoreSetter<Next<Next<Next<Next<Next<Next<T, K1>, K2>, K3>, K4>, K5>, K6>>>(...args: [K1, K2, K3, K4, K5, K6, Setter]): void;
|
|
39
|
-
<K1 extends Part<T>, K2 extends Part<Next<T, K1>>, K3 extends Part<Next<Next<T, K1>, K2>>, K4 extends Part<Next<Next<Next<T, K1>, K2>, K3>>, K5 extends Part<Next<Next<Next<Next<T, K1>, K2>, K3>, K4>>, K6 extends Part<Next<Next<Next<Next<Next<T, K1>, K2>, K3>, K4>, K5>>, K7 extends Part<Next<Next<Next<Next<Next<Next<T, K1>, K2>, K3>, K4>, K5>, K6>>, Setter extends StoreSetter<Next<Next<Next<Next<Next<Next<Next<T, K1>, K2>, K3>, K4>, K5>, K6>, K7>>>(...args: [K1, K2, K3, K4, K5, K6, K7, Setter]): void;
|
|
40
|
-
<K1 extends Part<T>, K2 extends Part<Next<T, K1>>, K3 extends Part<Next<Next<T, K1>, K2>>, K4 extends Part<Next<Next<Next<T, K1>, K2>, K3>>, K5 extends Part<Next<Next<Next<Next<T, K1>, K2>, K3>, K4>>, K6 extends Part<Next<Next<Next<Next<Next<T, K1>, K2>, K3>, K4>, K5>>, K7 extends Part<Next<Next<Next<Next<Next<Next<T, K1>, K2>, K3>, K4>, K5>, K6>>, K8 extends Part<Next<Next<Next<Next<Next<Next<Next<T, K1>, K2>, K3>, K4>, K5>, K6>, K7>>>(...args: [K1, K2, K3, K4, K5, K6, K7, K8, ...(Part<any> | StoreSetter<any>)[]]): void;
|
|
41
|
-
}
|
|
42
7
|
export declare function createStore<T>(state: T | Store<T>): [Store<T>, SetStoreFunction<T>];
|
|
43
8
|
export declare function createMutable<T>(state: T | Store<T>): Store<T>;
|
|
44
9
|
declare type ReconcileOptions = {
|
|
45
10
|
key?: string | null;
|
|
46
11
|
merge?: boolean;
|
|
47
12
|
};
|
|
48
|
-
export declare function reconcile<T>(value: T | Store<T>, options?: ReconcileOptions): (state:
|
|
49
|
-
export declare function produce<T>(fn: (state: T) => void): (state:
|
|
13
|
+
export declare function reconcile<T>(value: T | Store<T>, options?: ReconcileOptions): (state: Store<T>) => void;
|
|
14
|
+
export declare function produce<T>(fn: (state: T) => void): (state: Store<T>) => Store<T>;
|
|
50
15
|
export {};
|
package/store/types/store.d.ts
CHANGED
|
@@ -1,72 +1,44 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Accessor } from "../..";
|
|
2
2
|
export declare const $RAW: unique symbol, $NODE: unique symbol, $NAME: unique symbol;
|
|
3
|
-
export declare type StoreNode =
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
[$NAME]?: string;
|
|
7
|
-
[k: string]: any;
|
|
8
|
-
[k: number]: any;
|
|
9
|
-
};
|
|
10
|
-
declare type AddSymbolToPrimitive<T> = T extends {
|
|
11
|
-
[Symbol.toPrimitive]: infer V;
|
|
12
|
-
} ? {
|
|
13
|
-
[Symbol.toPrimitive]: V;
|
|
14
|
-
} : {};
|
|
15
|
-
declare type AddSymbolIterator<T> = T extends {
|
|
16
|
-
[Symbol.iterator]: infer V;
|
|
17
|
-
} ? {
|
|
18
|
-
[Symbol.iterator]: V;
|
|
19
|
-
} : {};
|
|
20
|
-
declare type AddSymbolToStringTag<T> = T extends {
|
|
21
|
-
[Symbol.toStringTag]: infer V;
|
|
22
|
-
} ? {
|
|
23
|
-
[Symbol.toStringTag]: V;
|
|
24
|
-
} : {};
|
|
25
|
-
declare type AddCallable<T> = T extends {
|
|
26
|
-
(...x: any[]): infer V;
|
|
27
|
-
} ? {
|
|
28
|
-
(...x: Parameters<T>): V;
|
|
29
|
-
} : {};
|
|
30
|
-
export declare type NotWrappable = string | number | boolean | Function | null;
|
|
31
|
-
export declare type Store<T> = {
|
|
32
|
-
[P in keyof T]: T[P] extends object ? Store<T[P]> & T[P] : T[P];
|
|
33
|
-
} & {
|
|
34
|
-
[$RAW]?: T;
|
|
35
|
-
} & AddSymbolToPrimitive<T> & AddSymbolIterator<T> & AddSymbolToStringTag<T> & AddCallable<T>;
|
|
3
|
+
export declare type StoreNode = Record<keyof any, any>;
|
|
4
|
+
export declare type NotWrappable = string | number | bigint | symbol | boolean | Function | null | undefined;
|
|
5
|
+
export declare type Store<T> = DeepReadonly<T>;
|
|
36
6
|
export declare function isWrappable(obj: any): any;
|
|
37
7
|
export declare function unwrap<T extends StoreNode>(item: any, set?: Set<unknown>): T;
|
|
38
8
|
export declare function getDataNodes(target: StoreNode): any;
|
|
39
|
-
export declare function proxyDescriptor(target: StoreNode, property:
|
|
9
|
+
export declare function proxyDescriptor(target: StoreNode, property: keyof any): PropertyDescriptor | undefined;
|
|
40
10
|
export declare function ownKeys(target: StoreNode): (string | symbol)[];
|
|
41
11
|
export declare function createDataNode(): Accessor<void> & {
|
|
42
12
|
$: () => void;
|
|
43
13
|
};
|
|
44
|
-
export declare function setProperty(state: StoreNode, property:
|
|
45
|
-
export declare function updatePath(current: StoreNode, path: any[], traversed?: (
|
|
46
|
-
export declare type
|
|
47
|
-
readonly [K in keyof T]: DeepReadonly<T[K]>;
|
|
14
|
+
export declare function setProperty(state: StoreNode, property: keyof any, value: any): void;
|
|
15
|
+
export declare function updatePath(current: StoreNode, path: any[], traversed?: (keyof any)[]): void;
|
|
16
|
+
export declare type DeepReadonly<T> = {
|
|
17
|
+
readonly [K in keyof T]: T[K] extends NotWrappable ? T[K] : DeepReadonly<T[K]>;
|
|
48
18
|
};
|
|
49
|
-
export declare type
|
|
50
|
-
export declare type StoreSetter<T> = Partial<T> | ((prevState: T extends NotWrappable ? T : Store<DeepReadonly<T>>, traversed?: (string | number)[]) => Partial<T | DeepReadonly<T>> | void);
|
|
19
|
+
export declare type StoreSetter<T> = T | Partial<T> | ((prevState: T, traversed?: (keyof any)[]) => Partial<T> | void);
|
|
51
20
|
export declare type StorePathRange = {
|
|
52
21
|
from?: number;
|
|
53
22
|
to?: number;
|
|
54
23
|
by?: number;
|
|
55
24
|
};
|
|
56
|
-
export declare type ArrayFilterFn<T> = (item: T
|
|
57
|
-
export declare type Part<T> = T extends
|
|
58
|
-
export declare type
|
|
59
|
-
export declare type
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
<K1 extends Part<T>, K2 extends Part<
|
|
65
|
-
<K1 extends Part<T>, K2 extends Part<
|
|
66
|
-
<K1 extends Part<T>, K2 extends Part<
|
|
67
|
-
<K1 extends Part<T>, K2 extends Part<
|
|
68
|
-
<K1 extends Part<T>, K2 extends Part<
|
|
69
|
-
<K1 extends Part<T>, K2 extends Part<
|
|
25
|
+
export declare type ArrayFilterFn<T> = (item: T, index: number) => boolean;
|
|
26
|
+
export declare type Part<T> = [T] extends [never] ? never : [keyof T] extends [never] ? never : keyof T | (keyof T)[] | (number extends keyof T ? ArrayFilterFn<T[number]> | StorePathRange : never);
|
|
27
|
+
export declare type Next<T, K extends Part<T>> = [K] extends [never] ? never : K extends keyof T ? T[K] : K extends (keyof T)[] ? T[K[number]] : number extends keyof T ? T[number] : never;
|
|
28
|
+
export declare type WrappableNext<T, K extends Part<T>> = Exclude<Next<T, K>, NotWrappable>;
|
|
29
|
+
declare type DistributeRest<T, K extends Part<T>> = K extends K ? [K, ...Rest<Next<T, K>>] : never;
|
|
30
|
+
export declare type Rest<T> = 0 extends 1 & T ? [...(keyof any)[], any] : [StoreSetter<T>] | (T extends NotWrappable ? never : DistributeRest<T, Part<T>>);
|
|
31
|
+
export declare type SetStoreFunction<T> = _SetStoreFunction<Store<T>>;
|
|
32
|
+
interface _SetStoreFunction<T> {
|
|
33
|
+
<K1 extends Part<T>, K2 extends Part<T1>, K3 extends Part<T2>, K4 extends Part<T3>, K5 extends Part<T4>, K6 extends Part<T5>, K7 extends Part<T6>, T1 extends WrappableNext<T, K1>, T2 extends WrappableNext<T1, K2>, T3 extends WrappableNext<T2, K3>, T4 extends WrappableNext<T3, K4>, T5 extends WrappableNext<T4, K5>, T6 extends WrappableNext<T5, K6>>(k1: K1, k2: K2, k3: K3, k4: K4, k5: K5, k6: K6, k7: K7, ...rest: Rest<Next<T6, K7>>): void;
|
|
34
|
+
<K1 extends Part<T>, K2 extends Part<T1>, K3 extends Part<T2>, K4 extends Part<T3>, K5 extends Part<T4>, K6 extends Part<T5>, K7 extends Part<T6>, T1 extends WrappableNext<T, K1>, T2 extends WrappableNext<T1, K2>, T3 extends WrappableNext<T2, K3>, T4 extends WrappableNext<T3, K4>, T5 extends WrappableNext<T4, K5>, T6 extends WrappableNext<T5, K6>>(k1: K1, k2: K2, k3: K3, k4: K4, k5: K5, k6: K6, k7: K7, setter: StoreSetter<Next<T6, K7>>): void;
|
|
35
|
+
<K1 extends Part<T>, K2 extends Part<T1>, K3 extends Part<T2>, K4 extends Part<T3>, K5 extends Part<T4>, K6 extends Part<T5>, T1 extends WrappableNext<T, K1>, T2 extends WrappableNext<T1, K2>, T3 extends WrappableNext<T2, K3>, T4 extends WrappableNext<T3, K4>, T5 extends WrappableNext<T4, K5>>(k1: K1, k2: K2, k3: K3, k4: K4, k5: K5, k6: K6, setter: StoreSetter<Next<T5, K6>>): void;
|
|
36
|
+
<K1 extends Part<T>, K2 extends Part<T1>, K3 extends Part<T2>, K4 extends Part<T3>, K5 extends Part<T4>, T1 extends WrappableNext<T, K1>, T2 extends WrappableNext<T1, K2>, T3 extends WrappableNext<T2, K3>, T4 extends WrappableNext<T3, K4>>(k1: K1, k2: K2, k3: K3, k4: K4, k5: K5, setter: StoreSetter<Next<T4, K5>>): void;
|
|
37
|
+
<K1 extends Part<T>, K2 extends Part<T1>, K3 extends Part<T2>, K4 extends Part<T3>, T1 extends WrappableNext<T, K1>, T2 extends WrappableNext<T1, K2>, T3 extends WrappableNext<T2, K3>>(k1: K1, k2: K2, k3: K3, k4: K4, setter: StoreSetter<Next<T3, K4>>): void;
|
|
38
|
+
<K1 extends Part<T>, K2 extends Part<T1>, K3 extends Part<T2>, T1 extends WrappableNext<T, K1>, T2 extends WrappableNext<T1, K2>>(k1: K1, k2: K2, k3: K3, setter: StoreSetter<Next<T2, K3>>): void;
|
|
39
|
+
<K1 extends Part<T>, K2 extends Part<T1>, T1 extends WrappableNext<T, K1>>(k1: K1, k2: K2, setter: StoreSetter<Next<T1, K2>>): void;
|
|
40
|
+
<K extends Part<T>>(k: K, setter: StoreSetter<Next<T, K>>): void;
|
|
41
|
+
(setter: StoreSetter<T>): void;
|
|
70
42
|
}
|
|
71
43
|
/**
|
|
72
44
|
* creates a reactive store that can be read through a proxy object and written with a setter function
|
package/web/dist/dev.cjs
CHANGED
|
@@ -452,7 +452,7 @@ function cleanChildren(parent, current, marker, replacement) {
|
|
|
452
452
|
if (!inserted && !i) isParent ? parent.replaceChild(node, el) : parent.insertBefore(node, marker);else isParent && parent.removeChild(el);
|
|
453
453
|
} else inserted = true;
|
|
454
454
|
}
|
|
455
|
-
} else parent.insertBefore(node, marker);
|
|
455
|
+
} else if (current instanceof Node) parent.replaceChild(node, current);else parent.insertBefore(node, marker);
|
|
456
456
|
return [node];
|
|
457
457
|
}
|
|
458
458
|
function gatherHydratable(element, root) {
|
package/web/dist/dev.js
CHANGED
|
@@ -449,7 +449,7 @@ function cleanChildren(parent, current, marker, replacement) {
|
|
|
449
449
|
if (!inserted && !i) isParent ? parent.replaceChild(node, el) : parent.insertBefore(node, marker);else isParent && parent.removeChild(el);
|
|
450
450
|
} else inserted = true;
|
|
451
451
|
}
|
|
452
|
-
} else parent.insertBefore(node, marker);
|
|
452
|
+
} else if (current instanceof Node) parent.replaceChild(node, current);else parent.insertBefore(node, marker);
|
|
453
453
|
return [node];
|
|
454
454
|
}
|
|
455
455
|
function gatherHydratable(element, root) {
|
package/web/dist/server.cjs
CHANGED
|
@@ -607,7 +607,7 @@ function waitForFragments(registry, key) {
|
|
|
607
607
|
function serializeSet(registry, key, value) {
|
|
608
608
|
const exist = registry.get(value);
|
|
609
609
|
if (exist) return `_$HY.set("${key}", _$HY.r["${exist}"][0]);`;
|
|
610
|
-
registry.set(value, key);
|
|
610
|
+
value !== null && typeof value === "object" && registry.set(value, key);
|
|
611
611
|
return `_$HY.set("${key}", ${devalue(value)});`;
|
|
612
612
|
}
|
|
613
613
|
function pipeToNodeWritable(code, writable, options = {}) {
|
package/web/dist/server.js
CHANGED
|
@@ -604,7 +604,7 @@ function waitForFragments(registry, key) {
|
|
|
604
604
|
function serializeSet(registry, key, value) {
|
|
605
605
|
const exist = registry.get(value);
|
|
606
606
|
if (exist) return `_$HY.set("${key}", _$HY.r["${exist}"][0]);`;
|
|
607
|
-
registry.set(value, key);
|
|
607
|
+
value !== null && typeof value === "object" && registry.set(value, key);
|
|
608
608
|
return `_$HY.set("${key}", ${devalue(value)});`;
|
|
609
609
|
}
|
|
610
610
|
function pipeToNodeWritable(code, writable, options = {}) {
|
package/web/dist/web.cjs
CHANGED
|
@@ -451,7 +451,7 @@ function cleanChildren(parent, current, marker, replacement) {
|
|
|
451
451
|
if (!inserted && !i) isParent ? parent.replaceChild(node, el) : parent.insertBefore(node, marker);else isParent && parent.removeChild(el);
|
|
452
452
|
} else inserted = true;
|
|
453
453
|
}
|
|
454
|
-
} else parent.insertBefore(node, marker);
|
|
454
|
+
} else if (current instanceof Node) parent.replaceChild(node, current);else parent.insertBefore(node, marker);
|
|
455
455
|
return [node];
|
|
456
456
|
}
|
|
457
457
|
function gatherHydratable(element, root) {
|
package/web/dist/web.js
CHANGED
|
@@ -448,7 +448,7 @@ function cleanChildren(parent, current, marker, replacement) {
|
|
|
448
448
|
if (!inserted && !i) isParent ? parent.replaceChild(node, el) : parent.insertBefore(node, marker);else isParent && parent.removeChild(el);
|
|
449
449
|
} else inserted = true;
|
|
450
450
|
}
|
|
451
|
-
} else parent.insertBefore(node, marker);
|
|
451
|
+
} else if (current instanceof Node) parent.replaceChild(node, current);else parent.insertBefore(node, marker);
|
|
452
452
|
return [node];
|
|
453
453
|
}
|
|
454
454
|
function gatherHydratable(element, root) {
|
package/web/types/client.d.ts
CHANGED
|
@@ -53,7 +53,7 @@ export function dynamicProperty(props: unknown, key: string): unknown;
|
|
|
53
53
|
export function hydrate(
|
|
54
54
|
fn: () => JSX.Element,
|
|
55
55
|
node: MountableElement,
|
|
56
|
-
options
|
|
56
|
+
options?: { renderId?: string }
|
|
57
57
|
): () => void;
|
|
58
58
|
export function getHydrationKey(): string;
|
|
59
59
|
export function getNextElement(template?: HTMLTemplateElement): Element;
|