@sveltejs/kit 2.60.1 → 2.61.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/package.json +8 -9
- package/src/core/postbuild/analyse.js +1 -3
- package/src/core/sync/create_manifest_data/conflict.js +72 -0
- package/src/core/sync/create_manifest_data/index.js +1 -65
- package/src/core/sync/write_non_ambient.js +2 -2
- package/src/core/sync/write_types/index.js +1 -1
- package/src/exports/public.d.ts +23 -30
- package/src/exports/vite/build/build_server.js +36 -13
- package/src/exports/vite/dev/index.js +4 -2
- package/src/exports/vite/index.js +18 -16
- package/src/runtime/app/server/index.js +1 -2
- package/src/runtime/app/server/remote/form.js +10 -0
- package/src/runtime/app/server/remote/query.js +100 -36
- package/src/runtime/client/client.js +13 -8
- package/src/runtime/client/remote-functions/cache.svelte.js +157 -0
- package/src/runtime/client/remote-functions/form.svelte.js +235 -196
- package/src/runtime/client/remote-functions/index.js +2 -2
- package/src/runtime/client/remote-functions/prerender.svelte.js +1 -2
- package/src/runtime/client/remote-functions/query/cache.js +4 -0
- package/src/runtime/client/remote-functions/query/index.js +48 -0
- package/src/runtime/client/remote-functions/query/instance.svelte.js +249 -0
- package/src/runtime/client/remote-functions/query/proxy.js +156 -0
- package/src/runtime/client/remote-functions/query-batch.svelte.js +1 -1
- package/src/runtime/client/remote-functions/query-live/cache.js +4 -0
- package/src/runtime/client/remote-functions/query-live/index.js +31 -0
- package/src/runtime/client/remote-functions/{query-live.svelte.js → query-live/instance.svelte.js} +61 -310
- package/src/runtime/client/remote-functions/query-live/iterator.js +91 -0
- package/src/runtime/client/remote-functions/query-live/proxy.js +144 -0
- package/src/runtime/client/remote-functions/shared.svelte.js +53 -6
- package/src/runtime/client/utils.js +1 -1
- package/src/runtime/form-utils.js +7 -16
- package/src/runtime/server/index.js +2 -3
- package/src/runtime/server/page/actions.js +2 -9
- package/src/runtime/server/page/csp.js +3 -4
- package/src/runtime/server/page/render.js +13 -14
- package/src/runtime/server/respond.js +60 -36
- package/src/runtime/server/utils.js +23 -3
- package/src/types/global-private.d.ts +5 -0
- package/src/types/internal.d.ts +29 -6
- package/src/utils/routing.js +3 -1
- package/src/utils/shared-iterator.js +213 -0
- package/src/version.js +1 -1
- package/types/index.d.ts +27 -31
- package/types/index.d.ts.map +1 -1
- package/src/runtime/client/remote-functions/query.svelte.js +0 -512
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A pull-style async iterator that fans out a single stream of values to
|
|
3
|
+
* multiple `for await (...)` consumers. Each subscriber gets its own
|
|
4
|
+
* `AsyncGenerator` whose `.next()` resolves whenever a value is pushed via
|
|
5
|
+
* `push(value)`. Multiple consumers see the same values without each one
|
|
6
|
+
* driving an independent underlying source.
|
|
7
|
+
*
|
|
8
|
+
* Backpressure is **latest-wins**: if values arrive faster than a particular
|
|
9
|
+
* consumer drains its iterator, only the most-recently-pushed value is kept
|
|
10
|
+
* pending for that subscriber. Earlier undrained values are dropped. This is
|
|
11
|
+
* appropriate for live data streams (reactive state replication), not for
|
|
12
|
+
* event logs where every value must be delivered.
|
|
13
|
+
*
|
|
14
|
+
* Lifecycle hooks are exposed via the constructor:
|
|
15
|
+
*
|
|
16
|
+
* - `start()` is called when the subscriber count transitions
|
|
17
|
+
* from 0 to 1 (e.g. to start a pump pulling from a real source).
|
|
18
|
+
* - `stop()` is called when the subscriber count transitions
|
|
19
|
+
* from non-zero back to 0 (e.g. to tear down that pump).
|
|
20
|
+
*
|
|
21
|
+
* Either hook may be omitted.
|
|
22
|
+
*
|
|
23
|
+
* The owner is responsible for calling `push(value)` to broadcast values,
|
|
24
|
+
* `done()` to signal natural completion to all subscribers, and `fail(error)`
|
|
25
|
+
* to broadcast a terminal error. After `done()` or `fail()`, the iterator
|
|
26
|
+
* rejects further `subscribe()` calls with the terminal state appropriately.
|
|
27
|
+
*
|
|
28
|
+
* @template T
|
|
29
|
+
*/
|
|
30
|
+
export class SharedIterator {
|
|
31
|
+
/**
|
|
32
|
+
* @typedef {object} Subscriber
|
|
33
|
+
* @property {{ value: any } | null} pending
|
|
34
|
+
* @property {{ error: unknown } | null} pending_error
|
|
35
|
+
* @property {boolean} finished
|
|
36
|
+
* @property {((result: IteratorResult<any, void>) => void) | null} waiting_resolve
|
|
37
|
+
* @property {((reason: unknown) => void) | null} waiting_reject
|
|
38
|
+
*/
|
|
39
|
+
|
|
40
|
+
/** @type {Set<Subscriber>} */
|
|
41
|
+
#subscribers = new Set();
|
|
42
|
+
|
|
43
|
+
/** @type {((instance: SharedIterator<T>) => (() => void)) | undefined} */
|
|
44
|
+
#start = undefined;
|
|
45
|
+
|
|
46
|
+
/** @type {(() => void) | undefined} */
|
|
47
|
+
#stop = undefined;
|
|
48
|
+
|
|
49
|
+
/** Once `done()` or `fail()` has been broadcast, no new values are accepted. */
|
|
50
|
+
#closed = false;
|
|
51
|
+
|
|
52
|
+
/** @type {unknown} */
|
|
53
|
+
#terminal_error = undefined;
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* @param {(instance: SharedIterator<T>) => (() => void)} [start]
|
|
57
|
+
*/
|
|
58
|
+
constructor(start) {
|
|
59
|
+
this.#start = start;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/** @param {T} value */
|
|
63
|
+
push(value) {
|
|
64
|
+
if (this.#closed) return;
|
|
65
|
+
for (const subscriber of this.#subscribers) {
|
|
66
|
+
if (subscriber.waiting_resolve) {
|
|
67
|
+
const resolve = subscriber.waiting_resolve;
|
|
68
|
+
subscriber.waiting_resolve = null;
|
|
69
|
+
subscriber.waiting_reject = null;
|
|
70
|
+
resolve({ value, done: false });
|
|
71
|
+
} else {
|
|
72
|
+
subscriber.pending = { value };
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Signal natural completion to all current subscribers, and to any future
|
|
79
|
+
* subscriber (which will receive an immediately-done iterator).
|
|
80
|
+
*/
|
|
81
|
+
done() {
|
|
82
|
+
if (this.#closed) return;
|
|
83
|
+
this.#closed = true;
|
|
84
|
+
for (const subscriber of this.#subscribers) {
|
|
85
|
+
subscriber.finished = true;
|
|
86
|
+
if (subscriber.waiting_resolve) {
|
|
87
|
+
const resolve = subscriber.waiting_resolve;
|
|
88
|
+
subscriber.waiting_resolve = null;
|
|
89
|
+
subscriber.waiting_reject = null;
|
|
90
|
+
resolve({ value: undefined, done: true });
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
this.#subscribers.clear();
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* Broadcast a terminal error. All current subscribers will reject their
|
|
98
|
+
* next `.next()` call with `error`. Future subscribers will also reject
|
|
99
|
+
* their first `.next()`.
|
|
100
|
+
*
|
|
101
|
+
* @param {unknown} error
|
|
102
|
+
*/
|
|
103
|
+
fail(error) {
|
|
104
|
+
if (this.#closed) return;
|
|
105
|
+
this.#closed = true;
|
|
106
|
+
this.#terminal_error = error;
|
|
107
|
+
for (const subscriber of this.#subscribers) {
|
|
108
|
+
subscriber.finished = true;
|
|
109
|
+
if (subscriber.waiting_reject) {
|
|
110
|
+
const reject = subscriber.waiting_reject;
|
|
111
|
+
subscriber.waiting_resolve = null;
|
|
112
|
+
subscriber.waiting_reject = null;
|
|
113
|
+
reject(error);
|
|
114
|
+
} else {
|
|
115
|
+
subscriber.pending_error = { error };
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
this.#subscribers.clear();
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* Subscribe to the shared stream. Returns an `AsyncGenerator<T>` that
|
|
123
|
+
* yields every value pushed after this call (and, if `initial_value` is
|
|
124
|
+
* provided, that value as the first yield).
|
|
125
|
+
*
|
|
126
|
+
* @param {{ initial_value?: { value: T } }} [options]
|
|
127
|
+
* `initial_value` lets the caller seed the iterator with a synchronously-
|
|
128
|
+
* available current value before any new pushes arrive (e.g. the
|
|
129
|
+
* "last-seen value" of a reactive resource). Pass it wrapped in an
|
|
130
|
+
* object so `undefined` can be distinguished from "no initial value".
|
|
131
|
+
* @returns {AsyncGenerator<T, void, void>}
|
|
132
|
+
*/
|
|
133
|
+
subscribe(options) {
|
|
134
|
+
/** @type {Subscriber} */
|
|
135
|
+
const subscriber = {
|
|
136
|
+
pending: options?.initial_value ? { value: options.initial_value.value } : null,
|
|
137
|
+
pending_error:
|
|
138
|
+
this.#closed && this.#terminal_error !== undefined ? { error: this.#terminal_error } : null,
|
|
139
|
+
finished: this.#closed && this.#terminal_error === undefined,
|
|
140
|
+
waiting_resolve: null,
|
|
141
|
+
waiting_reject: null
|
|
142
|
+
};
|
|
143
|
+
|
|
144
|
+
if (!subscriber.finished && subscriber.pending_error === null) {
|
|
145
|
+
this.#subscribers.add(subscriber);
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
if (!this.#closed) {
|
|
149
|
+
this.#stop ??= this.#start?.(this);
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
const unsubscribe = () => {
|
|
153
|
+
subscriber.finished = true;
|
|
154
|
+
const was_present = this.#subscribers.delete(subscriber);
|
|
155
|
+
|
|
156
|
+
if (was_present && this.#subscribers.size === 0) {
|
|
157
|
+
this.#stop?.();
|
|
158
|
+
}
|
|
159
|
+
};
|
|
160
|
+
|
|
161
|
+
/** @type {AsyncGenerator<T, void, void>} */
|
|
162
|
+
const iterator = {
|
|
163
|
+
next() {
|
|
164
|
+
if (subscriber.pending_error) {
|
|
165
|
+
const { error } = subscriber.pending_error;
|
|
166
|
+
subscriber.pending_error = null;
|
|
167
|
+
unsubscribe();
|
|
168
|
+
return Promise.reject(error);
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
if (subscriber.pending) {
|
|
172
|
+
const { value } = subscriber.pending;
|
|
173
|
+
subscriber.pending = null;
|
|
174
|
+
return Promise.resolve({ value, done: false });
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
if (subscriber.finished) {
|
|
178
|
+
return Promise.resolve({ value: undefined, done: true });
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
return new Promise((resolve, reject) => {
|
|
182
|
+
subscriber.waiting_resolve = resolve;
|
|
183
|
+
subscriber.waiting_reject = reject;
|
|
184
|
+
});
|
|
185
|
+
},
|
|
186
|
+
return(value) {
|
|
187
|
+
unsubscribe();
|
|
188
|
+
if (subscriber.waiting_resolve) {
|
|
189
|
+
const resolve = subscriber.waiting_resolve;
|
|
190
|
+
subscriber.waiting_resolve = null;
|
|
191
|
+
subscriber.waiting_reject = null;
|
|
192
|
+
resolve({ value: undefined, done: true });
|
|
193
|
+
}
|
|
194
|
+
return Promise.resolve({ value: /** @type {void} */ (value), done: true });
|
|
195
|
+
},
|
|
196
|
+
throw(error) {
|
|
197
|
+
unsubscribe();
|
|
198
|
+
if (subscriber.waiting_reject) {
|
|
199
|
+
const reject = subscriber.waiting_reject;
|
|
200
|
+
subscriber.waiting_resolve = null;
|
|
201
|
+
subscriber.waiting_reject = null;
|
|
202
|
+
reject(error);
|
|
203
|
+
}
|
|
204
|
+
return Promise.reject(error);
|
|
205
|
+
},
|
|
206
|
+
[Symbol.asyncIterator]() {
|
|
207
|
+
return iterator;
|
|
208
|
+
}
|
|
209
|
+
};
|
|
210
|
+
|
|
211
|
+
return iterator;
|
|
212
|
+
}
|
|
213
|
+
}
|
package/src/version.js
CHANGED
package/types/index.d.ts
CHANGED
|
@@ -2119,15 +2119,19 @@ declare module '@sveltejs/kit' {
|
|
|
2119
2119
|
method: 'POST';
|
|
2120
2120
|
/** The URL to send the form to. */
|
|
2121
2121
|
action: string;
|
|
2122
|
+
/** The `<form>` element this instance is currently attached to, if any. */
|
|
2123
|
+
get element(): HTMLFormElement | null;
|
|
2124
|
+
/** Submit the currently attached form programmatically. */
|
|
2125
|
+
submit(): Promise<boolean> & {
|
|
2126
|
+
updates: (...updates: RemoteQueryUpdate[]) => Promise<boolean>;
|
|
2127
|
+
};
|
|
2122
2128
|
/** Use the `enhance` method to influence what happens when the form is submitted. */
|
|
2123
2129
|
enhance(
|
|
2124
|
-
callback: (
|
|
2125
|
-
form:
|
|
2126
|
-
|
|
2127
|
-
|
|
2128
|
-
|
|
2129
|
-
};
|
|
2130
|
-
}) => MaybePromise<void>
|
|
2130
|
+
callback: (
|
|
2131
|
+
form: Omit<RemoteForm<Input, Output>, 'enhance' | 'element'> & {
|
|
2132
|
+
readonly element: HTMLFormElement;
|
|
2133
|
+
}
|
|
2134
|
+
) => MaybePromise<void>
|
|
2131
2135
|
): {
|
|
2132
2136
|
method: 'POST';
|
|
2133
2137
|
action: string;
|
|
@@ -2202,12 +2206,6 @@ declare module '@sveltejs/kit' {
|
|
|
2202
2206
|
);
|
|
2203
2207
|
|
|
2204
2208
|
export type RemoteQuery<T> = RemoteResource<T> & {
|
|
2205
|
-
/**
|
|
2206
|
-
* Returns a plain promise with the result.
|
|
2207
|
-
* Unlike awaiting the resource directly, this can only be used _outside_ render
|
|
2208
|
-
* (i.e. in load functions, event handlers and so on)
|
|
2209
|
-
*/
|
|
2210
|
-
run(): Promise<T>;
|
|
2211
2209
|
/**
|
|
2212
2210
|
* On the client, this function will update the value of the query without re-fetching it.
|
|
2213
2211
|
*
|
|
@@ -2231,9 +2229,9 @@ declare module '@sveltejs/kit' {
|
|
|
2231
2229
|
* const todos = getTodos();
|
|
2232
2230
|
* </script>
|
|
2233
2231
|
*
|
|
2234
|
-
* <form {...addTodo.enhance(async (
|
|
2235
|
-
* await submit().updates(
|
|
2236
|
-
* todos.withOverride((todos) => [...todos, { text:
|
|
2232
|
+
* <form {...addTodo.enhance(async (form) => {
|
|
2233
|
+
* await form.submit().updates(
|
|
2234
|
+
* todos.withOverride((todos) => [...todos, { text: form.fields.text.value() }])
|
|
2237
2235
|
* );
|
|
2238
2236
|
* })}>
|
|
2239
2237
|
* <input type="text" name="text" />
|
|
@@ -2244,20 +2242,15 @@ declare module '@sveltejs/kit' {
|
|
|
2244
2242
|
withOverride(update: (current: T) => T): RemoteQueryOverride;
|
|
2245
2243
|
};
|
|
2246
2244
|
|
|
2247
|
-
export type RemoteLiveQuery<T> = RemoteResource<T> &
|
|
2248
|
-
|
|
2249
|
-
|
|
2250
|
-
|
|
2251
|
-
|
|
2252
|
-
|
|
2253
|
-
|
|
2254
|
-
|
|
2255
|
-
|
|
2256
|
-
/** `true` once the current live stream iterator is done. */
|
|
2257
|
-
readonly done: boolean;
|
|
2258
|
-
/** Reconnects the live stream immediately. */
|
|
2259
|
-
reconnect(): Promise<void>;
|
|
2260
|
-
};
|
|
2245
|
+
export type RemoteLiveQuery<T> = RemoteResource<T> &
|
|
2246
|
+
AsyncIterable<T> & {
|
|
2247
|
+
/** `true` if the live stream is currently connected. */
|
|
2248
|
+
readonly connected: boolean;
|
|
2249
|
+
/** `true` once the current live stream iterator is done. */
|
|
2250
|
+
readonly done: boolean;
|
|
2251
|
+
/** Reconnects the live stream immediately. */
|
|
2252
|
+
reconnect(): Promise<void>;
|
|
2253
|
+
};
|
|
2261
2254
|
|
|
2262
2255
|
export type RemoteQueryOverride = () => void;
|
|
2263
2256
|
|
|
@@ -2722,7 +2715,10 @@ declare module '@sveltejs/kit' {
|
|
|
2722
2715
|
universal_id?: string;
|
|
2723
2716
|
server_id?: string;
|
|
2724
2717
|
|
|
2725
|
-
/**
|
|
2718
|
+
/**
|
|
2719
|
+
* During development, all styles are inlined for the page to avoid FOUC.
|
|
2720
|
+
* But in production, this stores styles that are below the inline threshold
|
|
2721
|
+
*/
|
|
2726
2722
|
inline_styles?(): MaybePromise<
|
|
2727
2723
|
Record<string, string | ((assets: string, base: string) => string)>
|
|
2728
2724
|
>;
|
package/types/index.d.ts.map
CHANGED
|
@@ -238,6 +238,6 @@
|
|
|
238
238
|
null,
|
|
239
239
|
null
|
|
240
240
|
],
|
|
241
|
-
"mappings": "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
|
|
241
|
+
"mappings": "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",
|
|
242
242
|
"ignoreList": []
|
|
243
243
|
}
|