svelte-effect-runtime 1.6.2 → 2.0.0-beta.1
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/.dist/chunks/client-BeOE81fW.js +577 -0
- package/.dist/chunks/client-BeOE81fW.js.map +1 -0
- package/.dist/chunks/descriptors-CU2g4U_i.js +36 -0
- package/.dist/chunks/descriptors-CU2g4U_i.js.map +1 -0
- package/.dist/chunks/dispatcher-BSg2-ttN.js +339 -0
- package/.dist/chunks/dispatcher-BSg2-ttN.js.map +1 -0
- package/.dist/chunks/preprocess-BZyUYWY7.js +430 -0
- package/.dist/chunks/preprocess-BZyUYWY7.js.map +1 -0
- package/.dist/chunks/transform-BtlxgJrg.js +836 -0
- package/.dist/chunks/transform-BtlxgJrg.js.map +1 -0
- package/.dist/detect.d.ts +34 -0
- package/.dist/detect.js +56 -0
- package/.dist/detect.js.map +1 -0
- package/.dist/dispatcher/deps.d.ts +14 -0
- package/.dist/dispatcher/fibers.d.ts +52 -0
- package/.dist/dispatcher/index.d.ts +138 -0
- package/.dist/dispatcher/types.d.ts +63 -0
- package/.dist/dispatcher.d.ts +2 -0
- package/.dist/dispatcher.js +2 -0
- package/.dist/error.d.ts +77 -0
- package/.dist/generators.d.ts +16 -0
- package/.dist/internal/descriptors.d.ts +17 -0
- package/.dist/internal/generators.d.ts +6 -0
- package/.dist/internal/generators.js +5 -0
- package/.dist/internal/remote-client.d.ts +6 -0
- package/.dist/internal/remote-client.js +2 -0
- package/.dist/internal/remote-server.d.ts +6 -0
- package/.dist/internal/remote-server.js +2 -0
- package/.dist/markup/promise.d.ts +15 -0
- package/.dist/markup/promise.js +26 -0
- package/.dist/markup/promise.js.map +1 -0
- package/.dist/markup/run.d.ts +12 -0
- package/.dist/markup/run.js +21 -0
- package/.dist/markup/run.js.map +1 -0
- package/.dist/markup/transform/apply.d.ts +6 -0
- package/.dist/markup/transform/classify.d.ts +15 -0
- package/.dist/markup/transform/constants.d.ts +5 -0
- package/.dist/markup/transform/emit.d.ts +12 -0
- package/.dist/markup/transform/expressions.d.ts +39 -0
- package/.dist/markup/transform/index.d.ts +19 -0
- package/.dist/markup/transform/scan.d.ts +8 -0
- package/.dist/markup/transform/types.d.ts +64 -0
- package/.dist/markup/transform.d.ts +1 -0
- package/.dist/markup/transform.js +2 -0
- package/.dist/markup/value.d.ts +20 -0
- package/.dist/markup/value.js +32 -0
- package/.dist/markup/value.js.map +1 -0
- package/.dist/mod.d.ts +186 -0
- package/.dist/mod.js +190 -0
- package/.dist/mod.js.map +1 -0
- package/.dist/preprocess/ast.d.ts +51 -0
- package/.dist/preprocess/imports.d.ts +22 -0
- package/.dist/preprocess/index.d.ts +21 -0
- package/.dist/preprocess/lower.d.ts +12 -0
- package/.dist/preprocess/runtime-block.d.ts +8 -0
- package/.dist/preprocess/source.d.ts +29 -0
- package/.dist/preprocess/types.d.ts +70 -0
- package/.dist/preprocess.d.ts +2 -0
- package/.dist/preprocess.js +3 -0
- package/.dist/remote/client/command.d.ts +17 -0
- package/.dist/remote/client/effect.d.ts +15 -0
- package/.dist/remote/client/failures.d.ts +57 -0
- package/.dist/remote/client/form-data.d.ts +8 -0
- package/.dist/remote/client/form-enhance.d.ts +9 -0
- package/.dist/remote/client/form-transport.d.ts +20 -0
- package/.dist/remote/client/form.d.ts +21 -0
- package/.dist/remote/client/index.d.ts +4 -0
- package/.dist/remote/client/query-result.d.ts +14 -0
- package/.dist/remote/client/query.d.ts +57 -0
- package/.dist/remote/client/responses.d.ts +28 -0
- package/.dist/remote/client/types.d.ts +83 -0
- package/.dist/remote/client/utils.d.ts +11 -0
- package/.dist/remote/client.d.ts +2 -0
- package/.dist/remote/client.js +2 -0
- package/.dist/remote/server.d.ts +66 -0
- package/.dist/remote/server.js +104 -0
- package/.dist/remote/server.js.map +1 -0
- package/.dist/remote/shared.d.ts +202 -0
- package/.dist/remote/shared.js +161 -0
- package/.dist/remote/shared.js.map +1 -0
- package/.dist/runtime/preprocess.d.ts +38 -0
- package/.dist/runtime/preprocess.js +54 -0
- package/.dist/runtime/preprocess.js.map +1 -0
- package/.dist/server/effects.d.ts +49 -0
- package/.dist/server/factories.d.ts +97 -0
- package/.dist/server/index.d.ts +3 -0
- package/.dist/server/invalid.d.ts +9 -0
- package/.dist/server/runtime.d.ts +66 -0
- package/.dist/server/schema.d.ts +42 -0
- package/.dist/server/types.d.ts +271 -0
- package/.dist/server/wrappers.d.ts +45 -0
- package/.dist/server.d.ts +2 -0
- package/.dist/server.js +527 -0
- package/.dist/server.js.map +1 -0
- package/.dist/vite.d.ts +42 -0
- package/.dist/vite.js +118 -0
- package/.dist/vite.js.map +1 -0
- package/README.md +2 -0
- package/package.json +66 -101
- package/dist/chunks/client-vV6UAwoP.js +0 -199
- package/dist/chunks/client-vV6UAwoP.js.map +0 -1
- package/dist/chunks/effect-Crj3S8Cg.js +0 -51
- package/dist/chunks/effect-Crj3S8Cg.js.map +0 -1
- package/dist/chunks/effect-compat-BhW0YPIs.js +0 -103
- package/dist/chunks/effect-compat-BhW0YPIs.js.map +0 -1
- package/dist/chunks/magic-string.es-BnGH-5YR.js +0 -1013
- package/dist/chunks/magic-string.es-BnGH-5YR.js.map +0 -1
- package/dist/chunks/markup-CkPUZIJt.js +0 -13390
- package/dist/chunks/markup-CkPUZIJt.js.map +0 -1
- package/dist/chunks/preprocess-BFePqOC6.js +0 -49
- package/dist/chunks/preprocess-BFePqOC6.js.map +0 -1
- package/dist/chunks/server-Dea1CJuY.js +0 -704
- package/dist/chunks/server-Dea1CJuY.js.map +0 -1
- package/dist/chunks/v3-D0c0MKPf.js +0 -1
- package/dist/chunks/v4-MMhHmzIG.js +0 -1
- package/dist/chunks/vite-BlUTKv2u.js +0 -152
- package/dist/chunks/vite-BlUTKv2u.js.map +0 -1
- package/dist/client.d.ts +0 -1
- package/dist/client.js +0 -2
- package/dist/effect.d.ts +0 -1
- package/dist/effect.js +0 -2
- package/dist/internal/app-server-shim.d.ts +0 -8
- package/dist/internal/effect-compat.d.ts +0 -21
- package/dist/internal/markup.d.ts +0 -11
- package/dist/internal/markup.js +0 -2
- package/dist/internal/remote-client.d.ts +0 -36
- package/dist/internal/remote-client.js +0 -527
- package/dist/internal/remote-client.js.map +0 -1
- package/dist/internal/remote-shared.d.ts +0 -186
- package/dist/internal/remote-shared.js +0 -122
- package/dist/internal/remote-shared.js.map +0 -1
- package/dist/internal/transform.d.ts +0 -18
- package/dist/internal/transform.js +0 -418
- package/dist/internal/transform.js.map +0 -1
- package/dist/language-server.d.ts +0 -9
- package/dist/language-server.js +0 -4
- package/dist/mod.d.ts +0 -22
- package/dist/mod.js +0 -3
- package/dist/preprocess.d.ts +0 -29
- package/dist/preprocess.js +0 -20
- package/dist/preprocess.js.map +0 -1
- package/dist/root-node.d.ts +0 -1
- package/dist/root-node.js +0 -63
- package/dist/root-node.js.map +0 -1
- package/dist/server.d.ts +0 -81
- package/dist/server.js +0 -85
- package/dist/server.js.map +0 -1
- package/dist/v3/client.d.ts +0 -117
- package/dist/v3/effect.d.ts +0 -17
- package/dist/v3/mod.d.ts +0 -27
- package/dist/v3/preprocess.d.ts +0 -28
- package/dist/v3/root-node.d.ts +0 -59
- package/dist/v3/server.d.ts +0 -297
- package/dist/v3/vite.d.ts +0 -46
- package/dist/v4/client.d.ts +0 -2
- package/dist/v4/effect.d.ts +0 -24
- package/dist/v4/effect.js +0 -19
- package/dist/v4/effect.js.map +0 -1
- package/dist/v4/mod.d.ts +0 -27
- package/dist/v4/mod.js +0 -3
- package/dist/v4/preprocess.d.ts +0 -34
- package/dist/v4/preprocess.js +0 -32
- package/dist/v4/preprocess.js.map +0 -1
- package/dist/v4/root-node.d.ts +0 -59
- package/dist/v4/root-node.js +0 -4
- package/dist/v4/server.d.ts +0 -340
- package/dist/v4/server.js +0 -71
- package/dist/v4/server.js.map +0 -1
- package/dist/v4/vite.d.ts +0 -34
- package/dist/v4/vite.js +0 -31
- package/dist/v4/vite.js.map +0 -1
- package/dist/vite.d.ts +0 -31
- package/dist/vite.js +0 -24
- package/dist/vite.js.map +0 -1
|
@@ -0,0 +1,271 @@
|
|
|
1
|
+
import type { create_form_error, RemoteFailure } from "../remote/shared.js";
|
|
2
|
+
import type { RemoteFormInput, RemoteQuery, RemoteQueryOverride } from "@sveltejs/kit";
|
|
3
|
+
import type { EffectRemoteForm as ClientEffectRemoteForm } from "../remote/client.js";
|
|
4
|
+
import type { Effect, Layer, ManagedRuntime, Schema, Stream } from "effect";
|
|
5
|
+
/**
|
|
6
|
+
* Effect-like values accepted by remote helper wrappers.
|
|
7
|
+
*
|
|
8
|
+
* @since 2.0.0
|
|
9
|
+
*/
|
|
10
|
+
export type EffectLike<A = unknown> = Effect.Effect<A, unknown, unknown> | Effect.gen.Return<A, unknown, unknown>;
|
|
11
|
+
/**
|
|
12
|
+
* Handler shape accepted by query, command, and prerender helpers.
|
|
13
|
+
*
|
|
14
|
+
* @since 2.0.0
|
|
15
|
+
*/
|
|
16
|
+
export type RemoteHandler<Input = unknown, A = unknown> = (input: Input) => EffectLike<A>;
|
|
17
|
+
/**
|
|
18
|
+
* Handler or source shape accepted by live query helpers.
|
|
19
|
+
*
|
|
20
|
+
* @since 2.0.0
|
|
21
|
+
*/
|
|
22
|
+
export type RemoteLiveHandler<Input = unknown, A = unknown> = EffectLike<EffectRemoteLiveSource<A>> | EffectRemoteLiveSource<A> | ((input: Input) => EffectLike<EffectRemoteLiveSource<A>> | EffectRemoteLiveSource<A>);
|
|
23
|
+
/**
|
|
24
|
+
* Handler shape accepted by batch query helpers. The handler receives the
|
|
25
|
+
* validated inputs collected by SvelteKit and returns an Effect-producing
|
|
26
|
+
* resolver for each requested input.
|
|
27
|
+
*
|
|
28
|
+
* @since 2.0.0
|
|
29
|
+
*/
|
|
30
|
+
export type EffectRemoteBatchHandler<Input = unknown, A = unknown> = (inputs: readonly Input[]) => EffectLike<(input: Input, index: number) => A>;
|
|
31
|
+
/**
|
|
32
|
+
* Handler shape accepted by the form helper.
|
|
33
|
+
*
|
|
34
|
+
* @since 2.0.0
|
|
35
|
+
*/
|
|
36
|
+
export type RemoteFormHandler<Input = unknown, A = unknown> = (input: {
|
|
37
|
+
readonly data: Input;
|
|
38
|
+
readonly invalid: FormInvalid;
|
|
39
|
+
readonly issue: unknown;
|
|
40
|
+
}) => EffectLike<A>;
|
|
41
|
+
/**
|
|
42
|
+
* Proxy callable used to create typed form validation failures.
|
|
43
|
+
*
|
|
44
|
+
* @since 2.0.0
|
|
45
|
+
*/
|
|
46
|
+
export type FormInvalid = {
|
|
47
|
+
readonly [key: string]: FormInvalid;
|
|
48
|
+
} & ((message: string) => Effect.Effect<never, ReturnType<typeof create_form_error>>);
|
|
49
|
+
/**
|
|
50
|
+
* Options accepted by the prerender helper.
|
|
51
|
+
*
|
|
52
|
+
* @since 2.0.0
|
|
53
|
+
*/
|
|
54
|
+
export type PrerenderOptions = {
|
|
55
|
+
readonly inputs?: unknown;
|
|
56
|
+
readonly dynamic?: boolean;
|
|
57
|
+
};
|
|
58
|
+
/**
|
|
59
|
+
* Minimal Standard Schema shape accepted by SvelteKit remote helpers.
|
|
60
|
+
*
|
|
61
|
+
* @since 2.0.0
|
|
62
|
+
*/
|
|
63
|
+
export type StandardSchema = {
|
|
64
|
+
readonly "~standard": {
|
|
65
|
+
readonly validate: (input: unknown) => unknown;
|
|
66
|
+
};
|
|
67
|
+
};
|
|
68
|
+
/**
|
|
69
|
+
* Extracts the input type from an Effect Schema.
|
|
70
|
+
*
|
|
71
|
+
* @since 2.0.0
|
|
72
|
+
*/
|
|
73
|
+
export type SchemaInput<S> = S extends Schema.Schema<infer Input> ? Input : unknown;
|
|
74
|
+
/**
|
|
75
|
+
* Root and server export shape for building the server-side runtime.
|
|
76
|
+
*
|
|
77
|
+
* @since 2.0.0
|
|
78
|
+
*/
|
|
79
|
+
export interface ServerRuntimeFactory {
|
|
80
|
+
make<R = never>(layer?: Layer.Layer<R>): ManagedRuntime.ManagedRuntime<R, never>;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Root and server export shape for query helpers.
|
|
84
|
+
*
|
|
85
|
+
* @since 2.0.0
|
|
86
|
+
*/
|
|
87
|
+
export interface QueryFactory {
|
|
88
|
+
<A>(validate_or_handler: EffectLike<A> | RemoteHandler<void, A>): EffectRemoteQueryFunction<void, A>;
|
|
89
|
+
<Input, A>(validate_or_handler: "unchecked", maybe_handler: RemoteHandler<Input, A>): EffectRemoteQueryFunction<Input, A>;
|
|
90
|
+
<S extends Schema.Schema<unknown>, A>(validate_or_handler: S, maybe_handler: RemoteHandler<SchemaInput<S>, A>): EffectRemoteQueryFunction<SchemaInput<S>, A>;
|
|
91
|
+
readonly batch: QueryBatchFactory;
|
|
92
|
+
readonly live: QueryLiveFactory;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Root and server export shape for batched query helpers.
|
|
96
|
+
*
|
|
97
|
+
* @since 2.0.0
|
|
98
|
+
*/
|
|
99
|
+
export interface QueryBatchFactory {
|
|
100
|
+
<Input, A>(validate_or_handler: "unchecked", maybe_handler: EffectRemoteBatchHandler<Input, A>): EffectRemoteQueryFunction<Input, A>;
|
|
101
|
+
<S extends Schema.Schema<unknown>, A>(validate_or_handler: S, maybe_handler: EffectRemoteBatchHandler<SchemaInput<S>, A>): EffectRemoteQueryFunction<SchemaInput<S>, A>;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Root and server export shape for live query helpers.
|
|
105
|
+
*
|
|
106
|
+
* @since 2.0.0
|
|
107
|
+
*/
|
|
108
|
+
export interface QueryLiveFactory {
|
|
109
|
+
<A>(validate_or_handler: RemoteLiveHandler<void, A>): EffectRemoteLiveQueryFunction<void, A>;
|
|
110
|
+
<Input, A>(validate_or_handler: "unchecked", maybe_handler: RemoteLiveHandler<Input, A>): EffectRemoteLiveQueryFunction<Input, A>;
|
|
111
|
+
<S extends Schema.Schema<unknown>, A>(validate_or_handler: S, maybe_handler: RemoteLiveHandler<SchemaInput<S>, A>): EffectRemoteLiveQueryFunction<SchemaInput<S>, A>;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Root and server export shape for command helpers.
|
|
115
|
+
*
|
|
116
|
+
* @since 2.0.0
|
|
117
|
+
*/
|
|
118
|
+
export interface CommandFactory {
|
|
119
|
+
<A>(validate_or_handler: EffectLike<A> | RemoteHandler<void, A>): EffectRemoteCommand<void, A>;
|
|
120
|
+
<Input, A>(validate_or_handler: "unchecked", maybe_handler: RemoteHandler<Input, A>): EffectRemoteCommand<Input, A>;
|
|
121
|
+
<S extends Schema.Schema<unknown>, A>(validate_or_handler: S, maybe_handler: RemoteHandler<SchemaInput<S>, A>): EffectRemoteCommand<SchemaInput<S>, A>;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Root and server export shape for form helpers.
|
|
125
|
+
*
|
|
126
|
+
* @since 2.0.0
|
|
127
|
+
*/
|
|
128
|
+
export interface FormFactory {
|
|
129
|
+
<A>(validate_or_handler: EffectLike<A> | RemoteFormHandler<void, A>): EffectRemoteForm<void, A>;
|
|
130
|
+
<Input extends RemoteFormInput, A>(validate_or_handler: "unchecked", maybe_handler: RemoteFormHandler<Input, A>): EffectRemoteForm<Input, A>;
|
|
131
|
+
<S extends Schema.Schema<unknown>, A>(validate_or_handler: S, maybe_handler: RemoteFormHandler<FormSchemaInput<S>, A>): EffectRemoteForm<FormSchemaInput<S>, A>;
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Root and server export shape for prerender helpers.
|
|
135
|
+
*
|
|
136
|
+
* @since 2.0.0
|
|
137
|
+
*/
|
|
138
|
+
export interface PrerenderFactory {
|
|
139
|
+
(validate_or_handler: unknown, maybe_handler_or_options?: RemoteHandler | PrerenderOptions, maybe_options?: PrerenderOptions): unknown;
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Source values accepted by live query helpers.
|
|
143
|
+
*
|
|
144
|
+
* @example
|
|
145
|
+
* ```ts
|
|
146
|
+
* const source: EffectRemoteLiveSource<number> = Stream.make(1, 2, 3);
|
|
147
|
+
* ```
|
|
148
|
+
*
|
|
149
|
+
* @since 2.0.0
|
|
150
|
+
*/
|
|
151
|
+
export type EffectRemoteLiveSource<A> = Stream.Stream<A, unknown, unknown> | AsyncIterable<A> | AsyncIterator<A> | Iterable<A> | Iterator<A>;
|
|
152
|
+
/**
|
|
153
|
+
* Effect-returning remote function type exposed by query and prerender.
|
|
154
|
+
*
|
|
155
|
+
* @example
|
|
156
|
+
* ```ts
|
|
157
|
+
* type Post = { id: string };
|
|
158
|
+
* const posts: Post[] = [];
|
|
159
|
+
* const getPosts: EffectRemoteFunction<void, Post[]> = () =>
|
|
160
|
+
* Effect.succeed(posts);
|
|
161
|
+
* ```
|
|
162
|
+
*
|
|
163
|
+
* @since 2.0.0
|
|
164
|
+
*/
|
|
165
|
+
export type EffectRemoteFunction<Input, A> = [Input] extends [void] ? () => Effect.Effect<A, RemoteFailure<unknown>, unknown> : undefined extends Input ? (input?: Input) => Effect.Effect<A, RemoteFailure<unknown>, unknown> : (input: Input) => Effect.Effect<A, RemoteFailure<unknown>, unknown>;
|
|
166
|
+
/**
|
|
167
|
+
* Effect-returning query resource with SvelteKit cache update methods
|
|
168
|
+
* preserved.
|
|
169
|
+
*
|
|
170
|
+
* @example
|
|
171
|
+
* ```ts
|
|
172
|
+
* const posts = GetPosts();
|
|
173
|
+
* yield* posts.refresh();
|
|
174
|
+
* ```
|
|
175
|
+
*
|
|
176
|
+
* @since 2.0.0
|
|
177
|
+
*/
|
|
178
|
+
export type EffectRemoteQuery<A> = Effect.Effect<A, RemoteFailure<unknown>, never> & Pick<RemoteQuery<A>, "set"> & {
|
|
179
|
+
readonly current: A | undefined;
|
|
180
|
+
readonly error: unknown;
|
|
181
|
+
readonly loading: boolean;
|
|
182
|
+
readonly ready: boolean;
|
|
183
|
+
readonly refresh: () => Effect.Effect<void, unknown, never>;
|
|
184
|
+
readonly withOverride: (update: (current: A) => A) => RemoteQueryOverride;
|
|
185
|
+
};
|
|
186
|
+
/**
|
|
187
|
+
* Effect-returning remote query function with SvelteKit query resource methods
|
|
188
|
+
* preserved on the returned Effect.
|
|
189
|
+
*
|
|
190
|
+
* @example
|
|
191
|
+
* ```ts
|
|
192
|
+
* const posts = GetPosts();
|
|
193
|
+
* yield* posts;
|
|
194
|
+
* yield* posts.refresh();
|
|
195
|
+
* ```
|
|
196
|
+
*
|
|
197
|
+
* @since 2.0.0
|
|
198
|
+
*/
|
|
199
|
+
export type EffectRemoteQueryFunction<Input, A> = [Input] extends [void] ? () => EffectRemoteQuery<A> : undefined extends Input ? (input?: Input) => EffectRemoteQuery<A> : (input: Input) => EffectRemoteQuery<A>;
|
|
200
|
+
/**
|
|
201
|
+
* Effect-returning live query resource with SvelteKit live stream state and
|
|
202
|
+
* reconnect controls preserved.
|
|
203
|
+
*
|
|
204
|
+
* @example
|
|
205
|
+
* ```ts
|
|
206
|
+
* const clock = getClock();
|
|
207
|
+
* yield* clock.reconnect();
|
|
208
|
+
*
|
|
209
|
+
* for await (const value of clock) {
|
|
210
|
+
* console.log(value);
|
|
211
|
+
* }
|
|
212
|
+
* ```
|
|
213
|
+
*
|
|
214
|
+
* @since 2.0.0
|
|
215
|
+
*/
|
|
216
|
+
export type EffectRemoteLiveQuery<A> = Effect.Effect<A, RemoteFailure<unknown>, never> & AsyncIterable<A> & {
|
|
217
|
+
readonly connected: boolean;
|
|
218
|
+
readonly current: A | undefined;
|
|
219
|
+
readonly done: boolean;
|
|
220
|
+
readonly error: unknown;
|
|
221
|
+
readonly loading: boolean;
|
|
222
|
+
readonly ready: boolean;
|
|
223
|
+
readonly reconnect: () => Effect.Effect<void, unknown, never>;
|
|
224
|
+
};
|
|
225
|
+
/**
|
|
226
|
+
* Effect-returning remote live query function with SvelteKit live stream
|
|
227
|
+
* properties preserved on the returned Effect.
|
|
228
|
+
*
|
|
229
|
+
* @example
|
|
230
|
+
* ```ts
|
|
231
|
+
* const clock = getClock();
|
|
232
|
+
* yield* clock;
|
|
233
|
+
* ```
|
|
234
|
+
*
|
|
235
|
+
* @since 2.0.0
|
|
236
|
+
*/
|
|
237
|
+
export type EffectRemoteLiveQueryFunction<Input, A> = [Input] extends [void] ? () => EffectRemoteLiveQuery<A> : undefined extends Input ? (input?: Input) => EffectRemoteLiveQuery<A> : (input: Input) => EffectRemoteLiveQuery<A>;
|
|
238
|
+
/**
|
|
239
|
+
* Effect-returning command type with SvelteKit's pending counter preserved.
|
|
240
|
+
*
|
|
241
|
+
* @example
|
|
242
|
+
* ```ts
|
|
243
|
+
* const upvote: EffectRemoteCommand<string, number> = Object.assign(
|
|
244
|
+
* (id: string) => Effect.succeed(id.length),
|
|
245
|
+
* { pending: 0 },
|
|
246
|
+
* );
|
|
247
|
+
* ```
|
|
248
|
+
*
|
|
249
|
+
* @since 2.0.0
|
|
250
|
+
*/
|
|
251
|
+
export type EffectRemoteCommand<Input, A> = EffectRemoteFunction<Input, A> & {
|
|
252
|
+
readonly pending: number;
|
|
253
|
+
};
|
|
254
|
+
/**
|
|
255
|
+
* Effect-returning form type with SvelteKit form helpers preserved.
|
|
256
|
+
*
|
|
257
|
+
* @example
|
|
258
|
+
* ```ts
|
|
259
|
+
* const signIn: EffectRemoteForm<{ email: string }, { ok: true }> =
|
|
260
|
+
* Form(Schema.Struct({ email: Schema.String }), ({ data }) =>
|
|
261
|
+
* Effect.succeed({ ok: data.email.length > 0 })
|
|
262
|
+
* );
|
|
263
|
+
* ```
|
|
264
|
+
*
|
|
265
|
+
* @since 2.0.0
|
|
266
|
+
* @template Input - Data shape submitted by the remote form.
|
|
267
|
+
* @template A - Successful value produced by the form handler.
|
|
268
|
+
*/
|
|
269
|
+
export type EffectRemoteForm<Input extends RemoteFormInput | void, A> = ClientEffectRemoteForm<Input, A>;
|
|
270
|
+
type FormSchemaInput<S> = SchemaInput<S> extends RemoteFormInput ? SchemaInput<S> : never;
|
|
271
|
+
export {};
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { EffectLike, EffectRemoteLiveSource, RemoteFormHandler, RemoteHandler } from "./types.js";
|
|
2
|
+
type RemoteLiveHandler<Input = unknown, A = unknown> = EffectLike<EffectRemoteLiveSource<A>> | EffectRemoteLiveSource<A> | ((input: Input) => EffectLike<EffectRemoteLiveSource<A>> | EffectRemoteLiveSource<A>);
|
|
3
|
+
/**
|
|
4
|
+
* Reports whether SER is currently executing user remote handler code.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```ts
|
|
8
|
+
* if (is_running_remote_effect_handler()) {
|
|
9
|
+
* return query();
|
|
10
|
+
* }
|
|
11
|
+
* ```
|
|
12
|
+
*
|
|
13
|
+
* @since 2.0.0
|
|
14
|
+
* @returns Whether a remote handler wrapper is currently active.
|
|
15
|
+
* @internal
|
|
16
|
+
*/
|
|
17
|
+
export declare function is_running_remote_effect_handler(): boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Builds the wrapper passed to native query, command, and prerender helpers.
|
|
20
|
+
*
|
|
21
|
+
* @since 2.0.0
|
|
22
|
+
* @param handler - Effect handler or already-built Effect-like value.
|
|
23
|
+
* @param helper_name - Remote helper name for error normalization.
|
|
24
|
+
* @returns Native SvelteKit handler wrapper.
|
|
25
|
+
*/
|
|
26
|
+
export declare function make_remote_wrapper(handler: RemoteHandler | EffectLike, helper_name: string): (input: unknown) => Promise<unknown>;
|
|
27
|
+
/**
|
|
28
|
+
* Builds the wrapper passed to native live query helpers.
|
|
29
|
+
*
|
|
30
|
+
* @since 2.0.0
|
|
31
|
+
* @param handler - Effect-aware live source handler.
|
|
32
|
+
* @param helper_name - Remote helper name for error normalization.
|
|
33
|
+
* @returns Native SvelteKit live query wrapper.
|
|
34
|
+
*/
|
|
35
|
+
export declare function make_remote_live_wrapper<Input, A>(handler: RemoteLiveHandler<Input, A>, helper_name: string): (input: unknown) => Promise<unknown>;
|
|
36
|
+
/**
|
|
37
|
+
* Builds the wrapper passed to native form helpers.
|
|
38
|
+
*
|
|
39
|
+
* @since 2.0.0
|
|
40
|
+
* @param handler - Effect-aware form handler.
|
|
41
|
+
* @param helper_name - Remote helper name for error normalization.
|
|
42
|
+
* @returns Native SvelteKit form handler wrapper.
|
|
43
|
+
*/
|
|
44
|
+
export declare function make_remote_form_wrapper<Input, A>(handler: RemoteFormHandler<Input, A>, helper_name: string): (data: unknown, issue: unknown) => Promise<unknown>;
|
|
45
|
+
export {};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export { Command, Form, get_server_runtime_or_throw, Prerender, Query, RequestEvent, ServerRuntime, } from "./server/index.js";
|
|
2
|
+
export type { EffectLike, EffectRemoteBatchHandler, EffectRemoteCommand, EffectRemoteForm, EffectRemoteFunction, EffectRemoteLiveQuery, EffectRemoteLiveQueryFunction, EffectRemoteLiveSource, EffectRemoteQuery, EffectRemoteQueryFunction, FormInvalid, PrerenderOptions, RemoteFormHandler, RemoteHandler, SchemaInput, StandardSchema, } from "./server/index.js";
|