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