solid-js 2.0.0-experimental.1 → 2.0.0-experimental.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.
- package/LICENSE +1 -1
- package/dist/dev.cjs +44 -38
- package/dist/dev.js +234 -98
- package/dist/server.js +181 -81
- package/dist/solid.cjs +38 -36
- package/dist/solid.js +202 -78
- package/package.json +2 -2
- package/types/client/component.d.ts +22 -11
- package/types/client/core.d.ts +11 -8
- package/types/client/flow.d.ts +20 -20
- package/types/client/hydration.d.ts +14 -14
- package/types/client/observable.d.ts +24 -16
- package/types/index.d.ts +65 -8
- package/types/server/index.d.ts +56 -2
- package/types/server/reactive.d.ts +76 -45
- package/types/server/rendering.d.ts +169 -98
package/types/index.d.ts
CHANGED
|
@@ -1,7 +1,62 @@
|
|
|
1
|
-
export {
|
|
2
|
-
|
|
1
|
+
export {
|
|
2
|
+
$PROXY,
|
|
3
|
+
$TRACK,
|
|
4
|
+
$RAW,
|
|
5
|
+
catchError,
|
|
6
|
+
createAsync,
|
|
7
|
+
createEffect,
|
|
8
|
+
createMemo,
|
|
9
|
+
createProjection,
|
|
10
|
+
createRenderEffect,
|
|
11
|
+
createRoot,
|
|
12
|
+
createSignal,
|
|
13
|
+
createStore,
|
|
14
|
+
flatten,
|
|
15
|
+
flushSync,
|
|
16
|
+
getObserver,
|
|
17
|
+
getOwner,
|
|
18
|
+
isEqual,
|
|
19
|
+
isPending,
|
|
20
|
+
isWrappable,
|
|
21
|
+
latest,
|
|
22
|
+
mapArray,
|
|
23
|
+
merge,
|
|
24
|
+
omit,
|
|
25
|
+
onCleanup,
|
|
26
|
+
reconcile,
|
|
27
|
+
repeat,
|
|
28
|
+
resolve,
|
|
29
|
+
runWithObserver,
|
|
30
|
+
runWithOwner,
|
|
31
|
+
untrack,
|
|
32
|
+
unwrap
|
|
33
|
+
} from "@solidjs/signals";
|
|
34
|
+
export type {
|
|
35
|
+
Accessor,
|
|
36
|
+
ComputeFunction,
|
|
37
|
+
EffectFunction,
|
|
38
|
+
EffectOptions,
|
|
39
|
+
Merge,
|
|
40
|
+
NoInfer,
|
|
41
|
+
NotWrappable,
|
|
42
|
+
Omit,
|
|
43
|
+
Owner,
|
|
44
|
+
Signal,
|
|
45
|
+
SignalOptions,
|
|
46
|
+
Setter,
|
|
47
|
+
Store,
|
|
48
|
+
SolidStore,
|
|
49
|
+
StoreNode,
|
|
50
|
+
StoreSetter
|
|
51
|
+
} from "@solidjs/signals";
|
|
3
52
|
export { $DEVCOMP, children, createContext, onMount, useContext } from "./client/core.js";
|
|
4
|
-
export type {
|
|
53
|
+
export type {
|
|
54
|
+
ChildrenReturn,
|
|
55
|
+
Context,
|
|
56
|
+
ContextProviderComponent,
|
|
57
|
+
ResolvedChildren,
|
|
58
|
+
ResolvedJSXElement
|
|
59
|
+
} from "./client/core.js";
|
|
5
60
|
export * from "./client/observable.js";
|
|
6
61
|
export * from "./client/component.js";
|
|
7
62
|
export * from "./client/flow.js";
|
|
@@ -10,10 +65,12 @@ import type { JSX } from "./jsx.js";
|
|
|
10
65
|
type JSXElement = JSX.Element;
|
|
11
66
|
export type { JSXElement, JSX };
|
|
12
67
|
import { registerGraph } from "./client/core.js";
|
|
13
|
-
export declare const DEV:
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
68
|
+
export declare const DEV:
|
|
69
|
+
| {
|
|
70
|
+
readonly hooks: {};
|
|
71
|
+
readonly registerGraph: typeof registerGraph;
|
|
72
|
+
}
|
|
73
|
+
| undefined;
|
|
17
74
|
declare global {
|
|
18
|
-
|
|
75
|
+
var Solid$$: boolean;
|
|
19
76
|
}
|
package/types/server/index.d.ts
CHANGED
|
@@ -1,4 +1,58 @@
|
|
|
1
|
-
export {
|
|
2
|
-
|
|
1
|
+
export {
|
|
2
|
+
catchError,
|
|
3
|
+
createRoot,
|
|
4
|
+
createSignal,
|
|
5
|
+
createRenderEffect,
|
|
6
|
+
createEffect,
|
|
7
|
+
createReaction,
|
|
8
|
+
createDeferred,
|
|
9
|
+
createSelector,
|
|
10
|
+
createMemo,
|
|
11
|
+
getListener,
|
|
12
|
+
onMount,
|
|
13
|
+
onCleanup,
|
|
14
|
+
onError,
|
|
15
|
+
untrack,
|
|
16
|
+
batch,
|
|
17
|
+
on,
|
|
18
|
+
children,
|
|
19
|
+
createContext,
|
|
20
|
+
useContext,
|
|
21
|
+
getOwner,
|
|
22
|
+
runWithOwner,
|
|
23
|
+
equalFn,
|
|
24
|
+
requestCallback,
|
|
25
|
+
mapArray,
|
|
26
|
+
indexArray,
|
|
27
|
+
observable,
|
|
28
|
+
from,
|
|
29
|
+
$PROXY,
|
|
30
|
+
$DEVCOMP,
|
|
31
|
+
$TRACK,
|
|
32
|
+
DEV,
|
|
33
|
+
enableExternalSource
|
|
34
|
+
} from "./reactive.js";
|
|
35
|
+
export {
|
|
36
|
+
mergeProps,
|
|
37
|
+
splitProps,
|
|
38
|
+
createComponent,
|
|
39
|
+
For,
|
|
40
|
+
Index,
|
|
41
|
+
Show,
|
|
42
|
+
Switch,
|
|
43
|
+
Match,
|
|
44
|
+
ErrorBoundary,
|
|
45
|
+
Suspense,
|
|
46
|
+
SuspenseList,
|
|
47
|
+
createResource,
|
|
48
|
+
resetErrorBoundaries,
|
|
49
|
+
enableScheduling,
|
|
50
|
+
enableHydration,
|
|
51
|
+
startTransition,
|
|
52
|
+
useTransition,
|
|
53
|
+
createUniqueId,
|
|
54
|
+
lazy,
|
|
55
|
+
sharedConfig
|
|
56
|
+
} from "./rendering.js";
|
|
3
57
|
export type { Component, Resource } from "./rendering.js";
|
|
4
58
|
export * from "./store.js";
|
|
@@ -4,92 +4,123 @@ 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
|
|
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;
|
|
8
10
|
export type Signal<T> = [get: Accessor<T>, set: Setter<T>];
|
|
9
11
|
export declare function castError(err: unknown): Error;
|
|
10
12
|
export declare let Owner: Owner | null;
|
|
11
13
|
interface Owner {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
owner: Owner | null;
|
|
15
|
+
context: any | null;
|
|
16
|
+
owned: Owner[] | null;
|
|
17
|
+
cleanups: (() => void)[] | null;
|
|
16
18
|
}
|
|
17
19
|
export declare function createOwner(): Owner;
|
|
18
|
-
export declare function createRoot<T>(
|
|
19
|
-
|
|
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?: {
|
|
20
27
|
equals?: false | ((prev: T, next: T) => boolean);
|
|
21
28
|
name?: string;
|
|
22
|
-
}
|
|
29
|
+
}
|
|
30
|
+
): [get: () => T, set: (v: (T extends Function ? never : T) | ((prev: T) => T)) => T];
|
|
23
31
|
export declare function createComputed<T>(fn: (v?: T) => T, value?: T): void;
|
|
24
32
|
export declare const createRenderEffect: typeof createComputed;
|
|
25
33
|
export declare function createEffect<T>(fn: (v?: T) => T, value?: T): void;
|
|
26
34
|
export declare function createReaction(fn: () => void): (fn: () => void) => void;
|
|
27
35
|
export declare function createMemo<T>(fn: (v?: T) => T, value?: T): () => T;
|
|
28
36
|
export declare function createDeferred<T>(source: () => T): () => T;
|
|
29
|
-
export declare function createSelector<T>(
|
|
37
|
+
export declare function createSelector<T>(
|
|
38
|
+
source: () => T,
|
|
39
|
+
fn?: (k: T, value: T) => boolean
|
|
40
|
+
): (k: T) => boolean;
|
|
30
41
|
export declare function batch<T>(fn: () => T): T;
|
|
31
42
|
export declare const untrack: typeof batch;
|
|
32
|
-
export declare function on<T, U>(
|
|
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?: {
|
|
33
47
|
defer?: boolean;
|
|
34
|
-
}
|
|
48
|
+
}
|
|
49
|
+
): (prev?: U) => U | undefined;
|
|
35
50
|
export declare function onMount(fn: () => void): void;
|
|
36
51
|
export declare function onCleanup(fn: () => void): () => void;
|
|
37
52
|
export declare function cleanNode(node: Owner): void;
|
|
38
53
|
export declare function catchError<T>(fn: () => T, handler: (err: Error) => void): T | undefined;
|
|
39
54
|
export declare function getListener(): null;
|
|
40
55
|
export interface Context<T> {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
children: any;
|
|
45
|
-
}) => any;
|
|
46
|
-
defaultValue?: T;
|
|
56
|
+
id: symbol;
|
|
57
|
+
Provider: (props: { value: T; children: any }) => any;
|
|
58
|
+
defaultValue?: T;
|
|
47
59
|
}
|
|
48
60
|
export declare function createContext<T>(defaultValue?: T): Context<T>;
|
|
49
61
|
export declare function useContext<T>(context: Context<T>): T;
|
|
50
62
|
export declare function getOwner(): Owner | null;
|
|
51
63
|
type ChildrenReturn = Accessor<any> & {
|
|
52
|
-
|
|
64
|
+
toArray: () => any[];
|
|
53
65
|
};
|
|
54
66
|
export declare function children(fn: () => any): ChildrenReturn;
|
|
55
67
|
export declare function runWithOwner<T>(o: typeof Owner, fn: () => T): T | undefined;
|
|
56
68
|
export interface Task {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
69
|
+
id: number;
|
|
70
|
+
fn: ((didTimeout: boolean) => void) | null;
|
|
71
|
+
startTime: number;
|
|
72
|
+
expirationTime: number;
|
|
61
73
|
}
|
|
62
|
-
export declare function requestCallback(
|
|
74
|
+
export declare function requestCallback(
|
|
75
|
+
fn: () => void,
|
|
76
|
+
options?: {
|
|
63
77
|
timeout: number;
|
|
64
|
-
}
|
|
78
|
+
}
|
|
79
|
+
): Task;
|
|
65
80
|
export declare function cancelCallback(task: Task): void;
|
|
66
|
-
export declare function mapArray<T, U>(
|
|
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?: {
|
|
67
85
|
fallback?: Accessor<any>;
|
|
68
|
-
}
|
|
69
|
-
|
|
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?: {
|
|
70
92
|
fallback?: Accessor<any>;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
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
|
+
};
|
|
77
102
|
export declare function observable<T>(input: Accessor<T>): {
|
|
103
|
+
subscribe(observer: ObservableObserver<T>): {
|
|
104
|
+
unsubscribe(): void;
|
|
105
|
+
};
|
|
106
|
+
[Symbol.observable](): {
|
|
78
107
|
subscribe(observer: ObservableObserver<T>): {
|
|
79
|
-
|
|
80
|
-
};
|
|
81
|
-
[Symbol.observable](): {
|
|
82
|
-
subscribe(observer: ObservableObserver<T>): {
|
|
83
|
-
unsubscribe(): void;
|
|
84
|
-
};
|
|
85
|
-
[Symbol.observable](): /*elided*/ any;
|
|
108
|
+
unsubscribe(): void;
|
|
86
109
|
};
|
|
110
|
+
[Symbol.observable](): /*elided*/ any;
|
|
111
|
+
};
|
|
87
112
|
};
|
|
88
|
-
export declare function from<T>(
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
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>;
|
|
93
124
|
export declare function enableExternalSource(factory: any): void;
|
|
94
125
|
/**
|
|
95
126
|
* @deprecated since version 1.7.0 and will be removed in next major - use catchError instead
|
|
@@ -2,158 +2,229 @@ import { Accessor, Setter, Signal } from "./reactive.js";
|
|
|
2
2
|
import type { JSX } from "../jsx.js";
|
|
3
3
|
export type Component<P = {}> = (props: P) => JSX.Element;
|
|
4
4
|
export type VoidProps<P = {}> = P & {
|
|
5
|
-
|
|
5
|
+
children?: never;
|
|
6
6
|
};
|
|
7
7
|
export type VoidComponent<P = {}> = Component<VoidProps<P>>;
|
|
8
8
|
export type ParentProps<P = {}> = P & {
|
|
9
|
-
|
|
9
|
+
children?: JSX.Element;
|
|
10
10
|
};
|
|
11
11
|
export type ParentComponent<P = {}> = Component<ParentProps<P>>;
|
|
12
12
|
export type FlowProps<P = {}, C = JSX.Element> = P & {
|
|
13
|
-
|
|
13
|
+
children: C;
|
|
14
14
|
};
|
|
15
15
|
export type FlowComponent<P = {}, C = JSX.Element> = Component<FlowProps<P, C>>;
|
|
16
16
|
export type Ref<T> = T | ((val: T) => void);
|
|
17
17
|
export type ValidComponent = keyof JSX.IntrinsicElements | Component<any> | (string & {});
|
|
18
|
-
export type ComponentProps<T extends ValidComponent> = T extends Component<infer P>
|
|
18
|
+
export type ComponentProps<T extends ValidComponent> = T extends Component<infer P>
|
|
19
|
+
? P
|
|
20
|
+
: T extends keyof JSX.IntrinsicElements
|
|
21
|
+
? JSX.IntrinsicElements[T]
|
|
22
|
+
: Record<string, unknown>;
|
|
19
23
|
type SharedConfig = {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
24
|
+
context?: HydrationContext;
|
|
25
|
+
getContextId(): string;
|
|
26
|
+
getNextContextId(): string;
|
|
23
27
|
};
|
|
24
28
|
export declare const sharedConfig: SharedConfig;
|
|
25
29
|
export declare function createUniqueId(): string;
|
|
26
30
|
export declare function createComponent<T>(Comp: (props: T) => JSX.Element, props: T): JSX.Element;
|
|
27
31
|
export declare function mergeProps<T, U>(source: T, source1: U): T & U;
|
|
28
32
|
export declare function mergeProps<T, U, V>(source: T, source1: U, source2: V): T & U & V;
|
|
29
|
-
export declare function mergeProps<T, U, V, W>(
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
33
|
+
export declare function mergeProps<T, U, V, W>(
|
|
34
|
+
source: T,
|
|
35
|
+
source1: U,
|
|
36
|
+
source2: V,
|
|
37
|
+
source3: W
|
|
38
|
+
): T & U & V & W;
|
|
39
|
+
export declare function splitProps<T extends object, K1 extends keyof T>(
|
|
40
|
+
props: T,
|
|
41
|
+
...keys: [K1[]]
|
|
42
|
+
): [Pick<T, K1>, Omit<T, K1>];
|
|
43
|
+
export declare function splitProps<T extends object, K1 extends keyof T, K2 extends keyof T>(
|
|
44
|
+
props: T,
|
|
45
|
+
...keys: [K1[], K2[]]
|
|
46
|
+
): [Pick<T, K1>, Pick<T, K2>, Omit<T, K1 | K2>];
|
|
47
|
+
export declare function splitProps<
|
|
48
|
+
T extends object,
|
|
49
|
+
K1 extends keyof T,
|
|
50
|
+
K2 extends keyof T,
|
|
51
|
+
K3 extends keyof T
|
|
52
|
+
>(
|
|
53
|
+
props: T,
|
|
54
|
+
...keys: [K1[], K2[], K3[]]
|
|
55
|
+
): [Pick<T, K1>, Pick<T, K2>, Pick<T, K3>, Omit<T, K1 | K2 | K3>];
|
|
56
|
+
export declare function splitProps<
|
|
57
|
+
T extends object,
|
|
58
|
+
K1 extends keyof T,
|
|
59
|
+
K2 extends keyof T,
|
|
60
|
+
K3 extends keyof T,
|
|
61
|
+
K4 extends keyof T
|
|
62
|
+
>(
|
|
63
|
+
props: T,
|
|
64
|
+
...keys: [K1[], K2[], K3[], K4[]]
|
|
65
|
+
): [Pick<T, K1>, Pick<T, K2>, Pick<T, K3>, Pick<T, K4>, Omit<T, K1 | K2 | K3 | K4>];
|
|
66
|
+
export declare function splitProps<
|
|
67
|
+
T extends object,
|
|
68
|
+
K1 extends keyof T,
|
|
69
|
+
K2 extends keyof T,
|
|
70
|
+
K3 extends keyof T,
|
|
71
|
+
K4 extends keyof T,
|
|
72
|
+
K5 extends keyof T
|
|
73
|
+
>(
|
|
74
|
+
props: T,
|
|
75
|
+
...keys: [K1[], K2[], K3[], K4[], K5[]]
|
|
76
|
+
): [
|
|
77
|
+
Pick<T, K1>,
|
|
78
|
+
Pick<T, K2>,
|
|
79
|
+
Pick<T, K3>,
|
|
80
|
+
Pick<T, K4>,
|
|
81
|
+
Pick<T, K5>,
|
|
82
|
+
Omit<T, K1 | K2 | K3 | K4 | K5>
|
|
41
83
|
];
|
|
42
84
|
export declare function For<T>(props: {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
85
|
+
each: T[];
|
|
86
|
+
fallback?: string;
|
|
87
|
+
children: (item: T, index: () => number) => string;
|
|
46
88
|
}): string | any[] | undefined;
|
|
47
89
|
export declare function Index<T>(props: {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
90
|
+
each: T[];
|
|
91
|
+
fallback?: string;
|
|
92
|
+
children: (item: () => T, index: number) => string;
|
|
51
93
|
}): string | any[] | undefined;
|
|
52
94
|
/**
|
|
53
95
|
* Conditionally render its children or an optional fallback component
|
|
54
96
|
* @description https://docs.solidjs.com/reference/components/show
|
|
55
97
|
*/
|
|
56
98
|
export declare function Show<T>(props: {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
99
|
+
when: T | undefined | null | false;
|
|
100
|
+
keyed?: boolean;
|
|
101
|
+
fallback?: string;
|
|
102
|
+
children: string | ((item: NonNullable<T> | Accessor<NonNullable<T>>) => string);
|
|
61
103
|
}): string;
|
|
62
104
|
export declare function Switch(props: {
|
|
63
|
-
|
|
64
|
-
|
|
105
|
+
fallback?: string;
|
|
106
|
+
children: MatchProps<unknown> | MatchProps<unknown>[];
|
|
65
107
|
}): string;
|
|
66
108
|
type MatchProps<T> = {
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
109
|
+
when: T | false;
|
|
110
|
+
keyed?: boolean;
|
|
111
|
+
children: string | ((item: NonNullable<T> | Accessor<NonNullable<T>>) => string);
|
|
70
112
|
};
|
|
71
113
|
export declare function Match<T>(props: MatchProps<T>): MatchProps<T>;
|
|
72
114
|
export declare function resetErrorBoundaries(): void;
|
|
73
115
|
export declare function ErrorBoundary(props: {
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
}):
|
|
77
|
-
|
|
78
|
-
|
|
116
|
+
fallback: string | ((err: any, reset: () => void) => string);
|
|
117
|
+
children: string;
|
|
118
|
+
}):
|
|
119
|
+
| string
|
|
120
|
+
| ((err: any, reset: () => void) => string)
|
|
121
|
+
| {
|
|
122
|
+
t: string;
|
|
123
|
+
};
|
|
79
124
|
export interface Resource<T> {
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
125
|
+
(): T | undefined;
|
|
126
|
+
state: "unresolved" | "pending" | "ready" | "refreshing" | "errored";
|
|
127
|
+
loading: boolean;
|
|
128
|
+
error: any;
|
|
129
|
+
latest: T | undefined;
|
|
85
130
|
}
|
|
86
131
|
type SuspenseContextType = {
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
132
|
+
resources: Map<
|
|
133
|
+
string,
|
|
134
|
+
{
|
|
135
|
+
loading: boolean;
|
|
136
|
+
error: any;
|
|
137
|
+
}
|
|
138
|
+
>;
|
|
139
|
+
completed: () => void;
|
|
92
140
|
};
|
|
93
141
|
export type ResourceActions<T> = {
|
|
94
|
-
|
|
95
|
-
|
|
142
|
+
mutate: Setter<T>;
|
|
143
|
+
refetch: (info?: unknown) => void;
|
|
96
144
|
};
|
|
97
145
|
export type ResourceReturn<T> = [Resource<T>, ResourceActions<T>];
|
|
98
146
|
export type ResourceSource<S> = S | false | null | undefined | (() => S | false | null | undefined);
|
|
99
147
|
export type ResourceFetcher<S, T> = (k: S, info: ResourceFetcherInfo<T>) => T | Promise<T>;
|
|
100
148
|
export type ResourceFetcherInfo<T> = {
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
};
|
|
104
|
-
export type ResourceOptions<T> = undefined extends T ? {
|
|
105
|
-
initialValue?: T;
|
|
106
|
-
name?: string;
|
|
107
|
-
deferStream?: boolean;
|
|
108
|
-
ssrLoadFrom?: "initial" | "server";
|
|
109
|
-
storage?: () => Signal<T | undefined>;
|
|
110
|
-
onHydrated?: <S, T>(k: S, info: ResourceFetcherInfo<T>) => void;
|
|
111
|
-
} : {
|
|
112
|
-
initialValue: T;
|
|
113
|
-
name?: string;
|
|
114
|
-
deferStream?: boolean;
|
|
115
|
-
ssrLoadFrom?: "initial" | "server";
|
|
116
|
-
storage?: (v?: T) => Signal<T | undefined>;
|
|
117
|
-
onHydrated?: <S, T>(k: S, info: ResourceFetcherInfo<T>) => void;
|
|
149
|
+
value: T | undefined;
|
|
150
|
+
refetching?: unknown;
|
|
118
151
|
};
|
|
119
|
-
export
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
152
|
+
export type ResourceOptions<T> = undefined extends T
|
|
153
|
+
? {
|
|
154
|
+
initialValue?: T;
|
|
155
|
+
name?: string;
|
|
156
|
+
deferStream?: boolean;
|
|
157
|
+
ssrLoadFrom?: "initial" | "server";
|
|
158
|
+
storage?: () => Signal<T | undefined>;
|
|
159
|
+
onHydrated?: <S, T>(k: S, info: ResourceFetcherInfo<T>) => void;
|
|
160
|
+
}
|
|
161
|
+
: {
|
|
162
|
+
initialValue: T;
|
|
163
|
+
name?: string;
|
|
164
|
+
deferStream?: boolean;
|
|
165
|
+
ssrLoadFrom?: "initial" | "server";
|
|
166
|
+
storage?: (v?: T) => Signal<T | undefined>;
|
|
167
|
+
onHydrated?: <S, T>(k: S, info: ResourceFetcherInfo<T>) => void;
|
|
168
|
+
};
|
|
169
|
+
export declare function createResource<T, S = true>(
|
|
170
|
+
fetcher: ResourceFetcher<S, T>,
|
|
171
|
+
options?: ResourceOptions<undefined>
|
|
172
|
+
): ResourceReturn<T | undefined>;
|
|
173
|
+
export declare function createResource<T, S = true>(
|
|
174
|
+
fetcher: ResourceFetcher<S, T>,
|
|
175
|
+
options: ResourceOptions<T>
|
|
176
|
+
): ResourceReturn<T>;
|
|
177
|
+
export declare function createResource<T, S>(
|
|
178
|
+
source: ResourceSource<S>,
|
|
179
|
+
fetcher: ResourceFetcher<S, T>,
|
|
180
|
+
options?: ResourceOptions<undefined>
|
|
181
|
+
): ResourceReturn<T | undefined>;
|
|
182
|
+
export declare function createResource<T, S>(
|
|
183
|
+
source: ResourceSource<S>,
|
|
184
|
+
fetcher: ResourceFetcher<S, T>,
|
|
185
|
+
options: ResourceOptions<T>
|
|
186
|
+
): ResourceReturn<T>;
|
|
187
|
+
export declare function lazy<T extends Component<any>>(
|
|
188
|
+
fn: () => Promise<{
|
|
189
|
+
default: T;
|
|
190
|
+
}>
|
|
191
|
+
): T & {
|
|
192
|
+
preload: () => Promise<{
|
|
124
193
|
default: T;
|
|
125
|
-
}
|
|
126
|
-
preload: () => Promise<{
|
|
127
|
-
default: T;
|
|
128
|
-
}>;
|
|
194
|
+
}>;
|
|
129
195
|
};
|
|
130
196
|
export declare function enableScheduling(): void;
|
|
131
197
|
export declare function enableHydration(): void;
|
|
132
198
|
export declare function startTransition(fn: () => any): void;
|
|
133
199
|
export declare function useTransition(): [() => boolean, (fn: () => any) => void];
|
|
134
200
|
type HydrationContext = {
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
201
|
+
id: string;
|
|
202
|
+
count: number;
|
|
203
|
+
serialize: (id: string, v: Promise<any> | any, deferStream?: boolean) => void;
|
|
204
|
+
nextRoot: (v: any) => string;
|
|
205
|
+
replace: (id: string, replacement: () => any) => void;
|
|
206
|
+
block: (p: Promise<any>) => void;
|
|
207
|
+
resources: Record<string, any>;
|
|
208
|
+
suspense: Record<string, SuspenseContextType>;
|
|
209
|
+
registerFragment: (v: string) => (v?: string, err?: any) => boolean;
|
|
210
|
+
lazy: Record<string, Promise<any>>;
|
|
211
|
+
async?: boolean;
|
|
212
|
+
noHydrate: boolean;
|
|
147
213
|
};
|
|
148
214
|
export declare function SuspenseList(props: {
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
215
|
+
children: string;
|
|
216
|
+
revealOrder: "forwards" | "backwards" | "together";
|
|
217
|
+
tail?: "collapsed" | "hidden";
|
|
152
218
|
}): string;
|
|
153
|
-
export declare function Suspense(props: {
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
219
|
+
export declare function Suspense(props: { fallback?: string; children: string }):
|
|
220
|
+
| string
|
|
221
|
+
| number
|
|
222
|
+
| boolean
|
|
223
|
+
| Node
|
|
224
|
+
| JSX.ArrayElement
|
|
225
|
+
| {
|
|
226
|
+
t: string;
|
|
227
|
+
}
|
|
228
|
+
| null
|
|
229
|
+
| undefined;
|
|
159
230
|
export {};
|