solid-js 1.7.8 → 1.7.9

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 (49) hide show
  1. package/dist/dev.js +534 -296
  2. package/dist/server.js +175 -77
  3. package/dist/solid.js +461 -254
  4. package/h/dist/h.cjs +2 -2
  5. package/h/dist/h.js +36 -10
  6. package/h/jsx-runtime/dist/jsx.js +1 -1
  7. package/h/jsx-runtime/types/index.d.ts +11 -8
  8. package/h/jsx-runtime/types/jsx.d.ts +3 -0
  9. package/h/types/hyperscript.d.ts +11 -11
  10. package/h/types/index.d.ts +3 -2
  11. package/html/dist/html.cjs +2 -2
  12. package/html/dist/html.js +218 -96
  13. package/html/types/index.d.ts +3 -2
  14. package/html/types/lit.d.ts +45 -31
  15. package/package.json +1 -1
  16. package/store/dist/dev.cjs +34 -32
  17. package/store/dist/dev.js +141 -67
  18. package/store/dist/server.js +19 -8
  19. package/store/dist/store.cjs +34 -32
  20. package/store/dist/store.js +132 -64
  21. package/store/types/index.d.ts +21 -7
  22. package/store/types/modifiers.d.ts +6 -3
  23. package/store/types/mutable.d.ts +5 -2
  24. package/store/types/server.d.ts +12 -4
  25. package/store/types/store.d.ts +217 -63
  26. package/types/index.d.ts +69 -9
  27. package/types/jsx.d.ts +3 -0
  28. package/types/reactive/array.d.ts +12 -4
  29. package/types/reactive/observable.d.ts +25 -17
  30. package/types/reactive/scheduler.d.ts +9 -6
  31. package/types/reactive/signal.d.ts +227 -136
  32. package/types/render/Suspense.d.ts +5 -5
  33. package/types/render/component.d.ts +62 -31
  34. package/types/render/flow.d.ts +43 -31
  35. package/types/render/hydration.d.ts +12 -12
  36. package/types/server/index.d.ts +55 -2
  37. package/types/server/reactive.d.ts +67 -40
  38. package/types/server/rendering.d.ts +171 -95
  39. package/universal/dist/dev.js +28 -12
  40. package/universal/dist/universal.js +28 -12
  41. package/universal/types/index.d.ts +3 -1
  42. package/universal/types/universal.d.ts +0 -1
  43. package/web/dist/dev.js +610 -79
  44. package/web/dist/server.js +176 -77
  45. package/web/dist/web.js +610 -79
  46. package/web/types/client.d.ts +2 -2
  47. package/web/types/core.d.ts +10 -1
  48. package/web/types/index.d.ts +27 -10
  49. package/web/types/server-mock.d.ts +47 -32
@@ -1,22 +1,35 @@
1
- export declare const $RAW: unique symbol, $NODE: unique symbol;
1
+ export declare const $RAW: unique symbol, $NODE: unique symbol, $HAS: unique symbol;
2
2
  export declare const DevHooks: {
3
- onStoreNodeUpdate: OnStoreNodeUpdate | null;
3
+ onStoreNodeUpdate: OnStoreNodeUpdate | null;
4
4
  };
5
5
  type DataNode = {
6
- (): any;
7
- $(value?: any): void;
6
+ (): any;
7
+ $(value?: any): void;
8
8
  };
9
9
  type DataNodes = Record<PropertyKey, DataNode | undefined>;
10
- export type OnStoreNodeUpdate = (state: StoreNode, property: PropertyKey, value: StoreNode | NotWrappable, prev: StoreNode | NotWrappable) => void;
10
+ export type OnStoreNodeUpdate = (
11
+ state: StoreNode,
12
+ property: PropertyKey,
13
+ value: StoreNode | NotWrappable,
14
+ prev: StoreNode | NotWrappable
15
+ ) => void;
11
16
  export interface StoreNode {
12
- [$NODE]?: DataNodes;
13
- [key: PropertyKey]: any;
17
+ [$NODE]?: DataNodes;
18
+ [key: PropertyKey]: any;
14
19
  }
15
20
  export declare namespace SolidStore {
16
- interface Unwrappable {
17
- }
21
+ interface Unwrappable {}
18
22
  }
19
- export type NotWrappable = string | number | bigint | symbol | boolean | Function | null | undefined | SolidStore.Unwrappable[keyof SolidStore.Unwrappable];
23
+ export type NotWrappable =
24
+ | string
25
+ | number
26
+ | bigint
27
+ | symbol
28
+ | boolean
29
+ | Function
30
+ | null
31
+ | undefined
32
+ | SolidStore.Unwrappable[keyof SolidStore.Unwrappable];
20
33
  export type Store<T> = T;
21
34
  export declare function isWrappable<T>(obj: T | NotWrappable): obj is T;
22
35
  /**
@@ -31,76 +44,217 @@ export declare function isWrappable<T>(obj: T | NotWrappable): obj is T;
31
44
  * ```
32
45
  */
33
46
  export declare function unwrap<T>(item: T, set?: Set<unknown>): T;
34
- export declare function getDataNodes(target: StoreNode): DataNodes;
35
- export declare function getDataNode(nodes: DataNodes, property: PropertyKey, value: any): DataNode;
36
- export declare function proxyDescriptor(target: StoreNode, property: PropertyKey): TypedPropertyDescriptor<any> | undefined;
47
+ export declare function getNodes(target: StoreNode, symbol: typeof $NODE | typeof $HAS): DataNodes;
48
+ export declare function getNode(nodes: DataNodes, property: PropertyKey, value?: any): DataNode;
49
+ export declare function proxyDescriptor(
50
+ target: StoreNode,
51
+ property: PropertyKey
52
+ ): TypedPropertyDescriptor<any> | undefined;
37
53
  export declare function trackSelf(target: StoreNode): void;
38
54
  export declare function ownKeys(target: StoreNode): (string | symbol)[];
39
- export declare function setProperty(state: StoreNode, property: PropertyKey, value: any, deleting?: boolean): void;
40
- export declare function updatePath(current: StoreNode, path: any[], traversed?: PropertyKey[]): void;
55
+ export declare function setProperty(
56
+ state: StoreNode,
57
+ property: PropertyKey,
58
+ value: any,
59
+ deleting?: boolean
60
+ ): void;
61
+ export declare function updatePath(
62
+ current: StoreNode,
63
+ path: any[],
64
+ traversed?: PropertyKey[]
65
+ ): void;
41
66
  /** @deprecated */
42
- export type DeepReadonly<T> = 0 extends 1 & T ? T : T extends NotWrappable ? T : {
43
- readonly [K in keyof T]: DeepReadonly<T[K]>;
44
- };
67
+ export type DeepReadonly<T> = 0 extends 1 & T
68
+ ? T
69
+ : T extends NotWrappable
70
+ ? T
71
+ : {
72
+ readonly [K in keyof T]: DeepReadonly<T[K]>;
73
+ };
45
74
  /** @deprecated */
46
- export type DeepMutable<T> = 0 extends 1 & T ? T : T extends NotWrappable ? T : {
47
- -readonly [K in keyof T]: DeepMutable<T[K]>;
48
- };
49
- export type CustomPartial<T> = T extends readonly unknown[] ? "0" extends keyof T ? {
50
- [K in Extract<keyof T, `${number}`>]?: T[K];
51
- } : {
52
- [x: number]: T[number];
53
- } : Partial<T>;
75
+ export type DeepMutable<T> = 0 extends 1 & T
76
+ ? T
77
+ : T extends NotWrappable
78
+ ? T
79
+ : {
80
+ -readonly [K in keyof T]: DeepMutable<T[K]>;
81
+ };
82
+ export type CustomPartial<T> = T extends readonly unknown[]
83
+ ? "0" extends keyof T
84
+ ? {
85
+ [K in Extract<keyof T, `${number}`>]?: T[K];
86
+ }
87
+ : {
88
+ [x: number]: T[number];
89
+ }
90
+ : Partial<T>;
54
91
  export type PickMutable<T> = {
55
- [K in keyof T as (<U>() => U extends {
56
- [V in K]: T[V];
57
- } ? 1 : 2) extends <U>() => U extends {
58
- -readonly [V in K]: T[V];
59
- } ? 1 : 2 ? K : never]: T[K];
92
+ [K in keyof T as (<U>() => U extends {
93
+ [V in K]: T[V];
94
+ }
95
+ ? 1
96
+ : 2) extends <U>() => U extends {
97
+ -readonly [V in K]: T[V];
98
+ }
99
+ ? 1
100
+ : 2
101
+ ? K
102
+ : never]: T[K];
60
103
  };
61
104
  export type StorePathRange = {
62
- from?: number;
63
- to?: number;
64
- by?: number;
105
+ from?: number;
106
+ to?: number;
107
+ by?: number;
65
108
  };
66
109
  export type ArrayFilterFn<T> = (item: T, index: number) => boolean;
67
- export type StoreSetter<T, U extends PropertyKey[] = []> = T | CustomPartial<T> | ((prevState: T, traversed: U) => T | CustomPartial<T>);
68
- export type Part<T, K extends KeyOf<T> = KeyOf<T>> = K | ([K] extends [never] ? never : readonly K[]) | ([T] extends [readonly unknown[]] ? ArrayFilterFn<T[number]> | StorePathRange : never);
110
+ export type StoreSetter<T, U extends PropertyKey[] = []> =
111
+ | T
112
+ | CustomPartial<T>
113
+ | ((prevState: T, traversed: U) => T | CustomPartial<T>);
114
+ export type Part<T, K extends KeyOf<T> = KeyOf<T>> =
115
+ | K
116
+ | ([K] extends [never] ? never : readonly K[])
117
+ | ([T] extends [readonly unknown[]] ? ArrayFilterFn<T[number]> | StorePathRange : never);
69
118
  type W<T> = Exclude<T, NotWrappable>;
70
- type KeyOf<T> = number extends keyof T ? 0 extends 1 & T ? keyof T : [T] extends [never] ? never : [
71
- T
72
- ] extends [readonly unknown[]] ? number : keyof T : keyof T;
119
+ type KeyOf<T> = number extends keyof T
120
+ ? 0 extends 1 & T
121
+ ? keyof T
122
+ : [T] extends [never]
123
+ ? never
124
+ : [T] extends [readonly unknown[]]
125
+ ? number
126
+ : keyof T
127
+ : keyof T;
73
128
  type MutableKeyOf<T> = KeyOf<T> & keyof PickMutable<T>;
74
- type Rest<T, U extends PropertyKey[], K extends KeyOf<T> = KeyOf<T>> = [T] extends [never] ? never : K extends MutableKeyOf<T> ? [Part<T, K>, ...RestSetterOrContinue<T[K], [K, ...U]>] : K extends KeyOf<T> ? [Part<T, K>, ...RestContinue<T[K], [K, ...U]>] : never;
75
- type RestContinue<T, U extends PropertyKey[]> = 0 extends 1 & T ? [...Part<any>[], StoreSetter<any, PropertyKey[]>] : Rest<W<T>, U>;
129
+ type Rest<T, U extends PropertyKey[], K extends KeyOf<T> = KeyOf<T>> = [T] extends [never]
130
+ ? never
131
+ : K extends MutableKeyOf<T>
132
+ ? [Part<T, K>, ...RestSetterOrContinue<T[K], [K, ...U]>]
133
+ : K extends KeyOf<T>
134
+ ? [Part<T, K>, ...RestContinue<T[K], [K, ...U]>]
135
+ : never;
136
+ type RestContinue<T, U extends PropertyKey[]> = 0 extends 1 & T
137
+ ? [...Part<any>[], StoreSetter<any, PropertyKey[]>]
138
+ : Rest<W<T>, U>;
76
139
  type RestSetterOrContinue<T, U extends PropertyKey[]> = [StoreSetter<T, U>] | RestContinue<T, U>;
77
140
  export interface SetStoreFunction<T> {
78
- <K1 extends KeyOf<W<T>>, K2 extends KeyOf<W<W<T>[K1]>>, K3 extends KeyOf<W<W<W<T>[K1]>[K2]>>, K4 extends KeyOf<W<W<W<W<T>[K1]>[K2]>[K3]>>, K5 extends KeyOf<W<W<W<W<W<T>[K1]>[K2]>[K3]>[K4]>>, K6 extends KeyOf<W<W<W<W<W<W<T>[K1]>[K2]>[K3]>[K4]>[K5]>>, K7 extends MutableKeyOf<W<W<W<W<W<W<W<T>[K1]>[K2]>[K3]>[K4]>[K5]>[K6]>>>(k1: Part<W<T>, K1>, k2: Part<W<W<T>[K1]>, K2>, k3: Part<W<W<W<T>[K1]>[K2]>, K3>, k4: Part<W<W<W<W<T>[K1]>[K2]>[K3]>, K4>, k5: Part<W<W<W<W<W<T>[K1]>[K2]>[K3]>[K4]>, K5>, k6: Part<W<W<W<W<W<W<T>[K1]>[K2]>[K3]>[K4]>[K5]>, K6>, k7: Part<W<W<W<W<W<W<W<T>[K1]>[K2]>[K3]>[K4]>[K5]>[K6]>, K7>, setter: StoreSetter<W<W<W<W<W<W<W<T>[K1]>[K2]>[K3]>[K4]>[K5]>[K6]>[K7], [
79
- K7,
80
- K6,
81
- K5,
82
- K4,
83
- K3,
84
- K2,
85
- K1
86
- ]>): void;
87
- <K1 extends KeyOf<W<T>>, K2 extends KeyOf<W<W<T>[K1]>>, K3 extends KeyOf<W<W<W<T>[K1]>[K2]>>, K4 extends KeyOf<W<W<W<W<T>[K1]>[K2]>[K3]>>, K5 extends KeyOf<W<W<W<W<W<T>[K1]>[K2]>[K3]>[K4]>>, K6 extends MutableKeyOf<W<W<W<W<W<W<T>[K1]>[K2]>[K3]>[K4]>[K5]>>>(k1: Part<W<T>, K1>, k2: Part<W<W<T>[K1]>, K2>, k3: Part<W<W<W<T>[K1]>[K2]>, K3>, k4: Part<W<W<W<W<T>[K1]>[K2]>[K3]>, K4>, k5: Part<W<W<W<W<W<T>[K1]>[K2]>[K3]>[K4]>, K5>, k6: Part<W<W<W<W<W<W<T>[K1]>[K2]>[K3]>[K4]>[K5]>, K6>, setter: StoreSetter<W<W<W<W<W<W<T>[K1]>[K2]>[K3]>[K4]>[K5]>[K6], [K6, K5, K4, K3, K2, K1]>): void;
88
- <K1 extends KeyOf<W<T>>, K2 extends KeyOf<W<W<T>[K1]>>, K3 extends KeyOf<W<W<W<T>[K1]>[K2]>>, K4 extends KeyOf<W<W<W<W<T>[K1]>[K2]>[K3]>>, K5 extends MutableKeyOf<W<W<W<W<W<T>[K1]>[K2]>[K3]>[K4]>>>(k1: Part<W<T>, K1>, k2: Part<W<W<T>[K1]>, K2>, k3: Part<W<W<W<T>[K1]>[K2]>, K3>, k4: Part<W<W<W<W<T>[K1]>[K2]>[K3]>, K4>, k5: Part<W<W<W<W<W<T>[K1]>[K2]>[K3]>[K4]>, K5>, setter: StoreSetter<W<W<W<W<W<T>[K1]>[K2]>[K3]>[K4]>[K5], [K5, K4, K3, K2, K1]>): void;
89
- <K1 extends KeyOf<W<T>>, K2 extends KeyOf<W<W<T>[K1]>>, K3 extends KeyOf<W<W<W<T>[K1]>[K2]>>, K4 extends MutableKeyOf<W<W<W<W<T>[K1]>[K2]>[K3]>>>(k1: Part<W<T>, K1>, k2: Part<W<W<T>[K1]>, K2>, k3: Part<W<W<W<T>[K1]>[K2]>, K3>, k4: Part<W<W<W<W<T>[K1]>[K2]>[K3]>, K4>, setter: StoreSetter<W<W<W<W<T>[K1]>[K2]>[K3]>[K4], [K4, K3, K2, K1]>): void;
90
- <K1 extends KeyOf<W<T>>, K2 extends KeyOf<W<W<T>[K1]>>, K3 extends MutableKeyOf<W<W<W<T>[K1]>[K2]>>>(k1: Part<W<T>, K1>, k2: Part<W<W<T>[K1]>, K2>, k3: Part<W<W<W<T>[K1]>[K2]>, K3>, setter: StoreSetter<W<W<W<T>[K1]>[K2]>[K3], [K3, K2, K1]>): void;
91
- <K1 extends KeyOf<W<T>>, K2 extends MutableKeyOf<W<W<T>[K1]>>>(k1: Part<W<T>, K1>, k2: Part<W<W<T>[K1]>, K2>, setter: StoreSetter<W<W<T>[K1]>[K2], [K2, K1]>): void;
92
- <K1 extends MutableKeyOf<W<T>>>(k1: Part<W<T>, K1>, setter: StoreSetter<W<T>[K1], [K1]>): void;
93
- (setter: StoreSetter<T, []>): void;
94
- <K1 extends KeyOf<W<T>>, K2 extends KeyOf<W<W<T>[K1]>>, K3 extends KeyOf<W<W<W<T>[K1]>[K2]>>, K4 extends KeyOf<W<W<W<W<T>[K1]>[K2]>[K3]>>, K5 extends KeyOf<W<W<W<W<W<T>[K1]>[K2]>[K3]>[K4]>>, K6 extends KeyOf<W<W<W<W<W<W<T>[K1]>[K2]>[K3]>[K4]>[K5]>>, K7 extends KeyOf<W<W<W<W<W<W<W<T>[K1]>[K2]>[K3]>[K4]>[K5]>[K6]>>>(k1: Part<W<T>, K1>, k2: Part<W<W<T>[K1]>, K2>, k3: Part<W<W<W<T>[K1]>[K2]>, K3>, k4: Part<W<W<W<W<T>[K1]>[K2]>[K3]>, K4>, k5: Part<W<W<W<W<W<T>[K1]>[K2]>[K3]>[K4]>, K5>, k6: Part<W<W<W<W<W<W<T>[K1]>[K2]>[K3]>[K4]>[K5]>, K6>, k7: Part<W<W<W<W<W<W<W<T>[K1]>[K2]>[K3]>[K4]>[K5]>[K6]>, K7>, ...rest: Rest<W<W<W<W<W<W<W<T>[K1]>[K2]>[K3]>[K4]>[K5]>[K6]>[K7], [K7, K6, K5, K4, K3, K2, K1]>): void;
141
+ <
142
+ K1 extends KeyOf<W<T>>,
143
+ K2 extends KeyOf<W<W<T>[K1]>>,
144
+ K3 extends KeyOf<W<W<W<T>[K1]>[K2]>>,
145
+ K4 extends KeyOf<W<W<W<W<T>[K1]>[K2]>[K3]>>,
146
+ K5 extends KeyOf<W<W<W<W<W<T>[K1]>[K2]>[K3]>[K4]>>,
147
+ K6 extends KeyOf<W<W<W<W<W<W<T>[K1]>[K2]>[K3]>[K4]>[K5]>>,
148
+ K7 extends MutableKeyOf<W<W<W<W<W<W<W<T>[K1]>[K2]>[K3]>[K4]>[K5]>[K6]>>
149
+ >(
150
+ k1: Part<W<T>, K1>,
151
+ k2: Part<W<W<T>[K1]>, K2>,
152
+ k3: Part<W<W<W<T>[K1]>[K2]>, K3>,
153
+ k4: Part<W<W<W<W<T>[K1]>[K2]>[K3]>, K4>,
154
+ k5: Part<W<W<W<W<W<T>[K1]>[K2]>[K3]>[K4]>, K5>,
155
+ k6: Part<W<W<W<W<W<W<T>[K1]>[K2]>[K3]>[K4]>[K5]>, K6>,
156
+ k7: Part<W<W<W<W<W<W<W<T>[K1]>[K2]>[K3]>[K4]>[K5]>[K6]>, K7>,
157
+ setter: StoreSetter<
158
+ W<W<W<W<W<W<W<T>[K1]>[K2]>[K3]>[K4]>[K5]>[K6]>[K7],
159
+ [K7, K6, K5, K4, K3, K2, K1]
160
+ >
161
+ ): void;
162
+ <
163
+ K1 extends KeyOf<W<T>>,
164
+ K2 extends KeyOf<W<W<T>[K1]>>,
165
+ K3 extends KeyOf<W<W<W<T>[K1]>[K2]>>,
166
+ K4 extends KeyOf<W<W<W<W<T>[K1]>[K2]>[K3]>>,
167
+ K5 extends KeyOf<W<W<W<W<W<T>[K1]>[K2]>[K3]>[K4]>>,
168
+ K6 extends MutableKeyOf<W<W<W<W<W<W<T>[K1]>[K2]>[K3]>[K4]>[K5]>>
169
+ >(
170
+ k1: Part<W<T>, K1>,
171
+ k2: Part<W<W<T>[K1]>, K2>,
172
+ k3: Part<W<W<W<T>[K1]>[K2]>, K3>,
173
+ k4: Part<W<W<W<W<T>[K1]>[K2]>[K3]>, K4>,
174
+ k5: Part<W<W<W<W<W<T>[K1]>[K2]>[K3]>[K4]>, K5>,
175
+ k6: Part<W<W<W<W<W<W<T>[K1]>[K2]>[K3]>[K4]>[K5]>, K6>,
176
+ setter: StoreSetter<W<W<W<W<W<W<T>[K1]>[K2]>[K3]>[K4]>[K5]>[K6], [K6, K5, K4, K3, K2, K1]>
177
+ ): void;
178
+ <
179
+ K1 extends KeyOf<W<T>>,
180
+ K2 extends KeyOf<W<W<T>[K1]>>,
181
+ K3 extends KeyOf<W<W<W<T>[K1]>[K2]>>,
182
+ K4 extends KeyOf<W<W<W<W<T>[K1]>[K2]>[K3]>>,
183
+ K5 extends MutableKeyOf<W<W<W<W<W<T>[K1]>[K2]>[K3]>[K4]>>
184
+ >(
185
+ k1: Part<W<T>, K1>,
186
+ k2: Part<W<W<T>[K1]>, K2>,
187
+ k3: Part<W<W<W<T>[K1]>[K2]>, K3>,
188
+ k4: Part<W<W<W<W<T>[K1]>[K2]>[K3]>, K4>,
189
+ k5: Part<W<W<W<W<W<T>[K1]>[K2]>[K3]>[K4]>, K5>,
190
+ setter: StoreSetter<W<W<W<W<W<T>[K1]>[K2]>[K3]>[K4]>[K5], [K5, K4, K3, K2, K1]>
191
+ ): void;
192
+ <
193
+ K1 extends KeyOf<W<T>>,
194
+ K2 extends KeyOf<W<W<T>[K1]>>,
195
+ K3 extends KeyOf<W<W<W<T>[K1]>[K2]>>,
196
+ K4 extends MutableKeyOf<W<W<W<W<T>[K1]>[K2]>[K3]>>
197
+ >(
198
+ k1: Part<W<T>, K1>,
199
+ k2: Part<W<W<T>[K1]>, K2>,
200
+ k3: Part<W<W<W<T>[K1]>[K2]>, K3>,
201
+ k4: Part<W<W<W<W<T>[K1]>[K2]>[K3]>, K4>,
202
+ setter: StoreSetter<W<W<W<W<T>[K1]>[K2]>[K3]>[K4], [K4, K3, K2, K1]>
203
+ ): void;
204
+ <
205
+ K1 extends KeyOf<W<T>>,
206
+ K2 extends KeyOf<W<W<T>[K1]>>,
207
+ K3 extends MutableKeyOf<W<W<W<T>[K1]>[K2]>>
208
+ >(
209
+ k1: Part<W<T>, K1>,
210
+ k2: Part<W<W<T>[K1]>, K2>,
211
+ k3: Part<W<W<W<T>[K1]>[K2]>, K3>,
212
+ setter: StoreSetter<W<W<W<T>[K1]>[K2]>[K3], [K3, K2, K1]>
213
+ ): void;
214
+ <K1 extends KeyOf<W<T>>, K2 extends MutableKeyOf<W<W<T>[K1]>>>(
215
+ k1: Part<W<T>, K1>,
216
+ k2: Part<W<W<T>[K1]>, K2>,
217
+ setter: StoreSetter<W<W<T>[K1]>[K2], [K2, K1]>
218
+ ): void;
219
+ <K1 extends MutableKeyOf<W<T>>>(k1: Part<W<T>, K1>, setter: StoreSetter<W<T>[K1], [K1]>): void;
220
+ (setter: StoreSetter<T, []>): void;
221
+ <
222
+ K1 extends KeyOf<W<T>>,
223
+ K2 extends KeyOf<W<W<T>[K1]>>,
224
+ K3 extends KeyOf<W<W<W<T>[K1]>[K2]>>,
225
+ K4 extends KeyOf<W<W<W<W<T>[K1]>[K2]>[K3]>>,
226
+ K5 extends KeyOf<W<W<W<W<W<T>[K1]>[K2]>[K3]>[K4]>>,
227
+ K6 extends KeyOf<W<W<W<W<W<W<T>[K1]>[K2]>[K3]>[K4]>[K5]>>,
228
+ K7 extends KeyOf<W<W<W<W<W<W<W<T>[K1]>[K2]>[K3]>[K4]>[K5]>[K6]>>
229
+ >(
230
+ k1: Part<W<T>, K1>,
231
+ k2: Part<W<W<T>[K1]>, K2>,
232
+ k3: Part<W<W<W<T>[K1]>[K2]>, K3>,
233
+ k4: Part<W<W<W<W<T>[K1]>[K2]>[K3]>, K4>,
234
+ k5: Part<W<W<W<W<W<T>[K1]>[K2]>[K3]>[K4]>, K5>,
235
+ k6: Part<W<W<W<W<W<W<T>[K1]>[K2]>[K3]>[K4]>[K5]>, K6>,
236
+ k7: Part<W<W<W<W<W<W<W<T>[K1]>[K2]>[K3]>[K4]>[K5]>[K6]>, K7>,
237
+ ...rest: Rest<W<W<W<W<W<W<W<T>[K1]>[K2]>[K3]>[K4]>[K5]>[K6]>[K7], [K7, K6, K5, K4, K3, K2, K1]>
238
+ ): void;
95
239
  }
96
240
  /**
97
241
  * creates a reactive store that can be read through a proxy object and written with a setter function
98
242
  *
99
243
  * @description https://www.solidjs.com/docs/latest/api#createstore
100
244
  */
101
- export declare function createStore<T extends object = {}>(...[store, options]: {} extends T ? [store?: T | Store<T>, options?: {
102
- name?: string;
103
- }] : [store: T | Store<T>, options?: {
104
- name?: string;
105
- }]): [get: Store<T>, set: SetStoreFunction<T>];
245
+ export declare function createStore<T extends object = {}>(
246
+ ...[store, options]: {} extends T
247
+ ? [
248
+ store?: T | Store<T>,
249
+ options?: {
250
+ name?: string;
251
+ }
252
+ ]
253
+ : [
254
+ store: T | Store<T>,
255
+ options?: {
256
+ name?: string;
257
+ }
258
+ ]
259
+ ): [get: Store<T>, set: SetStoreFunction<T>];
106
260
  export {};
package/types/index.d.ts CHANGED
@@ -1,5 +1,63 @@
1
- export { $DEVCOMP, $PROXY, $TRACK, batch, children, createComputed, createContext, createDeferred, createEffect, createMemo, createReaction, createRenderEffect, createResource, createRoot, createSelector, createSignal, enableExternalSource, enableScheduling, equalFn, getListener, getOwner, on, onCleanup, onError, catchError, onMount, runWithOwner, startTransition, untrack, useContext, useTransition } from "./reactive/signal.js";
2
- export type { Accessor, AccessorArray, ChildrenReturn, Context, EffectFunction, EffectOptions, InitializedResource, InitializedResourceOptions, InitializedResourceReturn, MemoOptions, NoInfer, OnEffectFunction, OnOptions, Owner, Resource, ResourceActions, ResourceFetcher, ResourceFetcherInfo, ResourceOptions, ResourceReturn, ResourceSource, ReturnTypes, Setter, Signal, SignalOptions } from "./reactive/signal.js";
1
+ export {
2
+ $DEVCOMP,
3
+ $PROXY,
4
+ $TRACK,
5
+ batch,
6
+ children,
7
+ createComputed,
8
+ createContext,
9
+ createDeferred,
10
+ createEffect,
11
+ createMemo,
12
+ createReaction,
13
+ createRenderEffect,
14
+ createResource,
15
+ createRoot,
16
+ createSelector,
17
+ createSignal,
18
+ enableExternalSource,
19
+ enableScheduling,
20
+ equalFn,
21
+ getListener,
22
+ getOwner,
23
+ on,
24
+ onCleanup,
25
+ onError,
26
+ catchError,
27
+ onMount,
28
+ runWithOwner,
29
+ startTransition,
30
+ untrack,
31
+ useContext,
32
+ useTransition
33
+ } from "./reactive/signal.js";
34
+ export type {
35
+ Accessor,
36
+ AccessorArray,
37
+ ChildrenReturn,
38
+ Context,
39
+ EffectFunction,
40
+ EffectOptions,
41
+ InitializedResource,
42
+ InitializedResourceOptions,
43
+ InitializedResourceReturn,
44
+ MemoOptions,
45
+ NoInfer,
46
+ OnEffectFunction,
47
+ OnOptions,
48
+ Owner,
49
+ Resource,
50
+ ResourceActions,
51
+ ResourceFetcher,
52
+ ResourceFetcherInfo,
53
+ ResourceOptions,
54
+ ResourceReturn,
55
+ ResourceSource,
56
+ ReturnTypes,
57
+ Setter,
58
+ Signal,
59
+ SignalOptions
60
+ } from "./reactive/signal.js";
3
61
  export * from "./reactive/observable.js";
4
62
  export * from "./reactive/scheduler.js";
5
63
  export * from "./reactive/array.js";
@@ -8,14 +66,16 @@ import type { JSX } from "./jsx.js";
8
66
  type JSXElement = JSX.Element;
9
67
  export type { JSXElement, JSX };
10
68
  import { registerGraph, writeSignal } from "./reactive/signal.js";
11
- export declare const DEV: {
12
- readonly hooks: {
69
+ export declare const DEV:
70
+ | {
71
+ readonly hooks: {
13
72
  afterUpdate: (() => void) | null;
14
73
  afterCreateOwner: ((owner: import("./reactive/signal.js").Owner) => void) | null;
15
- };
16
- readonly writeSignal: typeof writeSignal;
17
- readonly registerGraph: typeof registerGraph;
18
- } | undefined;
74
+ };
75
+ readonly writeSignal: typeof writeSignal;
76
+ readonly registerGraph: typeof registerGraph;
77
+ }
78
+ | undefined;
19
79
  declare global {
20
- var Solid$$: boolean;
80
+ var Solid$$: boolean;
21
81
  }
package/types/jsx.d.ts CHANGED
@@ -957,8 +957,11 @@ export namespace JSX {
957
957
  as?: HTMLLinkAs;
958
958
  crossorigin?: HTMLCrossorigin;
959
959
  disabled?: boolean;
960
+ fetchpriority?: "high" | "low" | "auto";
960
961
  href?: string;
961
962
  hreflang?: string;
963
+ imagesizes?: string;
964
+ imagesrcset?: string;
962
965
  integrity?: string;
963
966
  media?: string;
964
967
  referrerpolicy?: HTMLReferrerPolicy;
@@ -29,9 +29,13 @@ SOFTWARE.
29
29
  *
30
30
  * @description https://www.solidjs.com/docs/latest/api#maparray
31
31
  */
32
- export declare function mapArray<T, U>(list: Accessor<readonly T[] | undefined | null | false>, mapFn: (v: T, i: Accessor<number>) => U, options?: {
32
+ export declare function mapArray<T, U>(
33
+ list: Accessor<readonly T[] | undefined | null | false>,
34
+ mapFn: (v: T, i: Accessor<number>) => U,
35
+ options?: {
33
36
  fallback?: Accessor<any>;
34
- }): () => U[];
37
+ }
38
+ ): () => U[];
35
39
  /**
36
40
  * reactively maps arrays by index instead of value - underlying helper for the `<Index>` control flow
37
41
  *
@@ -39,6 +43,10 @@ export declare function mapArray<T, U>(list: Accessor<readonly T[] | undefined |
39
43
  *
40
44
  * @description https://www.solidjs.com/docs/latest/api#indexarray
41
45
  */
42
- export declare function indexArray<T, U>(list: Accessor<readonly T[] | undefined | null | false>, mapFn: (v: Accessor<T>, i: number) => U, options?: {
46
+ export declare function indexArray<T, U>(
47
+ list: Accessor<readonly T[] | undefined | null | false>,
48
+ mapFn: (v: Accessor<T>, i: number) => U,
49
+ options?: {
43
50
  fallback?: Accessor<any>;
44
- }): () => U[];
51
+ }
52
+ ): () => U[];
@@ -1,20 +1,22 @@
1
1
  import { Accessor, Setter } from "./signal.js";
2
2
  declare global {
3
- interface SymbolConstructor {
4
- readonly observable: symbol;
5
- }
3
+ interface SymbolConstructor {
4
+ readonly observable: symbol;
5
+ }
6
6
  }
7
7
  interface Observable<T> {
8
- subscribe(observer: ObservableObserver<T>): {
9
- unsubscribe(): void;
10
- };
11
- [Symbol.observable](): Observable<T>;
8
+ subscribe(observer: ObservableObserver<T>): {
9
+ unsubscribe(): void;
10
+ };
11
+ [Symbol.observable](): Observable<T>;
12
12
  }
13
- export type ObservableObserver<T> = ((v: T) => void) | {
14
- next?: (v: T) => void;
15
- error?: (v: any) => void;
16
- complete?: (v: boolean) => void;
17
- };
13
+ export type ObservableObserver<T> =
14
+ | ((v: T) => void)
15
+ | {
16
+ next?: (v: T) => void;
17
+ error?: (v: any) => void;
18
+ complete?: (v: boolean) => void;
19
+ };
18
20
  /**
19
21
  * creates a simple observable from a signal's accessor to be used with the `from` operator of observable libraries like e.g. rxjs
20
22
  * ```typescript
@@ -26,9 +28,15 @@ export type ObservableObserver<T> = ((v: T) => void) | {
26
28
  * description https://www.solidjs.com/docs/latest/api#observable
27
29
  */
28
30
  export declare function observable<T>(input: Accessor<T>): Observable<T>;
29
- export declare function from<T>(producer: ((setter: Setter<T | undefined>) => () => void) | {
30
- subscribe: (fn: (v: T) => void) => (() => void) | {
31
- unsubscribe: () => void;
32
- };
33
- }): Accessor<T | undefined>;
31
+ export declare function from<T>(
32
+ producer:
33
+ | ((setter: Setter<T | undefined>) => () => void)
34
+ | {
35
+ subscribe: (fn: (v: T) => void) =>
36
+ | (() => void)
37
+ | {
38
+ unsubscribe: () => void;
39
+ };
40
+ }
41
+ ): Accessor<T | undefined>;
34
42
  export {};
@@ -1,10 +1,13 @@
1
1
  export interface Task {
2
- id: number;
3
- fn: ((didTimeout: boolean) => void) | null;
4
- startTime: number;
5
- expirationTime: number;
2
+ id: number;
3
+ fn: ((didTimeout: boolean) => void) | null;
4
+ startTime: number;
5
+ expirationTime: number;
6
6
  }
7
- export declare function requestCallback(fn: () => void, options?: {
7
+ export declare function requestCallback(
8
+ fn: () => void,
9
+ options?: {
8
10
  timeout: number;
9
- }): Task;
11
+ }
12
+ ): Task;
10
13
  export declare function cancelCallback(task: Task): void;