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/types/index.d.ts CHANGED
@@ -1,7 +1,62 @@
1
- export { $PROXY, $TRACK, $RAW, catchError, createAsync, createEffect, createMemo, createProjection, createReaction, createRenderEffect, createRoot, createSignal, createStore, flatten, flushSync, getObserver, getOwner, isEqual, isStale, isWrappable, latest, mapArray, merge, omit, onCleanup, reconcile, repeat, resolve, runWithOwner, untrack, unwrap } from "@solidjs/signals";
2
- export type { Accessor, ComputeFunction, EffectFunction, EffectOptions, Merge, NoInfer, NotWrappable, Omit, Owner, Signal, SignalOptions, Setter, Store, SolidStore, StoreNode, StoreSetter } from "@solidjs/signals";
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 { ChildrenReturn, Context, ContextProviderComponent, ResolvedChildren, ResolvedJSXElement } from "./client/core.js";
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
- readonly hooks: {};
15
- readonly registerGraph: typeof registerGraph;
16
- } | undefined;
68
+ export declare const DEV:
69
+ | {
70
+ readonly hooks: {};
71
+ readonly registerGraph: typeof registerGraph;
72
+ }
73
+ | undefined;
17
74
  declare global {
18
- var Solid$$: boolean;
75
+ var Solid$$: boolean;
19
76
  }
@@ -1,4 +1,58 @@
1
- export { catchError, createRoot, createSignal, 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";
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 ? <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;
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
- owner: Owner | null;
13
- context: any | null;
14
- owned: Owner[] | null;
15
- cleanups: (() => void)[] | null;
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>(fn: (dispose: () => void) => T, detachedOwner?: typeof Owner): T;
19
- export declare function createSignal<T>(value: T, options?: {
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
- }): [get: () => T, set: (v: (T extends Function ? never : T) | ((prev: T) => T)) => T];
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>(source: () => T, fn?: (k: T, value: T) => boolean): (k: T) => boolean;
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>(deps: Array<() => T> | (() => T), fn: (value: Array<T> | T, prev?: Array<T> | T, prevResults?: U) => U, options?: {
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
- }): (prev?: U) => U | undefined;
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
- id: symbol;
42
- Provider: (props: {
43
- value: T;
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
- toArray: () => any[];
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
- id: number;
58
- fn: ((didTimeout: boolean) => void) | null;
59
- startTime: number;
60
- expirationTime: number;
69
+ id: number;
70
+ fn: ((didTimeout: boolean) => void) | null;
71
+ startTime: number;
72
+ expirationTime: number;
61
73
  }
62
- export declare function requestCallback(fn: () => void, options?: {
74
+ export declare function requestCallback(
75
+ fn: () => void,
76
+ options?: {
63
77
  timeout: number;
64
- }): Task;
78
+ }
79
+ ): Task;
65
80
  export declare function cancelCallback(task: Task): void;
66
- export declare function mapArray<T, U>(list: Accessor<readonly T[] | undefined | null | false>, mapFn: (v: T, i: Accessor<number>) => U, options?: {
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
- }): () => U[];
69
- export declare function indexArray<T, U>(list: Accessor<readonly T[] | undefined | null | false>, mapFn: (v: Accessor<T>, i: number) => U, options?: {
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
- }): () => 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
- };
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
- unsubscribe(): void;
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>(producer: ((setter: Setter<T>) => () => void) | {
89
- subscribe: (fn: (v: T) => void) => (() => void) | {
90
- unsubscribe: () => void;
91
- };
92
- }): Accessor<T>;
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
- children?: never;
5
+ children?: never;
6
6
  };
7
7
  export type VoidComponent<P = {}> = Component<VoidProps<P>>;
8
8
  export type ParentProps<P = {}> = P & {
9
- children?: JSX.Element;
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
- children: C;
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> ? P : T extends keyof JSX.IntrinsicElements ? JSX.IntrinsicElements[T] : Record<string, unknown>;
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
- context?: HydrationContext;
21
- getContextId(): string;
22
- getNextContextId(): string;
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>(source: T, source1: U, source2: V, source3: W): T & U & V & W;
30
- export declare function splitProps<T extends object, K1 extends keyof T>(props: T, ...keys: [K1[]]): [Pick<T, K1>, Omit<T, K1>];
31
- export declare function splitProps<T extends object, K1 extends keyof T, K2 extends keyof T>(props: T, ...keys: [K1[], K2[]]): [Pick<T, K1>, Pick<T, K2>, Omit<T, K1 | K2>];
32
- export declare function splitProps<T extends object, K1 extends keyof T, K2 extends keyof T, K3 extends keyof T>(props: T, ...keys: [K1[], K2[], K3[]]): [Pick<T, K1>, Pick<T, K2>, Pick<T, K3>, Omit<T, K1 | K2 | K3>];
33
- export declare function splitProps<T extends object, K1 extends keyof T, K2 extends keyof T, K3 extends keyof T, K4 extends keyof T>(props: T, ...keys: [K1[], K2[], K3[], K4[]]): [Pick<T, K1>, Pick<T, K2>, Pick<T, K3>, Pick<T, K4>, Omit<T, K1 | K2 | K3 | K4>];
34
- export declare function splitProps<T extends object, K1 extends keyof T, K2 extends keyof T, K3 extends keyof T, K4 extends keyof T, K5 extends keyof T>(props: T, ...keys: [K1[], K2[], K3[], K4[], K5[]]): [
35
- Pick<T, K1>,
36
- Pick<T, K2>,
37
- Pick<T, K3>,
38
- Pick<T, K4>,
39
- Pick<T, K5>,
40
- Omit<T, K1 | K2 | K3 | K4 | K5>
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
- each: T[];
44
- fallback?: string;
45
- children: (item: T, index: () => number) => string;
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
- each: T[];
49
- fallback?: string;
50
- children: (item: () => T, index: number) => string;
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
- when: T | undefined | null | false;
58
- keyed?: boolean;
59
- fallback?: string;
60
- children: string | ((item: NonNullable<T> | Accessor<NonNullable<T>>) => string);
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
- fallback?: string;
64
- children: MatchProps<unknown> | MatchProps<unknown>[];
105
+ fallback?: string;
106
+ children: MatchProps<unknown> | MatchProps<unknown>[];
65
107
  }): string;
66
108
  type MatchProps<T> = {
67
- when: T | false;
68
- keyed?: boolean;
69
- children: string | ((item: NonNullable<T> | Accessor<NonNullable<T>>) => string);
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
- fallback: string | ((err: any, reset: () => void) => string);
75
- children: string;
76
- }): string | ((err: any, reset: () => void) => string) | {
77
- t: string;
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
- (): T | undefined;
81
- state: "unresolved" | "pending" | "ready" | "refreshing" | "errored";
82
- loading: boolean;
83
- error: any;
84
- latest: T | undefined;
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
- resources: Map<string, {
88
- loading: boolean;
89
- error: any;
90
- }>;
91
- completed: () => void;
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
- mutate: Setter<T>;
95
- refetch: (info?: unknown) => void;
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
- value: T | undefined;
102
- refetching?: unknown;
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 declare function createResource<T, S = true>(fetcher: ResourceFetcher<S, T>, options?: ResourceOptions<undefined>): ResourceReturn<T | undefined>;
120
- export declare function createResource<T, S = true>(fetcher: ResourceFetcher<S, T>, options: ResourceOptions<T>): ResourceReturn<T>;
121
- export declare function createResource<T, S>(source: ResourceSource<S>, fetcher: ResourceFetcher<S, T>, options?: ResourceOptions<undefined>): ResourceReturn<T | undefined>;
122
- export declare function createResource<T, S>(source: ResourceSource<S>, fetcher: ResourceFetcher<S, T>, options: ResourceOptions<T>): ResourceReturn<T>;
123
- export declare function lazy<T extends Component<any>>(fn: () => Promise<{
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
- }>): T & {
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
- id: string;
136
- count: number;
137
- serialize: (id: string, v: Promise<any> | any, deferStream?: boolean) => void;
138
- nextRoot: (v: any) => string;
139
- replace: (id: string, replacement: () => any) => void;
140
- block: (p: Promise<any>) => void;
141
- resources: Record<string, any>;
142
- suspense: Record<string, SuspenseContextType>;
143
- registerFragment: (v: string) => (v?: string, err?: any) => boolean;
144
- lazy: Record<string, Promise<any>>;
145
- async?: boolean;
146
- noHydrate: boolean;
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
- children: string;
150
- revealOrder: "forwards" | "backwards" | "together";
151
- tail?: "collapsed" | "hidden";
215
+ children: string;
216
+ revealOrder: "forwards" | "backwards" | "together";
217
+ tail?: "collapsed" | "hidden";
152
218
  }): string;
153
- export declare function Suspense(props: {
154
- fallback?: string;
155
- children: string;
156
- }): string | number | boolean | Node | JSX.ArrayElement | {
157
- t: string;
158
- } | null | undefined;
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 {};