solid-js 1.9.6 → 1.9.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/dist/dev.cjs +26 -15
  2. package/dist/dev.js +334 -564
  3. package/dist/server.cjs +3 -1
  4. package/dist/server.js +83 -178
  5. package/dist/solid.cjs +26 -15
  6. package/dist/solid.js +290 -493
  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 +246 -234
  11. package/h/types/hyperscript.d.ts +11 -11
  12. package/html/dist/html.js +94 -219
  13. package/html/types/lit.d.ts +33 -52
  14. package/package.json +3 -3
  15. package/store/dist/dev.cjs +9 -5
  16. package/store/dist/dev.js +50 -126
  17. package/store/dist/server.js +8 -20
  18. package/store/dist/store.cjs +9 -5
  19. package/store/dist/store.js +47 -117
  20. package/store/types/index.d.ts +7 -21
  21. package/store/types/modifiers.d.ts +3 -6
  22. package/store/types/mutable.d.ts +2 -5
  23. package/store/types/server.d.ts +5 -25
  24. package/store/types/store.d.ts +61 -218
  25. package/types/index.d.ts +11 -78
  26. package/types/jsx.d.ts +245 -229
  27. package/types/reactive/array.d.ts +4 -12
  28. package/types/reactive/observable.d.ts +16 -22
  29. package/types/reactive/scheduler.d.ts +6 -9
  30. package/types/reactive/signal.d.ts +145 -236
  31. package/types/render/Suspense.d.ts +5 -5
  32. package/types/render/component.d.ts +37 -73
  33. package/types/render/flow.d.ts +31 -43
  34. package/types/render/hydration.d.ts +15 -15
  35. package/types/server/index.d.ts +2 -57
  36. package/types/server/reactive.d.ts +45 -76
  37. package/types/server/rendering.d.ts +98 -169
  38. package/universal/dist/dev.js +12 -28
  39. package/universal/dist/universal.js +12 -28
  40. package/universal/types/index.d.ts +2 -3
  41. package/universal/types/universal.d.ts +3 -2
  42. package/web/dist/dev.cjs +89 -6
  43. package/web/dist/dev.js +174 -646
  44. package/web/dist/server.cjs +90 -5
  45. package/web/dist/server.js +194 -647
  46. package/web/dist/web.cjs +89 -6
  47. package/web/dist/web.js +172 -634
  48. package/web/storage/dist/storage.js +3 -3
  49. package/web/types/core.d.ts +1 -9
  50. package/web/types/index.d.ts +11 -31
  51. package/web/types/server-mock.d.ts +32 -47
@@ -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;
@@ -11,7 +11,7 @@ export type Component<P extends Record<string, any> = {}> = (props: P) => JSX.El
11
11
  * would silently throw them away.
12
12
  */
13
13
  export type VoidProps<P extends Record<string, any> = {}> = P & {
14
- children?: never;
14
+ children?: never;
15
15
  };
16
16
  /**
17
17
  * `VoidComponent` forbids the `children` prop.
@@ -21,15 +21,15 @@ export type VoidProps<P extends Record<string, any> = {}> = P & {
21
21
  export type VoidComponent<P extends Record<string, any> = {}> = Component<VoidProps<P>>;
22
22
  /**
23
23
  * Extend props to allow an optional `children` prop with the usual
24
- * type in JSX, `JSX.Element` (which allows elements, arrays, functions, etc.).
24
+ * type in JSX, `JSX.Element` (which allows elements, arrays, strings, etc.).
25
25
  * Use this for components that you want to accept children.
26
26
  */
27
27
  export type ParentProps<P extends Record<string, any> = {}> = P & {
28
- children?: JSX.Element;
28
+ children?: JSX.Element;
29
29
  };
30
30
  /**
31
31
  * `ParentComponent` allows an optional `children` prop with the usual
32
- * type in JSX, `JSX.Element` (which allows elements, arrays, functions, etc.).
32
+ * type in JSX, `JSX.Element` (which allows elements, arrays, strings, etc.).
33
33
  * Use this for components that you want to accept children.
34
34
  */
35
35
  export type ParentComponent<P extends Record<string, any> = {}> = Component<ParentProps<P>>;
@@ -40,7 +40,7 @@ export type ParentComponent<P extends Record<string, any> = {}> = Component<Pare
40
40
  * Note that all JSX <Elements> are of the type `JSX.Element`.
41
41
  */
42
42
  export type FlowProps<P extends Record<string, any> = {}, C = JSX.Element> = P & {
43
- children: C;
43
+ children: C;
44
44
  };
45
45
  /**
46
46
  * `FlowComponent` requires a `children` prop with the specified type.
@@ -48,9 +48,7 @@ export type FlowProps<P extends Record<string, any> = {}, C = JSX.Element> = P &
48
48
  * typically a function that receives specific argument types.
49
49
  * Note that all JSX <Elements> are of the type `JSX.Element`.
50
50
  */
51
- export type FlowComponent<P extends Record<string, any> = {}, C = JSX.Element> = Component<
52
- FlowProps<P, C>
53
- >;
51
+ export type FlowComponent<P extends Record<string, any> = {}, C = JSX.Element> = Component<FlowProps<P, C>>;
54
52
  /** @deprecated: use `ParentProps` instead */
55
53
  export type PropsWithChildren<P extends Record<string, any> = {}> = ParentProps<P>;
56
54
  export type ValidComponent = keyof JSX.IntrinsicElements | Component<any> | (string & {});
@@ -61,87 +59,53 @@ export type ValidComponent = keyof JSX.IntrinsicElements | Component<any> | (str
61
59
  * ComponentProps<typeof Portal> // { mount?: Node; useShadow?: boolean; children: JSX.Element }
62
60
  * ComponentProps<'div'> // JSX.HTMLAttributes<HTMLDivElement>
63
61
  */
64
- export type ComponentProps<T extends ValidComponent> = T extends Component<infer P>
65
- ? P
66
- : T extends keyof JSX.IntrinsicElements
67
- ? JSX.IntrinsicElements[T]
68
- : Record<string, unknown>;
62
+ export type ComponentProps<T extends ValidComponent> = T extends Component<infer P> ? P : T extends keyof JSX.IntrinsicElements ? JSX.IntrinsicElements[T] : Record<string, unknown>;
69
63
  /**
70
64
  * Type of `props.ref`, for use in `Component` or `props` typing.
71
65
  *
72
66
  * @example Component<{ref: Ref<Element>}>
73
67
  */
74
68
  export type Ref<T> = T | ((val: T) => void);
75
- export declare function createComponent<T extends Record<string, any>>(
76
- Comp: Component<T>,
77
- props: T
78
- ): JSX.Element;
69
+ export declare function createComponent<T extends Record<string, any>>(Comp: Component<T>, props: T): JSX.Element;
79
70
  type DistributeOverride<T, F> = T extends undefined ? F : T;
80
- type Override<T, U> = T extends any
81
- ? U extends any
82
- ? {
83
- [K in keyof T]: K extends keyof U ? DistributeOverride<U[K], T[K]> : T[K];
84
- } & {
85
- [K in keyof U]: K extends keyof T ? DistributeOverride<U[K], T[K]> : U[K];
86
- }
87
- : T & U
88
- : T & U;
89
- type OverrideSpread<T, U> = T extends any
90
- ? {
91
- [K in keyof ({
71
+ type Override<T, U> = T extends any ? U extends any ? {
72
+ [K in keyof T]: K extends keyof U ? DistributeOverride<U[K], T[K]> : T[K];
73
+ } & {
74
+ [K in keyof U]: K extends keyof T ? DistributeOverride<U[K], T[K]> : U[K];
75
+ } : T & U : T & U;
76
+ type OverrideSpread<T, U> = T extends any ? {
77
+ [K in keyof ({
92
78
  [K in keyof T]: any;
93
- } & {
79
+ } & {
94
80
  [K in keyof U]?: any;
95
- } & {
81
+ } & {
96
82
  [K in U extends any ? keyof U : keyof U]?: any;
97
- })]: K extends keyof T
98
- ? Exclude<U extends any ? U[K & keyof U] : never, undefined> | T[K]
99
- : U extends any
100
- ? U[K & keyof U]
101
- : never;
102
- }
103
- : T & U;
104
- type Simplify<T> = T extends any
105
- ? {
106
- [K in keyof T]: T[K];
107
- }
108
- : T;
83
+ })]: K extends keyof T ? Exclude<U extends any ? U[K & keyof U] : never, undefined> | T[K] : U extends any ? U[K & keyof U] : never;
84
+ } : T & U;
85
+ type Simplify<T> = T extends any ? {
86
+ [K in keyof T]: T[K];
87
+ } : T;
109
88
  type _MergeProps<T extends unknown[], Curr = {}> = T extends [
110
- infer Next | (() => infer Next),
111
- ...infer Rest
112
- ]
113
- ? _MergeProps<Rest, Override<Curr, Next>>
114
- : T extends [...infer Rest, infer Next | (() => infer Next)]
115
- ? Override<_MergeProps<Rest, Curr>, Next>
116
- : T extends []
117
- ? Curr
118
- : T extends (infer I | (() => infer I))[]
119
- ? OverrideSpread<Curr, I>
120
- : Curr;
89
+ infer Next | (() => infer Next),
90
+ ...infer Rest
91
+ ] ? _MergeProps<Rest, Override<Curr, Next>> : T extends [...infer Rest, infer Next | (() => infer Next)] ? Override<_MergeProps<Rest, Curr>, Next> : T extends [] ? Curr : T extends (infer I | (() => infer I))[] ? OverrideSpread<Curr, I> : Curr;
121
92
  export type MergeProps<T extends unknown[]> = Simplify<_MergeProps<T>>;
122
93
  export declare function mergeProps<T extends unknown[]>(...sources: T): MergeProps<T>;
123
94
  export type SplitProps<T, K extends (readonly (keyof T)[])[]> = [
124
- ...{
125
- [P in keyof K]: P extends `${number}`
126
- ? Pick<T, Extract<K[P], readonly (keyof T)[]>[number]>
127
- : never;
128
- },
129
- {
130
- [P in keyof T as Exclude<P, K[number][number]>]: T[P];
131
- }
95
+ ...{
96
+ [P in keyof K]: P extends `${number}` ? Pick<T, Extract<K[P], readonly (keyof T)[]>[number]> : never;
97
+ },
98
+ {
99
+ [P in keyof T as Exclude<P, K[number][number]>]: T[P];
100
+ }
132
101
  ];
133
- export declare function splitProps<
134
- T extends Record<any, any>,
135
- K extends [readonly (keyof T)[], ...(readonly (keyof T)[])[]]
136
- >(props: T, ...keys: K): SplitProps<T, K>;
137
- export declare function lazy<T extends Component<any>>(
138
- fn: () => Promise<{
139
- default: T;
140
- }>
141
- ): T & {
142
- preload: () => Promise<{
102
+ export declare function splitProps<T extends Record<any, any>, K extends [readonly (keyof T)[], ...(readonly (keyof T)[])[]]>(props: T, ...keys: K): SplitProps<T, K>;
103
+ export declare function lazy<T extends Component<any>>(fn: () => Promise<{
143
104
  default: T;
144
- }>;
105
+ }>): T & {
106
+ preload: () => Promise<{
107
+ default: T;
108
+ }>;
145
109
  };
146
110
  export declare function createUniqueId(): string;
147
111
  export {};
@@ -14,9 +14,9 @@ import type { JSX } from "../jsx.js";
14
14
  * @description https://docs.solidjs.com/reference/components/for
15
15
  */
16
16
  export declare function For<T extends readonly any[], U extends JSX.Element>(props: {
17
- each: T | undefined | null | false;
18
- fallback?: JSX.Element;
19
- children: (item: T[number], index: Accessor<number>) => U;
17
+ each: T | undefined | null | false;
18
+ fallback?: JSX.Element;
19
+ children: (item: T[number], index: Accessor<number>) => U;
20
20
  }): JSX.Element;
21
21
  /**
22
22
  * Non-keyed iteration over a list creating elements from its items
@@ -32,32 +32,26 @@ export declare function For<T extends readonly any[], U extends JSX.Element>(pro
32
32
  * @description https://docs.solidjs.com/reference/components/index
33
33
  */
34
34
  export declare function Index<T extends readonly any[], U extends JSX.Element>(props: {
35
- each: T | undefined | null | false;
36
- fallback?: JSX.Element;
37
- children: (item: Accessor<T[number]>, index: number) => U;
35
+ each: T | undefined | null | false;
36
+ fallback?: JSX.Element;
37
+ children: (item: Accessor<T[number]>, index: number) => U;
38
38
  }): JSX.Element;
39
39
  type RequiredParameter<T> = T extends () => unknown ? never : T;
40
40
  /**
41
41
  * Conditionally render its children or an optional fallback component
42
42
  * @description https://docs.solidjs.com/reference/components/show
43
43
  */
44
- export declare function Show<
45
- T,
46
- TRenderFunction extends (item: Accessor<NonNullable<T>>) => JSX.Element
47
- >(props: {
48
- when: T | undefined | null | false;
49
- keyed?: false;
50
- fallback?: JSX.Element;
51
- children: JSX.Element | RequiredParameter<TRenderFunction>;
44
+ export declare function Show<T, TRenderFunction extends (item: Accessor<NonNullable<T>>) => JSX.Element>(props: {
45
+ when: T | undefined | null | false;
46
+ keyed?: false;
47
+ fallback?: JSX.Element;
48
+ children: JSX.Element | RequiredParameter<TRenderFunction>;
52
49
  }): JSX.Element;
53
- export declare function Show<
54
- T,
55
- TRenderFunction extends (item: NonNullable<T>) => JSX.Element
56
- >(props: {
57
- when: T | undefined | null | false;
58
- keyed: true;
59
- fallback?: JSX.Element;
60
- children: JSX.Element | RequiredParameter<TRenderFunction>;
50
+ export declare function Show<T, TRenderFunction extends (item: NonNullable<T>) => JSX.Element>(props: {
51
+ when: T | undefined | null | false;
52
+ keyed: true;
53
+ fallback?: JSX.Element;
54
+ children: JSX.Element | RequiredParameter<TRenderFunction>;
61
55
  }): JSX.Element;
62
56
  /**
63
57
  * Switches between content based on mutually exclusive conditions
@@ -74,13 +68,13 @@ export declare function Show<
74
68
  * @description https://docs.solidjs.com/reference/components/switch-and-match
75
69
  */
76
70
  export declare function Switch(props: {
77
- fallback?: JSX.Element;
78
- children: JSX.Element;
71
+ fallback?: JSX.Element;
72
+ children: JSX.Element;
79
73
  }): JSX.Element;
80
74
  export type MatchProps<T> = {
81
- when: T | undefined | null | false;
82
- keyed?: boolean;
83
- children: JSX.Element | ((item: NonNullable<T> | Accessor<NonNullable<T>>) => JSX.Element);
75
+ when: T | undefined | null | false;
76
+ keyed?: boolean;
77
+ children: JSX.Element | ((item: NonNullable<T> | Accessor<NonNullable<T>>) => JSX.Element);
84
78
  };
85
79
  /**
86
80
  * Selects a content based on condition when inside a `<Switch>` control flow
@@ -91,21 +85,15 @@ export type MatchProps<T> = {
91
85
  * ```
92
86
  * @description https://docs.solidjs.com/reference/components/switch-and-match
93
87
  */
94
- export declare function Match<
95
- T,
96
- TRenderFunction extends (item: Accessor<NonNullable<T>>) => JSX.Element
97
- >(props: {
98
- when: T | undefined | null | false;
99
- keyed?: false;
100
- children: JSX.Element | RequiredParameter<TRenderFunction>;
88
+ export declare function Match<T, TRenderFunction extends (item: Accessor<NonNullable<T>>) => JSX.Element>(props: {
89
+ when: T | undefined | null | false;
90
+ keyed?: false;
91
+ children: JSX.Element | RequiredParameter<TRenderFunction>;
101
92
  }): JSX.Element;
102
- export declare function Match<
103
- T,
104
- TRenderFunction extends (item: NonNullable<T>) => JSX.Element
105
- >(props: {
106
- when: T | undefined | null | false;
107
- keyed: true;
108
- children: JSX.Element | RequiredParameter<TRenderFunction>;
93
+ export declare function Match<T, TRenderFunction extends (item: NonNullable<T>) => JSX.Element>(props: {
94
+ when: T | undefined | null | false;
95
+ keyed: true;
96
+ children: JSX.Element | RequiredParameter<TRenderFunction>;
109
97
  }): JSX.Element;
110
98
  export declare function resetErrorBoundaries(): void;
111
99
  /**
@@ -124,7 +112,7 @@ export declare function resetErrorBoundaries(): void;
124
112
  * @description https://docs.solidjs.com/reference/components/error-boundary
125
113
  */
126
114
  export declare function ErrorBoundary(props: {
127
- fallback: JSX.Element | ((err: any, reset: () => void) => JSX.Element);
128
- children: JSX.Element;
115
+ fallback: JSX.Element | ((err: any, reset: () => void) => JSX.Element);
116
+ children: JSX.Element;
129
117
  }): JSX.Element;
130
118
  export {};
@@ -1,22 +1,22 @@
1
1
  import { Computation } from "../reactive/signal.js";
2
2
  export type HydrationContext = {
3
- id: string;
4
- count: number;
3
+ id: string;
4
+ count: number;
5
5
  };
6
6
  type SharedConfig = {
7
- context?: HydrationContext;
8
- resources?: {
9
- [key: string]: any;
10
- };
11
- load?: (id: string) => Promise<any> | any;
12
- has?: (id: string) => boolean;
13
- gather?: (key: string) => void;
14
- registry?: Map<string, Element>;
15
- done?: boolean;
16
- count?: number;
17
- effects?: Computation<any, any>[];
18
- getContextId(): string;
19
- getNextContextId(): string;
7
+ context?: HydrationContext;
8
+ resources?: {
9
+ [key: string]: any;
10
+ };
11
+ load?: (id: string) => Promise<any> | any;
12
+ has?: (id: string) => boolean;
13
+ gather?: (key: string) => void;
14
+ registry?: Map<string, Element>;
15
+ done?: boolean;
16
+ count?: number;
17
+ effects?: Computation<any, any>[];
18
+ getContextId(): string;
19
+ getNextContextId(): string;
20
20
  };
21
21
  export declare const sharedConfig: SharedConfig;
22
22
  export declare function setHydrateContext(context?: HydrationContext): void;
@@ -1,58 +1,3 @@
1
- export {
2
- catchError,
3
- createRoot,
4
- createSignal,
5
- createComputed,
6
- createRenderEffect,
7
- createEffect,
8
- createReaction,
9
- createDeferred,
10
- createSelector,
11
- createMemo,
12
- getListener,
13
- onMount,
14
- onCleanup,
15
- onError,
16
- untrack,
17
- batch,
18
- on,
19
- children,
20
- createContext,
21
- useContext,
22
- getOwner,
23
- runWithOwner,
24
- equalFn,
25
- requestCallback,
26
- mapArray,
27
- indexArray,
28
- observable,
29
- from,
30
- $PROXY,
31
- $DEVCOMP,
32
- $TRACK,
33
- DEV,
34
- enableExternalSource
35
- } from "./reactive.js";
36
- export {
37
- mergeProps,
38
- splitProps,
39
- createComponent,
40
- For,
41
- Index,
42
- Show,
43
- Switch,
44
- Match,
45
- ErrorBoundary,
46
- Suspense,
47
- SuspenseList,
48
- createResource,
49
- resetErrorBoundaries,
50
- enableScheduling,
51
- enableHydration,
52
- startTransition,
53
- useTransition,
54
- createUniqueId,
55
- lazy,
56
- sharedConfig
57
- } from "./rendering.js";
1
+ export { catchError, createRoot, createSignal, createComputed, createRenderEffect, createEffect, createReaction, createDeferred, createSelector, createMemo, getListener, onMount, onCleanup, onError, untrack, batch, on, children, createContext, useContext, getOwner, runWithOwner, equalFn, requestCallback, mapArray, indexArray, observable, from, $PROXY, $DEVCOMP, $TRACK, DEV, enableExternalSource } from "./reactive.js";
2
+ export { mergeProps, splitProps, createComponent, For, Index, Show, Switch, Match, ErrorBoundary, Suspense, SuspenseList, createResource, resetErrorBoundaries, enableScheduling, enableHydration, startTransition, useTransition, createUniqueId, lazy, sharedConfig } from "./rendering.js";
58
3
  export type { Component, Resource } from "./rendering.js";
@@ -4,123 +4,92 @@ export declare const $TRACK: unique symbol;
4
4
  export declare const $DEVCOMP: unique symbol;
5
5
  export declare const DEV: undefined;
6
6
  export type Accessor<T> = () => T;
7
- export type Setter<T> = undefined extends T
8
- ? <U extends T>(value?: (U extends Function ? never : U) | ((prev?: T) => U)) => U
9
- : <U extends T>(value: (U extends Function ? never : U) | ((prev: T) => U)) => U;
7
+ export type Setter<T> = undefined extends T ? <U extends T>(value?: (U extends Function ? never : U) | ((prev?: T) => U)) => U : <U extends T>(value: (U extends Function ? never : U) | ((prev: T) => U)) => U;
10
8
  export type Signal<T> = [get: Accessor<T>, set: Setter<T>];
11
9
  export declare function castError(err: unknown): Error;
12
10
  export declare let Owner: Owner | null;
13
11
  interface Owner {
14
- owner: Owner | null;
15
- context: any | null;
16
- owned: Owner[] | null;
17
- cleanups: (() => void)[] | null;
12
+ owner: Owner | null;
13
+ context: any | null;
14
+ owned: Owner[] | null;
15
+ cleanups: (() => void)[] | null;
18
16
  }
19
17
  export declare function createOwner(): Owner;
20
- export declare function createRoot<T>(
21
- fn: (dispose: () => void) => T,
22
- detachedOwner?: typeof Owner
23
- ): T;
24
- export declare function createSignal<T>(
25
- value: T,
26
- options?: {
18
+ export declare function createRoot<T>(fn: (dispose: () => void) => T, detachedOwner?: typeof Owner): T;
19
+ export declare function createSignal<T>(value: T, options?: {
27
20
  equals?: false | ((prev: T, next: T) => boolean);
28
21
  name?: string;
29
- }
30
- ): [get: () => T, set: (v: (T extends Function ? never : T) | ((prev: T) => T)) => T];
22
+ }): [get: () => T, set: (v: (T extends Function ? never : T) | ((prev: T) => T)) => T];
31
23
  export declare function createComputed<T>(fn: (v?: T) => T, value?: T): void;
32
24
  export declare const createRenderEffect: typeof createComputed;
33
25
  export declare function createEffect<T>(fn: (v?: T) => T, value?: T): void;
34
26
  export declare function createReaction(fn: () => void): (fn: () => void) => void;
35
27
  export declare function createMemo<T>(fn: (v?: T) => T, value?: T): () => T;
36
28
  export declare function createDeferred<T>(source: () => T): () => T;
37
- export declare function createSelector<T>(
38
- source: () => T,
39
- fn?: (k: T, value: T) => boolean
40
- ): (k: T) => boolean;
29
+ export declare function createSelector<T>(source: () => T, fn?: (k: T, value: T) => boolean): (k: T) => boolean;
41
30
  export declare function batch<T>(fn: () => T): T;
42
31
  export declare const untrack: typeof batch;
43
- export declare function on<T, U>(
44
- deps: Array<() => T> | (() => T),
45
- fn: (value: Array<T> | T, prev?: Array<T> | T, prevResults?: U) => U,
46
- options?: {
32
+ export declare function on<T, U>(deps: Array<() => T> | (() => T), fn: (value: Array<T> | T, prev?: Array<T> | T, prevResults?: U) => U, options?: {
47
33
  defer?: boolean;
48
- }
49
- ): (prev?: U) => U | undefined;
34
+ }): (prev?: U) => U | undefined;
50
35
  export declare function onMount(fn: () => void): void;
51
36
  export declare function onCleanup(fn: () => void): () => void;
52
37
  export declare function cleanNode(node: Owner): void;
53
38
  export declare function catchError<T>(fn: () => T, handler: (err: Error) => void): T | undefined;
54
39
  export declare function getListener(): null;
55
40
  export interface Context<T> {
56
- id: symbol;
57
- Provider: (props: { value: T; children: any }) => any;
58
- defaultValue?: T;
41
+ id: symbol;
42
+ Provider: (props: {
43
+ value: T;
44
+ children: any;
45
+ }) => any;
46
+ defaultValue?: T;
59
47
  }
60
48
  export declare function createContext<T>(defaultValue?: T): Context<T>;
61
49
  export declare function useContext<T>(context: Context<T>): T;
62
50
  export declare function getOwner(): Owner | null;
63
51
  type ChildrenReturn = Accessor<any> & {
64
- toArray: () => any[];
52
+ toArray: () => any[];
65
53
  };
66
54
  export declare function children(fn: () => any): ChildrenReturn;
67
55
  export declare function runWithOwner<T>(o: typeof Owner, fn: () => T): T | undefined;
68
56
  export interface Task {
69
- id: number;
70
- fn: ((didTimeout: boolean) => void) | null;
71
- startTime: number;
72
- expirationTime: number;
57
+ id: number;
58
+ fn: ((didTimeout: boolean) => void) | null;
59
+ startTime: number;
60
+ expirationTime: number;
73
61
  }
74
- export declare function requestCallback(
75
- fn: () => void,
76
- options?: {
62
+ export declare function requestCallback(fn: () => void, options?: {
77
63
  timeout: number;
78
- }
79
- ): Task;
64
+ }): Task;
80
65
  export declare function cancelCallback(task: Task): void;
81
- export declare function mapArray<T, U>(
82
- list: Accessor<readonly T[] | undefined | null | false>,
83
- mapFn: (v: T, i: Accessor<number>) => U,
84
- options?: {
66
+ export declare function mapArray<T, U>(list: Accessor<readonly T[] | undefined | null | false>, mapFn: (v: T, i: Accessor<number>) => U, options?: {
85
67
  fallback?: Accessor<any>;
86
- }
87
- ): () => U[];
88
- export declare function indexArray<T, U>(
89
- list: Accessor<readonly T[] | undefined | null | false>,
90
- mapFn: (v: Accessor<T>, i: number) => U,
91
- options?: {
68
+ }): () => U[];
69
+ export declare function indexArray<T, U>(list: Accessor<readonly T[] | undefined | null | false>, mapFn: (v: Accessor<T>, i: number) => U, options?: {
92
70
  fallback?: Accessor<any>;
93
- }
94
- ): () => U[];
95
- export type ObservableObserver<T> =
96
- | ((v: T) => void)
97
- | {
98
- next: (v: T) => void;
99
- error?: (v: any) => void;
100
- complete?: (v: boolean) => void;
101
- };
71
+ }): () => U[];
72
+ export type ObservableObserver<T> = ((v: T) => void) | {
73
+ next: (v: T) => void;
74
+ error?: (v: any) => void;
75
+ complete?: (v: boolean) => void;
76
+ };
102
77
  export declare function observable<T>(input: Accessor<T>): {
103
- subscribe(observer: ObservableObserver<T>): {
104
- unsubscribe(): void;
105
- };
106
- [Symbol.observable](): {
107
78
  subscribe(observer: ObservableObserver<T>): {
108
- unsubscribe(): void;
79
+ unsubscribe(): void;
80
+ };
81
+ [Symbol.observable](): {
82
+ subscribe(observer: ObservableObserver<T>): {
83
+ unsubscribe(): void;
84
+ };
85
+ [Symbol.observable](): /*elided*/ any;
109
86
  };
110
- [Symbol.observable](): /*elided*/ any;
111
- };
112
87
  };
113
- export declare function from<T>(
114
- producer:
115
- | ((setter: Setter<T>) => () => void)
116
- | {
117
- subscribe: (fn: (v: T) => void) =>
118
- | (() => void)
119
- | {
120
- unsubscribe: () => void;
121
- };
122
- }
123
- ): Accessor<T>;
88
+ export declare function from<T>(producer: ((setter: Setter<T>) => () => void) | {
89
+ subscribe: (fn: (v: T) => void) => (() => void) | {
90
+ unsubscribe: () => void;
91
+ };
92
+ }): Accessor<T>;
124
93
  export declare function enableExternalSource(factory: any): void;
125
94
  /**
126
95
  * @deprecated since version 1.7.0 and will be removed in next major - use catchError instead