react-server-dom-webpack 19.2.3 → 19.2.5
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 +619 -348
- package/cjs/react-server-dom-webpack-server.browser.production.js +592 -311
- package/cjs/react-server-dom-webpack-server.edge.development.js +622 -349
- package/cjs/react-server-dom-webpack-server.edge.production.js +595 -312
- package/cjs/react-server-dom-webpack-server.node.development.js +628 -353
- package/cjs/react-server-dom-webpack-server.node.production.js +601 -316
- package/package.json +3 -3
|
@@ -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,12 +2801,21 @@ function getOutlinedModel(response, reference, parentObject, key, map) {
|
|
|
2700
2801
|
}
|
|
2701
2802
|
}
|
|
2702
2803
|
function createMap(response, model) {
|
|
2804
|
+
if (!isArrayImpl(model)) throw Error("Invalid Map initializer.");
|
|
2805
|
+
if (!0 === model.$$consumed) throw Error("Already initialized Map.");
|
|
2806
|
+
model.$$consumed = !0;
|
|
2703
2807
|
return new Map(model);
|
|
2704
2808
|
}
|
|
2705
2809
|
function createSet(response, model) {
|
|
2810
|
+
if (!isArrayImpl(model)) throw Error("Invalid Set initializer.");
|
|
2811
|
+
if (!0 === model.$$consumed) throw Error("Already initialized Set.");
|
|
2812
|
+
model.$$consumed = !0;
|
|
2706
2813
|
return new Set(model);
|
|
2707
2814
|
}
|
|
2708
2815
|
function extractIterator(response, model) {
|
|
2816
|
+
if (!isArrayImpl(model)) throw Error("Invalid Iterator initializer.");
|
|
2817
|
+
if (!0 === model.$$consumed) throw Error("Already initialized Iterator.");
|
|
2818
|
+
model.$$consumed = !0;
|
|
2709
2819
|
return model[Symbol.iterator]();
|
|
2710
2820
|
}
|
|
2711
2821
|
function createModel(response, model, parentObject, key) {
|
|
@@ -2717,13 +2827,34 @@ function parseTypedArray(
|
|
|
2717
2827
|
constructor,
|
|
2718
2828
|
bytesPerElement,
|
|
2719
2829
|
parentObject,
|
|
2720
|
-
parentKey
|
|
2830
|
+
parentKey,
|
|
2831
|
+
referenceArrayRoot
|
|
2721
2832
|
) {
|
|
2833
|
+
function reject(error) {
|
|
2834
|
+
if (!handler.errored) {
|
|
2835
|
+
handler.errored = !0;
|
|
2836
|
+
handler.value = null;
|
|
2837
|
+
handler.reason = error;
|
|
2838
|
+
var chunk = handler.chunk;
|
|
2839
|
+
null !== chunk &&
|
|
2840
|
+
"blocked" === chunk.status &&
|
|
2841
|
+
triggerErrorOnChunk(response, chunk, error);
|
|
2842
|
+
}
|
|
2843
|
+
}
|
|
2722
2844
|
reference = parseInt(reference.slice(2), 16);
|
|
2723
|
-
|
|
2724
|
-
|
|
2845
|
+
var key = response._prefix + reference;
|
|
2846
|
+
bytesPerElement = response._chunks;
|
|
2847
|
+
if (bytesPerElement.has(reference))
|
|
2725
2848
|
throw Error("Already initialized typed array.");
|
|
2726
|
-
|
|
2849
|
+
bytesPerElement.set(
|
|
2850
|
+
reference,
|
|
2851
|
+
new ReactPromise(
|
|
2852
|
+
"rejected",
|
|
2853
|
+
null,
|
|
2854
|
+
Error("Already initialized typed array.")
|
|
2855
|
+
)
|
|
2856
|
+
);
|
|
2857
|
+
reference = response._formData.get(key).arrayBuffer();
|
|
2727
2858
|
if (initializingHandler) {
|
|
2728
2859
|
var handler = initializingHandler;
|
|
2729
2860
|
handler.deps++;
|
|
@@ -2735,37 +2866,32 @@ function parseTypedArray(
|
|
|
2735
2866
|
deps: 1,
|
|
2736
2867
|
errored: !1
|
|
2737
2868
|
};
|
|
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
|
-
}
|
|
2869
|
+
reference.then(function (buffer) {
|
|
2870
|
+
try {
|
|
2871
|
+
null !== referenceArrayRoot &&
|
|
2872
|
+
bumpArrayCount(referenceArrayRoot, buffer.byteLength, response);
|
|
2873
|
+
var resolvedValue =
|
|
2874
|
+
constructor === ArrayBuffer ? buffer : new constructor(buffer);
|
|
2875
|
+
"__proto__" !== key && (parentObject[parentKey] = resolvedValue);
|
|
2876
|
+
"" === parentKey &&
|
|
2877
|
+
null === handler.value &&
|
|
2878
|
+
(handler.value = resolvedValue);
|
|
2879
|
+
} catch (x) {
|
|
2880
|
+
reject(x);
|
|
2881
|
+
return;
|
|
2767
2882
|
}
|
|
2768
|
-
|
|
2883
|
+
handler.deps--;
|
|
2884
|
+
0 === handler.deps &&
|
|
2885
|
+
((buffer = handler.chunk),
|
|
2886
|
+
null !== buffer &&
|
|
2887
|
+
"blocked" === buffer.status &&
|
|
2888
|
+
((resolvedValue = buffer.value),
|
|
2889
|
+
(buffer.status = "fulfilled"),
|
|
2890
|
+
(buffer.value = handler.value),
|
|
2891
|
+
(buffer.reason = null),
|
|
2892
|
+
null !== resolvedValue &&
|
|
2893
|
+
wakeChunk(response, resolvedValue, handler.value, buffer)));
|
|
2894
|
+
}, reject);
|
|
2769
2895
|
return null;
|
|
2770
2896
|
}
|
|
2771
2897
|
function resolveStream(response, id, stream, controller) {
|
|
@@ -2781,86 +2907,78 @@ function resolveStream(response, id, stream, controller) {
|
|
|
2781
2907
|
: controller.enqueueModel(chunks));
|
|
2782
2908
|
}
|
|
2783
2909
|
function parseReadableStream(response, reference, type) {
|
|
2910
|
+
function enqueue(value) {
|
|
2911
|
+
"bytes" !== type || ArrayBuffer.isView(value)
|
|
2912
|
+
? controller.enqueue(value)
|
|
2913
|
+
: flightController.error(Error("Invalid data for bytes stream."));
|
|
2914
|
+
}
|
|
2784
2915
|
reference = parseInt(reference.slice(2), 16);
|
|
2785
2916
|
if (response._chunks.has(reference))
|
|
2786
2917
|
throw Error("Already initialized stream.");
|
|
2787
2918
|
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
|
-
});
|
|
2919
|
+
closed = !1,
|
|
2920
|
+
stream = new ReadableStream({
|
|
2921
|
+
type: type,
|
|
2922
|
+
start: function (c) {
|
|
2923
|
+
controller = c;
|
|
2828
2924
|
}
|
|
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);
|
|
2925
|
+
}),
|
|
2926
|
+
previousBlockedChunk = null,
|
|
2927
|
+
flightController = {
|
|
2928
|
+
enqueueModel: function (json) {
|
|
2929
|
+
if (null === previousBlockedChunk) {
|
|
2930
|
+
var chunk = createResolvedModelChunk(response, json, -1);
|
|
2931
|
+
initializeModelChunk(chunk);
|
|
2932
|
+
"fulfilled" === chunk.status
|
|
2933
|
+
? enqueue(chunk.value)
|
|
2934
|
+
: (chunk.then(enqueue, flightController.error),
|
|
2935
|
+
(previousBlockedChunk = chunk));
|
|
2936
|
+
} else {
|
|
2937
|
+
chunk = previousBlockedChunk;
|
|
2938
|
+
var chunk$31 = new ReactPromise("pending", null, null);
|
|
2939
|
+
chunk$31.then(enqueue, flightController.error);
|
|
2940
|
+
previousBlockedChunk = chunk$31;
|
|
2941
|
+
chunk.then(function () {
|
|
2942
|
+
previousBlockedChunk === chunk$31 && (previousBlockedChunk = null);
|
|
2943
|
+
resolveModelChunk(response, chunk$31, json, -1);
|
|
2850
2944
|
});
|
|
2851
2945
|
}
|
|
2852
|
-
|
|
2853
|
-
|
|
2854
|
-
|
|
2855
|
-
|
|
2856
|
-
|
|
2857
|
-
|
|
2946
|
+
},
|
|
2947
|
+
close: function () {
|
|
2948
|
+
if (!closed)
|
|
2949
|
+
if (((closed = !0), null === previousBlockedChunk))
|
|
2950
|
+
controller.close();
|
|
2951
|
+
else {
|
|
2952
|
+
var blockedChunk = previousBlockedChunk;
|
|
2953
|
+
previousBlockedChunk = null;
|
|
2954
|
+
blockedChunk.then(function () {
|
|
2955
|
+
return controller.close();
|
|
2956
|
+
});
|
|
2957
|
+
}
|
|
2958
|
+
},
|
|
2959
|
+
error: function (error) {
|
|
2960
|
+
if (!closed)
|
|
2961
|
+
if (((closed = !0), null === previousBlockedChunk))
|
|
2962
|
+
controller.error(error);
|
|
2963
|
+
else {
|
|
2964
|
+
var blockedChunk = previousBlockedChunk;
|
|
2965
|
+
previousBlockedChunk = null;
|
|
2966
|
+
blockedChunk.then(function () {
|
|
2967
|
+
return controller.error(error);
|
|
2968
|
+
});
|
|
2969
|
+
}
|
|
2970
|
+
}
|
|
2971
|
+
};
|
|
2972
|
+
resolveStream(response, reference, stream, flightController);
|
|
2973
|
+
return stream;
|
|
2858
2974
|
}
|
|
2859
|
-
function
|
|
2860
|
-
next =
|
|
2861
|
-
next[ASYNC_ITERATOR] = asyncIterator;
|
|
2862
|
-
return next;
|
|
2975
|
+
function FlightIterator(next) {
|
|
2976
|
+
this.next = next;
|
|
2863
2977
|
}
|
|
2978
|
+
FlightIterator.prototype = {};
|
|
2979
|
+
FlightIterator.prototype[ASYNC_ITERATOR] = function () {
|
|
2980
|
+
return this;
|
|
2981
|
+
};
|
|
2864
2982
|
function parseAsyncIterable(response, reference, iterator) {
|
|
2865
2983
|
reference = parseInt(reference.slice(2), 16);
|
|
2866
2984
|
if (response._chunks.has(reference))
|
|
@@ -2872,7 +2990,7 @@ function parseAsyncIterable(response, reference, iterator) {
|
|
|
2872
2990
|
$jscomp$compprop5 =
|
|
2873
2991
|
(($jscomp$compprop5[ASYNC_ITERATOR] = function () {
|
|
2874
2992
|
var nextReadIndex = 0;
|
|
2875
|
-
return
|
|
2993
|
+
return new FlightIterator(function (arg) {
|
|
2876
2994
|
if (void 0 !== arg)
|
|
2877
2995
|
throw Error(
|
|
2878
2996
|
"Values cannot be passed to next() of AsyncIterables passed to Client Components."
|
|
@@ -2952,17 +3070,28 @@ function parseAsyncIterable(response, reference, iterator) {
|
|
|
2952
3070
|
});
|
|
2953
3071
|
return iterator;
|
|
2954
3072
|
}
|
|
2955
|
-
function parseModelString(response, obj, key, value, reference) {
|
|
3073
|
+
function parseModelString(response, obj, key, value, reference, arrayRoot) {
|
|
2956
3074
|
if ("$" === value[0]) {
|
|
2957
3075
|
switch (value[1]) {
|
|
2958
3076
|
case "$":
|
|
2959
|
-
return
|
|
3077
|
+
return (
|
|
3078
|
+
null !== arrayRoot &&
|
|
3079
|
+
bumpArrayCount(arrayRoot, value.length - 1, response),
|
|
3080
|
+
value.slice(1)
|
|
3081
|
+
);
|
|
2960
3082
|
case "@":
|
|
2961
3083
|
return (obj = parseInt(value.slice(2), 16)), getChunk(response, obj);
|
|
2962
3084
|
case "h":
|
|
2963
3085
|
return (
|
|
2964
|
-
(
|
|
2965
|
-
getOutlinedModel(
|
|
3086
|
+
(arrayRoot = value.slice(2)),
|
|
3087
|
+
getOutlinedModel(
|
|
3088
|
+
response,
|
|
3089
|
+
arrayRoot,
|
|
3090
|
+
obj,
|
|
3091
|
+
key,
|
|
3092
|
+
null,
|
|
3093
|
+
loadServerReference$1
|
|
3094
|
+
)
|
|
2966
3095
|
);
|
|
2967
3096
|
case "T":
|
|
2968
3097
|
if (void 0 === reference || void 0 === response._temporaryReferences)
|
|
@@ -2975,27 +3104,37 @@ function parseModelString(response, obj, key, value, reference) {
|
|
|
2975
3104
|
);
|
|
2976
3105
|
case "Q":
|
|
2977
3106
|
return (
|
|
2978
|
-
(
|
|
2979
|
-
getOutlinedModel(response,
|
|
3107
|
+
(arrayRoot = value.slice(2)),
|
|
3108
|
+
getOutlinedModel(response, arrayRoot, obj, key, null, createMap)
|
|
2980
3109
|
);
|
|
2981
3110
|
case "W":
|
|
2982
3111
|
return (
|
|
2983
|
-
(
|
|
2984
|
-
getOutlinedModel(response,
|
|
3112
|
+
(arrayRoot = value.slice(2)),
|
|
3113
|
+
getOutlinedModel(response, arrayRoot, obj, key, null, createSet)
|
|
2985
3114
|
);
|
|
2986
3115
|
case "K":
|
|
2987
3116
|
obj = value.slice(2);
|
|
2988
|
-
|
|
2989
|
-
|
|
2990
|
-
response._formData
|
|
2991
|
-
|
|
2992
|
-
|
|
2993
|
-
|
|
2994
|
-
|
|
3117
|
+
obj = response._prefix + obj + "_";
|
|
3118
|
+
key = new FormData();
|
|
3119
|
+
response = response._formData;
|
|
3120
|
+
arrayRoot = Array.from(response.keys());
|
|
3121
|
+
for (value = 0; value < arrayRoot.length; value++)
|
|
3122
|
+
if (((reference = arrayRoot[value]), reference.startsWith(obj))) {
|
|
3123
|
+
for (
|
|
3124
|
+
var entries = response.getAll(reference),
|
|
3125
|
+
newKey = reference.slice(obj.length),
|
|
3126
|
+
j = 0;
|
|
3127
|
+
j < entries.length;
|
|
3128
|
+
j++
|
|
3129
|
+
)
|
|
3130
|
+
key.append(newKey, entries[j]);
|
|
3131
|
+
response.delete(reference);
|
|
3132
|
+
}
|
|
3133
|
+
return key;
|
|
2995
3134
|
case "i":
|
|
2996
3135
|
return (
|
|
2997
|
-
(
|
|
2998
|
-
getOutlinedModel(response,
|
|
3136
|
+
(arrayRoot = value.slice(2)),
|
|
3137
|
+
getOutlinedModel(response, arrayRoot, obj, key, null, extractIterator)
|
|
2999
3138
|
);
|
|
3000
3139
|
case "I":
|
|
3001
3140
|
return Infinity;
|
|
@@ -3008,42 +3147,150 @@ function parseModelString(response, obj, key, value, reference) {
|
|
|
3008
3147
|
case "D":
|
|
3009
3148
|
return new Date(Date.parse(value.slice(2)));
|
|
3010
3149
|
case "n":
|
|
3011
|
-
|
|
3012
|
-
|
|
3013
|
-
|
|
3150
|
+
obj = value.slice(2);
|
|
3151
|
+
if (300 < obj.length)
|
|
3152
|
+
throw Error(
|
|
3153
|
+
"BigInt is too large. Received " +
|
|
3154
|
+
obj.length +
|
|
3155
|
+
" digits but the limit is 300."
|
|
3156
|
+
);
|
|
3157
|
+
null !== arrayRoot && bumpArrayCount(arrayRoot, obj.length, response);
|
|
3158
|
+
return BigInt(obj);
|
|
3014
3159
|
case "A":
|
|
3015
|
-
return parseTypedArray(
|
|
3160
|
+
return parseTypedArray(
|
|
3161
|
+
response,
|
|
3162
|
+
value,
|
|
3163
|
+
ArrayBuffer,
|
|
3164
|
+
1,
|
|
3165
|
+
obj,
|
|
3166
|
+
key,
|
|
3167
|
+
arrayRoot
|
|
3168
|
+
);
|
|
3016
3169
|
case "O":
|
|
3017
|
-
return parseTypedArray(
|
|
3170
|
+
return parseTypedArray(
|
|
3171
|
+
response,
|
|
3172
|
+
value,
|
|
3173
|
+
Int8Array,
|
|
3174
|
+
1,
|
|
3175
|
+
obj,
|
|
3176
|
+
key,
|
|
3177
|
+
arrayRoot
|
|
3178
|
+
);
|
|
3018
3179
|
case "o":
|
|
3019
|
-
return parseTypedArray(
|
|
3180
|
+
return parseTypedArray(
|
|
3181
|
+
response,
|
|
3182
|
+
value,
|
|
3183
|
+
Uint8Array,
|
|
3184
|
+
1,
|
|
3185
|
+
obj,
|
|
3186
|
+
key,
|
|
3187
|
+
arrayRoot
|
|
3188
|
+
);
|
|
3020
3189
|
case "U":
|
|
3021
|
-
return parseTypedArray(
|
|
3190
|
+
return parseTypedArray(
|
|
3191
|
+
response,
|
|
3192
|
+
value,
|
|
3193
|
+
Uint8ClampedArray,
|
|
3194
|
+
1,
|
|
3195
|
+
obj,
|
|
3196
|
+
key,
|
|
3197
|
+
arrayRoot
|
|
3198
|
+
);
|
|
3022
3199
|
case "S":
|
|
3023
|
-
return parseTypedArray(
|
|
3200
|
+
return parseTypedArray(
|
|
3201
|
+
response,
|
|
3202
|
+
value,
|
|
3203
|
+
Int16Array,
|
|
3204
|
+
2,
|
|
3205
|
+
obj,
|
|
3206
|
+
key,
|
|
3207
|
+
arrayRoot
|
|
3208
|
+
);
|
|
3024
3209
|
case "s":
|
|
3025
|
-
return parseTypedArray(
|
|
3210
|
+
return parseTypedArray(
|
|
3211
|
+
response,
|
|
3212
|
+
value,
|
|
3213
|
+
Uint16Array,
|
|
3214
|
+
2,
|
|
3215
|
+
obj,
|
|
3216
|
+
key,
|
|
3217
|
+
arrayRoot
|
|
3218
|
+
);
|
|
3026
3219
|
case "L":
|
|
3027
|
-
return parseTypedArray(
|
|
3220
|
+
return parseTypedArray(
|
|
3221
|
+
response,
|
|
3222
|
+
value,
|
|
3223
|
+
Int32Array,
|
|
3224
|
+
4,
|
|
3225
|
+
obj,
|
|
3226
|
+
key,
|
|
3227
|
+
arrayRoot
|
|
3228
|
+
);
|
|
3028
3229
|
case "l":
|
|
3029
|
-
return parseTypedArray(
|
|
3230
|
+
return parseTypedArray(
|
|
3231
|
+
response,
|
|
3232
|
+
value,
|
|
3233
|
+
Uint32Array,
|
|
3234
|
+
4,
|
|
3235
|
+
obj,
|
|
3236
|
+
key,
|
|
3237
|
+
arrayRoot
|
|
3238
|
+
);
|
|
3030
3239
|
case "G":
|
|
3031
|
-
return parseTypedArray(
|
|
3240
|
+
return parseTypedArray(
|
|
3241
|
+
response,
|
|
3242
|
+
value,
|
|
3243
|
+
Float32Array,
|
|
3244
|
+
4,
|
|
3245
|
+
obj,
|
|
3246
|
+
key,
|
|
3247
|
+
arrayRoot
|
|
3248
|
+
);
|
|
3032
3249
|
case "g":
|
|
3033
|
-
return parseTypedArray(
|
|
3250
|
+
return parseTypedArray(
|
|
3251
|
+
response,
|
|
3252
|
+
value,
|
|
3253
|
+
Float64Array,
|
|
3254
|
+
8,
|
|
3255
|
+
obj,
|
|
3256
|
+
key,
|
|
3257
|
+
arrayRoot
|
|
3258
|
+
);
|
|
3034
3259
|
case "M":
|
|
3035
|
-
return parseTypedArray(
|
|
3260
|
+
return parseTypedArray(
|
|
3261
|
+
response,
|
|
3262
|
+
value,
|
|
3263
|
+
BigInt64Array,
|
|
3264
|
+
8,
|
|
3265
|
+
obj,
|
|
3266
|
+
key,
|
|
3267
|
+
arrayRoot
|
|
3268
|
+
);
|
|
3036
3269
|
case "m":
|
|
3037
|
-
return parseTypedArray(
|
|
3270
|
+
return parseTypedArray(
|
|
3271
|
+
response,
|
|
3272
|
+
value,
|
|
3273
|
+
BigUint64Array,
|
|
3274
|
+
8,
|
|
3275
|
+
obj,
|
|
3276
|
+
key,
|
|
3277
|
+
arrayRoot
|
|
3278
|
+
);
|
|
3038
3279
|
case "V":
|
|
3039
|
-
return parseTypedArray(
|
|
3280
|
+
return parseTypedArray(
|
|
3281
|
+
response,
|
|
3282
|
+
value,
|
|
3283
|
+
DataView,
|
|
3284
|
+
1,
|
|
3285
|
+
obj,
|
|
3286
|
+
key,
|
|
3287
|
+
arrayRoot
|
|
3288
|
+
);
|
|
3040
3289
|
case "B":
|
|
3041
3290
|
return (
|
|
3042
3291
|
(obj = parseInt(value.slice(2), 16)),
|
|
3043
3292
|
response._formData.get(response._prefix + obj)
|
|
3044
3293
|
);
|
|
3045
|
-
}
|
|
3046
|
-
switch (value[1]) {
|
|
3047
3294
|
case "R":
|
|
3048
3295
|
return parseReadableStream(response, value, void 0);
|
|
3049
3296
|
case "r":
|
|
@@ -3054,8 +3301,9 @@ function parseModelString(response, obj, key, value, reference) {
|
|
|
3054
3301
|
return parseAsyncIterable(response, value, !0);
|
|
3055
3302
|
}
|
|
3056
3303
|
value = value.slice(1);
|
|
3057
|
-
return getOutlinedModel(response, value, obj, key, createModel);
|
|
3304
|
+
return getOutlinedModel(response, value, obj, key, arrayRoot, createModel);
|
|
3058
3305
|
}
|
|
3306
|
+
null !== arrayRoot && bumpArrayCount(arrayRoot, value.length, response);
|
|
3059
3307
|
return value;
|
|
3060
3308
|
}
|
|
3061
3309
|
function createResponse(bundlerConfig, formFieldPrefix, temporaryReferences) {
|
|
@@ -3063,6 +3311,8 @@ function createResponse(bundlerConfig, formFieldPrefix, temporaryReferences) {
|
|
|
3063
3311
|
3 < arguments.length && void 0 !== arguments[3]
|
|
3064
3312
|
? arguments[3]
|
|
3065
3313
|
: new FormData(),
|
|
3314
|
+
arraySizeLimit =
|
|
3315
|
+
4 < arguments.length && void 0 !== arguments[4] ? arguments[4] : 1e6,
|
|
3066
3316
|
chunks = new Map();
|
|
3067
3317
|
return {
|
|
3068
3318
|
_bundlerConfig: bundlerConfig,
|
|
@@ -3071,19 +3321,30 @@ function createResponse(bundlerConfig, formFieldPrefix, temporaryReferences) {
|
|
|
3071
3321
|
_chunks: chunks,
|
|
3072
3322
|
_closed: !1,
|
|
3073
3323
|
_closedReason: null,
|
|
3074
|
-
_temporaryReferences: temporaryReferences
|
|
3324
|
+
_temporaryReferences: temporaryReferences,
|
|
3325
|
+
_rootArrayContexts: new WeakMap(),
|
|
3326
|
+
_arraySizeLimit: arraySizeLimit
|
|
3075
3327
|
};
|
|
3076
3328
|
}
|
|
3077
3329
|
function close(response) {
|
|
3078
3330
|
reportGlobalError(response, Error("Connection closed."));
|
|
3079
3331
|
}
|
|
3080
|
-
function loadServerReference(bundlerConfig,
|
|
3332
|
+
function loadServerReference(bundlerConfig, metaData) {
|
|
3333
|
+
var id = metaData.id;
|
|
3334
|
+
if ("string" !== typeof id) return null;
|
|
3081
3335
|
var serverReference = resolveServerReference(bundlerConfig, id);
|
|
3082
3336
|
bundlerConfig = preloadModule(serverReference);
|
|
3083
|
-
|
|
3084
|
-
|
|
3337
|
+
metaData = metaData.bound;
|
|
3338
|
+
return metaData instanceof Promise
|
|
3339
|
+
? Promise.all([metaData, bundlerConfig]).then(function (_ref) {
|
|
3085
3340
|
_ref = _ref[0];
|
|
3086
3341
|
var fn = requireModule(serverReference);
|
|
3342
|
+
if (1e3 < _ref.length)
|
|
3343
|
+
throw Error(
|
|
3344
|
+
"Server Function has too many bound arguments. Received " +
|
|
3345
|
+
_ref.length +
|
|
3346
|
+
" but the limit is 1000."
|
|
3347
|
+
);
|
|
3087
3348
|
return fn.bind.apply(fn, [null].concat(_ref));
|
|
3088
3349
|
})
|
|
3089
3350
|
: bundlerConfig
|
|
@@ -3092,8 +3353,19 @@ function loadServerReference(bundlerConfig, id, bound) {
|
|
|
3092
3353
|
})
|
|
3093
3354
|
: Promise.resolve(requireModule(serverReference));
|
|
3094
3355
|
}
|
|
3095
|
-
function decodeBoundActionMetaData(
|
|
3096
|
-
body
|
|
3356
|
+
function decodeBoundActionMetaData(
|
|
3357
|
+
body,
|
|
3358
|
+
serverManifest,
|
|
3359
|
+
formFieldPrefix,
|
|
3360
|
+
arraySizeLimit
|
|
3361
|
+
) {
|
|
3362
|
+
body = createResponse(
|
|
3363
|
+
serverManifest,
|
|
3364
|
+
formFieldPrefix,
|
|
3365
|
+
void 0,
|
|
3366
|
+
body,
|
|
3367
|
+
arraySizeLimit
|
|
3368
|
+
);
|
|
3097
3369
|
close(body);
|
|
3098
3370
|
body = getChunk(body, 0);
|
|
3099
3371
|
body.then(function () {});
|
|
@@ -3109,16 +3381,24 @@ exports.createTemporaryReferenceSet = function () {
|
|
|
3109
3381
|
};
|
|
3110
3382
|
exports.decodeAction = function (body, serverManifest) {
|
|
3111
3383
|
var formData = new FormData(),
|
|
3112
|
-
action = null
|
|
3384
|
+
action = null,
|
|
3385
|
+
seenActions = new Set();
|
|
3113
3386
|
body.forEach(function (value, key) {
|
|
3114
3387
|
key.startsWith("$ACTION_")
|
|
3115
3388
|
? key.startsWith("$ACTION_REF_")
|
|
3116
|
-
? (
|
|
3389
|
+
? seenActions.has(key) ||
|
|
3390
|
+
(seenActions.add(key),
|
|
3391
|
+
(value = "$ACTION_" + key.slice(12) + ":"),
|
|
3117
3392
|
(value = decodeBoundActionMetaData(body, serverManifest, value)),
|
|
3118
|
-
(action = loadServerReference(serverManifest, value
|
|
3393
|
+
(action = loadServerReference(serverManifest, value)))
|
|
3119
3394
|
: key.startsWith("$ACTION_ID_") &&
|
|
3120
|
-
(
|
|
3121
|
-
(
|
|
3395
|
+
!seenActions.has(key) &&
|
|
3396
|
+
(seenActions.add(key),
|
|
3397
|
+
(value = key.slice(11)),
|
|
3398
|
+
(action = loadServerReference(serverManifest, {
|
|
3399
|
+
id: value,
|
|
3400
|
+
bound: null
|
|
3401
|
+
})))
|
|
3122
3402
|
: formData.append(key, value);
|
|
3123
3403
|
});
|
|
3124
3404
|
return null === action
|
|
@@ -3154,7 +3434,8 @@ exports.decodeReply = function (body, webpackMap, options) {
|
|
|
3154
3434
|
webpackMap,
|
|
3155
3435
|
"",
|
|
3156
3436
|
options ? options.temporaryReferences : void 0,
|
|
3157
|
-
body
|
|
3437
|
+
body,
|
|
3438
|
+
options ? options.arraySizeLimit : void 0
|
|
3158
3439
|
);
|
|
3159
3440
|
webpackMap = getChunk(body, 0);
|
|
3160
3441
|
close(body);
|
|
@@ -3193,7 +3474,9 @@ exports.decodeReplyFromAsyncIterable = function (
|
|
|
3193
3474
|
response = createResponse(
|
|
3194
3475
|
webpackMap,
|
|
3195
3476
|
"",
|
|
3196
|
-
options ? options.temporaryReferences : void 0
|
|
3477
|
+
options ? options.temporaryReferences : void 0,
|
|
3478
|
+
void 0,
|
|
3479
|
+
options ? options.arraySizeLimit : void 0
|
|
3197
3480
|
);
|
|
3198
3481
|
iterator.next().then(progress, error);
|
|
3199
3482
|
return getChunk(response, 0);
|