vite-plugin-react-server 1.2.4 → 1.3.0

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 (57) hide show
  1. package/README.md +18 -0
  2. package/dist/package.json +15 -3
  3. package/dist/plugin/orchestrator/createPluginOrchestrator.client.d.ts.map +1 -1
  4. package/dist/plugin/orchestrator/createPluginOrchestrator.client.js +3 -0
  5. package/dist/plugin/orchestrator/createPluginOrchestrator.server.d.ts.map +1 -1
  6. package/dist/plugin/orchestrator/createPluginOrchestrator.server.js +3 -0
  7. package/dist/plugin/utils/callServer.d.ts +1 -1
  8. package/dist/plugin/utils/callServer.d.ts.map +1 -1
  9. package/dist/plugin/utils/createCallServer.d.ts +1 -1
  10. package/dist/plugin/utils/createCallServer.d.ts.map +1 -1
  11. package/dist/plugin/utils/createReactFetcher.d.ts +2 -1
  12. package/dist/plugin/utils/createReactFetcher.d.ts.map +1 -1
  13. package/dist/plugin/utils/createReactFetcher.js +1 -1
  14. package/dist/plugin/vendor/vendor-alias.d.ts +12 -0
  15. package/dist/plugin/vendor/vendor-alias.d.ts.map +1 -0
  16. package/dist/plugin/vendor/vendor-alias.js +87 -0
  17. package/dist/plugin/vendor/vendor.client.d.ts +1 -1
  18. package/dist/plugin/vendor/vendor.client.d.ts.map +1 -1
  19. package/dist/plugin/vendor/vendor.client.js +19 -6
  20. package/dist/plugin/vendor/vendor.server.d.ts.map +1 -1
  21. package/dist/plugin/vendor/vendor.server.js +18 -5
  22. package/dist/plugin/vendor/vendor.static.d.ts.map +1 -1
  23. package/dist/plugin/vendor/vendor.static.js +18 -5
  24. package/dist/tsconfig.tsbuildinfo +1 -1
  25. package/oss-experimental/react-server-dom-esm/LICENSE +21 -0
  26. package/oss-experimental/react-server-dom-esm/README.md +5 -0
  27. package/oss-experimental/react-server-dom-esm/cjs/react-server-dom-esm-client.browser.development.js +2996 -0
  28. package/oss-experimental/react-server-dom-esm/cjs/react-server-dom-esm-client.browser.production.js +1612 -0
  29. package/oss-experimental/react-server-dom-esm/cjs/react-server-dom-esm-client.node.development.js +3124 -0
  30. package/oss-experimental/react-server-dom-esm/cjs/react-server-dom-esm-client.node.production.js +1752 -0
  31. package/oss-experimental/react-server-dom-esm/cjs/react-server-dom-esm-server.node.development.js +4213 -0
  32. package/oss-experimental/react-server-dom-esm/cjs/react-server-dom-esm-server.node.production.js +2857 -0
  33. package/oss-experimental/react-server-dom-esm/client.browser.js +7 -0
  34. package/oss-experimental/react-server-dom-esm/client.js +3 -0
  35. package/oss-experimental/react-server-dom-esm/client.node.js +7 -0
  36. package/oss-experimental/react-server-dom-esm/esm/package.json +3 -0
  37. package/oss-experimental/react-server-dom-esm/esm/react-server-dom-esm-client.browser.development.js +3969 -0
  38. package/oss-experimental/react-server-dom-esm/esm/react-server-dom-esm-client.browser.production.js +2347 -0
  39. package/oss-experimental/react-server-dom-esm/esm/react-server-dom-esm-node-loader.production.js +515 -0
  40. package/oss-experimental/react-server-dom-esm/index.js +12 -0
  41. package/oss-experimental/react-server-dom-esm/package.json +63 -0
  42. package/oss-experimental/react-server-dom-esm/server.js +6 -0
  43. package/oss-experimental/react-server-dom-esm/server.node.js +17 -0
  44. package/oss-experimental/react-server-dom-esm/static.js +6 -0
  45. package/oss-experimental/react-server-dom-esm/static.node.js +12 -0
  46. package/package.json +15 -3
  47. package/plugin/orchestrator/createPluginOrchestrator.client.ts +4 -0
  48. package/plugin/orchestrator/createPluginOrchestrator.server.ts +4 -0
  49. package/plugin/types/react-server-dom-esm.d.ts +7 -2
  50. package/plugin/types/virtual-rsc-hmr.d.ts +14 -1
  51. package/plugin/utils/createReactFetcher.ts +2 -1
  52. package/plugin/vendor/vendor-alias.ts +102 -0
  53. package/plugin/vendor/vendor.client.ts +24 -9
  54. package/plugin/vendor/vendor.server.ts +22 -7
  55. package/plugin/vendor/vendor.static.ts +21 -7
  56. package/scripts/build-oss-experimental.sh +161 -0
  57. package/virtual.d.ts +20 -0
@@ -0,0 +1,1752 @@
1
+ /**
2
+ * @license React
3
+ * react-server-dom-esm-client.node.production.js
4
+ *
5
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
6
+ *
7
+ * This source code is licensed under the MIT license found in the
8
+ * LICENSE file in the root directory of this source tree.
9
+ */
10
+
11
+ "use strict";
12
+ var util = require("util"),
13
+ ReactDOM = require("react-dom"),
14
+ decoderOptions = { stream: !0 };
15
+ function resolveServerReference(config, id) {
16
+ var idx = id.lastIndexOf("#"),
17
+ exportName = id.slice(idx + 1);
18
+ id = id.slice(0, idx);
19
+ if (!id.startsWith(config))
20
+ throw Error(
21
+ "Attempted to load a Server Reference outside the hosted root."
22
+ );
23
+ return { specifier: id, name: exportName };
24
+ }
25
+ var asyncModuleCache = new Map();
26
+ function preloadModule(metadata) {
27
+ var existingPromise = asyncModuleCache.get(metadata.specifier);
28
+ if (existingPromise)
29
+ return "fulfilled" === existingPromise.status ? null : existingPromise;
30
+ var modulePromise = import(metadata.specifier);
31
+ modulePromise.then(
32
+ function (value) {
33
+ modulePromise.status = "fulfilled";
34
+ modulePromise.value = value;
35
+ },
36
+ function (reason) {
37
+ modulePromise.status = "rejected";
38
+ modulePromise.reason = reason;
39
+ }
40
+ );
41
+ asyncModuleCache.set(metadata.specifier, modulePromise);
42
+ return modulePromise;
43
+ }
44
+ function requireModule(metadata) {
45
+ var moduleExports = asyncModuleCache.get(metadata.specifier);
46
+ if ("fulfilled" === moduleExports.status) moduleExports = moduleExports.value;
47
+ else throw moduleExports.reason;
48
+ return moduleExports[metadata.name];
49
+ }
50
+ function prepareDestinationForModuleImpl(moduleLoading, mod, nonce) {
51
+ "string" === typeof moduleLoading
52
+ ? ReactDOMSharedInternals.d.M(moduleLoading + mod, {
53
+ crossOrigin: getCrossOriginString(void 0),
54
+ nonce: nonce
55
+ })
56
+ : null !== moduleLoading &&
57
+ ReactDOMSharedInternals.d.M(moduleLoading.prefix + mod, {
58
+ crossOrigin: getCrossOriginString(moduleLoading.crossOrigin),
59
+ nonce: nonce
60
+ });
61
+ }
62
+ var ReactDOMSharedInternals =
63
+ ReactDOM.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;
64
+ function getCrossOriginString(input) {
65
+ if ("string" === typeof input)
66
+ return "use-credentials" === input ? input : "";
67
+ }
68
+ var REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"),
69
+ REACT_LAZY_TYPE = Symbol.for("react.lazy"),
70
+ REACT_POSTPONE_TYPE = Symbol.for("react.postpone"),
71
+ MAYBE_ITERATOR_SYMBOL = Symbol.iterator;
72
+ function getIteratorFn(maybeIterable) {
73
+ if (null === maybeIterable || "object" !== typeof maybeIterable) return null;
74
+ maybeIterable =
75
+ (MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL]) ||
76
+ maybeIterable["@@iterator"];
77
+ return "function" === typeof maybeIterable ? maybeIterable : null;
78
+ }
79
+ var ASYNC_ITERATOR = Symbol.asyncIterator,
80
+ isArrayImpl = Array.isArray,
81
+ getPrototypeOf = Object.getPrototypeOf,
82
+ ObjectPrototype = Object.prototype,
83
+ knownServerReferences = new WeakMap();
84
+ function serializeNumber(number) {
85
+ return Number.isFinite(number)
86
+ ? 0 === number && -Infinity === 1 / number
87
+ ? "$-0"
88
+ : number
89
+ : Infinity === number
90
+ ? "$Infinity"
91
+ : -Infinity === number
92
+ ? "$-Infinity"
93
+ : "$NaN";
94
+ }
95
+ function processReply(
96
+ root,
97
+ formFieldPrefix,
98
+ temporaryReferences,
99
+ resolve,
100
+ reject
101
+ ) {
102
+ function serializeTypedArray(tag, typedArray) {
103
+ typedArray = new Blob([
104
+ new Uint8Array(
105
+ typedArray.buffer,
106
+ typedArray.byteOffset,
107
+ typedArray.byteLength
108
+ )
109
+ ]);
110
+ var blobId = nextPartId++;
111
+ null === formData && (formData = new FormData());
112
+ formData.append(formFieldPrefix + blobId, typedArray);
113
+ return "$" + tag + blobId.toString(16);
114
+ }
115
+ function serializeBinaryReader(reader) {
116
+ function progress(entry) {
117
+ entry.done
118
+ ? ((entry = nextPartId++),
119
+ data.append(formFieldPrefix + entry, new Blob(buffer)),
120
+ data.append(
121
+ formFieldPrefix + streamId,
122
+ '"$o' + entry.toString(16) + '"'
123
+ ),
124
+ data.append(formFieldPrefix + streamId, "C"),
125
+ pendingParts--,
126
+ 0 === pendingParts && resolve(data))
127
+ : (buffer.push(entry.value),
128
+ reader.read(new Uint8Array(1024)).then(progress, reject));
129
+ }
130
+ null === formData && (formData = new FormData());
131
+ var data = formData;
132
+ pendingParts++;
133
+ var streamId = nextPartId++,
134
+ buffer = [];
135
+ reader.read(new Uint8Array(1024)).then(progress, reject);
136
+ return "$r" + streamId.toString(16);
137
+ }
138
+ function serializeReader(reader) {
139
+ function progress(entry) {
140
+ if (entry.done)
141
+ data.append(formFieldPrefix + streamId, "C"),
142
+ pendingParts--,
143
+ 0 === pendingParts && resolve(data);
144
+ else
145
+ try {
146
+ var partJSON = JSON.stringify(entry.value, resolveToJSON);
147
+ data.append(formFieldPrefix + streamId, partJSON);
148
+ reader.read().then(progress, reject);
149
+ } catch (x) {
150
+ reject(x);
151
+ }
152
+ }
153
+ null === formData && (formData = new FormData());
154
+ var data = formData;
155
+ pendingParts++;
156
+ var streamId = nextPartId++;
157
+ reader.read().then(progress, reject);
158
+ return "$R" + streamId.toString(16);
159
+ }
160
+ function serializeReadableStream(stream) {
161
+ try {
162
+ var binaryReader = stream.getReader({ mode: "byob" });
163
+ } catch (x) {
164
+ return serializeReader(stream.getReader());
165
+ }
166
+ return serializeBinaryReader(binaryReader);
167
+ }
168
+ function serializeAsyncIterable(iterable, iterator) {
169
+ function progress(entry) {
170
+ if (entry.done) {
171
+ if (void 0 === entry.value)
172
+ data.append(formFieldPrefix + streamId, "C");
173
+ else
174
+ try {
175
+ var partJSON = JSON.stringify(entry.value, resolveToJSON);
176
+ data.append(formFieldPrefix + streamId, "C" + partJSON);
177
+ } catch (x) {
178
+ reject(x);
179
+ return;
180
+ }
181
+ pendingParts--;
182
+ 0 === pendingParts && resolve(data);
183
+ } else
184
+ try {
185
+ var partJSON$22 = JSON.stringify(entry.value, resolveToJSON);
186
+ data.append(formFieldPrefix + streamId, partJSON$22);
187
+ iterator.next().then(progress, reject);
188
+ } catch (x$23) {
189
+ reject(x$23);
190
+ }
191
+ }
192
+ null === formData && (formData = new FormData());
193
+ var data = formData;
194
+ pendingParts++;
195
+ var streamId = nextPartId++;
196
+ iterable = iterable === iterator;
197
+ iterator.next().then(progress, reject);
198
+ return "$" + (iterable ? "x" : "X") + streamId.toString(16);
199
+ }
200
+ function resolveToJSON(key, value) {
201
+ if (null === value) return null;
202
+ if ("object" === typeof value) {
203
+ switch (value.$$typeof) {
204
+ case REACT_ELEMENT_TYPE:
205
+ if (void 0 !== temporaryReferences && -1 === key.indexOf(":")) {
206
+ var parentReference = writtenObjects.get(this);
207
+ if (void 0 !== parentReference)
208
+ return (
209
+ temporaryReferences.set(parentReference + ":" + key, value),
210
+ "$T"
211
+ );
212
+ }
213
+ throw Error(
214
+ "React Element cannot be passed to Server Functions from the Client without a temporary reference set. Pass a TemporaryReferenceSet to the options."
215
+ );
216
+ case REACT_LAZY_TYPE:
217
+ parentReference = value._payload;
218
+ var init = value._init;
219
+ null === formData && (formData = new FormData());
220
+ pendingParts++;
221
+ try {
222
+ var resolvedModel = init(parentReference),
223
+ lazyId = nextPartId++,
224
+ partJSON = serializeModel(resolvedModel, lazyId);
225
+ formData.append(formFieldPrefix + lazyId, partJSON);
226
+ return "$" + lazyId.toString(16);
227
+ } catch (x) {
228
+ if (
229
+ "object" === typeof x &&
230
+ null !== x &&
231
+ "function" === typeof x.then
232
+ ) {
233
+ pendingParts++;
234
+ var lazyId$24 = nextPartId++;
235
+ parentReference = function () {
236
+ try {
237
+ var partJSON$25 = serializeModel(value, lazyId$24),
238
+ data$26 = formData;
239
+ data$26.append(formFieldPrefix + lazyId$24, partJSON$25);
240
+ pendingParts--;
241
+ 0 === pendingParts && resolve(data$26);
242
+ } catch (reason) {
243
+ reject(reason);
244
+ }
245
+ };
246
+ x.then(parentReference, parentReference);
247
+ return "$" + lazyId$24.toString(16);
248
+ }
249
+ reject(x);
250
+ return null;
251
+ } finally {
252
+ pendingParts--;
253
+ }
254
+ }
255
+ if ("function" === typeof value.then) {
256
+ null === formData && (formData = new FormData());
257
+ pendingParts++;
258
+ var promiseId = nextPartId++;
259
+ value.then(function (partValue) {
260
+ try {
261
+ var partJSON$28 = serializeModel(partValue, promiseId);
262
+ partValue = formData;
263
+ partValue.append(formFieldPrefix + promiseId, partJSON$28);
264
+ pendingParts--;
265
+ 0 === pendingParts && resolve(partValue);
266
+ } catch (reason) {
267
+ reject(reason);
268
+ }
269
+ }, reject);
270
+ return "$@" + promiseId.toString(16);
271
+ }
272
+ parentReference = writtenObjects.get(value);
273
+ if (void 0 !== parentReference)
274
+ if (modelRoot === value) modelRoot = null;
275
+ else return parentReference;
276
+ else
277
+ -1 === key.indexOf(":") &&
278
+ ((parentReference = writtenObjects.get(this)),
279
+ void 0 !== parentReference &&
280
+ ((key = parentReference + ":" + key),
281
+ writtenObjects.set(value, key),
282
+ void 0 !== temporaryReferences &&
283
+ temporaryReferences.set(key, value)));
284
+ if (isArrayImpl(value)) return value;
285
+ if (value instanceof FormData) {
286
+ null === formData && (formData = new FormData());
287
+ var data$32 = formData;
288
+ key = nextPartId++;
289
+ var prefix = formFieldPrefix + key + "_";
290
+ value.forEach(function (originalValue, originalKey) {
291
+ data$32.append(prefix + originalKey, originalValue);
292
+ });
293
+ return "$K" + key.toString(16);
294
+ }
295
+ if (value instanceof Map)
296
+ return (
297
+ (key = nextPartId++),
298
+ (parentReference = serializeModel(Array.from(value), key)),
299
+ null === formData && (formData = new FormData()),
300
+ formData.append(formFieldPrefix + key, parentReference),
301
+ "$Q" + key.toString(16)
302
+ );
303
+ if (value instanceof Set)
304
+ return (
305
+ (key = nextPartId++),
306
+ (parentReference = serializeModel(Array.from(value), key)),
307
+ null === formData && (formData = new FormData()),
308
+ formData.append(formFieldPrefix + key, parentReference),
309
+ "$W" + key.toString(16)
310
+ );
311
+ if (value instanceof ArrayBuffer)
312
+ return (
313
+ (key = new Blob([value])),
314
+ (parentReference = nextPartId++),
315
+ null === formData && (formData = new FormData()),
316
+ formData.append(formFieldPrefix + parentReference, key),
317
+ "$A" + parentReference.toString(16)
318
+ );
319
+ if (value instanceof Int8Array) return serializeTypedArray("O", value);
320
+ if (value instanceof Uint8Array) return serializeTypedArray("o", value);
321
+ if (value instanceof Uint8ClampedArray)
322
+ return serializeTypedArray("U", value);
323
+ if (value instanceof Int16Array) return serializeTypedArray("S", value);
324
+ if (value instanceof Uint16Array) return serializeTypedArray("s", value);
325
+ if (value instanceof Int32Array) return serializeTypedArray("L", value);
326
+ if (value instanceof Uint32Array) return serializeTypedArray("l", value);
327
+ if (value instanceof Float32Array) return serializeTypedArray("G", value);
328
+ if (value instanceof Float64Array) return serializeTypedArray("g", value);
329
+ if (value instanceof BigInt64Array)
330
+ return serializeTypedArray("M", value);
331
+ if (value instanceof BigUint64Array)
332
+ return serializeTypedArray("m", value);
333
+ if (value instanceof DataView) return serializeTypedArray("V", value);
334
+ if ("function" === typeof Blob && value instanceof Blob)
335
+ return (
336
+ null === formData && (formData = new FormData()),
337
+ (key = nextPartId++),
338
+ formData.append(formFieldPrefix + key, value),
339
+ "$B" + key.toString(16)
340
+ );
341
+ if ((key = getIteratorFn(value)))
342
+ return (
343
+ (parentReference = key.call(value)),
344
+ parentReference === value
345
+ ? ((key = nextPartId++),
346
+ (parentReference = serializeModel(
347
+ Array.from(parentReference),
348
+ key
349
+ )),
350
+ null === formData && (formData = new FormData()),
351
+ formData.append(formFieldPrefix + key, parentReference),
352
+ "$i" + key.toString(16))
353
+ : Array.from(parentReference)
354
+ );
355
+ if (
356
+ "function" === typeof ReadableStream &&
357
+ value instanceof ReadableStream
358
+ )
359
+ return serializeReadableStream(value);
360
+ key = value[ASYNC_ITERATOR];
361
+ if ("function" === typeof key)
362
+ return serializeAsyncIterable(value, key.call(value));
363
+ key = getPrototypeOf(value);
364
+ if (
365
+ key !== ObjectPrototype &&
366
+ (null === key || null !== getPrototypeOf(key))
367
+ ) {
368
+ if (void 0 === temporaryReferences)
369
+ throw Error(
370
+ "Only plain objects, and a few built-ins, can be passed to Server Functions. Classes or null prototypes are not supported."
371
+ );
372
+ return "$T";
373
+ }
374
+ return value;
375
+ }
376
+ if ("string" === typeof value) {
377
+ if ("Z" === value[value.length - 1] && this[key] instanceof Date)
378
+ return "$D" + value;
379
+ key = "$" === value[0] ? "$" + value : value;
380
+ return key;
381
+ }
382
+ if ("boolean" === typeof value) return value;
383
+ if ("number" === typeof value) return serializeNumber(value);
384
+ if ("undefined" === typeof value) return "$undefined";
385
+ if ("function" === typeof value) {
386
+ parentReference = knownServerReferences.get(value);
387
+ if (void 0 !== parentReference)
388
+ return (
389
+ (key = JSON.stringify(
390
+ { id: parentReference.id, bound: parentReference.bound },
391
+ resolveToJSON
392
+ )),
393
+ null === formData && (formData = new FormData()),
394
+ (parentReference = nextPartId++),
395
+ formData.set(formFieldPrefix + parentReference, key),
396
+ "$F" + parentReference.toString(16)
397
+ );
398
+ if (
399
+ void 0 !== temporaryReferences &&
400
+ -1 === key.indexOf(":") &&
401
+ ((parentReference = writtenObjects.get(this)),
402
+ void 0 !== parentReference)
403
+ )
404
+ return (
405
+ temporaryReferences.set(parentReference + ":" + key, value), "$T"
406
+ );
407
+ throw Error(
408
+ "Client Functions cannot be passed directly to Server Functions. Only Functions passed from the Server can be passed back again."
409
+ );
410
+ }
411
+ if ("symbol" === typeof value) {
412
+ if (
413
+ void 0 !== temporaryReferences &&
414
+ -1 === key.indexOf(":") &&
415
+ ((parentReference = writtenObjects.get(this)),
416
+ void 0 !== parentReference)
417
+ )
418
+ return (
419
+ temporaryReferences.set(parentReference + ":" + key, value), "$T"
420
+ );
421
+ throw Error(
422
+ "Symbols cannot be passed to a Server Function without a temporary reference set. Pass a TemporaryReferenceSet to the options."
423
+ );
424
+ }
425
+ if ("bigint" === typeof value) return "$n" + value.toString(10);
426
+ throw Error(
427
+ "Type " +
428
+ typeof value +
429
+ " is not supported as an argument to a Server Function."
430
+ );
431
+ }
432
+ function serializeModel(model, id) {
433
+ "object" === typeof model &&
434
+ null !== model &&
435
+ ((id = "$" + id.toString(16)),
436
+ writtenObjects.set(model, id),
437
+ void 0 !== temporaryReferences && temporaryReferences.set(id, model));
438
+ modelRoot = model;
439
+ return JSON.stringify(model, resolveToJSON);
440
+ }
441
+ var nextPartId = 1,
442
+ pendingParts = 0,
443
+ formData = null,
444
+ writtenObjects = new WeakMap(),
445
+ modelRoot = root,
446
+ json = serializeModel(root, 0);
447
+ null === formData
448
+ ? resolve(json)
449
+ : (formData.set(formFieldPrefix + "0", json),
450
+ 0 === pendingParts && resolve(formData));
451
+ return function () {
452
+ 0 < pendingParts &&
453
+ ((pendingParts = 0),
454
+ null === formData ? resolve(json) : resolve(formData));
455
+ };
456
+ }
457
+ var boundCache = new WeakMap();
458
+ function encodeFormData(reference) {
459
+ var resolve,
460
+ reject,
461
+ thenable = new Promise(function (res, rej) {
462
+ resolve = res;
463
+ reject = rej;
464
+ });
465
+ processReply(
466
+ reference,
467
+ "",
468
+ void 0,
469
+ function (body) {
470
+ if ("string" === typeof body) {
471
+ var data = new FormData();
472
+ data.append("0", body);
473
+ body = data;
474
+ }
475
+ thenable.status = "fulfilled";
476
+ thenable.value = body;
477
+ resolve(body);
478
+ },
479
+ function (e) {
480
+ thenable.status = "rejected";
481
+ thenable.reason = e;
482
+ reject(e);
483
+ }
484
+ );
485
+ return thenable;
486
+ }
487
+ function defaultEncodeFormAction(identifierPrefix) {
488
+ var referenceClosure = knownServerReferences.get(this);
489
+ if (!referenceClosure)
490
+ throw Error(
491
+ "Tried to encode a Server Action from a different instance than the encoder is from. This is a bug in React."
492
+ );
493
+ var data = null;
494
+ if (null !== referenceClosure.bound) {
495
+ data = boundCache.get(referenceClosure);
496
+ data ||
497
+ ((data = encodeFormData({
498
+ id: referenceClosure.id,
499
+ bound: referenceClosure.bound
500
+ })),
501
+ boundCache.set(referenceClosure, data));
502
+ if ("rejected" === data.status) throw data.reason;
503
+ if ("fulfilled" !== data.status) throw data;
504
+ referenceClosure = data.value;
505
+ var prefixedData = new FormData();
506
+ referenceClosure.forEach(function (value, key) {
507
+ prefixedData.append("$ACTION_" + identifierPrefix + ":" + key, value);
508
+ });
509
+ data = prefixedData;
510
+ referenceClosure = "$ACTION_REF_" + identifierPrefix;
511
+ } else referenceClosure = "$ACTION_ID_" + referenceClosure.id;
512
+ return {
513
+ name: referenceClosure,
514
+ method: "POST",
515
+ encType: "multipart/form-data",
516
+ data: data
517
+ };
518
+ }
519
+ function isSignatureEqual(referenceId, numberOfBoundArgs) {
520
+ var referenceClosure = knownServerReferences.get(this);
521
+ if (!referenceClosure)
522
+ throw Error(
523
+ "Tried to encode a Server Action from a different instance than the encoder is from. This is a bug in React."
524
+ );
525
+ if (referenceClosure.id !== referenceId) return !1;
526
+ var boundPromise = referenceClosure.bound;
527
+ if (null === boundPromise) return 0 === numberOfBoundArgs;
528
+ switch (boundPromise.status) {
529
+ case "fulfilled":
530
+ return boundPromise.value.length === numberOfBoundArgs;
531
+ case "pending":
532
+ throw boundPromise;
533
+ case "rejected":
534
+ throw boundPromise.reason;
535
+ default:
536
+ throw (
537
+ ("string" !== typeof boundPromise.status &&
538
+ ((boundPromise.status = "pending"),
539
+ boundPromise.then(
540
+ function (boundArgs) {
541
+ boundPromise.status = "fulfilled";
542
+ boundPromise.value = boundArgs;
543
+ },
544
+ function (error) {
545
+ boundPromise.status = "rejected";
546
+ boundPromise.reason = error;
547
+ }
548
+ )),
549
+ boundPromise)
550
+ );
551
+ }
552
+ }
553
+ function registerBoundServerReference(reference, id, bound, encodeFormAction) {
554
+ knownServerReferences.has(reference) ||
555
+ (knownServerReferences.set(reference, {
556
+ id: id,
557
+ originalBind: reference.bind,
558
+ bound: bound
559
+ }),
560
+ Object.defineProperties(reference, {
561
+ $$FORM_ACTION: {
562
+ value:
563
+ void 0 === encodeFormAction
564
+ ? defaultEncodeFormAction
565
+ : function () {
566
+ var referenceClosure = knownServerReferences.get(this);
567
+ if (!referenceClosure)
568
+ throw Error(
569
+ "Tried to encode a Server Action from a different instance than the encoder is from. This is a bug in React."
570
+ );
571
+ var boundPromise = referenceClosure.bound;
572
+ null === boundPromise && (boundPromise = Promise.resolve([]));
573
+ return encodeFormAction(referenceClosure.id, boundPromise);
574
+ }
575
+ },
576
+ $$IS_SIGNATURE_EQUAL: { value: isSignatureEqual },
577
+ bind: { value: bind }
578
+ }));
579
+ }
580
+ var FunctionBind = Function.prototype.bind,
581
+ ArraySlice = Array.prototype.slice;
582
+ function bind() {
583
+ var referenceClosure = knownServerReferences.get(this);
584
+ if (!referenceClosure) return FunctionBind.apply(this, arguments);
585
+ var newFn = referenceClosure.originalBind.apply(this, arguments),
586
+ args = ArraySlice.call(arguments, 1),
587
+ boundPromise = null;
588
+ boundPromise =
589
+ null !== referenceClosure.bound
590
+ ? Promise.resolve(referenceClosure.bound).then(function (boundArgs) {
591
+ return boundArgs.concat(args);
592
+ })
593
+ : Promise.resolve(args);
594
+ knownServerReferences.set(newFn, {
595
+ id: referenceClosure.id,
596
+ originalBind: newFn.bind,
597
+ bound: boundPromise
598
+ });
599
+ Object.defineProperties(newFn, {
600
+ $$FORM_ACTION: { value: this.$$FORM_ACTION },
601
+ $$IS_SIGNATURE_EQUAL: { value: isSignatureEqual },
602
+ bind: { value: bind }
603
+ });
604
+ return newFn;
605
+ }
606
+ function createBoundServerReference(metaData, callServer, encodeFormAction) {
607
+ function action() {
608
+ var args = Array.prototype.slice.call(arguments);
609
+ return bound
610
+ ? "fulfilled" === bound.status
611
+ ? callServer(id, bound.value.concat(args))
612
+ : Promise.resolve(bound).then(function (boundArgs) {
613
+ return callServer(id, boundArgs.concat(args));
614
+ })
615
+ : callServer(id, args);
616
+ }
617
+ var id = metaData.id,
618
+ bound = metaData.bound;
619
+ registerBoundServerReference(action, id, bound, encodeFormAction);
620
+ return action;
621
+ }
622
+ function createServerReference$1(id, callServer, encodeFormAction) {
623
+ function action() {
624
+ var args = Array.prototype.slice.call(arguments);
625
+ return callServer(id, args);
626
+ }
627
+ registerBoundServerReference(action, id, null, encodeFormAction);
628
+ return action;
629
+ }
630
+ function ReactPromise(status, value, reason, response) {
631
+ this.status = status;
632
+ this.value = value;
633
+ this.reason = reason;
634
+ this._response = response;
635
+ }
636
+ ReactPromise.prototype = Object.create(Promise.prototype);
637
+ ReactPromise.prototype.then = function (resolve, reject) {
638
+ switch (this.status) {
639
+ case "resolved_model":
640
+ initializeModelChunk(this);
641
+ break;
642
+ case "resolved_module":
643
+ initializeModuleChunk(this);
644
+ }
645
+ switch (this.status) {
646
+ case "fulfilled":
647
+ resolve(this.value);
648
+ break;
649
+ case "pending":
650
+ case "blocked":
651
+ resolve &&
652
+ (null === this.value && (this.value = []), this.value.push(resolve));
653
+ reject &&
654
+ (null === this.reason && (this.reason = []), this.reason.push(reject));
655
+ break;
656
+ default:
657
+ reject && reject(this.reason);
658
+ }
659
+ };
660
+ function readChunk(chunk) {
661
+ switch (chunk.status) {
662
+ case "resolved_model":
663
+ initializeModelChunk(chunk);
664
+ break;
665
+ case "resolved_module":
666
+ initializeModuleChunk(chunk);
667
+ }
668
+ switch (chunk.status) {
669
+ case "fulfilled":
670
+ return chunk.value;
671
+ case "pending":
672
+ case "blocked":
673
+ throw chunk;
674
+ default:
675
+ throw chunk.reason;
676
+ }
677
+ }
678
+ function createPendingChunk(response) {
679
+ return new ReactPromise("pending", null, null, response);
680
+ }
681
+ function createErrorChunk(response, error) {
682
+ return new ReactPromise("rejected", null, error, response);
683
+ }
684
+ function wakeChunk(listeners, value) {
685
+ for (var i = 0; i < listeners.length; i++) (0, listeners[i])(value);
686
+ }
687
+ function wakeChunkIfInitialized(chunk, resolveListeners, rejectListeners) {
688
+ switch (chunk.status) {
689
+ case "fulfilled":
690
+ wakeChunk(resolveListeners, chunk.value);
691
+ break;
692
+ case "pending":
693
+ case "blocked":
694
+ if (chunk.value)
695
+ for (var i = 0; i < resolveListeners.length; i++)
696
+ chunk.value.push(resolveListeners[i]);
697
+ else chunk.value = resolveListeners;
698
+ if (chunk.reason) {
699
+ if (rejectListeners)
700
+ for (
701
+ resolveListeners = 0;
702
+ resolveListeners < rejectListeners.length;
703
+ resolveListeners++
704
+ )
705
+ chunk.reason.push(rejectListeners[resolveListeners]);
706
+ } else chunk.reason = rejectListeners;
707
+ break;
708
+ case "rejected":
709
+ rejectListeners && wakeChunk(rejectListeners, chunk.reason);
710
+ }
711
+ }
712
+ function triggerErrorOnChunk(chunk, error) {
713
+ if ("pending" !== chunk.status && "blocked" !== chunk.status)
714
+ chunk.reason.error(error);
715
+ else {
716
+ var listeners = chunk.reason;
717
+ chunk.status = "rejected";
718
+ chunk.reason = error;
719
+ null !== listeners && wakeChunk(listeners, error);
720
+ }
721
+ }
722
+ function createResolvedIteratorResultChunk(response, value, done) {
723
+ return new ReactPromise(
724
+ "resolved_model",
725
+ (done ? '{"done":true,"value":' : '{"done":false,"value":') + value + "}",
726
+ null,
727
+ response
728
+ );
729
+ }
730
+ function resolveIteratorResultChunk(chunk, value, done) {
731
+ resolveModelChunk(
732
+ chunk,
733
+ (done ? '{"done":true,"value":' : '{"done":false,"value":') + value + "}"
734
+ );
735
+ }
736
+ function resolveModelChunk(chunk, value) {
737
+ if ("pending" !== chunk.status) chunk.reason.enqueueModel(value);
738
+ else {
739
+ var resolveListeners = chunk.value,
740
+ rejectListeners = chunk.reason;
741
+ chunk.status = "resolved_model";
742
+ chunk.value = value;
743
+ null !== resolveListeners &&
744
+ (initializeModelChunk(chunk),
745
+ wakeChunkIfInitialized(chunk, resolveListeners, rejectListeners));
746
+ }
747
+ }
748
+ function resolveModuleChunk(chunk, value) {
749
+ if ("pending" === chunk.status || "blocked" === chunk.status) {
750
+ var resolveListeners = chunk.value,
751
+ rejectListeners = chunk.reason;
752
+ chunk.status = "resolved_module";
753
+ chunk.value = value;
754
+ null !== resolveListeners &&
755
+ (initializeModuleChunk(chunk),
756
+ wakeChunkIfInitialized(chunk, resolveListeners, rejectListeners));
757
+ }
758
+ }
759
+ var initializingHandler = null;
760
+ function initializeModelChunk(chunk) {
761
+ var prevHandler = initializingHandler;
762
+ initializingHandler = null;
763
+ var resolvedModel = chunk.value;
764
+ chunk.status = "blocked";
765
+ chunk.value = null;
766
+ chunk.reason = null;
767
+ try {
768
+ var value = JSON.parse(resolvedModel, chunk._response._fromJSON),
769
+ resolveListeners = chunk.value;
770
+ null !== resolveListeners &&
771
+ ((chunk.value = null),
772
+ (chunk.reason = null),
773
+ wakeChunk(resolveListeners, value));
774
+ if (null !== initializingHandler) {
775
+ if (initializingHandler.errored) throw initializingHandler.value;
776
+ if (0 < initializingHandler.deps) {
777
+ initializingHandler.value = value;
778
+ initializingHandler.chunk = chunk;
779
+ return;
780
+ }
781
+ }
782
+ chunk.status = "fulfilled";
783
+ chunk.value = value;
784
+ } catch (error) {
785
+ (chunk.status = "rejected"), (chunk.reason = error);
786
+ } finally {
787
+ initializingHandler = prevHandler;
788
+ }
789
+ }
790
+ function initializeModuleChunk(chunk) {
791
+ try {
792
+ var value = requireModule(chunk.value);
793
+ chunk.status = "fulfilled";
794
+ chunk.value = value;
795
+ } catch (error) {
796
+ (chunk.status = "rejected"), (chunk.reason = error);
797
+ }
798
+ }
799
+ function reportGlobalError(response, error) {
800
+ response._closed = !0;
801
+ response._closedReason = error;
802
+ response._chunks.forEach(function (chunk) {
803
+ "pending" === chunk.status && triggerErrorOnChunk(chunk, error);
804
+ });
805
+ }
806
+ function createLazyChunkWrapper(chunk) {
807
+ return { $$typeof: REACT_LAZY_TYPE, _payload: chunk, _init: readChunk };
808
+ }
809
+ function getChunk(response, id) {
810
+ var chunks = response._chunks,
811
+ chunk = chunks.get(id);
812
+ chunk ||
813
+ ((chunk = response._closed
814
+ ? createErrorChunk(response, response._closedReason)
815
+ : createPendingChunk(response)),
816
+ chunks.set(id, chunk));
817
+ return chunk;
818
+ }
819
+ function waitForReference(
820
+ referencedChunk,
821
+ parentObject,
822
+ key,
823
+ response,
824
+ map,
825
+ path
826
+ ) {
827
+ function fulfill(value) {
828
+ for (var i = 1; i < path.length; i++) {
829
+ for (; value.$$typeof === REACT_LAZY_TYPE; )
830
+ if (((value = value._payload), value === handler.chunk))
831
+ value = handler.value;
832
+ else if ("fulfilled" === value.status) value = value.value;
833
+ else {
834
+ path.splice(0, i - 1);
835
+ value.then(fulfill, reject);
836
+ return;
837
+ }
838
+ value = value[path[i]];
839
+ }
840
+ i = map(response, value, parentObject, key);
841
+ parentObject[key] = i;
842
+ "" === key && null === handler.value && (handler.value = i);
843
+ if (
844
+ parentObject[0] === REACT_ELEMENT_TYPE &&
845
+ "object" === typeof handler.value &&
846
+ null !== handler.value &&
847
+ handler.value.$$typeof === REACT_ELEMENT_TYPE
848
+ )
849
+ switch (((value = handler.value), key)) {
850
+ case "3":
851
+ value.props = i;
852
+ }
853
+ handler.deps--;
854
+ 0 === handler.deps &&
855
+ ((i = handler.chunk),
856
+ null !== i &&
857
+ "blocked" === i.status &&
858
+ ((value = i.value),
859
+ (i.status = "fulfilled"),
860
+ (i.value = handler.value),
861
+ null !== value && wakeChunk(value, handler.value)));
862
+ }
863
+ function reject(error) {
864
+ if (!handler.errored) {
865
+ handler.errored = !0;
866
+ handler.value = error;
867
+ var chunk = handler.chunk;
868
+ null !== chunk &&
869
+ "blocked" === chunk.status &&
870
+ triggerErrorOnChunk(chunk, error);
871
+ }
872
+ }
873
+ if (initializingHandler) {
874
+ var handler = initializingHandler;
875
+ handler.deps++;
876
+ } else
877
+ handler = initializingHandler = {
878
+ parent: null,
879
+ chunk: null,
880
+ value: null,
881
+ deps: 1,
882
+ errored: !1
883
+ };
884
+ referencedChunk.then(fulfill, reject);
885
+ return null;
886
+ }
887
+ function loadServerReference(response, metaData, parentObject, key) {
888
+ if (!response._serverReferenceConfig)
889
+ return createBoundServerReference(
890
+ metaData,
891
+ response._callServer,
892
+ response._encodeFormAction
893
+ );
894
+ var serverReference = resolveServerReference(
895
+ response._serverReferenceConfig,
896
+ metaData.id
897
+ ),
898
+ promise = preloadModule(serverReference);
899
+ if (promise)
900
+ metaData.bound && (promise = Promise.all([promise, metaData.bound]));
901
+ else if (metaData.bound) promise = Promise.resolve(metaData.bound);
902
+ else
903
+ return (
904
+ (promise = requireModule(serverReference)),
905
+ registerBoundServerReference(
906
+ promise,
907
+ metaData.id,
908
+ metaData.bound,
909
+ response._encodeFormAction
910
+ ),
911
+ promise
912
+ );
913
+ if (initializingHandler) {
914
+ var handler = initializingHandler;
915
+ handler.deps++;
916
+ } else
917
+ handler = initializingHandler = {
918
+ parent: null,
919
+ chunk: null,
920
+ value: null,
921
+ deps: 1,
922
+ errored: !1
923
+ };
924
+ promise.then(
925
+ function () {
926
+ var resolvedValue = requireModule(serverReference);
927
+ if (metaData.bound) {
928
+ var boundArgs = metaData.bound.value.slice(0);
929
+ boundArgs.unshift(null);
930
+ resolvedValue = resolvedValue.bind.apply(resolvedValue, boundArgs);
931
+ }
932
+ registerBoundServerReference(
933
+ resolvedValue,
934
+ metaData.id,
935
+ metaData.bound,
936
+ response._encodeFormAction
937
+ );
938
+ parentObject[key] = resolvedValue;
939
+ "" === key && null === handler.value && (handler.value = resolvedValue);
940
+ if (
941
+ parentObject[0] === REACT_ELEMENT_TYPE &&
942
+ "object" === typeof handler.value &&
943
+ null !== handler.value &&
944
+ handler.value.$$typeof === REACT_ELEMENT_TYPE
945
+ )
946
+ switch (((boundArgs = handler.value), key)) {
947
+ case "3":
948
+ boundArgs.props = resolvedValue;
949
+ }
950
+ handler.deps--;
951
+ 0 === handler.deps &&
952
+ ((resolvedValue = handler.chunk),
953
+ null !== resolvedValue &&
954
+ "blocked" === resolvedValue.status &&
955
+ ((boundArgs = resolvedValue.value),
956
+ (resolvedValue.status = "fulfilled"),
957
+ (resolvedValue.value = handler.value),
958
+ null !== boundArgs && wakeChunk(boundArgs, handler.value)));
959
+ },
960
+ function (error) {
961
+ if (!handler.errored) {
962
+ handler.errored = !0;
963
+ handler.value = error;
964
+ var chunk = handler.chunk;
965
+ null !== chunk &&
966
+ "blocked" === chunk.status &&
967
+ triggerErrorOnChunk(chunk, error);
968
+ }
969
+ }
970
+ );
971
+ return null;
972
+ }
973
+ function getOutlinedModel(response, reference, parentObject, key, map) {
974
+ reference = reference.split(":");
975
+ var id = parseInt(reference[0], 16);
976
+ id = getChunk(response, id);
977
+ switch (id.status) {
978
+ case "resolved_model":
979
+ initializeModelChunk(id);
980
+ break;
981
+ case "resolved_module":
982
+ initializeModuleChunk(id);
983
+ }
984
+ switch (id.status) {
985
+ case "fulfilled":
986
+ var value = id.value;
987
+ for (id = 1; id < reference.length; id++) {
988
+ for (; value.$$typeof === REACT_LAZY_TYPE; )
989
+ if (((value = value._payload), "fulfilled" === value.status))
990
+ value = value.value;
991
+ else
992
+ return waitForReference(
993
+ value,
994
+ parentObject,
995
+ key,
996
+ response,
997
+ map,
998
+ reference.slice(id - 1)
999
+ );
1000
+ value = value[reference[id]];
1001
+ }
1002
+ return map(response, value, parentObject, key);
1003
+ case "pending":
1004
+ case "blocked":
1005
+ return waitForReference(id, parentObject, key, response, map, reference);
1006
+ default:
1007
+ return (
1008
+ initializingHandler
1009
+ ? ((initializingHandler.errored = !0),
1010
+ (initializingHandler.value = id.reason))
1011
+ : (initializingHandler = {
1012
+ parent: null,
1013
+ chunk: null,
1014
+ value: id.reason,
1015
+ deps: 0,
1016
+ errored: !0
1017
+ }),
1018
+ null
1019
+ );
1020
+ }
1021
+ }
1022
+ function createMap(response, model) {
1023
+ return new Map(model);
1024
+ }
1025
+ function createSet(response, model) {
1026
+ return new Set(model);
1027
+ }
1028
+ function createBlob(response, model) {
1029
+ return new Blob(model.slice(1), { type: model[0] });
1030
+ }
1031
+ function createFormData(response, model) {
1032
+ response = new FormData();
1033
+ for (var i = 0; i < model.length; i++)
1034
+ response.append(model[i][0], model[i][1]);
1035
+ return response;
1036
+ }
1037
+ function extractIterator(response, model) {
1038
+ return model[Symbol.iterator]();
1039
+ }
1040
+ function createModel(response, model) {
1041
+ return model;
1042
+ }
1043
+ function parseModelString(response, parentObject, key, value) {
1044
+ if ("$" === value[0]) {
1045
+ if ("$" === value)
1046
+ return (
1047
+ null !== initializingHandler &&
1048
+ "0" === key &&
1049
+ (initializingHandler = {
1050
+ parent: initializingHandler,
1051
+ chunk: null,
1052
+ value: null,
1053
+ deps: 0,
1054
+ errored: !1
1055
+ }),
1056
+ REACT_ELEMENT_TYPE
1057
+ );
1058
+ switch (value[1]) {
1059
+ case "$":
1060
+ return value.slice(1);
1061
+ case "L":
1062
+ return (
1063
+ (parentObject = parseInt(value.slice(2), 16)),
1064
+ (response = getChunk(response, parentObject)),
1065
+ createLazyChunkWrapper(response)
1066
+ );
1067
+ case "@":
1068
+ if (2 === value.length) return new Promise(function () {});
1069
+ parentObject = parseInt(value.slice(2), 16);
1070
+ return getChunk(response, parentObject);
1071
+ case "S":
1072
+ return Symbol.for(value.slice(2));
1073
+ case "F":
1074
+ return (
1075
+ (value = value.slice(2)),
1076
+ getOutlinedModel(
1077
+ response,
1078
+ value,
1079
+ parentObject,
1080
+ key,
1081
+ loadServerReference
1082
+ )
1083
+ );
1084
+ case "T":
1085
+ parentObject = "$" + value.slice(2);
1086
+ response = response._tempRefs;
1087
+ if (null == response)
1088
+ throw Error(
1089
+ "Missing a temporary reference set but the RSC response returned a temporary reference. Pass a temporaryReference option with the set that was used with the reply."
1090
+ );
1091
+ return response.get(parentObject);
1092
+ case "Q":
1093
+ return (
1094
+ (value = value.slice(2)),
1095
+ getOutlinedModel(response, value, parentObject, key, createMap)
1096
+ );
1097
+ case "W":
1098
+ return (
1099
+ (value = value.slice(2)),
1100
+ getOutlinedModel(response, value, parentObject, key, createSet)
1101
+ );
1102
+ case "B":
1103
+ return (
1104
+ (value = value.slice(2)),
1105
+ getOutlinedModel(response, value, parentObject, key, createBlob)
1106
+ );
1107
+ case "K":
1108
+ return (
1109
+ (value = value.slice(2)),
1110
+ getOutlinedModel(response, value, parentObject, key, createFormData)
1111
+ );
1112
+ case "Z":
1113
+ return resolveErrorProd();
1114
+ case "i":
1115
+ return (
1116
+ (value = value.slice(2)),
1117
+ getOutlinedModel(response, value, parentObject, key, extractIterator)
1118
+ );
1119
+ case "I":
1120
+ return Infinity;
1121
+ case "-":
1122
+ return "$-0" === value ? -0 : -Infinity;
1123
+ case "N":
1124
+ return NaN;
1125
+ case "u":
1126
+ return;
1127
+ case "D":
1128
+ return new Date(Date.parse(value.slice(2)));
1129
+ case "n":
1130
+ return BigInt(value.slice(2));
1131
+ default:
1132
+ return (
1133
+ (value = value.slice(1)),
1134
+ getOutlinedModel(response, value, parentObject, key, createModel)
1135
+ );
1136
+ }
1137
+ }
1138
+ return value;
1139
+ }
1140
+ function missingCall() {
1141
+ throw Error(
1142
+ 'Trying to call a function from "use server" but the callServer option was not implemented in your router runtime.'
1143
+ );
1144
+ }
1145
+ function ResponseInstance(
1146
+ bundlerConfig,
1147
+ serverReferenceConfig,
1148
+ moduleLoading,
1149
+ callServer,
1150
+ encodeFormAction,
1151
+ nonce,
1152
+ temporaryReferences
1153
+ ) {
1154
+ var chunks = new Map();
1155
+ this._bundlerConfig = bundlerConfig;
1156
+ this._serverReferenceConfig = serverReferenceConfig;
1157
+ this._moduleLoading = moduleLoading;
1158
+ this._callServer = void 0 !== callServer ? callServer : missingCall;
1159
+ this._encodeFormAction = encodeFormAction;
1160
+ this._nonce = nonce;
1161
+ this._chunks = chunks;
1162
+ this._stringDecoder = new util.TextDecoder();
1163
+ this._fromJSON = null;
1164
+ this._rowLength = this._rowTag = this._rowID = this._rowState = 0;
1165
+ this._buffer = [];
1166
+ this._closed = !1;
1167
+ this._closedReason = null;
1168
+ this._tempRefs = temporaryReferences;
1169
+ this._fromJSON = createFromJSONCallback(this);
1170
+ }
1171
+ function resolveBuffer(response, id, buffer) {
1172
+ var chunks = response._chunks,
1173
+ chunk = chunks.get(id);
1174
+ chunk && "pending" !== chunk.status
1175
+ ? chunk.reason.enqueueValue(buffer)
1176
+ : chunks.set(id, new ReactPromise("fulfilled", buffer, null, response));
1177
+ }
1178
+ function resolveModule(response, id, model) {
1179
+ var chunks = response._chunks,
1180
+ chunk = chunks.get(id);
1181
+ model = JSON.parse(model, response._fromJSON);
1182
+ var clientReference = {
1183
+ specifier: response._bundlerConfig + model[0],
1184
+ name: model[1]
1185
+ };
1186
+ prepareDestinationForModuleImpl(
1187
+ response._moduleLoading,
1188
+ model[0],
1189
+ response._nonce
1190
+ );
1191
+ if ((model = preloadModule(clientReference))) {
1192
+ if (chunk) {
1193
+ var blockedChunk = chunk;
1194
+ blockedChunk.status = "blocked";
1195
+ } else
1196
+ (blockedChunk = new ReactPromise("blocked", null, null, response)),
1197
+ chunks.set(id, blockedChunk);
1198
+ model.then(
1199
+ function () {
1200
+ return resolveModuleChunk(blockedChunk, clientReference);
1201
+ },
1202
+ function (error) {
1203
+ return triggerErrorOnChunk(blockedChunk, error);
1204
+ }
1205
+ );
1206
+ } else
1207
+ chunk
1208
+ ? resolveModuleChunk(chunk, clientReference)
1209
+ : chunks.set(
1210
+ id,
1211
+ new ReactPromise("resolved_module", clientReference, null, response)
1212
+ );
1213
+ }
1214
+ function resolveStream(response, id, stream, controller) {
1215
+ var chunks = response._chunks,
1216
+ chunk = chunks.get(id);
1217
+ chunk
1218
+ ? "pending" === chunk.status &&
1219
+ ((response = chunk.value),
1220
+ (chunk.status = "fulfilled"),
1221
+ (chunk.value = stream),
1222
+ (chunk.reason = controller),
1223
+ null !== response && wakeChunk(response, chunk.value))
1224
+ : chunks.set(
1225
+ id,
1226
+ new ReactPromise("fulfilled", stream, controller, response)
1227
+ );
1228
+ }
1229
+ function startReadableStream(response, id, type) {
1230
+ var controller = null;
1231
+ type = new ReadableStream({
1232
+ type: type,
1233
+ start: function (c) {
1234
+ controller = c;
1235
+ }
1236
+ });
1237
+ var previousBlockedChunk = null;
1238
+ resolveStream(response, id, type, {
1239
+ enqueueValue: function (value) {
1240
+ null === previousBlockedChunk
1241
+ ? controller.enqueue(value)
1242
+ : previousBlockedChunk.then(function () {
1243
+ controller.enqueue(value);
1244
+ });
1245
+ },
1246
+ enqueueModel: function (json) {
1247
+ if (null === previousBlockedChunk) {
1248
+ var chunk = new ReactPromise("resolved_model", json, null, response);
1249
+ initializeModelChunk(chunk);
1250
+ "fulfilled" === chunk.status
1251
+ ? controller.enqueue(chunk.value)
1252
+ : (chunk.then(
1253
+ function (v) {
1254
+ return controller.enqueue(v);
1255
+ },
1256
+ function (e) {
1257
+ return controller.error(e);
1258
+ }
1259
+ ),
1260
+ (previousBlockedChunk = chunk));
1261
+ } else {
1262
+ chunk = previousBlockedChunk;
1263
+ var chunk$52 = createPendingChunk(response);
1264
+ chunk$52.then(
1265
+ function (v) {
1266
+ return controller.enqueue(v);
1267
+ },
1268
+ function (e) {
1269
+ return controller.error(e);
1270
+ }
1271
+ );
1272
+ previousBlockedChunk = chunk$52;
1273
+ chunk.then(function () {
1274
+ previousBlockedChunk === chunk$52 && (previousBlockedChunk = null);
1275
+ resolveModelChunk(chunk$52, json);
1276
+ });
1277
+ }
1278
+ },
1279
+ close: function () {
1280
+ if (null === previousBlockedChunk) controller.close();
1281
+ else {
1282
+ var blockedChunk = previousBlockedChunk;
1283
+ previousBlockedChunk = null;
1284
+ blockedChunk.then(function () {
1285
+ return controller.close();
1286
+ });
1287
+ }
1288
+ },
1289
+ error: function (error) {
1290
+ if (null === previousBlockedChunk) controller.error(error);
1291
+ else {
1292
+ var blockedChunk = previousBlockedChunk;
1293
+ previousBlockedChunk = null;
1294
+ blockedChunk.then(function () {
1295
+ return controller.error(error);
1296
+ });
1297
+ }
1298
+ }
1299
+ });
1300
+ }
1301
+ function asyncIterator() {
1302
+ return this;
1303
+ }
1304
+ function createIterator(next) {
1305
+ next = { next: next };
1306
+ next[ASYNC_ITERATOR] = asyncIterator;
1307
+ return next;
1308
+ }
1309
+ function startAsyncIterable(response, id, iterator) {
1310
+ var buffer = [],
1311
+ closed = !1,
1312
+ nextWriteIndex = 0,
1313
+ $jscomp$compprop0 = {};
1314
+ $jscomp$compprop0 =
1315
+ (($jscomp$compprop0[ASYNC_ITERATOR] = function () {
1316
+ var nextReadIndex = 0;
1317
+ return createIterator(function (arg) {
1318
+ if (void 0 !== arg)
1319
+ throw Error(
1320
+ "Values cannot be passed to next() of AsyncIterables passed to Client Components."
1321
+ );
1322
+ if (nextReadIndex === buffer.length) {
1323
+ if (closed)
1324
+ return new ReactPromise(
1325
+ "fulfilled",
1326
+ { done: !0, value: void 0 },
1327
+ null,
1328
+ response
1329
+ );
1330
+ buffer[nextReadIndex] = createPendingChunk(response);
1331
+ }
1332
+ return buffer[nextReadIndex++];
1333
+ });
1334
+ }),
1335
+ $jscomp$compprop0);
1336
+ resolveStream(
1337
+ response,
1338
+ id,
1339
+ iterator ? $jscomp$compprop0[ASYNC_ITERATOR]() : $jscomp$compprop0,
1340
+ {
1341
+ enqueueValue: function (value) {
1342
+ if (nextWriteIndex === buffer.length)
1343
+ buffer[nextWriteIndex] = new ReactPromise(
1344
+ "fulfilled",
1345
+ { done: !1, value: value },
1346
+ null,
1347
+ response
1348
+ );
1349
+ else {
1350
+ var chunk = buffer[nextWriteIndex],
1351
+ resolveListeners = chunk.value,
1352
+ rejectListeners = chunk.reason;
1353
+ chunk.status = "fulfilled";
1354
+ chunk.value = { done: !1, value: value };
1355
+ null !== resolveListeners &&
1356
+ wakeChunkIfInitialized(chunk, resolveListeners, rejectListeners);
1357
+ }
1358
+ nextWriteIndex++;
1359
+ },
1360
+ enqueueModel: function (value) {
1361
+ nextWriteIndex === buffer.length
1362
+ ? (buffer[nextWriteIndex] = createResolvedIteratorResultChunk(
1363
+ response,
1364
+ value,
1365
+ !1
1366
+ ))
1367
+ : resolveIteratorResultChunk(buffer[nextWriteIndex], value, !1);
1368
+ nextWriteIndex++;
1369
+ },
1370
+ close: function (value) {
1371
+ closed = !0;
1372
+ nextWriteIndex === buffer.length
1373
+ ? (buffer[nextWriteIndex] = createResolvedIteratorResultChunk(
1374
+ response,
1375
+ value,
1376
+ !0
1377
+ ))
1378
+ : resolveIteratorResultChunk(buffer[nextWriteIndex], value, !0);
1379
+ for (nextWriteIndex++; nextWriteIndex < buffer.length; )
1380
+ resolveIteratorResultChunk(
1381
+ buffer[nextWriteIndex++],
1382
+ '"$undefined"',
1383
+ !0
1384
+ );
1385
+ },
1386
+ error: function (error) {
1387
+ closed = !0;
1388
+ for (
1389
+ nextWriteIndex === buffer.length &&
1390
+ (buffer[nextWriteIndex] = createPendingChunk(response));
1391
+ nextWriteIndex < buffer.length;
1392
+
1393
+ )
1394
+ triggerErrorOnChunk(buffer[nextWriteIndex++], error);
1395
+ }
1396
+ }
1397
+ );
1398
+ }
1399
+ function resolveErrorProd() {
1400
+ var error = Error(
1401
+ "An error occurred in the Server Components render. The specific message is omitted in production builds to avoid leaking sensitive details. A digest property is included on this error instance which may provide additional details about the nature of the error."
1402
+ );
1403
+ error.stack = "Error: " + error.message;
1404
+ return error;
1405
+ }
1406
+ function mergeBuffer(buffer, lastChunk) {
1407
+ for (var l = buffer.length, byteLength = lastChunk.length, i = 0; i < l; i++)
1408
+ byteLength += buffer[i].byteLength;
1409
+ byteLength = new Uint8Array(byteLength);
1410
+ for (var i$53 = (i = 0); i$53 < l; i$53++) {
1411
+ var chunk = buffer[i$53];
1412
+ byteLength.set(chunk, i);
1413
+ i += chunk.byteLength;
1414
+ }
1415
+ byteLength.set(lastChunk, i);
1416
+ return byteLength;
1417
+ }
1418
+ function resolveTypedArray(
1419
+ response,
1420
+ id,
1421
+ buffer,
1422
+ lastChunk,
1423
+ constructor,
1424
+ bytesPerElement
1425
+ ) {
1426
+ buffer =
1427
+ 0 === buffer.length && 0 === lastChunk.byteOffset % bytesPerElement
1428
+ ? lastChunk
1429
+ : mergeBuffer(buffer, lastChunk);
1430
+ constructor = new constructor(
1431
+ buffer.buffer,
1432
+ buffer.byteOffset,
1433
+ buffer.byteLength / bytesPerElement
1434
+ );
1435
+ resolveBuffer(response, id, constructor);
1436
+ }
1437
+ function processFullBinaryRow(response, id, tag, buffer, chunk) {
1438
+ switch (tag) {
1439
+ case 65:
1440
+ resolveBuffer(response, id, mergeBuffer(buffer, chunk).buffer);
1441
+ return;
1442
+ case 79:
1443
+ resolveTypedArray(response, id, buffer, chunk, Int8Array, 1);
1444
+ return;
1445
+ case 111:
1446
+ resolveBuffer(
1447
+ response,
1448
+ id,
1449
+ 0 === buffer.length ? chunk : mergeBuffer(buffer, chunk)
1450
+ );
1451
+ return;
1452
+ case 85:
1453
+ resolveTypedArray(response, id, buffer, chunk, Uint8ClampedArray, 1);
1454
+ return;
1455
+ case 83:
1456
+ resolveTypedArray(response, id, buffer, chunk, Int16Array, 2);
1457
+ return;
1458
+ case 115:
1459
+ resolveTypedArray(response, id, buffer, chunk, Uint16Array, 2);
1460
+ return;
1461
+ case 76:
1462
+ resolveTypedArray(response, id, buffer, chunk, Int32Array, 4);
1463
+ return;
1464
+ case 108:
1465
+ resolveTypedArray(response, id, buffer, chunk, Uint32Array, 4);
1466
+ return;
1467
+ case 71:
1468
+ resolveTypedArray(response, id, buffer, chunk, Float32Array, 4);
1469
+ return;
1470
+ case 103:
1471
+ resolveTypedArray(response, id, buffer, chunk, Float64Array, 8);
1472
+ return;
1473
+ case 77:
1474
+ resolveTypedArray(response, id, buffer, chunk, BigInt64Array, 8);
1475
+ return;
1476
+ case 109:
1477
+ resolveTypedArray(response, id, buffer, chunk, BigUint64Array, 8);
1478
+ return;
1479
+ case 86:
1480
+ resolveTypedArray(response, id, buffer, chunk, DataView, 1);
1481
+ return;
1482
+ }
1483
+ for (
1484
+ var stringDecoder = response._stringDecoder, row = "", i = 0;
1485
+ i < buffer.length;
1486
+ i++
1487
+ )
1488
+ row += stringDecoder.decode(buffer[i], decoderOptions);
1489
+ buffer = row += stringDecoder.decode(chunk);
1490
+ switch (tag) {
1491
+ case 73:
1492
+ resolveModule(response, id, buffer);
1493
+ break;
1494
+ case 72:
1495
+ id = buffer[0];
1496
+ buffer = buffer.slice(1);
1497
+ response = JSON.parse(buffer, response._fromJSON);
1498
+ buffer = ReactDOMSharedInternals.d;
1499
+ switch (id) {
1500
+ case "D":
1501
+ buffer.D(response);
1502
+ break;
1503
+ case "C":
1504
+ "string" === typeof response
1505
+ ? buffer.C(response)
1506
+ : buffer.C(response[0], response[1]);
1507
+ break;
1508
+ case "L":
1509
+ id = response[0];
1510
+ tag = response[1];
1511
+ 3 === response.length
1512
+ ? buffer.L(id, tag, response[2])
1513
+ : buffer.L(id, tag);
1514
+ break;
1515
+ case "m":
1516
+ "string" === typeof response
1517
+ ? buffer.m(response)
1518
+ : buffer.m(response[0], response[1]);
1519
+ break;
1520
+ case "X":
1521
+ "string" === typeof response
1522
+ ? buffer.X(response)
1523
+ : buffer.X(response[0], response[1]);
1524
+ break;
1525
+ case "S":
1526
+ "string" === typeof response
1527
+ ? buffer.S(response)
1528
+ : buffer.S(
1529
+ response[0],
1530
+ 0 === response[1] ? void 0 : response[1],
1531
+ 3 === response.length ? response[2] : void 0
1532
+ );
1533
+ break;
1534
+ case "M":
1535
+ "string" === typeof response
1536
+ ? buffer.M(response)
1537
+ : buffer.M(response[0], response[1]);
1538
+ }
1539
+ break;
1540
+ case 69:
1541
+ tag = JSON.parse(buffer);
1542
+ buffer = resolveErrorProd();
1543
+ buffer.digest = tag.digest;
1544
+ tag = response._chunks;
1545
+ (chunk = tag.get(id))
1546
+ ? triggerErrorOnChunk(chunk, buffer)
1547
+ : tag.set(id, createErrorChunk(response, buffer));
1548
+ break;
1549
+ case 84:
1550
+ tag = response._chunks;
1551
+ (chunk = tag.get(id)) && "pending" !== chunk.status
1552
+ ? chunk.reason.enqueueValue(buffer)
1553
+ : tag.set(id, new ReactPromise("fulfilled", buffer, null, response));
1554
+ break;
1555
+ case 78:
1556
+ case 68:
1557
+ case 87:
1558
+ throw Error(
1559
+ "Failed to read a RSC payload created by a development version of React on the server while using a production version on the client. Always use matching versions on the server and the client."
1560
+ );
1561
+ case 82:
1562
+ startReadableStream(response, id, void 0);
1563
+ break;
1564
+ case 114:
1565
+ startReadableStream(response, id, "bytes");
1566
+ break;
1567
+ case 88:
1568
+ startAsyncIterable(response, id, !1);
1569
+ break;
1570
+ case 120:
1571
+ startAsyncIterable(response, id, !0);
1572
+ break;
1573
+ case 67:
1574
+ (response = response._chunks.get(id)) &&
1575
+ "fulfilled" === response.status &&
1576
+ response.reason.close("" === buffer ? '"$undefined"' : buffer);
1577
+ break;
1578
+ case 80:
1579
+ buffer = Error(
1580
+ "A Server Component was postponed. The reason is omitted in production builds to avoid leaking sensitive details."
1581
+ );
1582
+ buffer.$$typeof = REACT_POSTPONE_TYPE;
1583
+ buffer.stack = "Error: " + buffer.message;
1584
+ tag = response._chunks;
1585
+ (chunk = tag.get(id))
1586
+ ? triggerErrorOnChunk(chunk, buffer)
1587
+ : tag.set(id, createErrorChunk(response, buffer));
1588
+ break;
1589
+ default:
1590
+ (tag = response._chunks),
1591
+ (chunk = tag.get(id))
1592
+ ? resolveModelChunk(chunk, buffer)
1593
+ : tag.set(
1594
+ id,
1595
+ new ReactPromise("resolved_model", buffer, null, response)
1596
+ );
1597
+ }
1598
+ }
1599
+ function createFromJSONCallback(response) {
1600
+ return function (key, value) {
1601
+ if ("string" === typeof value)
1602
+ return parseModelString(response, this, key, value);
1603
+ if ("object" === typeof value && null !== value) {
1604
+ if (value[0] === REACT_ELEMENT_TYPE) {
1605
+ if (
1606
+ ((key = {
1607
+ $$typeof: REACT_ELEMENT_TYPE,
1608
+ type: value[1],
1609
+ key: value[2],
1610
+ ref: null,
1611
+ props: value[3]
1612
+ }),
1613
+ null !== initializingHandler)
1614
+ )
1615
+ if (
1616
+ ((value = initializingHandler),
1617
+ (initializingHandler = value.parent),
1618
+ value.errored)
1619
+ )
1620
+ (key = createErrorChunk(response, value.value)),
1621
+ (key = createLazyChunkWrapper(key));
1622
+ else if (0 < value.deps) {
1623
+ var blockedChunk = new ReactPromise(
1624
+ "blocked",
1625
+ null,
1626
+ null,
1627
+ response
1628
+ );
1629
+ value.value = key;
1630
+ value.chunk = blockedChunk;
1631
+ key = createLazyChunkWrapper(blockedChunk);
1632
+ }
1633
+ } else key = value;
1634
+ return key;
1635
+ }
1636
+ return value;
1637
+ };
1638
+ }
1639
+ function noServerCall() {
1640
+ throw Error(
1641
+ "Server Functions cannot be called during initial render. This would create a fetch waterfall. Try to use a Server Component to pass data to Client Components instead."
1642
+ );
1643
+ }
1644
+ exports.createFromNodeStream = function (
1645
+ stream,
1646
+ moduleRootPath,
1647
+ moduleBaseURL,
1648
+ options
1649
+ ) {
1650
+ var response = new ResponseInstance(
1651
+ moduleRootPath,
1652
+ null,
1653
+ moduleBaseURL,
1654
+ noServerCall,
1655
+ options ? options.encodeFormAction : void 0,
1656
+ options && "string" === typeof options.nonce ? options.nonce : void 0,
1657
+ void 0
1658
+ );
1659
+ stream.on("data", function (chunk) {
1660
+ for (
1661
+ var i = 0,
1662
+ rowState = response._rowState,
1663
+ rowID = response._rowID,
1664
+ rowTag = response._rowTag,
1665
+ rowLength = response._rowLength,
1666
+ buffer = response._buffer,
1667
+ chunkLength = chunk.length;
1668
+ i < chunkLength;
1669
+
1670
+ ) {
1671
+ var lastIdx = -1;
1672
+ switch (rowState) {
1673
+ case 0:
1674
+ lastIdx = chunk[i++];
1675
+ 58 === lastIdx
1676
+ ? (rowState = 1)
1677
+ : (rowID =
1678
+ (rowID << 4) | (96 < lastIdx ? lastIdx - 87 : lastIdx - 48));
1679
+ continue;
1680
+ case 1:
1681
+ rowState = chunk[i];
1682
+ 84 === rowState ||
1683
+ 65 === rowState ||
1684
+ 79 === rowState ||
1685
+ 111 === rowState ||
1686
+ 85 === rowState ||
1687
+ 83 === rowState ||
1688
+ 115 === rowState ||
1689
+ 76 === rowState ||
1690
+ 108 === rowState ||
1691
+ 71 === rowState ||
1692
+ 103 === rowState ||
1693
+ 77 === rowState ||
1694
+ 109 === rowState ||
1695
+ 86 === rowState
1696
+ ? ((rowTag = rowState), (rowState = 2), i++)
1697
+ : (64 < rowState && 91 > rowState) ||
1698
+ 35 === rowState ||
1699
+ 114 === rowState ||
1700
+ 120 === rowState
1701
+ ? ((rowTag = rowState), (rowState = 3), i++)
1702
+ : ((rowTag = 0), (rowState = 3));
1703
+ continue;
1704
+ case 2:
1705
+ lastIdx = chunk[i++];
1706
+ 44 === lastIdx
1707
+ ? (rowState = 4)
1708
+ : (rowLength =
1709
+ (rowLength << 4) |
1710
+ (96 < lastIdx ? lastIdx - 87 : lastIdx - 48));
1711
+ continue;
1712
+ case 3:
1713
+ lastIdx = chunk.indexOf(10, i);
1714
+ break;
1715
+ case 4:
1716
+ (lastIdx = i + rowLength), lastIdx > chunk.length && (lastIdx = -1);
1717
+ }
1718
+ var offset = chunk.byteOffset + i;
1719
+ if (-1 < lastIdx)
1720
+ (rowLength = new Uint8Array(chunk.buffer, offset, lastIdx - i)),
1721
+ processFullBinaryRow(response, rowID, rowTag, buffer, rowLength),
1722
+ (i = lastIdx),
1723
+ 3 === rowState && i++,
1724
+ (rowLength = rowID = rowTag = rowState = 0),
1725
+ (buffer.length = 0);
1726
+ else {
1727
+ chunk = new Uint8Array(chunk.buffer, offset, chunk.byteLength - i);
1728
+ buffer.push(chunk);
1729
+ rowLength -= chunk.byteLength;
1730
+ break;
1731
+ }
1732
+ }
1733
+ response._rowState = rowState;
1734
+ response._rowID = rowID;
1735
+ response._rowTag = rowTag;
1736
+ response._rowLength = rowLength;
1737
+ });
1738
+ stream.on("error", function (error) {
1739
+ reportGlobalError(response, error);
1740
+ });
1741
+ stream.on("end", function () {
1742
+ reportGlobalError(response, Error("Connection closed."));
1743
+ });
1744
+ return getChunk(response, 0);
1745
+ };
1746
+ exports.createServerReference = function (id) {
1747
+ return createServerReference$1(id, noServerCall);
1748
+ };
1749
+ exports.registerServerReference = function (reference, id, encodeFormAction) {
1750
+ registerBoundServerReference(reference, id, null, encodeFormAction);
1751
+ return reference;
1752
+ };