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