solid-js 1.9.1 → 1.9.2

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 (50) hide show
  1. package/README.md +1 -1
  2. package/dist/dev.cjs +1 -1
  3. package/dist/dev.js +318 -559
  4. package/dist/server.js +74 -168
  5. package/dist/solid.cjs +1 -1
  6. package/dist/solid.js +276 -486
  7. package/h/dist/h.js +9 -40
  8. package/h/jsx-runtime/dist/jsx.js +1 -1
  9. package/h/jsx-runtime/types/index.d.ts +8 -11
  10. package/h/jsx-runtime/types/jsx.d.ts +196 -59
  11. package/h/types/hyperscript.d.ts +11 -11
  12. package/html/dist/html.cjs +1 -1
  13. package/html/dist/html.js +94 -219
  14. package/html/types/lit.d.ts +33 -52
  15. package/package.json +1 -1
  16. package/store/dist/dev.js +43 -123
  17. package/store/dist/server.js +8 -20
  18. package/store/dist/store.js +40 -114
  19. package/store/types/index.d.ts +7 -21
  20. package/store/types/modifiers.d.ts +3 -6
  21. package/store/types/mutable.d.ts +2 -5
  22. package/store/types/server.d.ts +5 -25
  23. package/store/types/store.d.ts +61 -218
  24. package/types/index.d.ts +10 -75
  25. package/types/jsx.d.ts +195 -47
  26. package/types/reactive/array.d.ts +4 -12
  27. package/types/reactive/observable.d.ts +17 -25
  28. package/types/reactive/scheduler.d.ts +6 -9
  29. package/types/reactive/signal.d.ts +142 -233
  30. package/types/render/Suspense.d.ts +5 -5
  31. package/types/render/component.d.ts +35 -71
  32. package/types/render/flow.d.ts +31 -43
  33. package/types/render/hydration.d.ts +15 -15
  34. package/types/server/index.d.ts +2 -57
  35. package/types/server/reactive.d.ts +42 -73
  36. package/types/server/rendering.d.ts +98 -169
  37. package/universal/dist/dev.js +12 -28
  38. package/universal/dist/universal.js +12 -28
  39. package/universal/types/index.d.ts +1 -3
  40. package/universal/types/universal.d.ts +1 -0
  41. package/web/dist/dev.cjs +14 -14
  42. package/web/dist/dev.js +89 -639
  43. package/web/dist/server.cjs +14 -14
  44. package/web/dist/server.js +108 -635
  45. package/web/dist/web.cjs +14 -14
  46. package/web/dist/web.js +87 -627
  47. package/web/storage/dist/storage.js +3 -3
  48. package/web/types/core.d.ts +1 -10
  49. package/web/types/index.d.ts +10 -27
  50. package/web/types/server-mock.d.ts +32 -47
@@ -33,61 +33,58 @@ export declare var Owner: Owner | null;
33
33
  export declare let Transition: TransitionState | null;
34
34
  /** Object storing callbacks for debugging during development */
35
35
  export declare const DevHooks: {
36
- afterUpdate: (() => void) | null;
37
- afterCreateOwner: ((owner: Owner) => void) | null;
38
- afterCreateSignal: ((signal: SignalState<any>) => void) | null;
36
+ afterUpdate: (() => void) | null;
37
+ afterCreateOwner: ((owner: Owner) => void) | null;
38
+ afterCreateSignal: ((signal: SignalState<any>) => void) | null;
39
39
  };
40
40
  export type ComputationState = 0 | 1 | 2;
41
41
  export interface SourceMapValue {
42
- value: unknown;
43
- name?: string;
44
- graph?: Owner;
42
+ value: unknown;
43
+ name?: string;
44
+ graph?: Owner;
45
45
  }
46
46
  export interface SignalState<T> extends SourceMapValue {
47
- value: T;
48
- observers: Computation<any>[] | null;
49
- observerSlots: number[] | null;
50
- tValue?: T;
51
- comparator?: (prev: T, next: T) => boolean;
47
+ value: T;
48
+ observers: Computation<any>[] | null;
49
+ observerSlots: number[] | null;
50
+ tValue?: T;
51
+ comparator?: (prev: T, next: T) => boolean;
52
52
  }
53
53
  export interface Owner {
54
- owned: Computation<any>[] | null;
55
- cleanups: (() => void)[] | null;
56
- owner: Owner | null;
57
- context: any | null;
58
- sourceMap?: SourceMapValue[];
59
- name?: string;
54
+ owned: Computation<any>[] | null;
55
+ cleanups: (() => void)[] | null;
56
+ owner: Owner | null;
57
+ context: any | null;
58
+ sourceMap?: SourceMapValue[];
59
+ name?: string;
60
60
  }
61
61
  export interface Computation<Init, Next extends Init = Init> extends Owner {
62
- fn: EffectFunction<Init, Next>;
63
- state: ComputationState;
64
- tState?: ComputationState;
65
- sources: SignalState<Next>[] | null;
66
- sourceSlots: number[] | null;
67
- value?: Init;
68
- updatedAt: number | null;
69
- pure: boolean;
70
- user?: boolean;
71
- suspense?: SuspenseContextType;
62
+ fn: EffectFunction<Init, Next>;
63
+ state: ComputationState;
64
+ tState?: ComputationState;
65
+ sources: SignalState<Next>[] | null;
66
+ sourceSlots: number[] | null;
67
+ value?: Init;
68
+ updatedAt: number | null;
69
+ pure: boolean;
70
+ user?: boolean;
71
+ suspense?: SuspenseContextType;
72
72
  }
73
73
  export interface TransitionState {
74
- sources: Set<SignalState<any>>;
75
- effects: Computation<any>[];
76
- promises: Set<Promise<any>>;
77
- disposed: Set<Computation<any>>;
78
- queue: Set<Computation<any>>;
79
- scheduler?: (fn: () => void) => unknown;
80
- running: boolean;
81
- done?: Promise<void>;
82
- resolve?: () => void;
74
+ sources: Set<SignalState<any>>;
75
+ effects: Computation<any>[];
76
+ promises: Set<Promise<any>>;
77
+ disposed: Set<Computation<any>>;
78
+ queue: Set<Computation<any>>;
79
+ scheduler?: (fn: () => void) => unknown;
80
+ running: boolean;
81
+ done?: Promise<void>;
82
+ resolve?: () => void;
83
83
  }
84
- type ExternalSourceFactory = <Prev, Next extends Prev = Prev>(
85
- fn: EffectFunction<Prev, Next>,
86
- trigger: () => void
87
- ) => ExternalSource;
84
+ type ExternalSourceFactory = <Prev, Next extends Prev = Prev>(fn: EffectFunction<Prev, Next>, trigger: () => void) => ExternalSource;
88
85
  export interface ExternalSource {
89
- track: EffectFunction<any, any>;
90
- dispose: () => void;
86
+ track: EffectFunction<any, any>;
87
+ dispose: () => void;
91
88
  }
92
89
  export type RootFunction<T> = (dispose: () => void) => T;
93
90
  /**
@@ -102,16 +99,14 @@ export type RootFunction<T> = (dispose: () => void) => T;
102
99
  export declare function createRoot<T>(fn: RootFunction<T>, detachedOwner?: typeof Owner): T;
103
100
  export type Accessor<T> = () => T;
104
101
  export type Setter<in out T> = {
105
- <U extends T>(value: Exclude<U, Function> | ((prev: T) => U)): U;
106
- <U extends T>(...args: undefined extends T ? [] : [value: (prev: T) => U]): undefined extends T
107
- ? undefined
108
- : U;
109
- <U extends T>(value: Exclude<U, Function>): U;
110
- <U extends T>(value: (prev: T) => U): U;
102
+ <U extends T>(value: Exclude<U, Function> | ((prev: T) => U)): U;
103
+ <U extends T>(...args: undefined extends T ? [] : [value: Exclude<U, Function> | ((prev: T) => U)]): undefined extends T ? undefined : U;
104
+ <U extends T>(value: (prev: T) => U): U;
105
+ <U extends T>(value: Exclude<U, Function>): U;
111
106
  };
112
107
  export type Signal<T> = [get: Accessor<T>, set: Setter<T>];
113
108
  export interface SignalOptions<T> extends MemoOptions<T> {
114
- internal?: boolean;
109
+ internal?: boolean;
115
110
  }
116
111
  /**
117
112
  * Creates a simple reactive state with a getter and setter
@@ -139,10 +134,11 @@ export interface SignalOptions<T> extends MemoOptions<T> {
139
134
  export declare function createSignal<T>(): Signal<T | undefined>;
140
135
  export declare function createSignal<T>(value: T, options?: SignalOptions<T>): Signal<T>;
141
136
  export interface BaseOptions {
142
- name?: string;
137
+ name?: string;
143
138
  }
144
139
  export type NoInfer<T extends any> = [T][T extends any ? 0 : never];
145
- export interface EffectOptions extends BaseOptions {}
140
+ export interface EffectOptions extends BaseOptions {
141
+ }
146
142
  export type EffectFunction<Prev, Next extends Prev = Prev> = (v: Prev) => Next;
147
143
  /**
148
144
  * Creates a reactive computation that runs immediately before render, mainly used to write to other reactive primitives
@@ -159,14 +155,8 @@ export type EffectFunction<Prev, Next extends Prev = Prev> = (v: Prev) => Next;
159
155
  *
160
156
  * @description https://docs.solidjs.com/reference/secondary-primitives/create-computed
161
157
  */
162
- export declare function createComputed<Next>(
163
- fn: EffectFunction<undefined | NoInfer<Next>, Next>
164
- ): void;
165
- export declare function createComputed<Next, Init = Next>(
166
- fn: EffectFunction<Init | Next, Next>,
167
- value: Init,
168
- options?: EffectOptions
169
- ): void;
158
+ export declare function createComputed<Next>(fn: EffectFunction<undefined | NoInfer<Next>, Next>): void;
159
+ export declare function createComputed<Next, Init = Next>(fn: EffectFunction<Init | Next, Next>, value: Init, options?: EffectOptions): void;
170
160
  /**
171
161
  * Creates a reactive computation that runs during the render phase as DOM elements are created and updated but not necessarily connected
172
162
  * ```typescript
@@ -182,14 +172,8 @@ export declare function createComputed<Next, Init = Next>(
182
172
  *
183
173
  * @description https://docs.solidjs.com/reference/secondary-primitives/create-render-effect
184
174
  */
185
- export declare function createRenderEffect<Next>(
186
- fn: EffectFunction<undefined | NoInfer<Next>, Next>
187
- ): void;
188
- export declare function createRenderEffect<Next, Init = Next>(
189
- fn: EffectFunction<Init | Next, Next>,
190
- value: Init,
191
- options?: EffectOptions
192
- ): void;
175
+ export declare function createRenderEffect<Next>(fn: EffectFunction<undefined | NoInfer<Next>, Next>): void;
176
+ export declare function createRenderEffect<Next, Init = Next>(fn: EffectFunction<Init | Next, Next>, value: Init, options?: EffectOptions): void;
193
177
  /**
194
178
  * Creates a reactive computation that runs after the render phase
195
179
  * ```typescript
@@ -205,16 +189,10 @@ export declare function createRenderEffect<Next, Init = Next>(
205
189
  *
206
190
  * @description https://docs.solidjs.com/reference/basic-reactivity/create-effect
207
191
  */
208
- export declare function createEffect<Next>(
209
- fn: EffectFunction<undefined | NoInfer<Next>, Next>
210
- ): void;
211
- export declare function createEffect<Next, Init = Next>(
212
- fn: EffectFunction<Init | Next, Next>,
213
- value: Init,
214
- options?: EffectOptions & {
192
+ export declare function createEffect<Next>(fn: EffectFunction<undefined | NoInfer<Next>, Next>): void;
193
+ export declare function createEffect<Next, Init = Next>(fn: EffectFunction<Init | Next, Next>, value: Init, options?: EffectOptions & {
215
194
  render?: boolean;
216
- }
217
- ): void;
195
+ }): void;
218
196
  /**
219
197
  * Creates a reactive computation that runs after the render phase with flexible tracking
220
198
  * ```typescript
@@ -228,16 +206,13 @@ export declare function createEffect<Next, Init = Next>(
228
206
  *
229
207
  * @description https://docs.solidjs.com/reference/secondary-primitives/create-reaction
230
208
  */
231
- export declare function createReaction(
232
- onInvalidate: () => void,
233
- options?: EffectOptions
234
- ): (tracking: () => void) => void;
209
+ export declare function createReaction(onInvalidate: () => void, options?: EffectOptions): (tracking: () => void) => void;
235
210
  export interface Memo<Prev, Next = Prev> extends SignalState<Next>, Computation<Next> {
236
- value: Next;
237
- tOwned?: Computation<Prev | Next, Next>[];
211
+ value: Next;
212
+ tOwned?: Computation<Prev | Next, Next>[];
238
213
  }
239
214
  export interface MemoOptions<T> extends EffectOptions {
240
- equals?: false | ((prev: T, next: T) => boolean);
215
+ equals?: false | ((prev: T, next: T) => boolean);
241
216
  }
242
217
  /**
243
218
  * Creates a readonly derived reactive memoized signal
@@ -254,84 +229,72 @@ export interface MemoOptions<T> extends EffectOptions {
254
229
  *
255
230
  * @description https://docs.solidjs.com/reference/basic-reactivity/create-memo
256
231
  */
257
- export declare function createMemo<Next extends Prev, Prev = Next>(
258
- fn: EffectFunction<undefined | NoInfer<Prev>, Next>
259
- ): Accessor<Next>;
260
- export declare function createMemo<Next extends Prev, Init = Next, Prev = Next>(
261
- fn: EffectFunction<Init | Prev, Next>,
262
- value: Init,
263
- options?: MemoOptions<Next>
264
- ): Accessor<Next>;
232
+ export declare function createMemo<Next extends Prev, Prev = Next>(fn: EffectFunction<undefined | NoInfer<Prev>, Next>): Accessor<Next>;
233
+ export declare function createMemo<Next extends Prev, Init = Next, Prev = Next>(fn: EffectFunction<Init | Prev, Next>, value: Init, options?: MemoOptions<Next>): Accessor<Next>;
265
234
  interface Unresolved {
266
- state: "unresolved";
267
- loading: false;
268
- error: undefined;
269
- latest: undefined;
270
- (): undefined;
235
+ state: "unresolved";
236
+ loading: false;
237
+ error: undefined;
238
+ latest: undefined;
239
+ (): undefined;
271
240
  }
272
241
  interface Pending {
273
- state: "pending";
274
- loading: true;
275
- error: undefined;
276
- latest: undefined;
277
- (): undefined;
242
+ state: "pending";
243
+ loading: true;
244
+ error: undefined;
245
+ latest: undefined;
246
+ (): undefined;
278
247
  }
279
248
  interface Ready<T> {
280
- state: "ready";
281
- loading: false;
282
- error: undefined;
283
- latest: T;
284
- (): T;
249
+ state: "ready";
250
+ loading: false;
251
+ error: undefined;
252
+ latest: T;
253
+ (): T;
285
254
  }
286
255
  interface Refreshing<T> {
287
- state: "refreshing";
288
- loading: true;
289
- error: undefined;
290
- latest: T;
291
- (): T;
256
+ state: "refreshing";
257
+ loading: true;
258
+ error: undefined;
259
+ latest: T;
260
+ (): T;
292
261
  }
293
262
  interface Errored {
294
- state: "errored";
295
- loading: false;
296
- error: any;
297
- latest: never;
298
- (): never;
263
+ state: "errored";
264
+ loading: false;
265
+ error: any;
266
+ latest: never;
267
+ (): never;
299
268
  }
300
269
  export type Resource<T> = Unresolved | Pending | Ready<T> | Refreshing<T> | Errored;
301
270
  export type InitializedResource<T> = Ready<T> | Refreshing<T> | Errored;
302
271
  export type ResourceActions<T, R = unknown> = {
303
- mutate: Setter<T>;
304
- refetch: (info?: R) => T | Promise<T> | undefined | null;
272
+ mutate: Setter<T>;
273
+ refetch: (info?: R) => T | Promise<T> | undefined | null;
305
274
  };
306
275
  export type ResourceSource<S> = S | false | null | undefined | (() => S | false | null | undefined);
307
- export type ResourceFetcher<S, T, R = unknown> = (
308
- k: S,
309
- info: ResourceFetcherInfo<T, R>
310
- ) => T | Promise<T>;
276
+ export type ResourceFetcher<S, T, R = unknown> = (k: S, info: ResourceFetcherInfo<T, R>) => T | Promise<T>;
311
277
  export type ResourceFetcherInfo<T, R = unknown> = {
312
- value: T | undefined;
313
- refetching: R | boolean;
278
+ value: T | undefined;
279
+ refetching: R | boolean;
314
280
  };
315
281
  export type ResourceOptions<T, S = unknown> = {
316
- initialValue?: T;
317
- name?: string;
318
- deferStream?: boolean;
319
- ssrLoadFrom?: "initial" | "server";
320
- storage?: (init: T | undefined) => [Accessor<T | undefined>, Setter<T | undefined>];
321
- onHydrated?: (
322
- k: S | undefined,
323
- info: {
324
- value: T | undefined;
325
- }
326
- ) => void;
282
+ initialValue?: T;
283
+ name?: string;
284
+ deferStream?: boolean;
285
+ ssrLoadFrom?: "initial" | "server";
286
+ storage?: (init: T | undefined) => [Accessor<T | undefined>, Setter<T | undefined>];
287
+ onHydrated?: (k: S | undefined, info: {
288
+ value: T | undefined;
289
+ }) => void;
327
290
  };
328
291
  export type InitializedResourceOptions<T, S = unknown> = ResourceOptions<T, S> & {
329
- initialValue: T;
292
+ initialValue: T;
330
293
  };
331
294
  export type ResourceReturn<T, R = unknown> = [Resource<T>, ResourceActions<T | undefined, R>];
332
295
  export type InitializedResourceReturn<T, R = unknown> = [
333
- InitializedResource<T>,
334
- ResourceActions<T, R>
296
+ InitializedResource<T>,
297
+ ResourceActions<T, R>
335
298
  ];
336
299
  /**
337
300
  * Creates a resource that wraps a repeated promise in a reactive pattern:
@@ -361,28 +324,14 @@ export type InitializedResourceReturn<T, R = unknown> = [
361
324
  *
362
325
  * @description https://docs.solidjs.com/reference/basic-reactivity/create-resource
363
326
  */
364
- export declare function createResource<T, R = unknown>(
365
- fetcher: ResourceFetcher<true, T, R>,
366
- options: InitializedResourceOptions<NoInfer<T>, true>
367
- ): InitializedResourceReturn<T, R>;
368
- export declare function createResource<T, R = unknown>(
369
- fetcher: ResourceFetcher<true, T, R>,
370
- options?: ResourceOptions<NoInfer<T>, true>
371
- ): ResourceReturn<T, R>;
372
- export declare function createResource<T, S, R = unknown>(
373
- source: ResourceSource<S>,
374
- fetcher: ResourceFetcher<S, T, R>,
375
- options: InitializedResourceOptions<NoInfer<T>, S>
376
- ): InitializedResourceReturn<T, R>;
377
- export declare function createResource<T, S, R = unknown>(
378
- source: ResourceSource<S>,
379
- fetcher: ResourceFetcher<S, T, R>,
380
- options?: ResourceOptions<NoInfer<T>, S>
381
- ): ResourceReturn<T, R>;
327
+ export declare function createResource<T, R = unknown>(fetcher: ResourceFetcher<true, T, R>, options: InitializedResourceOptions<NoInfer<T>, true>): InitializedResourceReturn<T, R>;
328
+ export declare function createResource<T, R = unknown>(fetcher: ResourceFetcher<true, T, R>, options?: ResourceOptions<NoInfer<T>, true>): ResourceReturn<T, R>;
329
+ export declare function createResource<T, S, R = unknown>(source: ResourceSource<S>, fetcher: ResourceFetcher<S, T, R>, options: InitializedResourceOptions<NoInfer<T>, S>): InitializedResourceReturn<T, R>;
330
+ export declare function createResource<T, S, R = unknown>(source: ResourceSource<S>, fetcher: ResourceFetcher<S, T, R>, options?: ResourceOptions<NoInfer<T>, S>): ResourceReturn<T, R>;
382
331
  export interface DeferredOptions<T> {
383
- equals?: false | ((prev: T, next: T) => boolean);
384
- name?: string;
385
- timeoutMs?: number;
332
+ equals?: false | ((prev: T, next: T) => boolean);
333
+ name?: string;
334
+ timeoutMs?: number;
386
335
  }
387
336
  /**
388
337
  * Creates a reactive computation that only runs and notifies the reactive context when the browser is idle
@@ -397,10 +346,7 @@ export interface DeferredOptions<T> {
397
346
  *
398
347
  * @description https://docs.solidjs.com/reference/secondary-primitives/create-deferred
399
348
  */
400
- export declare function createDeferred<T>(
401
- source: Accessor<T>,
402
- options?: DeferredOptions<T>
403
- ): Accessor<T>;
349
+ export declare function createDeferred<T>(source: Accessor<T>, options?: DeferredOptions<T>): Accessor<T>;
404
350
  export type EqualityCheckerFunction<T, U> = (a: U, b: T) => boolean;
405
351
  /**
406
352
  * Creates a conditional signal that only notifies subscribers when entering or exiting their key matching the value
@@ -426,11 +372,7 @@ export type EqualityCheckerFunction<T, U> = (a: U, b: T) => boolean;
426
372
  *
427
373
  * @description https://docs.solidjs.com/reference/secondary-primitives/create-selector
428
374
  */
429
- export declare function createSelector<T, U = T>(
430
- source: Accessor<T>,
431
- fn?: EqualityCheckerFunction<T, U>,
432
- options?: BaseOptions
433
- ): (key: U) => boolean;
375
+ export declare function createSelector<T, U = T>(source: Accessor<T>, fn?: EqualityCheckerFunction<T, U>, options?: BaseOptions): (key: U) => boolean;
434
376
  /**
435
377
  * Holds changes inside the block before the reactive context is updated
436
378
  * @param fn wraps the reactive updates that should be batched
@@ -448,28 +390,15 @@ export declare function batch<T>(fn: Accessor<T>): T;
448
390
  */
449
391
  export declare function untrack<T>(fn: Accessor<T>): T;
450
392
  /** @deprecated */
451
- export type ReturnTypes<T> = T extends readonly Accessor<unknown>[]
452
- ? {
453
- [K in keyof T]: T[K] extends Accessor<infer I> ? I : never;
454
- }
455
- : T extends Accessor<infer I>
456
- ? I
457
- : never;
458
- export type AccessorArray<T> = [
459
- ...Extract<
460
- {
461
- [K in keyof T]: Accessor<T[K]>;
462
- },
463
- readonly unknown[]
464
- >
465
- ];
466
- export type OnEffectFunction<S, Prev, Next extends Prev = Prev> = (
467
- input: S,
468
- prevInput: S | undefined,
469
- prev: Prev
470
- ) => Next;
393
+ export type ReturnTypes<T> = T extends readonly Accessor<unknown>[] ? {
394
+ [K in keyof T]: T[K] extends Accessor<infer I> ? I : never;
395
+ } : T extends Accessor<infer I> ? I : never;
396
+ export type AccessorArray<T> = [...Extract<{
397
+ [K in keyof T]: Accessor<T[K]>;
398
+ }, readonly unknown[]>];
399
+ export type OnEffectFunction<S, Prev, Next extends Prev = Prev> = (input: S, prevInput: S | undefined, prev: Prev) => Next;
471
400
  export interface OnOptions {
472
- defer?: boolean;
401
+ defer?: boolean;
473
402
  }
474
403
  /**
475
404
  * Makes dependencies of a computation explicit
@@ -497,22 +426,12 @@ export interface OnOptions {
497
426
  *
498
427
  * @description https://docs.solidjs.com/reference/reactive-utilities/on
499
428
  */
500
- export declare function on<S, Next extends Prev, Prev = Next>(
501
- deps: AccessorArray<S> | Accessor<S>,
502
- fn: OnEffectFunction<S, undefined | NoInfer<Prev>, Next>,
503
- options?: OnOptions & {
429
+ export declare function on<S, Next extends Prev, Prev = Next>(deps: AccessorArray<S> | Accessor<S>, fn: OnEffectFunction<S, undefined | NoInfer<Prev>, Next>, options?: OnOptions & {
504
430
  defer?: false;
505
- }
506
- ): EffectFunction<undefined | NoInfer<Next>, NoInfer<Next>>;
507
- export declare function on<S, Next extends Prev, Prev = Next>(
508
- deps: AccessorArray<S> | Accessor<S>,
509
- fn: OnEffectFunction<S, undefined | NoInfer<Prev>, Next>,
510
- options:
511
- | OnOptions
512
- | {
513
- defer: true;
514
- }
515
- ): EffectFunction<undefined | NoInfer<Next>>;
431
+ }): EffectFunction<undefined | NoInfer<Next>, NoInfer<Next>>;
432
+ export declare function on<S, Next extends Prev, Prev = Next>(deps: AccessorArray<S> | Accessor<S>, fn: OnEffectFunction<S, undefined | NoInfer<Prev>, Next>, options: OnOptions | {
433
+ defer: true;
434
+ }): EffectFunction<undefined | NoInfer<Next>>;
516
435
  /**
517
436
  * Runs an effect only after initial render on mount
518
437
  * @param fn an effect that should run only once on mount
@@ -566,19 +485,19 @@ export type Transition = [Accessor<boolean>, (fn: () => void) => Promise<void>];
566
485
  export declare function useTransition(): Transition;
567
486
  export declare function resumeEffects(e: Computation<any>[]): void;
568
487
  export interface DevComponent<T> extends Memo<unknown> {
569
- props: T;
570
- name: string;
571
- component: (props: T) => unknown;
488
+ props: T;
489
+ name: string;
490
+ component: (props: T) => unknown;
572
491
  }
573
492
  export declare function devComponent<P, V>(Comp: (props: P) => V, props: P): V;
574
493
  export declare function registerGraph(value: SourceMapValue): void;
575
494
  export type ContextProviderComponent<T> = FlowComponent<{
576
- value: T;
495
+ value: T;
577
496
  }>;
578
497
  export interface Context<T> {
579
- id: symbol;
580
- Provider: ContextProviderComponent<T>;
581
- defaultValue: T;
498
+ id: symbol;
499
+ Provider: ContextProviderComponent<T>;
500
+ defaultValue: T;
582
501
  }
583
502
  /**
584
503
  * Creates a Context to handle a state scoped for the children of a component
@@ -599,10 +518,7 @@ export interface Context<T> {
599
518
  *
600
519
  * @description https://docs.solidjs.com/reference/component-apis/create-context
601
520
  */
602
- export declare function createContext<T>(
603
- defaultValue?: undefined,
604
- options?: EffectOptions
605
- ): Context<T | undefined>;
521
+ export declare function createContext<T>(defaultValue?: undefined, options?: EffectOptions): Context<T | undefined>;
606
522
  export declare function createContext<T>(defaultValue: T, options?: EffectOptions): Context<T>;
607
523
  /**
608
524
  * Uses a context to receive a scoped state from a parent's Context.Provider
@@ -616,7 +532,7 @@ export declare function useContext<T>(context: Context<T>): T;
616
532
  export type ResolvedJSXElement = Exclude<JSX.Element, JSX.ArrayElement>;
617
533
  export type ResolvedChildren = ResolvedJSXElement | ResolvedJSXElement[];
618
534
  export type ChildrenReturn = Accessor<ResolvedChildren> & {
619
- toArray: () => ResolvedJSXElement[];
535
+ toArray: () => ResolvedJSXElement[];
620
536
  };
621
537
  /**
622
538
  * Resolves child elements to help interact with children
@@ -628,29 +544,22 @@ export type ChildrenReturn = Accessor<ResolvedChildren> & {
628
544
  */
629
545
  export declare function children(fn: Accessor<JSX.Element>): ChildrenReturn;
630
546
  export type SuspenseContextType = {
631
- increment?: () => void;
632
- decrement?: () => void;
633
- inFallback?: () => boolean;
634
- effects?: Computation<any>[];
635
- resolved?: boolean;
547
+ increment?: () => void;
548
+ decrement?: () => void;
549
+ inFallback?: () => boolean;
550
+ effects?: Computation<any>[];
551
+ resolved?: boolean;
636
552
  };
637
553
  type SuspenseContext = Context<SuspenseContextType | undefined> & {
638
- active?(): boolean;
639
- increment?(): void;
640
- decrement?(): void;
554
+ active?(): boolean;
555
+ increment?(): void;
556
+ decrement?(): void;
641
557
  };
642
558
  declare let SuspenseContext: SuspenseContext;
643
559
  export declare function getSuspenseContext(): SuspenseContext;
644
- export declare function enableExternalSource(
645
- factory: ExternalSourceFactory,
646
- untrack?: <V>(fn: () => V) => V
647
- ): void;
560
+ export declare function enableExternalSource(factory: ExternalSourceFactory, untrack?: <V>(fn: () => V) => V): void;
648
561
  export declare function readSignal(this: SignalState<any> | Memo<any>): any;
649
- export declare function writeSignal(
650
- node: SignalState<any> | Memo<any>,
651
- value: any,
652
- isComp?: boolean
653
- ): any;
562
+ export declare function writeSignal(node: SignalState<any> | Memo<any>, value: any, isComp?: boolean): any;
654
563
  /**
655
564
  * @deprecated since version 1.7.0 and will be removed in next major - use catchError instead
656
565
  * onError - run an effect whenever an error is thrown within the context of the child scopes
@@ -5,9 +5,9 @@ import type { JSX } from "../jsx.js";
5
5
  * @description https://docs.solidjs.com/reference/components/suspense-list
6
6
  */
7
7
  export declare function SuspenseList(props: {
8
- children: JSX.Element;
9
- revealOrder: "forwards" | "backwards" | "together";
10
- tail?: "collapsed" | "hidden";
8
+ children: JSX.Element;
9
+ revealOrder: "forwards" | "backwards" | "together";
10
+ tail?: "collapsed" | "hidden";
11
11
  }): JSX.Element;
12
12
  /**
13
13
  * Tracks all resources inside a component and renders a fallback until they are all resolved
@@ -21,6 +21,6 @@ export declare function SuspenseList(props: {
21
21
  * @description https://docs.solidjs.com/reference/components/suspense
22
22
  */
23
23
  export declare function Suspense(props: {
24
- fallback?: JSX.Element;
25
- children: JSX.Element;
24
+ fallback?: JSX.Element;
25
+ children: JSX.Element;
26
26
  }): JSX.Element;