@vitejs/plugin-rsc 0.5.16 → 0.5.18
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/browser.d.ts +2 -2
- package/dist/{cjs-DH9Oa3zy.js → cjs-D2v1gYgq.js} +33 -24
- package/dist/core/browser.d.ts +1 -1
- package/dist/core/browser.js +2 -2
- package/dist/core/plugin.js +1 -1
- package/dist/core/rsc.d.ts +1 -1
- package/dist/core/rsc.js +1 -1
- package/dist/core/ssr.d.ts +1 -1
- package/dist/core/ssr.js +2 -2
- package/dist/{dist-DZUJDIM2.js → dist-yW9-EeG1.js} +1 -1
- package/dist/index-CLmWsR1c.d.ts +584 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.js +4 -4
- package/dist/{picocolors-kt7Y18A3.js → picocolors-BRyoHAlU.js} +1 -1
- package/dist/plugin-BGmSmdwL.js +27 -0
- package/dist/{plugin-DBWiu_Dx.js → plugin-Cp12dr0Z.js} +408 -329
- package/dist/{plugin-V6VFxi_0.d.ts → plugin-K7i9F4Fd.d.ts} +6 -12
- package/dist/plugin.d.ts +2 -2
- package/dist/plugin.js +4 -4
- package/dist/plugins/cjs.js +1 -1
- package/dist/react/browser.d.ts +2 -2
- package/dist/react/rsc.js +1 -1
- package/dist/{rsc-BCFg12vs.js → rsc-Bhp6O2qz.js} +3 -3
- package/dist/rsc.d.ts +2 -2
- package/dist/rsc.js +2 -2
- package/dist/ssr.d.ts +2 -3
- package/dist/ssr.js +1 -1
- package/dist/transforms/index.d.ts +1 -1
- package/dist/transforms/index.js +1 -1
- package/dist/{transforms-D4jDIHgD.js → transforms-B2EJTNXG.js} +2 -2
- package/dist/utils/encryption-runtime.js +3 -3
- package/dist/utils/rpc.js +1 -1
- package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-client.browser.development.js +129 -110
- package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-client.browser.production.js +67 -55
- package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-client.edge.development.js +127 -108
- package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-client.edge.production.js +67 -55
- package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-client.node.development.js +127 -108
- package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-client.node.production.js +67 -55
- package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-server.browser.development.js +625 -351
- package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-server.browser.production.js +598 -314
- package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-server.edge.development.js +628 -352
- package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-server.edge.production.js +601 -315
- package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-server.node.development.js +634 -356
- package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-server.node.production.js +607 -319
- package/dist/vendor/react-server-dom/package.json +3 -3
- package/package.json +10 -8
- package/dist/index-DJ0AhQ9B.d.ts +0 -90
- package/dist/plugin-B1AJWrMi.js +0 -24
- /package/dist/{browser-BmyjVnfA.d.ts → browser-s-WcB8A7.d.ts} +0 -0
- /package/dist/{chunk-BFhhoFQb.js → chunk-Dj_d7TT4.js} +0 -0
- /package/dist/{encryption-utils-BPYvebX4.js → encryption-utils-DdqSKS_O.js} +0 -0
- /package/dist/{index-DqoQPvhP.d.ts → index-now_lP2V.d.ts} +0 -0
- /package/dist/{rpc-DbBe389F.js → rpc-EIuXyQpO.js} +0 -0
- /package/dist/{shared-Chot7h9j.js → shared-CGK4coF3.js} +0 -0
- /package/dist/{shared-DEpnONZf.js → shared-rtJPs0Yj.js} +0 -0
|
@@ -815,7 +815,7 @@ function describeObjectForErrorMessage(objectOrArray, expandedName) {
|
|
|
815
815
|
: "\n " + str;
|
|
816
816
|
}
|
|
817
817
|
var hasOwnProperty = Object.prototype.hasOwnProperty,
|
|
818
|
-
ObjectPrototype = Object.prototype,
|
|
818
|
+
ObjectPrototype$1 = Object.prototype,
|
|
819
819
|
stringify = JSON.stringify;
|
|
820
820
|
function defaultErrorHandler(error) {
|
|
821
821
|
console.error(error);
|
|
@@ -1687,7 +1687,7 @@ function renderModelDestructive(
|
|
|
1687
1687
|
if (value instanceof Date) return "$D" + value.toJSON();
|
|
1688
1688
|
request = getPrototypeOf(value);
|
|
1689
1689
|
if (
|
|
1690
|
-
request !== ObjectPrototype &&
|
|
1690
|
+
request !== ObjectPrototype$1 &&
|
|
1691
1691
|
(null === request || null !== getPrototypeOf(request))
|
|
1692
1692
|
)
|
|
1693
1693
|
throw Error(
|
|
@@ -2264,16 +2264,23 @@ ReactPromise.prototype.then = function (resolve, reject) {
|
|
|
2264
2264
|
case "fulfilled":
|
|
2265
2265
|
if ("function" === typeof resolve) {
|
|
2266
2266
|
for (
|
|
2267
|
-
var inspectedValue = this.value,
|
|
2267
|
+
var inspectedValue = this.value,
|
|
2268
|
+
cycleProtection = 0,
|
|
2269
|
+
visited = new Set();
|
|
2268
2270
|
inspectedValue instanceof ReactPromise;
|
|
2269
2271
|
|
|
2270
2272
|
) {
|
|
2271
2273
|
cycleProtection++;
|
|
2272
|
-
if (
|
|
2274
|
+
if (
|
|
2275
|
+
inspectedValue === this ||
|
|
2276
|
+
visited.has(inspectedValue) ||
|
|
2277
|
+
1e3 < cycleProtection
|
|
2278
|
+
) {
|
|
2273
2279
|
"function" === typeof reject &&
|
|
2274
2280
|
reject(Error("Cannot have cyclic thenables."));
|
|
2275
2281
|
return;
|
|
2276
2282
|
}
|
|
2283
|
+
visited.add(inspectedValue);
|
|
2277
2284
|
if ("fulfilled" === inspectedValue.status)
|
|
2278
2285
|
inspectedValue = inspectedValue.value;
|
|
2279
2286
|
else break;
|
|
@@ -2292,12 +2299,14 @@ ReactPromise.prototype.then = function (resolve, reject) {
|
|
|
2292
2299
|
"function" === typeof reject && reject(this.reason);
|
|
2293
2300
|
}
|
|
2294
2301
|
};
|
|
2295
|
-
|
|
2302
|
+
var ObjectPrototype = Object.prototype,
|
|
2303
|
+
ArrayPrototype = Array.prototype;
|
|
2304
|
+
function wakeChunk(response, listeners, value, chunk) {
|
|
2296
2305
|
for (var i = 0; i < listeners.length; i++) {
|
|
2297
2306
|
var listener = listeners[i];
|
|
2298
2307
|
"function" === typeof listener
|
|
2299
2308
|
? listener(value)
|
|
2300
|
-
: fulfillReference(response, listener, value);
|
|
2309
|
+
: fulfillReference(response, listener, value, chunk.reason);
|
|
2301
2310
|
}
|
|
2302
2311
|
}
|
|
2303
2312
|
function rejectChunk(response, listeners, error) {
|
|
@@ -2308,27 +2317,6 @@ function rejectChunk(response, listeners, error) {
|
|
|
2308
2317
|
: rejectReference(response, listener.handler, error);
|
|
2309
2318
|
}
|
|
2310
2319
|
}
|
|
2311
|
-
function resolveBlockedCycle(resolvedChunk, reference) {
|
|
2312
|
-
var referencedChunk = reference.handler.chunk;
|
|
2313
|
-
if (null === referencedChunk) return null;
|
|
2314
|
-
if (referencedChunk === resolvedChunk) return reference.handler;
|
|
2315
|
-
reference = referencedChunk.value;
|
|
2316
|
-
if (null !== reference)
|
|
2317
|
-
for (
|
|
2318
|
-
referencedChunk = 0;
|
|
2319
|
-
referencedChunk < reference.length;
|
|
2320
|
-
referencedChunk++
|
|
2321
|
-
) {
|
|
2322
|
-
var listener = reference[referencedChunk];
|
|
2323
|
-
if (
|
|
2324
|
-
"function" !== typeof listener &&
|
|
2325
|
-
((listener = resolveBlockedCycle(resolvedChunk, listener)),
|
|
2326
|
-
null !== listener)
|
|
2327
|
-
)
|
|
2328
|
-
return listener;
|
|
2329
|
-
}
|
|
2330
|
-
return null;
|
|
2331
|
-
}
|
|
2332
2320
|
function triggerErrorOnChunk(response, chunk, error) {
|
|
2333
2321
|
if ("pending" !== chunk.status && "blocked" !== chunk.status)
|
|
2334
2322
|
chunk.reason.error(error);
|
|
@@ -2364,33 +2352,11 @@ function resolveModelChunk(response, chunk, value, id) {
|
|
|
2364
2352
|
chunk.reason =
|
|
2365
2353
|
((value.id = id), (value[RESPONSE_SYMBOL] = response), value);
|
|
2366
2354
|
if (null !== resolveListeners)
|
|
2367
|
-
|
|
2355
|
+
switch ((initializeModelChunk(chunk), chunk.status)) {
|
|
2368
2356
|
case "fulfilled":
|
|
2369
|
-
wakeChunk(response, resolveListeners, chunk.value);
|
|
2357
|
+
wakeChunk(response, resolveListeners, chunk.value, chunk);
|
|
2370
2358
|
break;
|
|
2371
2359
|
case "blocked":
|
|
2372
|
-
for (value = 0; value < resolveListeners.length; value++)
|
|
2373
|
-
if (((id = resolveListeners[value]), "function" !== typeof id)) {
|
|
2374
|
-
var cyclicHandler = resolveBlockedCycle(chunk, id);
|
|
2375
|
-
if (null !== cyclicHandler)
|
|
2376
|
-
switch (
|
|
2377
|
-
(fulfillReference(response, id, cyclicHandler.value),
|
|
2378
|
-
resolveListeners.splice(value, 1),
|
|
2379
|
-
value--,
|
|
2380
|
-
null !== rejectListeners &&
|
|
2381
|
-
((id = rejectListeners.indexOf(id)),
|
|
2382
|
-
-1 !== id && rejectListeners.splice(id, 1)),
|
|
2383
|
-
chunk.status)
|
|
2384
|
-
) {
|
|
2385
|
-
case "fulfilled":
|
|
2386
|
-
wakeChunk(response, resolveListeners, chunk.value);
|
|
2387
|
-
break a;
|
|
2388
|
-
case "rejected":
|
|
2389
|
-
null !== rejectListeners &&
|
|
2390
|
-
rejectChunk(response, rejectListeners, chunk.reason);
|
|
2391
|
-
break a;
|
|
2392
|
-
}
|
|
2393
|
-
}
|
|
2394
2360
|
case "pending":
|
|
2395
2361
|
if (chunk.value)
|
|
2396
2362
|
for (response = 0; response < resolveListeners.length; response++)
|
|
@@ -2407,7 +2373,8 @@ function resolveModelChunk(response, chunk, value, id) {
|
|
|
2407
2373
|
} else chunk.reason = rejectListeners;
|
|
2408
2374
|
break;
|
|
2409
2375
|
case "rejected":
|
|
2410
|
-
rejectListeners &&
|
|
2376
|
+
rejectListeners &&
|
|
2377
|
+
rejectChunk(response, rejectListeners, chunk.reason);
|
|
2411
2378
|
}
|
|
2412
2379
|
}
|
|
2413
2380
|
}
|
|
@@ -2430,15 +2397,50 @@ function resolveIteratorResultChunk(response, chunk, value, done) {
|
|
|
2430
2397
|
);
|
|
2431
2398
|
}
|
|
2432
2399
|
function loadServerReference$1(response, metaData, parentObject, key) {
|
|
2400
|
+
function reject(error) {
|
|
2401
|
+
var rejectListeners = blockedPromise.reason,
|
|
2402
|
+
erroredPromise = blockedPromise;
|
|
2403
|
+
erroredPromise.status = "rejected";
|
|
2404
|
+
erroredPromise.value = null;
|
|
2405
|
+
erroredPromise.reason = error;
|
|
2406
|
+
null !== rejectListeners && rejectChunk(response, rejectListeners, error);
|
|
2407
|
+
rejectReference(response, handler, error);
|
|
2408
|
+
}
|
|
2433
2409
|
var id = metaData.id;
|
|
2434
2410
|
if ("string" !== typeof id || "then" === key) return null;
|
|
2411
|
+
var cachedPromise = metaData.$$promise;
|
|
2412
|
+
if (void 0 !== cachedPromise) {
|
|
2413
|
+
if ("fulfilled" === cachedPromise.status)
|
|
2414
|
+
return (
|
|
2415
|
+
(cachedPromise = cachedPromise.value),
|
|
2416
|
+
"__proto__" === key ? null : (parentObject[key] = cachedPromise)
|
|
2417
|
+
);
|
|
2418
|
+
initializingHandler
|
|
2419
|
+
? ((id = initializingHandler), id.deps++)
|
|
2420
|
+
: (id = initializingHandler =
|
|
2421
|
+
{ chunk: null, value: null, reason: null, deps: 1, errored: !1 });
|
|
2422
|
+
cachedPromise.then(
|
|
2423
|
+
resolveReference.bind(null, response, id, parentObject, key),
|
|
2424
|
+
rejectReference.bind(null, response, id)
|
|
2425
|
+
);
|
|
2426
|
+
return null;
|
|
2427
|
+
}
|
|
2428
|
+
var blockedPromise = new ReactPromise("blocked", null, null);
|
|
2429
|
+
metaData.$$promise = blockedPromise;
|
|
2435
2430
|
var serverReference = resolveServerReference(response._bundlerConfig, id);
|
|
2436
|
-
|
|
2437
|
-
|
|
2438
|
-
|
|
2439
|
-
|
|
2440
|
-
else if (
|
|
2441
|
-
|
|
2431
|
+
cachedPromise = metaData.bound;
|
|
2432
|
+
if ((id = preloadModule(serverReference)))
|
|
2433
|
+
cachedPromise instanceof ReactPromise &&
|
|
2434
|
+
(id = Promise.all([id, cachedPromise]));
|
|
2435
|
+
else if (cachedPromise instanceof ReactPromise)
|
|
2436
|
+
id = Promise.resolve(cachedPromise);
|
|
2437
|
+
else
|
|
2438
|
+
return (
|
|
2439
|
+
(cachedPromise = requireModule(serverReference)),
|
|
2440
|
+
(id = blockedPromise),
|
|
2441
|
+
(id.status = "fulfilled"),
|
|
2442
|
+
(id.value = cachedPromise)
|
|
2443
|
+
);
|
|
2442
2444
|
if (initializingHandler) {
|
|
2443
2445
|
var handler = initializingHandler;
|
|
2444
2446
|
handler.deps++;
|
|
@@ -2450,74 +2452,105 @@ function loadServerReference$1(response, metaData, parentObject, key) {
|
|
|
2450
2452
|
deps: 1,
|
|
2451
2453
|
errored: !1
|
|
2452
2454
|
};
|
|
2453
|
-
|
|
2454
|
-
|
|
2455
|
-
|
|
2456
|
-
|
|
2457
|
-
|
|
2458
|
-
|
|
2459
|
-
|
|
2460
|
-
|
|
2461
|
-
|
|
2462
|
-
|
|
2463
|
-
|
|
2464
|
-
|
|
2465
|
-
|
|
2466
|
-
|
|
2467
|
-
null !== resolvedValue &&
|
|
2468
|
-
"blocked" === resolvedValue.status &&
|
|
2469
|
-
((promiseValue = resolvedValue.value),
|
|
2470
|
-
(resolvedValue.status = "fulfilled"),
|
|
2471
|
-
(resolvedValue.value = handler.value),
|
|
2472
|
-
(resolvedValue.reason = null),
|
|
2473
|
-
null !== promiseValue &&
|
|
2474
|
-
wakeChunk(response, promiseValue, handler.value)));
|
|
2475
|
-
},
|
|
2476
|
-
function (error) {
|
|
2477
|
-
if (!handler.errored) {
|
|
2478
|
-
handler.errored = !0;
|
|
2479
|
-
handler.value = null;
|
|
2480
|
-
handler.reason = error;
|
|
2481
|
-
var chunk = handler.chunk;
|
|
2482
|
-
null !== chunk &&
|
|
2483
|
-
"blocked" === chunk.status &&
|
|
2484
|
-
triggerErrorOnChunk(response, chunk, error);
|
|
2455
|
+
id.then(function () {
|
|
2456
|
+
var resolvedValue = requireModule(serverReference);
|
|
2457
|
+
if (metaData.bound) {
|
|
2458
|
+
var promiseValue = metaData.bound.value;
|
|
2459
|
+
promiseValue = isArrayImpl(promiseValue) ? promiseValue.slice(0) : [];
|
|
2460
|
+
if (1e3 < promiseValue.length) {
|
|
2461
|
+
reject(
|
|
2462
|
+
Error(
|
|
2463
|
+
"Server Function has too many bound arguments. Received " +
|
|
2464
|
+
promiseValue.length +
|
|
2465
|
+
" but the limit is 1000."
|
|
2466
|
+
)
|
|
2467
|
+
);
|
|
2468
|
+
return;
|
|
2485
2469
|
}
|
|
2470
|
+
promiseValue.unshift(null);
|
|
2471
|
+
resolvedValue = resolvedValue.bind.apply(resolvedValue, promiseValue);
|
|
2486
2472
|
}
|
|
2487
|
-
|
|
2473
|
+
promiseValue = blockedPromise.value;
|
|
2474
|
+
var initializedPromise = blockedPromise;
|
|
2475
|
+
initializedPromise.status = "fulfilled";
|
|
2476
|
+
initializedPromise.value = resolvedValue;
|
|
2477
|
+
initializedPromise.reason = null;
|
|
2478
|
+
null !== promiseValue &&
|
|
2479
|
+
wakeChunk(response, promiseValue, resolvedValue, initializedPromise);
|
|
2480
|
+
resolveReference(response, handler, parentObject, key, resolvedValue);
|
|
2481
|
+
}, reject);
|
|
2488
2482
|
return null;
|
|
2489
2483
|
}
|
|
2490
|
-
function reviveModel(
|
|
2484
|
+
function reviveModel(
|
|
2485
|
+
response,
|
|
2486
|
+
parentObj,
|
|
2487
|
+
parentKey,
|
|
2488
|
+
value,
|
|
2489
|
+
reference,
|
|
2490
|
+
arrayRoot
|
|
2491
|
+
) {
|
|
2491
2492
|
if ("string" === typeof value)
|
|
2492
|
-
return parseModelString(
|
|
2493
|
+
return parseModelString(
|
|
2494
|
+
response,
|
|
2495
|
+
parentObj,
|
|
2496
|
+
parentKey,
|
|
2497
|
+
value,
|
|
2498
|
+
reference,
|
|
2499
|
+
arrayRoot
|
|
2500
|
+
);
|
|
2493
2501
|
if ("object" === typeof value && null !== value)
|
|
2494
2502
|
if (
|
|
2495
2503
|
(void 0 !== reference &&
|
|
2496
2504
|
void 0 !== response._temporaryReferences &&
|
|
2497
2505
|
response._temporaryReferences.set(value, reference),
|
|
2498
|
-
|
|
2499
|
-
)
|
|
2500
|
-
|
|
2501
|
-
|
|
2506
|
+
isArrayImpl(value))
|
|
2507
|
+
) {
|
|
2508
|
+
if (null === arrayRoot) {
|
|
2509
|
+
var childContext = { count: 0, fork: !1 };
|
|
2510
|
+
response._rootArrayContexts.set(value, childContext);
|
|
2511
|
+
} else childContext = arrayRoot;
|
|
2512
|
+
1 < value.length && (childContext.fork = !0);
|
|
2513
|
+
bumpArrayCount(childContext, value.length + 1, response);
|
|
2514
|
+
for (parentObj = 0; parentObj < value.length; parentObj++)
|
|
2515
|
+
value[parentObj] = reviveModel(
|
|
2502
2516
|
response,
|
|
2503
2517
|
value,
|
|
2504
|
-
"" +
|
|
2505
|
-
value[
|
|
2506
|
-
void 0 !== reference ? reference + ":" +
|
|
2518
|
+
"" + parentObj,
|
|
2519
|
+
value[parentObj],
|
|
2520
|
+
void 0 !== reference ? reference + ":" + parentObj : void 0,
|
|
2521
|
+
childContext
|
|
2507
2522
|
);
|
|
2508
|
-
else
|
|
2509
|
-
for (
|
|
2510
|
-
hasOwnProperty.call(value,
|
|
2511
|
-
(
|
|
2512
|
-
|
|
2513
|
-
|
|
2514
|
-
|
|
2515
|
-
|
|
2516
|
-
|
|
2517
|
-
|
|
2518
|
-
|
|
2523
|
+
} else
|
|
2524
|
+
for (childContext in value)
|
|
2525
|
+
hasOwnProperty.call(value, childContext) &&
|
|
2526
|
+
("__proto__" === childContext
|
|
2527
|
+
? delete value[childContext]
|
|
2528
|
+
: ((parentObj =
|
|
2529
|
+
void 0 !== reference && -1 === childContext.indexOf(":")
|
|
2530
|
+
? reference + ":" + childContext
|
|
2531
|
+
: void 0),
|
|
2532
|
+
(parentObj = reviveModel(
|
|
2533
|
+
response,
|
|
2534
|
+
value,
|
|
2535
|
+
childContext,
|
|
2536
|
+
value[childContext],
|
|
2537
|
+
parentObj,
|
|
2538
|
+
null
|
|
2539
|
+
)),
|
|
2540
|
+
void 0 !== parentObj
|
|
2541
|
+
? (value[childContext] = parentObj)
|
|
2542
|
+
: delete value[childContext]));
|
|
2519
2543
|
return value;
|
|
2520
2544
|
}
|
|
2545
|
+
function bumpArrayCount(arrayContext, slots, response) {
|
|
2546
|
+
if (
|
|
2547
|
+
(arrayContext.count += slots) > response._arraySizeLimit &&
|
|
2548
|
+
arrayContext.fork
|
|
2549
|
+
)
|
|
2550
|
+
throw Error(
|
|
2551
|
+
"Maximum array nesting exceeded. Large nested arrays can be dangerous. Try adding intermediate objects."
|
|
2552
|
+
);
|
|
2553
|
+
}
|
|
2521
2554
|
var initializingHandler = null;
|
|
2522
2555
|
function initializeModelChunk(chunk) {
|
|
2523
2556
|
var prevHandler = initializingHandler;
|
|
@@ -2531,13 +2564,15 @@ function initializeModelChunk(chunk) {
|
|
|
2531
2564
|
chunk.value = null;
|
|
2532
2565
|
chunk.reason = null;
|
|
2533
2566
|
try {
|
|
2534
|
-
var rawModel = JSON.parse(resolvedModel)
|
|
2535
|
-
|
|
2567
|
+
var rawModel = JSON.parse(resolvedModel);
|
|
2568
|
+
resolvedModel = { count: 0, fork: !1 };
|
|
2569
|
+
var value = reviveModel(
|
|
2536
2570
|
response,
|
|
2537
2571
|
{ "": rawModel },
|
|
2538
2572
|
"",
|
|
2539
2573
|
rawModel,
|
|
2540
|
-
_chunk$reason
|
|
2574
|
+
_chunk$reason,
|
|
2575
|
+
resolvedModel
|
|
2541
2576
|
),
|
|
2542
2577
|
resolveListeners = chunk.value;
|
|
2543
2578
|
if (null !== resolveListeners)
|
|
@@ -2549,19 +2584,20 @@ function initializeModelChunk(chunk) {
|
|
|
2549
2584
|
var listener = resolveListeners[rawModel];
|
|
2550
2585
|
"function" === typeof listener
|
|
2551
2586
|
? listener(value)
|
|
2552
|
-
: fulfillReference(response, listener, value);
|
|
2587
|
+
: fulfillReference(response, listener, value, resolvedModel);
|
|
2553
2588
|
}
|
|
2554
2589
|
if (null !== initializingHandler) {
|
|
2555
2590
|
if (initializingHandler.errored) throw initializingHandler.reason;
|
|
2556
2591
|
if (0 < initializingHandler.deps) {
|
|
2557
2592
|
initializingHandler.value = value;
|
|
2593
|
+
initializingHandler.reason = resolvedModel;
|
|
2558
2594
|
initializingHandler.chunk = chunk;
|
|
2559
2595
|
return;
|
|
2560
2596
|
}
|
|
2561
2597
|
}
|
|
2562
2598
|
chunk.status = "fulfilled";
|
|
2563
2599
|
chunk.value = value;
|
|
2564
|
-
chunk.reason =
|
|
2600
|
+
chunk.reason = resolvedModel;
|
|
2565
2601
|
} catch (error) {
|
|
2566
2602
|
(chunk.status = "rejected"), (chunk.reason = error);
|
|
2567
2603
|
} finally {
|
|
@@ -2576,7 +2612,8 @@ function reportGlobalError(response, error) {
|
|
|
2576
2612
|
? triggerErrorOnChunk(response, chunk, error)
|
|
2577
2613
|
: "fulfilled" === chunk.status &&
|
|
2578
2614
|
null !== chunk.reason &&
|
|
2579
|
-
chunk.reason
|
|
2615
|
+
((chunk = chunk.reason),
|
|
2616
|
+
"function" === typeof chunk.error && chunk.error(error));
|
|
2580
2617
|
});
|
|
2581
2618
|
}
|
|
2582
2619
|
function getChunk(response, id) {
|
|
@@ -2593,40 +2630,67 @@ function getChunk(response, id) {
|
|
|
2593
2630
|
chunks.set(id, chunk));
|
|
2594
2631
|
return chunk;
|
|
2595
2632
|
}
|
|
2596
|
-
function fulfillReference(response, reference, value) {
|
|
2633
|
+
function fulfillReference(response, reference, value, arrayRoot) {
|
|
2597
2634
|
var handler = reference.handler,
|
|
2598
2635
|
parentObject = reference.parentObject,
|
|
2599
2636
|
key = reference.key,
|
|
2600
2637
|
map = reference.map,
|
|
2601
2638
|
path = reference.path;
|
|
2602
2639
|
try {
|
|
2603
|
-
for (
|
|
2640
|
+
for (
|
|
2641
|
+
var localLength = 0,
|
|
2642
|
+
rootArrayContexts = response._rootArrayContexts,
|
|
2643
|
+
i = 1;
|
|
2644
|
+
i < path.length;
|
|
2645
|
+
i++
|
|
2646
|
+
) {
|
|
2604
2647
|
var name = path[i];
|
|
2605
2648
|
if (
|
|
2606
2649
|
"object" !== typeof value ||
|
|
2607
|
-
|
|
2608
|
-
value
|
|
2650
|
+
null === value ||
|
|
2651
|
+
(getPrototypeOf(value) !== ObjectPrototype &&
|
|
2652
|
+
getPrototypeOf(value) !== ArrayPrototype) ||
|
|
2653
|
+
!hasOwnProperty.call(value, name)
|
|
2609
2654
|
)
|
|
2610
2655
|
throw Error("Invalid reference.");
|
|
2611
2656
|
value = value[name];
|
|
2657
|
+
if (isArrayImpl(value))
|
|
2658
|
+
(localLength = 0),
|
|
2659
|
+
(arrayRoot = rootArrayContexts.get(value) || arrayRoot);
|
|
2660
|
+
else if (((arrayRoot = null), "string" === typeof value))
|
|
2661
|
+
localLength = value.length;
|
|
2662
|
+
else if ("bigint" === typeof value) {
|
|
2663
|
+
var n = Math.abs(Number(value));
|
|
2664
|
+
localLength = 0 === n ? 1 : Math.floor(Math.log10(n)) + 1;
|
|
2665
|
+
} else localLength = ArrayBuffer.isView(value) ? value.byteLength : 0;
|
|
2612
2666
|
}
|
|
2613
|
-
var
|
|
2614
|
-
|
|
2615
|
-
|
|
2667
|
+
var resolvedValue = map(response, value, parentObject, key);
|
|
2668
|
+
var referenceArrayRoot = reference.arrayRoot;
|
|
2669
|
+
null !== referenceArrayRoot &&
|
|
2670
|
+
(null !== arrayRoot
|
|
2671
|
+
? (arrayRoot.fork && (referenceArrayRoot.fork = !0),
|
|
2672
|
+
bumpArrayCount(referenceArrayRoot, arrayRoot.count, response))
|
|
2673
|
+
: 0 < localLength &&
|
|
2674
|
+
bumpArrayCount(referenceArrayRoot, localLength, response));
|
|
2616
2675
|
} catch (error) {
|
|
2617
|
-
rejectReference(response,
|
|
2676
|
+
rejectReference(response, handler, error);
|
|
2618
2677
|
return;
|
|
2619
2678
|
}
|
|
2679
|
+
resolveReference(response, handler, parentObject, key, resolvedValue);
|
|
2680
|
+
}
|
|
2681
|
+
function resolveReference(response, handler, parentObject, key, resolvedValue) {
|
|
2682
|
+
"__proto__" !== key && (parentObject[key] = resolvedValue);
|
|
2683
|
+
"" === key && null === handler.value && (handler.value = resolvedValue);
|
|
2620
2684
|
handler.deps--;
|
|
2621
2685
|
0 === handler.deps &&
|
|
2622
|
-
((
|
|
2623
|
-
null !==
|
|
2624
|
-
"blocked" ===
|
|
2625
|
-
((
|
|
2626
|
-
(
|
|
2627
|
-
(
|
|
2628
|
-
(
|
|
2629
|
-
null !==
|
|
2686
|
+
((parentObject = handler.chunk),
|
|
2687
|
+
null !== parentObject &&
|
|
2688
|
+
"blocked" === parentObject.status &&
|
|
2689
|
+
((key = parentObject.value),
|
|
2690
|
+
(parentObject.status = "fulfilled"),
|
|
2691
|
+
(parentObject.value = handler.value),
|
|
2692
|
+
(parentObject.reason = handler.reason),
|
|
2693
|
+
null !== key && wakeChunk(response, key, handler.value, parentObject)));
|
|
2630
2694
|
}
|
|
2631
2695
|
function rejectReference(response, handler, error) {
|
|
2632
2696
|
handler.errored ||
|
|
@@ -2638,60 +2702,97 @@ function rejectReference(response, handler, error) {
|
|
|
2638
2702
|
"blocked" === handler.status &&
|
|
2639
2703
|
triggerErrorOnChunk(response, handler, error));
|
|
2640
2704
|
}
|
|
2641
|
-
function getOutlinedModel(
|
|
2705
|
+
function getOutlinedModel(
|
|
2706
|
+
response,
|
|
2707
|
+
reference,
|
|
2708
|
+
parentObject,
|
|
2709
|
+
key,
|
|
2710
|
+
referenceArrayRoot,
|
|
2711
|
+
map
|
|
2712
|
+
) {
|
|
2642
2713
|
reference = reference.split(":");
|
|
2643
|
-
var id = parseInt(reference[0], 16)
|
|
2644
|
-
|
|
2645
|
-
switch (
|
|
2714
|
+
var id = parseInt(reference[0], 16),
|
|
2715
|
+
chunk = getChunk(response, id);
|
|
2716
|
+
switch (chunk.status) {
|
|
2646
2717
|
case "resolved_model":
|
|
2647
|
-
initializeModelChunk(
|
|
2718
|
+
initializeModelChunk(chunk);
|
|
2648
2719
|
}
|
|
2649
|
-
switch (
|
|
2720
|
+
switch (chunk.status) {
|
|
2650
2721
|
case "fulfilled":
|
|
2651
|
-
id =
|
|
2652
|
-
|
|
2653
|
-
|
|
2722
|
+
id = chunk.value;
|
|
2723
|
+
chunk = chunk.reason;
|
|
2724
|
+
for (
|
|
2725
|
+
var localLength = 0,
|
|
2726
|
+
rootArrayContexts = response._rootArrayContexts,
|
|
2727
|
+
i = 1;
|
|
2728
|
+
i < reference.length;
|
|
2729
|
+
i++
|
|
2730
|
+
) {
|
|
2731
|
+
localLength = reference[i];
|
|
2654
2732
|
if (
|
|
2655
2733
|
"object" !== typeof id ||
|
|
2656
|
-
|
|
2657
|
-
id
|
|
2734
|
+
null === id ||
|
|
2735
|
+
(getPrototypeOf(id) !== ObjectPrototype &&
|
|
2736
|
+
getPrototypeOf(id) !== ArrayPrototype) ||
|
|
2737
|
+
!hasOwnProperty.call(id, localLength)
|
|
2658
2738
|
)
|
|
2659
2739
|
throw Error("Invalid reference.");
|
|
2660
|
-
id = id[
|
|
2740
|
+
id = id[localLength];
|
|
2741
|
+
isArrayImpl(id)
|
|
2742
|
+
? ((localLength = 0), (chunk = rootArrayContexts.get(id) || chunk))
|
|
2743
|
+
: ((chunk = null),
|
|
2744
|
+
"string" === typeof id
|
|
2745
|
+
? (localLength = id.length)
|
|
2746
|
+
: "bigint" === typeof id
|
|
2747
|
+
? ((localLength = Math.abs(Number(id))),
|
|
2748
|
+
(localLength =
|
|
2749
|
+
0 === localLength
|
|
2750
|
+
? 1
|
|
2751
|
+
: Math.floor(Math.log10(localLength)) + 1))
|
|
2752
|
+
: (localLength = ArrayBuffer.isView(id) ? id.byteLength : 0));
|
|
2661
2753
|
}
|
|
2662
|
-
|
|
2663
|
-
|
|
2754
|
+
parentObject = map(response, id, parentObject, key);
|
|
2755
|
+
null !== referenceArrayRoot &&
|
|
2756
|
+
(null !== chunk
|
|
2757
|
+
? (chunk.fork && (referenceArrayRoot.fork = !0),
|
|
2758
|
+
bumpArrayCount(referenceArrayRoot, chunk.count, response))
|
|
2759
|
+
: 0 < localLength &&
|
|
2760
|
+
bumpArrayCount(referenceArrayRoot, localLength, response));
|
|
2761
|
+
return parentObject;
|
|
2664
2762
|
case "blocked":
|
|
2665
2763
|
return (
|
|
2666
2764
|
initializingHandler
|
|
2667
2765
|
? ((response = initializingHandler), response.deps++)
|
|
2668
2766
|
: (response = initializingHandler =
|
|
2669
2767
|
{ chunk: null, value: null, reason: null, deps: 1, errored: !1 }),
|
|
2670
|
-
(
|
|
2768
|
+
(referenceArrayRoot = {
|
|
2671
2769
|
handler: response,
|
|
2672
2770
|
parentObject: parentObject,
|
|
2673
2771
|
key: key,
|
|
2674
2772
|
map: map,
|
|
2675
|
-
path: reference
|
|
2773
|
+
path: reference,
|
|
2774
|
+
arrayRoot: referenceArrayRoot
|
|
2676
2775
|
}),
|
|
2677
|
-
null ===
|
|
2678
|
-
? (
|
|
2679
|
-
:
|
|
2680
|
-
null ===
|
|
2681
|
-
? (
|
|
2682
|
-
:
|
|
2776
|
+
null === chunk.value
|
|
2777
|
+
? (chunk.value = [referenceArrayRoot])
|
|
2778
|
+
: chunk.value.push(referenceArrayRoot),
|
|
2779
|
+
null === chunk.reason
|
|
2780
|
+
? (chunk.reason = [referenceArrayRoot])
|
|
2781
|
+
: chunk.reason.push(referenceArrayRoot),
|
|
2683
2782
|
null
|
|
2684
2783
|
);
|
|
2784
|
+
case "pending":
|
|
2785
|
+
throw Error("Invalid forward reference.");
|
|
2685
2786
|
default:
|
|
2686
2787
|
return (
|
|
2687
2788
|
initializingHandler
|
|
2688
2789
|
? ((initializingHandler.errored = !0),
|
|
2689
2790
|
(initializingHandler.value = null),
|
|
2690
|
-
(initializingHandler.reason =
|
|
2791
|
+
(initializingHandler.reason = chunk.reason))
|
|
2691
2792
|
: (initializingHandler = {
|
|
2692
2793
|
chunk: null,
|
|
2693
2794
|
value: null,
|
|
2694
|
-
reason:
|
|
2795
|
+
reason: chunk.reason,
|
|
2695
2796
|
deps: 0,
|
|
2696
2797
|
errored: !0
|
|
2697
2798
|
}),
|
|
@@ -2700,13 +2801,25 @@ function getOutlinedModel(response, reference, parentObject, key, map) {
|
|
|
2700
2801
|
}
|
|
2701
2802
|
}
|
|
2702
2803
|
function createMap(response, model) {
|
|
2703
|
-
|
|
2804
|
+
if (!isArrayImpl(model)) throw Error("Invalid Map initializer.");
|
|
2805
|
+
if (!0 === model.$$consumed) throw Error("Already initialized Map.");
|
|
2806
|
+
response = new Map(model);
|
|
2807
|
+
model.$$consumed = !0;
|
|
2808
|
+
return response;
|
|
2704
2809
|
}
|
|
2705
2810
|
function createSet(response, model) {
|
|
2706
|
-
|
|
2811
|
+
if (!isArrayImpl(model)) throw Error("Invalid Set initializer.");
|
|
2812
|
+
if (!0 === model.$$consumed) throw Error("Already initialized Set.");
|
|
2813
|
+
response = new Set(model);
|
|
2814
|
+
model.$$consumed = !0;
|
|
2815
|
+
return response;
|
|
2707
2816
|
}
|
|
2708
2817
|
function extractIterator(response, model) {
|
|
2709
|
-
|
|
2818
|
+
if (!isArrayImpl(model)) throw Error("Invalid Iterator initializer.");
|
|
2819
|
+
if (!0 === model.$$consumed) throw Error("Already initialized Iterator.");
|
|
2820
|
+
response = model[Symbol.iterator]();
|
|
2821
|
+
model.$$consumed = !0;
|
|
2822
|
+
return response;
|
|
2710
2823
|
}
|
|
2711
2824
|
function createModel(response, model, parentObject, key) {
|
|
2712
2825
|
return "then" === key && "function" === typeof model ? null : model;
|
|
@@ -2717,13 +2830,34 @@ function parseTypedArray(
|
|
|
2717
2830
|
constructor,
|
|
2718
2831
|
bytesPerElement,
|
|
2719
2832
|
parentObject,
|
|
2720
|
-
parentKey
|
|
2833
|
+
parentKey,
|
|
2834
|
+
referenceArrayRoot
|
|
2721
2835
|
) {
|
|
2836
|
+
function reject(error) {
|
|
2837
|
+
if (!handler.errored) {
|
|
2838
|
+
handler.errored = !0;
|
|
2839
|
+
handler.value = null;
|
|
2840
|
+
handler.reason = error;
|
|
2841
|
+
var chunk = handler.chunk;
|
|
2842
|
+
null !== chunk &&
|
|
2843
|
+
"blocked" === chunk.status &&
|
|
2844
|
+
triggerErrorOnChunk(response, chunk, error);
|
|
2845
|
+
}
|
|
2846
|
+
}
|
|
2722
2847
|
reference = parseInt(reference.slice(2), 16);
|
|
2723
|
-
|
|
2724
|
-
|
|
2848
|
+
var key = response._prefix + reference;
|
|
2849
|
+
bytesPerElement = response._chunks;
|
|
2850
|
+
if (bytesPerElement.has(reference))
|
|
2725
2851
|
throw Error("Already initialized typed array.");
|
|
2726
|
-
|
|
2852
|
+
bytesPerElement.set(
|
|
2853
|
+
reference,
|
|
2854
|
+
new ReactPromise(
|
|
2855
|
+
"rejected",
|
|
2856
|
+
null,
|
|
2857
|
+
Error("Already initialized typed array.")
|
|
2858
|
+
)
|
|
2859
|
+
);
|
|
2860
|
+
reference = response._formData.get(key).arrayBuffer();
|
|
2727
2861
|
if (initializingHandler) {
|
|
2728
2862
|
var handler = initializingHandler;
|
|
2729
2863
|
handler.deps++;
|
|
@@ -2735,37 +2869,32 @@ function parseTypedArray(
|
|
|
2735
2869
|
deps: 1,
|
|
2736
2870
|
errored: !1
|
|
2737
2871
|
};
|
|
2738
|
-
reference.then(
|
|
2739
|
-
|
|
2740
|
-
|
|
2741
|
-
|
|
2742
|
-
|
|
2743
|
-
|
|
2744
|
-
|
|
2745
|
-
|
|
2746
|
-
|
|
2747
|
-
|
|
2748
|
-
|
|
2749
|
-
|
|
2750
|
-
|
|
2751
|
-
buffer.value = handler.value;
|
|
2752
|
-
buffer.reason = null;
|
|
2753
|
-
null !== resolveListeners &&
|
|
2754
|
-
wakeChunk(response, resolveListeners, handler.value);
|
|
2755
|
-
}
|
|
2756
|
-
},
|
|
2757
|
-
function (error) {
|
|
2758
|
-
if (!handler.errored) {
|
|
2759
|
-
handler.errored = !0;
|
|
2760
|
-
handler.value = null;
|
|
2761
|
-
handler.reason = error;
|
|
2762
|
-
var chunk = handler.chunk;
|
|
2763
|
-
null !== chunk &&
|
|
2764
|
-
"blocked" === chunk.status &&
|
|
2765
|
-
triggerErrorOnChunk(response, chunk, error);
|
|
2766
|
-
}
|
|
2872
|
+
reference.then(function (buffer) {
|
|
2873
|
+
try {
|
|
2874
|
+
null !== referenceArrayRoot &&
|
|
2875
|
+
bumpArrayCount(referenceArrayRoot, buffer.byteLength, response);
|
|
2876
|
+
var resolvedValue =
|
|
2877
|
+
constructor === ArrayBuffer ? buffer : new constructor(buffer);
|
|
2878
|
+
"__proto__" !== key && (parentObject[parentKey] = resolvedValue);
|
|
2879
|
+
"" === parentKey &&
|
|
2880
|
+
null === handler.value &&
|
|
2881
|
+
(handler.value = resolvedValue);
|
|
2882
|
+
} catch (x) {
|
|
2883
|
+
reject(x);
|
|
2884
|
+
return;
|
|
2767
2885
|
}
|
|
2768
|
-
|
|
2886
|
+
handler.deps--;
|
|
2887
|
+
0 === handler.deps &&
|
|
2888
|
+
((buffer = handler.chunk),
|
|
2889
|
+
null !== buffer &&
|
|
2890
|
+
"blocked" === buffer.status &&
|
|
2891
|
+
((resolvedValue = buffer.value),
|
|
2892
|
+
(buffer.status = "fulfilled"),
|
|
2893
|
+
(buffer.value = handler.value),
|
|
2894
|
+
(buffer.reason = null),
|
|
2895
|
+
null !== resolvedValue &&
|
|
2896
|
+
wakeChunk(response, resolvedValue, handler.value, buffer)));
|
|
2897
|
+
}, reject);
|
|
2769
2898
|
return null;
|
|
2770
2899
|
}
|
|
2771
2900
|
function resolveStream(response, id, stream, controller) {
|
|
@@ -2781,86 +2910,78 @@ function resolveStream(response, id, stream, controller) {
|
|
|
2781
2910
|
: controller.enqueueModel(chunks));
|
|
2782
2911
|
}
|
|
2783
2912
|
function parseReadableStream(response, reference, type) {
|
|
2913
|
+
function enqueue(value) {
|
|
2914
|
+
"bytes" !== type || ArrayBuffer.isView(value)
|
|
2915
|
+
? controller.enqueue(value)
|
|
2916
|
+
: flightController.error(Error("Invalid data for bytes stream."));
|
|
2917
|
+
}
|
|
2784
2918
|
reference = parseInt(reference.slice(2), 16);
|
|
2785
2919
|
if (response._chunks.has(reference))
|
|
2786
2920
|
throw Error("Already initialized stream.");
|
|
2787
2921
|
var controller = null,
|
|
2788
|
-
closed = !1
|
|
2789
|
-
|
|
2790
|
-
|
|
2791
|
-
|
|
2792
|
-
|
|
2793
|
-
}
|
|
2794
|
-
});
|
|
2795
|
-
var previousBlockedChunk = null;
|
|
2796
|
-
resolveStream(response, reference, type, {
|
|
2797
|
-
enqueueModel: function (json) {
|
|
2798
|
-
if (null === previousBlockedChunk) {
|
|
2799
|
-
var chunk = createResolvedModelChunk(response, json, -1);
|
|
2800
|
-
initializeModelChunk(chunk);
|
|
2801
|
-
"fulfilled" === chunk.status
|
|
2802
|
-
? controller.enqueue(chunk.value)
|
|
2803
|
-
: (chunk.then(
|
|
2804
|
-
function (v) {
|
|
2805
|
-
return controller.enqueue(v);
|
|
2806
|
-
},
|
|
2807
|
-
function (e) {
|
|
2808
|
-
return controller.error(e);
|
|
2809
|
-
}
|
|
2810
|
-
),
|
|
2811
|
-
(previousBlockedChunk = chunk));
|
|
2812
|
-
} else {
|
|
2813
|
-
chunk = previousBlockedChunk;
|
|
2814
|
-
var chunk$30 = new ReactPromise("pending", null, null);
|
|
2815
|
-
chunk$30.then(
|
|
2816
|
-
function (v) {
|
|
2817
|
-
return controller.enqueue(v);
|
|
2818
|
-
},
|
|
2819
|
-
function (e) {
|
|
2820
|
-
return controller.error(e);
|
|
2821
|
-
}
|
|
2822
|
-
);
|
|
2823
|
-
previousBlockedChunk = chunk$30;
|
|
2824
|
-
chunk.then(function () {
|
|
2825
|
-
previousBlockedChunk === chunk$30 && (previousBlockedChunk = null);
|
|
2826
|
-
resolveModelChunk(response, chunk$30, json, -1);
|
|
2827
|
-
});
|
|
2922
|
+
closed = !1,
|
|
2923
|
+
stream = new ReadableStream({
|
|
2924
|
+
type: type,
|
|
2925
|
+
start: function (c) {
|
|
2926
|
+
controller = c;
|
|
2828
2927
|
}
|
|
2829
|
-
},
|
|
2830
|
-
|
|
2831
|
-
|
|
2832
|
-
|
|
2833
|
-
|
|
2834
|
-
var
|
|
2835
|
-
|
|
2836
|
-
|
|
2837
|
-
|
|
2838
|
-
|
|
2839
|
-
|
|
2840
|
-
|
|
2841
|
-
|
|
2842
|
-
|
|
2843
|
-
|
|
2844
|
-
|
|
2845
|
-
|
|
2846
|
-
|
|
2847
|
-
|
|
2848
|
-
blockedChunk.then(function () {
|
|
2849
|
-
return controller.error(error);
|
|
2928
|
+
}),
|
|
2929
|
+
previousBlockedChunk = null,
|
|
2930
|
+
flightController = {
|
|
2931
|
+
enqueueModel: function (json) {
|
|
2932
|
+
if (null === previousBlockedChunk) {
|
|
2933
|
+
var chunk = createResolvedModelChunk(response, json, -1);
|
|
2934
|
+
initializeModelChunk(chunk);
|
|
2935
|
+
"fulfilled" === chunk.status
|
|
2936
|
+
? enqueue(chunk.value)
|
|
2937
|
+
: (chunk.then(enqueue, flightController.error),
|
|
2938
|
+
(previousBlockedChunk = chunk));
|
|
2939
|
+
} else {
|
|
2940
|
+
chunk = previousBlockedChunk;
|
|
2941
|
+
var chunk$31 = new ReactPromise("pending", null, null);
|
|
2942
|
+
chunk$31.then(enqueue, flightController.error);
|
|
2943
|
+
previousBlockedChunk = chunk$31;
|
|
2944
|
+
chunk.then(function () {
|
|
2945
|
+
previousBlockedChunk === chunk$31 && (previousBlockedChunk = null);
|
|
2946
|
+
resolveModelChunk(response, chunk$31, json, -1);
|
|
2850
2947
|
});
|
|
2851
2948
|
}
|
|
2852
|
-
|
|
2853
|
-
|
|
2854
|
-
|
|
2855
|
-
|
|
2856
|
-
|
|
2857
|
-
|
|
2949
|
+
},
|
|
2950
|
+
close: function () {
|
|
2951
|
+
if (!closed)
|
|
2952
|
+
if (((closed = !0), null === previousBlockedChunk))
|
|
2953
|
+
controller.close();
|
|
2954
|
+
else {
|
|
2955
|
+
var blockedChunk = previousBlockedChunk;
|
|
2956
|
+
previousBlockedChunk = null;
|
|
2957
|
+
blockedChunk.then(function () {
|
|
2958
|
+
return controller.close();
|
|
2959
|
+
});
|
|
2960
|
+
}
|
|
2961
|
+
},
|
|
2962
|
+
error: function (error) {
|
|
2963
|
+
if (!closed)
|
|
2964
|
+
if (((closed = !0), null === previousBlockedChunk))
|
|
2965
|
+
controller.error(error);
|
|
2966
|
+
else {
|
|
2967
|
+
var blockedChunk = previousBlockedChunk;
|
|
2968
|
+
previousBlockedChunk = null;
|
|
2969
|
+
blockedChunk.then(function () {
|
|
2970
|
+
return controller.error(error);
|
|
2971
|
+
});
|
|
2972
|
+
}
|
|
2973
|
+
}
|
|
2974
|
+
};
|
|
2975
|
+
resolveStream(response, reference, stream, flightController);
|
|
2976
|
+
return stream;
|
|
2858
2977
|
}
|
|
2859
|
-
function
|
|
2860
|
-
next =
|
|
2861
|
-
next[ASYNC_ITERATOR] = asyncIterator;
|
|
2862
|
-
return next;
|
|
2978
|
+
function FlightIterator(next) {
|
|
2979
|
+
this.next = next;
|
|
2863
2980
|
}
|
|
2981
|
+
FlightIterator.prototype = {};
|
|
2982
|
+
FlightIterator.prototype[ASYNC_ITERATOR] = function () {
|
|
2983
|
+
return this;
|
|
2984
|
+
};
|
|
2864
2985
|
function parseAsyncIterable(response, reference, iterator) {
|
|
2865
2986
|
reference = parseInt(reference.slice(2), 16);
|
|
2866
2987
|
if (response._chunks.has(reference))
|
|
@@ -2872,7 +2993,7 @@ function parseAsyncIterable(response, reference, iterator) {
|
|
|
2872
2993
|
$jscomp$compprop5 =
|
|
2873
2994
|
(($jscomp$compprop5[ASYNC_ITERATOR] = function () {
|
|
2874
2995
|
var nextReadIndex = 0;
|
|
2875
|
-
return
|
|
2996
|
+
return new FlightIterator(function (arg) {
|
|
2876
2997
|
if (void 0 !== arg)
|
|
2877
2998
|
throw Error(
|
|
2878
2999
|
"Values cannot be passed to next() of AsyncIterables passed to Client Components."
|
|
@@ -2952,17 +3073,28 @@ function parseAsyncIterable(response, reference, iterator) {
|
|
|
2952
3073
|
});
|
|
2953
3074
|
return iterator;
|
|
2954
3075
|
}
|
|
2955
|
-
function parseModelString(response, obj, key, value, reference) {
|
|
3076
|
+
function parseModelString(response, obj, key, value, reference, arrayRoot) {
|
|
2956
3077
|
if ("$" === value[0]) {
|
|
2957
3078
|
switch (value[1]) {
|
|
2958
3079
|
case "$":
|
|
2959
|
-
return
|
|
3080
|
+
return (
|
|
3081
|
+
null !== arrayRoot &&
|
|
3082
|
+
bumpArrayCount(arrayRoot, value.length - 1, response),
|
|
3083
|
+
value.slice(1)
|
|
3084
|
+
);
|
|
2960
3085
|
case "@":
|
|
2961
3086
|
return (obj = parseInt(value.slice(2), 16)), getChunk(response, obj);
|
|
2962
3087
|
case "h":
|
|
2963
3088
|
return (
|
|
2964
|
-
(
|
|
2965
|
-
getOutlinedModel(
|
|
3089
|
+
(arrayRoot = value.slice(2)),
|
|
3090
|
+
getOutlinedModel(
|
|
3091
|
+
response,
|
|
3092
|
+
arrayRoot,
|
|
3093
|
+
obj,
|
|
3094
|
+
key,
|
|
3095
|
+
null,
|
|
3096
|
+
loadServerReference$1
|
|
3097
|
+
)
|
|
2966
3098
|
);
|
|
2967
3099
|
case "T":
|
|
2968
3100
|
if (void 0 === reference || void 0 === response._temporaryReferences)
|
|
@@ -2975,27 +3107,37 @@ function parseModelString(response, obj, key, value, reference) {
|
|
|
2975
3107
|
);
|
|
2976
3108
|
case "Q":
|
|
2977
3109
|
return (
|
|
2978
|
-
(
|
|
2979
|
-
getOutlinedModel(response,
|
|
3110
|
+
(arrayRoot = value.slice(2)),
|
|
3111
|
+
getOutlinedModel(response, arrayRoot, obj, key, null, createMap)
|
|
2980
3112
|
);
|
|
2981
3113
|
case "W":
|
|
2982
3114
|
return (
|
|
2983
|
-
(
|
|
2984
|
-
getOutlinedModel(response,
|
|
3115
|
+
(arrayRoot = value.slice(2)),
|
|
3116
|
+
getOutlinedModel(response, arrayRoot, obj, key, null, createSet)
|
|
2985
3117
|
);
|
|
2986
3118
|
case "K":
|
|
2987
3119
|
obj = value.slice(2);
|
|
2988
|
-
|
|
2989
|
-
|
|
2990
|
-
response._formData
|
|
2991
|
-
|
|
2992
|
-
|
|
2993
|
-
|
|
2994
|
-
|
|
3120
|
+
obj = response._prefix + obj + "_";
|
|
3121
|
+
key = new FormData();
|
|
3122
|
+
response = response._formData;
|
|
3123
|
+
arrayRoot = Array.from(response.keys());
|
|
3124
|
+
for (value = 0; value < arrayRoot.length; value++)
|
|
3125
|
+
if (((reference = arrayRoot[value]), reference.startsWith(obj))) {
|
|
3126
|
+
for (
|
|
3127
|
+
var entries = response.getAll(reference),
|
|
3128
|
+
newKey = reference.slice(obj.length),
|
|
3129
|
+
j = 0;
|
|
3130
|
+
j < entries.length;
|
|
3131
|
+
j++
|
|
3132
|
+
)
|
|
3133
|
+
key.append(newKey, entries[j]);
|
|
3134
|
+
response.delete(reference);
|
|
3135
|
+
}
|
|
3136
|
+
return key;
|
|
2995
3137
|
case "i":
|
|
2996
3138
|
return (
|
|
2997
|
-
(
|
|
2998
|
-
getOutlinedModel(response,
|
|
3139
|
+
(arrayRoot = value.slice(2)),
|
|
3140
|
+
getOutlinedModel(response, arrayRoot, obj, key, null, extractIterator)
|
|
2999
3141
|
);
|
|
3000
3142
|
case "I":
|
|
3001
3143
|
return Infinity;
|
|
@@ -3008,42 +3150,150 @@ function parseModelString(response, obj, key, value, reference) {
|
|
|
3008
3150
|
case "D":
|
|
3009
3151
|
return new Date(Date.parse(value.slice(2)));
|
|
3010
3152
|
case "n":
|
|
3011
|
-
|
|
3012
|
-
|
|
3013
|
-
|
|
3153
|
+
obj = value.slice(2);
|
|
3154
|
+
if (300 < obj.length)
|
|
3155
|
+
throw Error(
|
|
3156
|
+
"BigInt is too large. Received " +
|
|
3157
|
+
obj.length +
|
|
3158
|
+
" digits but the limit is 300."
|
|
3159
|
+
);
|
|
3160
|
+
null !== arrayRoot && bumpArrayCount(arrayRoot, obj.length, response);
|
|
3161
|
+
return BigInt(obj);
|
|
3014
3162
|
case "A":
|
|
3015
|
-
return parseTypedArray(
|
|
3163
|
+
return parseTypedArray(
|
|
3164
|
+
response,
|
|
3165
|
+
value,
|
|
3166
|
+
ArrayBuffer,
|
|
3167
|
+
1,
|
|
3168
|
+
obj,
|
|
3169
|
+
key,
|
|
3170
|
+
arrayRoot
|
|
3171
|
+
);
|
|
3016
3172
|
case "O":
|
|
3017
|
-
return parseTypedArray(
|
|
3173
|
+
return parseTypedArray(
|
|
3174
|
+
response,
|
|
3175
|
+
value,
|
|
3176
|
+
Int8Array,
|
|
3177
|
+
1,
|
|
3178
|
+
obj,
|
|
3179
|
+
key,
|
|
3180
|
+
arrayRoot
|
|
3181
|
+
);
|
|
3018
3182
|
case "o":
|
|
3019
|
-
return parseTypedArray(
|
|
3183
|
+
return parseTypedArray(
|
|
3184
|
+
response,
|
|
3185
|
+
value,
|
|
3186
|
+
Uint8Array,
|
|
3187
|
+
1,
|
|
3188
|
+
obj,
|
|
3189
|
+
key,
|
|
3190
|
+
arrayRoot
|
|
3191
|
+
);
|
|
3020
3192
|
case "U":
|
|
3021
|
-
return parseTypedArray(
|
|
3193
|
+
return parseTypedArray(
|
|
3194
|
+
response,
|
|
3195
|
+
value,
|
|
3196
|
+
Uint8ClampedArray,
|
|
3197
|
+
1,
|
|
3198
|
+
obj,
|
|
3199
|
+
key,
|
|
3200
|
+
arrayRoot
|
|
3201
|
+
);
|
|
3022
3202
|
case "S":
|
|
3023
|
-
return parseTypedArray(
|
|
3203
|
+
return parseTypedArray(
|
|
3204
|
+
response,
|
|
3205
|
+
value,
|
|
3206
|
+
Int16Array,
|
|
3207
|
+
2,
|
|
3208
|
+
obj,
|
|
3209
|
+
key,
|
|
3210
|
+
arrayRoot
|
|
3211
|
+
);
|
|
3024
3212
|
case "s":
|
|
3025
|
-
return parseTypedArray(
|
|
3213
|
+
return parseTypedArray(
|
|
3214
|
+
response,
|
|
3215
|
+
value,
|
|
3216
|
+
Uint16Array,
|
|
3217
|
+
2,
|
|
3218
|
+
obj,
|
|
3219
|
+
key,
|
|
3220
|
+
arrayRoot
|
|
3221
|
+
);
|
|
3026
3222
|
case "L":
|
|
3027
|
-
return parseTypedArray(
|
|
3223
|
+
return parseTypedArray(
|
|
3224
|
+
response,
|
|
3225
|
+
value,
|
|
3226
|
+
Int32Array,
|
|
3227
|
+
4,
|
|
3228
|
+
obj,
|
|
3229
|
+
key,
|
|
3230
|
+
arrayRoot
|
|
3231
|
+
);
|
|
3028
3232
|
case "l":
|
|
3029
|
-
return parseTypedArray(
|
|
3233
|
+
return parseTypedArray(
|
|
3234
|
+
response,
|
|
3235
|
+
value,
|
|
3236
|
+
Uint32Array,
|
|
3237
|
+
4,
|
|
3238
|
+
obj,
|
|
3239
|
+
key,
|
|
3240
|
+
arrayRoot
|
|
3241
|
+
);
|
|
3030
3242
|
case "G":
|
|
3031
|
-
return parseTypedArray(
|
|
3243
|
+
return parseTypedArray(
|
|
3244
|
+
response,
|
|
3245
|
+
value,
|
|
3246
|
+
Float32Array,
|
|
3247
|
+
4,
|
|
3248
|
+
obj,
|
|
3249
|
+
key,
|
|
3250
|
+
arrayRoot
|
|
3251
|
+
);
|
|
3032
3252
|
case "g":
|
|
3033
|
-
return parseTypedArray(
|
|
3253
|
+
return parseTypedArray(
|
|
3254
|
+
response,
|
|
3255
|
+
value,
|
|
3256
|
+
Float64Array,
|
|
3257
|
+
8,
|
|
3258
|
+
obj,
|
|
3259
|
+
key,
|
|
3260
|
+
arrayRoot
|
|
3261
|
+
);
|
|
3034
3262
|
case "M":
|
|
3035
|
-
return parseTypedArray(
|
|
3263
|
+
return parseTypedArray(
|
|
3264
|
+
response,
|
|
3265
|
+
value,
|
|
3266
|
+
BigInt64Array,
|
|
3267
|
+
8,
|
|
3268
|
+
obj,
|
|
3269
|
+
key,
|
|
3270
|
+
arrayRoot
|
|
3271
|
+
);
|
|
3036
3272
|
case "m":
|
|
3037
|
-
return parseTypedArray(
|
|
3273
|
+
return parseTypedArray(
|
|
3274
|
+
response,
|
|
3275
|
+
value,
|
|
3276
|
+
BigUint64Array,
|
|
3277
|
+
8,
|
|
3278
|
+
obj,
|
|
3279
|
+
key,
|
|
3280
|
+
arrayRoot
|
|
3281
|
+
);
|
|
3038
3282
|
case "V":
|
|
3039
|
-
return parseTypedArray(
|
|
3283
|
+
return parseTypedArray(
|
|
3284
|
+
response,
|
|
3285
|
+
value,
|
|
3286
|
+
DataView,
|
|
3287
|
+
1,
|
|
3288
|
+
obj,
|
|
3289
|
+
key,
|
|
3290
|
+
arrayRoot
|
|
3291
|
+
);
|
|
3040
3292
|
case "B":
|
|
3041
3293
|
return (
|
|
3042
3294
|
(obj = parseInt(value.slice(2), 16)),
|
|
3043
3295
|
response._formData.get(response._prefix + obj)
|
|
3044
3296
|
);
|
|
3045
|
-
}
|
|
3046
|
-
switch (value[1]) {
|
|
3047
3297
|
case "R":
|
|
3048
3298
|
return parseReadableStream(response, value, void 0);
|
|
3049
3299
|
case "r":
|
|
@@ -3054,8 +3304,9 @@ function parseModelString(response, obj, key, value, reference) {
|
|
|
3054
3304
|
return parseAsyncIterable(response, value, !0);
|
|
3055
3305
|
}
|
|
3056
3306
|
value = value.slice(1);
|
|
3057
|
-
return getOutlinedModel(response, value, obj, key, createModel);
|
|
3307
|
+
return getOutlinedModel(response, value, obj, key, arrayRoot, createModel);
|
|
3058
3308
|
}
|
|
3309
|
+
null !== arrayRoot && bumpArrayCount(arrayRoot, value.length, response);
|
|
3059
3310
|
return value;
|
|
3060
3311
|
}
|
|
3061
3312
|
function createResponse(bundlerConfig, formFieldPrefix, temporaryReferences) {
|
|
@@ -3063,6 +3314,8 @@ function createResponse(bundlerConfig, formFieldPrefix, temporaryReferences) {
|
|
|
3063
3314
|
3 < arguments.length && void 0 !== arguments[3]
|
|
3064
3315
|
? arguments[3]
|
|
3065
3316
|
: new FormData(),
|
|
3317
|
+
arraySizeLimit =
|
|
3318
|
+
4 < arguments.length && void 0 !== arguments[4] ? arguments[4] : 1e6,
|
|
3066
3319
|
chunks = new Map();
|
|
3067
3320
|
return {
|
|
3068
3321
|
_bundlerConfig: bundlerConfig,
|
|
@@ -3071,19 +3324,30 @@ function createResponse(bundlerConfig, formFieldPrefix, temporaryReferences) {
|
|
|
3071
3324
|
_chunks: chunks,
|
|
3072
3325
|
_closed: !1,
|
|
3073
3326
|
_closedReason: null,
|
|
3074
|
-
_temporaryReferences: temporaryReferences
|
|
3327
|
+
_temporaryReferences: temporaryReferences,
|
|
3328
|
+
_rootArrayContexts: new WeakMap(),
|
|
3329
|
+
_arraySizeLimit: arraySizeLimit
|
|
3075
3330
|
};
|
|
3076
3331
|
}
|
|
3077
3332
|
function close(response) {
|
|
3078
3333
|
reportGlobalError(response, Error("Connection closed."));
|
|
3079
3334
|
}
|
|
3080
|
-
function loadServerReference(bundlerConfig,
|
|
3335
|
+
function loadServerReference(bundlerConfig, metaData) {
|
|
3336
|
+
var id = metaData.id;
|
|
3337
|
+
if ("string" !== typeof id) return null;
|
|
3081
3338
|
var serverReference = resolveServerReference(bundlerConfig, id);
|
|
3082
3339
|
bundlerConfig = preloadModule(serverReference);
|
|
3083
|
-
|
|
3084
|
-
|
|
3340
|
+
metaData = metaData.bound;
|
|
3341
|
+
return metaData instanceof Promise
|
|
3342
|
+
? Promise.all([metaData, bundlerConfig]).then(function (_ref) {
|
|
3085
3343
|
_ref = _ref[0];
|
|
3086
3344
|
var fn = requireModule(serverReference);
|
|
3345
|
+
if (1e3 < _ref.length)
|
|
3346
|
+
throw Error(
|
|
3347
|
+
"Server Function has too many bound arguments. Received " +
|
|
3348
|
+
_ref.length +
|
|
3349
|
+
" but the limit is 1000."
|
|
3350
|
+
);
|
|
3087
3351
|
return fn.bind.apply(fn, [null].concat(_ref));
|
|
3088
3352
|
})
|
|
3089
3353
|
: bundlerConfig
|
|
@@ -3092,8 +3356,19 @@ function loadServerReference(bundlerConfig, id, bound) {
|
|
|
3092
3356
|
})
|
|
3093
3357
|
: Promise.resolve(requireModule(serverReference));
|
|
3094
3358
|
}
|
|
3095
|
-
function decodeBoundActionMetaData(
|
|
3096
|
-
body
|
|
3359
|
+
function decodeBoundActionMetaData(
|
|
3360
|
+
body,
|
|
3361
|
+
serverManifest,
|
|
3362
|
+
formFieldPrefix,
|
|
3363
|
+
arraySizeLimit
|
|
3364
|
+
) {
|
|
3365
|
+
body = createResponse(
|
|
3366
|
+
serverManifest,
|
|
3367
|
+
formFieldPrefix,
|
|
3368
|
+
void 0,
|
|
3369
|
+
body,
|
|
3370
|
+
arraySizeLimit
|
|
3371
|
+
);
|
|
3097
3372
|
close(body);
|
|
3098
3373
|
body = getChunk(body, 0);
|
|
3099
3374
|
body.then(function () {});
|
|
@@ -3109,16 +3384,24 @@ exports.createTemporaryReferenceSet = function () {
|
|
|
3109
3384
|
};
|
|
3110
3385
|
exports.decodeAction = function (body, serverManifest) {
|
|
3111
3386
|
var formData = new FormData(),
|
|
3112
|
-
action = null
|
|
3387
|
+
action = null,
|
|
3388
|
+
seenActions = new Set();
|
|
3113
3389
|
body.forEach(function (value, key) {
|
|
3114
3390
|
key.startsWith("$ACTION_")
|
|
3115
3391
|
? key.startsWith("$ACTION_REF_")
|
|
3116
|
-
? (
|
|
3392
|
+
? seenActions.has(key) ||
|
|
3393
|
+
(seenActions.add(key),
|
|
3394
|
+
(value = "$ACTION_" + key.slice(12) + ":"),
|
|
3117
3395
|
(value = decodeBoundActionMetaData(body, serverManifest, value)),
|
|
3118
|
-
(action = loadServerReference(serverManifest, value
|
|
3396
|
+
(action = loadServerReference(serverManifest, value)))
|
|
3119
3397
|
: key.startsWith("$ACTION_ID_") &&
|
|
3120
|
-
(
|
|
3121
|
-
(
|
|
3398
|
+
!seenActions.has(key) &&
|
|
3399
|
+
(seenActions.add(key),
|
|
3400
|
+
(value = key.slice(11)),
|
|
3401
|
+
(action = loadServerReference(serverManifest, {
|
|
3402
|
+
id: value,
|
|
3403
|
+
bound: null
|
|
3404
|
+
})))
|
|
3122
3405
|
: formData.append(key, value);
|
|
3123
3406
|
});
|
|
3124
3407
|
return null === action
|
|
@@ -3154,7 +3437,8 @@ exports.decodeReply = function (body, webpackMap, options) {
|
|
|
3154
3437
|
webpackMap,
|
|
3155
3438
|
"",
|
|
3156
3439
|
options ? options.temporaryReferences : void 0,
|
|
3157
|
-
body
|
|
3440
|
+
body,
|
|
3441
|
+
options ? options.arraySizeLimit : void 0
|
|
3158
3442
|
);
|
|
3159
3443
|
webpackMap = getChunk(body, 0);
|
|
3160
3444
|
close(body);
|
|
@@ -3193,7 +3477,9 @@ exports.decodeReplyFromAsyncIterable = function (
|
|
|
3193
3477
|
response = createResponse(
|
|
3194
3478
|
webpackMap,
|
|
3195
3479
|
"",
|
|
3196
|
-
options ? options.temporaryReferences : void 0
|
|
3480
|
+
options ? options.temporaryReferences : void 0,
|
|
3481
|
+
void 0,
|
|
3482
|
+
options ? options.arraySizeLimit : void 0
|
|
3197
3483
|
);
|
|
3198
3484
|
iterator.next().then(progress, error);
|
|
3199
3485
|
return getChunk(response, 0);
|