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