react-server-dom-parcel 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-parcel-client.browser.development.js +129 -110
- package/cjs/react-server-dom-parcel-client.browser.production.js +67 -55
- package/cjs/react-server-dom-parcel-client.edge.development.js +127 -108
- package/cjs/react-server-dom-parcel-client.edge.production.js +67 -55
- package/cjs/react-server-dom-parcel-client.node.development.js +127 -108
- package/cjs/react-server-dom-parcel-client.node.production.js +67 -55
- package/cjs/react-server-dom-parcel-server.browser.development.js +619 -348
- package/cjs/react-server-dom-parcel-server.browser.production.js +592 -311
- package/cjs/react-server-dom-parcel-server.edge.development.js +619 -348
- package/cjs/react-server-dom-parcel-server.edge.production.js +592 -311
- package/cjs/react-server-dom-parcel-server.node.development.js +628 -353
- package/cjs/react-server-dom-parcel-server.node.production.js +601 -316
- package/package.json +3 -3
|
@@ -692,7 +692,7 @@ function describeObjectForErrorMessage(objectOrArray, expandedName) {
|
|
|
692
692
|
"\n " + str + "\n " + objectOrArray)
|
|
693
693
|
: "\n " + str;
|
|
694
694
|
}
|
|
695
|
-
var ObjectPrototype = Object.prototype,
|
|
695
|
+
var ObjectPrototype$1 = Object.prototype,
|
|
696
696
|
stringify = JSON.stringify;
|
|
697
697
|
function defaultErrorHandler(error) {
|
|
698
698
|
console.error(error);
|
|
@@ -1547,7 +1547,7 @@ function renderModelDestructive(
|
|
|
1547
1547
|
if (value instanceof Date) return "$D" + value.toJSON();
|
|
1548
1548
|
request = getPrototypeOf(value);
|
|
1549
1549
|
if (
|
|
1550
|
-
request !== ObjectPrototype &&
|
|
1550
|
+
request !== ObjectPrototype$1 &&
|
|
1551
1551
|
(null === request || null !== getPrototypeOf(request))
|
|
1552
1552
|
)
|
|
1553
1553
|
throw Error(
|
|
@@ -2051,16 +2051,23 @@ ReactPromise.prototype.then = function (resolve, reject) {
|
|
|
2051
2051
|
case "fulfilled":
|
|
2052
2052
|
if ("function" === typeof resolve) {
|
|
2053
2053
|
for (
|
|
2054
|
-
var inspectedValue = this.value,
|
|
2054
|
+
var inspectedValue = this.value,
|
|
2055
|
+
cycleProtection = 0,
|
|
2056
|
+
visited = new Set();
|
|
2055
2057
|
inspectedValue instanceof ReactPromise;
|
|
2056
2058
|
|
|
2057
2059
|
) {
|
|
2058
2060
|
cycleProtection++;
|
|
2059
|
-
if (
|
|
2061
|
+
if (
|
|
2062
|
+
inspectedValue === this ||
|
|
2063
|
+
visited.has(inspectedValue) ||
|
|
2064
|
+
1e3 < cycleProtection
|
|
2065
|
+
) {
|
|
2060
2066
|
"function" === typeof reject &&
|
|
2061
2067
|
reject(Error("Cannot have cyclic thenables."));
|
|
2062
2068
|
return;
|
|
2063
2069
|
}
|
|
2070
|
+
visited.add(inspectedValue);
|
|
2064
2071
|
if ("fulfilled" === inspectedValue.status)
|
|
2065
2072
|
inspectedValue = inspectedValue.value;
|
|
2066
2073
|
else break;
|
|
@@ -2079,12 +2086,14 @@ ReactPromise.prototype.then = function (resolve, reject) {
|
|
|
2079
2086
|
"function" === typeof reject && reject(this.reason);
|
|
2080
2087
|
}
|
|
2081
2088
|
};
|
|
2082
|
-
|
|
2089
|
+
var ObjectPrototype = Object.prototype,
|
|
2090
|
+
ArrayPrototype = Array.prototype;
|
|
2091
|
+
function wakeChunk(response, listeners, value, chunk) {
|
|
2083
2092
|
for (var i = 0; i < listeners.length; i++) {
|
|
2084
2093
|
var listener = listeners[i];
|
|
2085
2094
|
"function" === typeof listener
|
|
2086
2095
|
? listener(value)
|
|
2087
|
-
: fulfillReference(response, listener, value);
|
|
2096
|
+
: fulfillReference(response, listener, value, chunk.reason);
|
|
2088
2097
|
}
|
|
2089
2098
|
}
|
|
2090
2099
|
function rejectChunk(response, listeners, error) {
|
|
@@ -2095,27 +2104,6 @@ function rejectChunk(response, listeners, error) {
|
|
|
2095
2104
|
: rejectReference(response, listener.handler, error);
|
|
2096
2105
|
}
|
|
2097
2106
|
}
|
|
2098
|
-
function resolveBlockedCycle(resolvedChunk, reference) {
|
|
2099
|
-
var referencedChunk = reference.handler.chunk;
|
|
2100
|
-
if (null === referencedChunk) return null;
|
|
2101
|
-
if (referencedChunk === resolvedChunk) return reference.handler;
|
|
2102
|
-
reference = referencedChunk.value;
|
|
2103
|
-
if (null !== reference)
|
|
2104
|
-
for (
|
|
2105
|
-
referencedChunk = 0;
|
|
2106
|
-
referencedChunk < reference.length;
|
|
2107
|
-
referencedChunk++
|
|
2108
|
-
) {
|
|
2109
|
-
var listener = reference[referencedChunk];
|
|
2110
|
-
if (
|
|
2111
|
-
"function" !== typeof listener &&
|
|
2112
|
-
((listener = resolveBlockedCycle(resolvedChunk, listener)),
|
|
2113
|
-
null !== listener)
|
|
2114
|
-
)
|
|
2115
|
-
return listener;
|
|
2116
|
-
}
|
|
2117
|
-
return null;
|
|
2118
|
-
}
|
|
2119
2107
|
function triggerErrorOnChunk(response, chunk, error) {
|
|
2120
2108
|
if ("pending" !== chunk.status && "blocked" !== chunk.status)
|
|
2121
2109
|
chunk.reason.error(error);
|
|
@@ -2151,33 +2139,11 @@ function resolveModelChunk(response, chunk, value, id) {
|
|
|
2151
2139
|
chunk.reason =
|
|
2152
2140
|
((value.id = id), (value[RESPONSE_SYMBOL] = response), value);
|
|
2153
2141
|
if (null !== resolveListeners)
|
|
2154
|
-
|
|
2142
|
+
switch ((initializeModelChunk(chunk), chunk.status)) {
|
|
2155
2143
|
case "fulfilled":
|
|
2156
|
-
wakeChunk(response, resolveListeners, chunk.value);
|
|
2144
|
+
wakeChunk(response, resolveListeners, chunk.value, chunk);
|
|
2157
2145
|
break;
|
|
2158
2146
|
case "blocked":
|
|
2159
|
-
for (value = 0; value < resolveListeners.length; value++)
|
|
2160
|
-
if (((id = resolveListeners[value]), "function" !== typeof id)) {
|
|
2161
|
-
var cyclicHandler = resolveBlockedCycle(chunk, id);
|
|
2162
|
-
if (null !== cyclicHandler)
|
|
2163
|
-
switch (
|
|
2164
|
-
(fulfillReference(response, id, cyclicHandler.value),
|
|
2165
|
-
resolveListeners.splice(value, 1),
|
|
2166
|
-
value--,
|
|
2167
|
-
null !== rejectListeners &&
|
|
2168
|
-
((id = rejectListeners.indexOf(id)),
|
|
2169
|
-
-1 !== id && rejectListeners.splice(id, 1)),
|
|
2170
|
-
chunk.status)
|
|
2171
|
-
) {
|
|
2172
|
-
case "fulfilled":
|
|
2173
|
-
wakeChunk(response, resolveListeners, chunk.value);
|
|
2174
|
-
break a;
|
|
2175
|
-
case "rejected":
|
|
2176
|
-
null !== rejectListeners &&
|
|
2177
|
-
rejectChunk(response, rejectListeners, chunk.reason);
|
|
2178
|
-
break a;
|
|
2179
|
-
}
|
|
2180
|
-
}
|
|
2181
2147
|
case "pending":
|
|
2182
2148
|
if (chunk.value)
|
|
2183
2149
|
for (response = 0; response < resolveListeners.length; response++)
|
|
@@ -2194,7 +2160,8 @@ function resolveModelChunk(response, chunk, value, id) {
|
|
|
2194
2160
|
} else chunk.reason = rejectListeners;
|
|
2195
2161
|
break;
|
|
2196
2162
|
case "rejected":
|
|
2197
|
-
rejectListeners &&
|
|
2163
|
+
rejectListeners &&
|
|
2164
|
+
rejectChunk(response, rejectListeners, chunk.reason);
|
|
2198
2165
|
}
|
|
2199
2166
|
}
|
|
2200
2167
|
}
|
|
@@ -2217,15 +2184,50 @@ function resolveIteratorResultChunk(response, chunk, value, done) {
|
|
|
2217
2184
|
);
|
|
2218
2185
|
}
|
|
2219
2186
|
function loadServerReference$1(response, metaData, parentObject, key) {
|
|
2187
|
+
function reject(error) {
|
|
2188
|
+
var rejectListeners = blockedPromise.reason,
|
|
2189
|
+
erroredPromise = blockedPromise;
|
|
2190
|
+
erroredPromise.status = "rejected";
|
|
2191
|
+
erroredPromise.value = null;
|
|
2192
|
+
erroredPromise.reason = error;
|
|
2193
|
+
null !== rejectListeners && rejectChunk(response, rejectListeners, error);
|
|
2194
|
+
rejectReference(response, handler, error);
|
|
2195
|
+
}
|
|
2220
2196
|
var id = metaData.id;
|
|
2221
2197
|
if ("string" !== typeof id || "then" === key) return null;
|
|
2198
|
+
var cachedPromise = metaData.$$promise;
|
|
2199
|
+
if (void 0 !== cachedPromise) {
|
|
2200
|
+
if ("fulfilled" === cachedPromise.status)
|
|
2201
|
+
return (
|
|
2202
|
+
(cachedPromise = cachedPromise.value),
|
|
2203
|
+
"__proto__" === key ? null : (parentObject[key] = cachedPromise)
|
|
2204
|
+
);
|
|
2205
|
+
initializingHandler
|
|
2206
|
+
? ((id = initializingHandler), id.deps++)
|
|
2207
|
+
: (id = initializingHandler =
|
|
2208
|
+
{ chunk: null, value: null, reason: null, deps: 1, errored: !1 });
|
|
2209
|
+
cachedPromise.then(
|
|
2210
|
+
resolveReference.bind(null, response, id, parentObject, key),
|
|
2211
|
+
rejectReference.bind(null, response, id)
|
|
2212
|
+
);
|
|
2213
|
+
return null;
|
|
2214
|
+
}
|
|
2215
|
+
var blockedPromise = new ReactPromise("blocked", null, null);
|
|
2216
|
+
metaData.$$promise = blockedPromise;
|
|
2222
2217
|
var serverReference = resolveServerReference(response._bundlerConfig, id);
|
|
2223
|
-
|
|
2224
|
-
|
|
2225
|
-
|
|
2226
|
-
|
|
2227
|
-
else if (
|
|
2228
|
-
|
|
2218
|
+
cachedPromise = metaData.bound;
|
|
2219
|
+
if ((id = preloadModule$1(serverReference)))
|
|
2220
|
+
cachedPromise instanceof ReactPromise &&
|
|
2221
|
+
(id = Promise.all([id, cachedPromise]));
|
|
2222
|
+
else if (cachedPromise instanceof ReactPromise)
|
|
2223
|
+
id = Promise.resolve(cachedPromise);
|
|
2224
|
+
else
|
|
2225
|
+
return (
|
|
2226
|
+
(cachedPromise = requireModule(serverReference)),
|
|
2227
|
+
(id = blockedPromise),
|
|
2228
|
+
(id.status = "fulfilled"),
|
|
2229
|
+
(id.value = cachedPromise)
|
|
2230
|
+
);
|
|
2229
2231
|
if (initializingHandler) {
|
|
2230
2232
|
var handler = initializingHandler;
|
|
2231
2233
|
handler.deps++;
|
|
@@ -2237,74 +2239,105 @@ function loadServerReference$1(response, metaData, parentObject, key) {
|
|
|
2237
2239
|
deps: 1,
|
|
2238
2240
|
errored: !1
|
|
2239
2241
|
};
|
|
2240
|
-
|
|
2241
|
-
|
|
2242
|
-
|
|
2243
|
-
|
|
2244
|
-
|
|
2245
|
-
|
|
2246
|
-
|
|
2247
|
-
|
|
2248
|
-
|
|
2249
|
-
|
|
2250
|
-
|
|
2251
|
-
|
|
2252
|
-
|
|
2253
|
-
|
|
2254
|
-
null !== resolvedValue &&
|
|
2255
|
-
"blocked" === resolvedValue.status &&
|
|
2256
|
-
((promiseValue = resolvedValue.value),
|
|
2257
|
-
(resolvedValue.status = "fulfilled"),
|
|
2258
|
-
(resolvedValue.value = handler.value),
|
|
2259
|
-
(resolvedValue.reason = null),
|
|
2260
|
-
null !== promiseValue &&
|
|
2261
|
-
wakeChunk(response, promiseValue, handler.value)));
|
|
2262
|
-
},
|
|
2263
|
-
function (error) {
|
|
2264
|
-
if (!handler.errored) {
|
|
2265
|
-
handler.errored = !0;
|
|
2266
|
-
handler.value = null;
|
|
2267
|
-
handler.reason = error;
|
|
2268
|
-
var chunk = handler.chunk;
|
|
2269
|
-
null !== chunk &&
|
|
2270
|
-
"blocked" === chunk.status &&
|
|
2271
|
-
triggerErrorOnChunk(response, chunk, error);
|
|
2242
|
+
id.then(function () {
|
|
2243
|
+
var resolvedValue = requireModule(serverReference);
|
|
2244
|
+
if (metaData.bound) {
|
|
2245
|
+
var promiseValue = metaData.bound.value;
|
|
2246
|
+
promiseValue = isArrayImpl(promiseValue) ? promiseValue.slice(0) : [];
|
|
2247
|
+
if (1e3 < promiseValue.length) {
|
|
2248
|
+
reject(
|
|
2249
|
+
Error(
|
|
2250
|
+
"Server Function has too many bound arguments. Received " +
|
|
2251
|
+
promiseValue.length +
|
|
2252
|
+
" but the limit is 1000."
|
|
2253
|
+
)
|
|
2254
|
+
);
|
|
2255
|
+
return;
|
|
2272
2256
|
}
|
|
2257
|
+
promiseValue.unshift(null);
|
|
2258
|
+
resolvedValue = resolvedValue.bind.apply(resolvedValue, promiseValue);
|
|
2273
2259
|
}
|
|
2274
|
-
|
|
2260
|
+
promiseValue = blockedPromise.value;
|
|
2261
|
+
var initializedPromise = blockedPromise;
|
|
2262
|
+
initializedPromise.status = "fulfilled";
|
|
2263
|
+
initializedPromise.value = resolvedValue;
|
|
2264
|
+
initializedPromise.reason = null;
|
|
2265
|
+
null !== promiseValue &&
|
|
2266
|
+
wakeChunk(response, promiseValue, resolvedValue, initializedPromise);
|
|
2267
|
+
resolveReference(response, handler, parentObject, key, resolvedValue);
|
|
2268
|
+
}, reject);
|
|
2275
2269
|
return null;
|
|
2276
2270
|
}
|
|
2277
|
-
function reviveModel(
|
|
2271
|
+
function reviveModel(
|
|
2272
|
+
response,
|
|
2273
|
+
parentObj,
|
|
2274
|
+
parentKey,
|
|
2275
|
+
value,
|
|
2276
|
+
reference,
|
|
2277
|
+
arrayRoot
|
|
2278
|
+
) {
|
|
2278
2279
|
if ("string" === typeof value)
|
|
2279
|
-
return parseModelString(
|
|
2280
|
+
return parseModelString(
|
|
2281
|
+
response,
|
|
2282
|
+
parentObj,
|
|
2283
|
+
parentKey,
|
|
2284
|
+
value,
|
|
2285
|
+
reference,
|
|
2286
|
+
arrayRoot
|
|
2287
|
+
);
|
|
2280
2288
|
if ("object" === typeof value && null !== value)
|
|
2281
2289
|
if (
|
|
2282
2290
|
(void 0 !== reference &&
|
|
2283
2291
|
void 0 !== response._temporaryReferences &&
|
|
2284
2292
|
response._temporaryReferences.set(value, reference),
|
|
2285
|
-
|
|
2286
|
-
)
|
|
2287
|
-
|
|
2288
|
-
|
|
2293
|
+
isArrayImpl(value))
|
|
2294
|
+
) {
|
|
2295
|
+
if (null === arrayRoot) {
|
|
2296
|
+
var childContext = { count: 0, fork: !1 };
|
|
2297
|
+
response._rootArrayContexts.set(value, childContext);
|
|
2298
|
+
} else childContext = arrayRoot;
|
|
2299
|
+
1 < value.length && (childContext.fork = !0);
|
|
2300
|
+
bumpArrayCount(childContext, value.length + 1, response);
|
|
2301
|
+
for (parentObj = 0; parentObj < value.length; parentObj++)
|
|
2302
|
+
value[parentObj] = reviveModel(
|
|
2289
2303
|
response,
|
|
2290
2304
|
value,
|
|
2291
|
-
"" +
|
|
2292
|
-
value[
|
|
2293
|
-
void 0 !== reference ? reference + ":" +
|
|
2305
|
+
"" + parentObj,
|
|
2306
|
+
value[parentObj],
|
|
2307
|
+
void 0 !== reference ? reference + ":" + parentObj : void 0,
|
|
2308
|
+
childContext
|
|
2294
2309
|
);
|
|
2295
|
-
else
|
|
2296
|
-
for (
|
|
2297
|
-
hasOwnProperty.call(value,
|
|
2298
|
-
(
|
|
2299
|
-
|
|
2300
|
-
|
|
2301
|
-
|
|
2302
|
-
|
|
2303
|
-
|
|
2304
|
-
|
|
2305
|
-
|
|
2310
|
+
} else
|
|
2311
|
+
for (childContext in value)
|
|
2312
|
+
hasOwnProperty.call(value, childContext) &&
|
|
2313
|
+
("__proto__" === childContext
|
|
2314
|
+
? delete value[childContext]
|
|
2315
|
+
: ((parentObj =
|
|
2316
|
+
void 0 !== reference && -1 === childContext.indexOf(":")
|
|
2317
|
+
? reference + ":" + childContext
|
|
2318
|
+
: void 0),
|
|
2319
|
+
(parentObj = reviveModel(
|
|
2320
|
+
response,
|
|
2321
|
+
value,
|
|
2322
|
+
childContext,
|
|
2323
|
+
value[childContext],
|
|
2324
|
+
parentObj,
|
|
2325
|
+
null
|
|
2326
|
+
)),
|
|
2327
|
+
void 0 !== parentObj
|
|
2328
|
+
? (value[childContext] = parentObj)
|
|
2329
|
+
: delete value[childContext]));
|
|
2306
2330
|
return value;
|
|
2307
2331
|
}
|
|
2332
|
+
function bumpArrayCount(arrayContext, slots, response) {
|
|
2333
|
+
if (
|
|
2334
|
+
(arrayContext.count += slots) > response._arraySizeLimit &&
|
|
2335
|
+
arrayContext.fork
|
|
2336
|
+
)
|
|
2337
|
+
throw Error(
|
|
2338
|
+
"Maximum array nesting exceeded. Large nested arrays can be dangerous. Try adding intermediate objects."
|
|
2339
|
+
);
|
|
2340
|
+
}
|
|
2308
2341
|
var initializingHandler = null;
|
|
2309
2342
|
function initializeModelChunk(chunk) {
|
|
2310
2343
|
var prevHandler = initializingHandler;
|
|
@@ -2318,13 +2351,15 @@ function initializeModelChunk(chunk) {
|
|
|
2318
2351
|
chunk.value = null;
|
|
2319
2352
|
chunk.reason = null;
|
|
2320
2353
|
try {
|
|
2321
|
-
var rawModel = JSON.parse(resolvedModel)
|
|
2322
|
-
|
|
2354
|
+
var rawModel = JSON.parse(resolvedModel);
|
|
2355
|
+
resolvedModel = { count: 0, fork: !1 };
|
|
2356
|
+
var value = reviveModel(
|
|
2323
2357
|
response,
|
|
2324
2358
|
{ "": rawModel },
|
|
2325
2359
|
"",
|
|
2326
2360
|
rawModel,
|
|
2327
|
-
_chunk$reason
|
|
2361
|
+
_chunk$reason,
|
|
2362
|
+
resolvedModel
|
|
2328
2363
|
),
|
|
2329
2364
|
resolveListeners = chunk.value;
|
|
2330
2365
|
if (null !== resolveListeners)
|
|
@@ -2336,19 +2371,20 @@ function initializeModelChunk(chunk) {
|
|
|
2336
2371
|
var listener = resolveListeners[rawModel];
|
|
2337
2372
|
"function" === typeof listener
|
|
2338
2373
|
? listener(value)
|
|
2339
|
-
: fulfillReference(response, listener, value);
|
|
2374
|
+
: fulfillReference(response, listener, value, resolvedModel);
|
|
2340
2375
|
}
|
|
2341
2376
|
if (null !== initializingHandler) {
|
|
2342
2377
|
if (initializingHandler.errored) throw initializingHandler.reason;
|
|
2343
2378
|
if (0 < initializingHandler.deps) {
|
|
2344
2379
|
initializingHandler.value = value;
|
|
2380
|
+
initializingHandler.reason = resolvedModel;
|
|
2345
2381
|
initializingHandler.chunk = chunk;
|
|
2346
2382
|
return;
|
|
2347
2383
|
}
|
|
2348
2384
|
}
|
|
2349
2385
|
chunk.status = "fulfilled";
|
|
2350
2386
|
chunk.value = value;
|
|
2351
|
-
chunk.reason =
|
|
2387
|
+
chunk.reason = resolvedModel;
|
|
2352
2388
|
} catch (error) {
|
|
2353
2389
|
(chunk.status = "rejected"), (chunk.reason = error);
|
|
2354
2390
|
} finally {
|
|
@@ -2363,7 +2399,8 @@ function reportGlobalError(response, error) {
|
|
|
2363
2399
|
? triggerErrorOnChunk(response, chunk, error)
|
|
2364
2400
|
: "fulfilled" === chunk.status &&
|
|
2365
2401
|
null !== chunk.reason &&
|
|
2366
|
-
chunk.reason
|
|
2402
|
+
((chunk = chunk.reason),
|
|
2403
|
+
"function" === typeof chunk.error && chunk.error(error));
|
|
2367
2404
|
});
|
|
2368
2405
|
}
|
|
2369
2406
|
function getChunk(response, id) {
|
|
@@ -2380,40 +2417,67 @@ function getChunk(response, id) {
|
|
|
2380
2417
|
chunks.set(id, chunk));
|
|
2381
2418
|
return chunk;
|
|
2382
2419
|
}
|
|
2383
|
-
function fulfillReference(response, reference, value) {
|
|
2420
|
+
function fulfillReference(response, reference, value, arrayRoot) {
|
|
2384
2421
|
var handler = reference.handler,
|
|
2385
2422
|
parentObject = reference.parentObject,
|
|
2386
2423
|
key = reference.key,
|
|
2387
2424
|
map = reference.map,
|
|
2388
2425
|
path = reference.path;
|
|
2389
2426
|
try {
|
|
2390
|
-
for (
|
|
2427
|
+
for (
|
|
2428
|
+
var localLength = 0,
|
|
2429
|
+
rootArrayContexts = response._rootArrayContexts,
|
|
2430
|
+
i = 1;
|
|
2431
|
+
i < path.length;
|
|
2432
|
+
i++
|
|
2433
|
+
) {
|
|
2391
2434
|
var name = path[i];
|
|
2392
2435
|
if (
|
|
2393
2436
|
"object" !== typeof value ||
|
|
2394
|
-
|
|
2395
|
-
value
|
|
2437
|
+
null === value ||
|
|
2438
|
+
(getPrototypeOf(value) !== ObjectPrototype &&
|
|
2439
|
+
getPrototypeOf(value) !== ArrayPrototype) ||
|
|
2440
|
+
!hasOwnProperty.call(value, name)
|
|
2396
2441
|
)
|
|
2397
2442
|
throw Error("Invalid reference.");
|
|
2398
2443
|
value = value[name];
|
|
2444
|
+
if (isArrayImpl(value))
|
|
2445
|
+
(localLength = 0),
|
|
2446
|
+
(arrayRoot = rootArrayContexts.get(value) || arrayRoot);
|
|
2447
|
+
else if (((arrayRoot = null), "string" === typeof value))
|
|
2448
|
+
localLength = value.length;
|
|
2449
|
+
else if ("bigint" === typeof value) {
|
|
2450
|
+
var n = Math.abs(Number(value));
|
|
2451
|
+
localLength = 0 === n ? 1 : Math.floor(Math.log10(n)) + 1;
|
|
2452
|
+
} else localLength = ArrayBuffer.isView(value) ? value.byteLength : 0;
|
|
2399
2453
|
}
|
|
2400
|
-
var
|
|
2401
|
-
|
|
2402
|
-
|
|
2454
|
+
var resolvedValue = map(response, value, parentObject, key);
|
|
2455
|
+
var referenceArrayRoot = reference.arrayRoot;
|
|
2456
|
+
null !== referenceArrayRoot &&
|
|
2457
|
+
(null !== arrayRoot
|
|
2458
|
+
? (arrayRoot.fork && (referenceArrayRoot.fork = !0),
|
|
2459
|
+
bumpArrayCount(referenceArrayRoot, arrayRoot.count, response))
|
|
2460
|
+
: 0 < localLength &&
|
|
2461
|
+
bumpArrayCount(referenceArrayRoot, localLength, response));
|
|
2403
2462
|
} catch (error) {
|
|
2404
|
-
rejectReference(response,
|
|
2463
|
+
rejectReference(response, handler, error);
|
|
2405
2464
|
return;
|
|
2406
2465
|
}
|
|
2466
|
+
resolveReference(response, handler, parentObject, key, resolvedValue);
|
|
2467
|
+
}
|
|
2468
|
+
function resolveReference(response, handler, parentObject, key, resolvedValue) {
|
|
2469
|
+
"__proto__" !== key && (parentObject[key] = resolvedValue);
|
|
2470
|
+
"" === key && null === handler.value && (handler.value = resolvedValue);
|
|
2407
2471
|
handler.deps--;
|
|
2408
2472
|
0 === handler.deps &&
|
|
2409
|
-
((
|
|
2410
|
-
null !==
|
|
2411
|
-
"blocked" ===
|
|
2412
|
-
((
|
|
2413
|
-
(
|
|
2414
|
-
(
|
|
2415
|
-
(
|
|
2416
|
-
null !==
|
|
2473
|
+
((parentObject = handler.chunk),
|
|
2474
|
+
null !== parentObject &&
|
|
2475
|
+
"blocked" === parentObject.status &&
|
|
2476
|
+
((key = parentObject.value),
|
|
2477
|
+
(parentObject.status = "fulfilled"),
|
|
2478
|
+
(parentObject.value = handler.value),
|
|
2479
|
+
(parentObject.reason = handler.reason),
|
|
2480
|
+
null !== key && wakeChunk(response, key, handler.value, parentObject)));
|
|
2417
2481
|
}
|
|
2418
2482
|
function rejectReference(response, handler, error) {
|
|
2419
2483
|
handler.errored ||
|
|
@@ -2425,60 +2489,97 @@ function rejectReference(response, handler, error) {
|
|
|
2425
2489
|
"blocked" === handler.status &&
|
|
2426
2490
|
triggerErrorOnChunk(response, handler, error));
|
|
2427
2491
|
}
|
|
2428
|
-
function getOutlinedModel(
|
|
2492
|
+
function getOutlinedModel(
|
|
2493
|
+
response,
|
|
2494
|
+
reference,
|
|
2495
|
+
parentObject,
|
|
2496
|
+
key,
|
|
2497
|
+
referenceArrayRoot,
|
|
2498
|
+
map
|
|
2499
|
+
) {
|
|
2429
2500
|
reference = reference.split(":");
|
|
2430
|
-
var id = parseInt(reference[0], 16)
|
|
2431
|
-
|
|
2432
|
-
switch (
|
|
2501
|
+
var id = parseInt(reference[0], 16),
|
|
2502
|
+
chunk = getChunk(response, id);
|
|
2503
|
+
switch (chunk.status) {
|
|
2433
2504
|
case "resolved_model":
|
|
2434
|
-
initializeModelChunk(
|
|
2505
|
+
initializeModelChunk(chunk);
|
|
2435
2506
|
}
|
|
2436
|
-
switch (
|
|
2507
|
+
switch (chunk.status) {
|
|
2437
2508
|
case "fulfilled":
|
|
2438
|
-
id =
|
|
2439
|
-
|
|
2440
|
-
|
|
2509
|
+
id = chunk.value;
|
|
2510
|
+
chunk = chunk.reason;
|
|
2511
|
+
for (
|
|
2512
|
+
var localLength = 0,
|
|
2513
|
+
rootArrayContexts = response._rootArrayContexts,
|
|
2514
|
+
i = 1;
|
|
2515
|
+
i < reference.length;
|
|
2516
|
+
i++
|
|
2517
|
+
) {
|
|
2518
|
+
localLength = reference[i];
|
|
2441
2519
|
if (
|
|
2442
2520
|
"object" !== typeof id ||
|
|
2443
|
-
|
|
2444
|
-
id
|
|
2521
|
+
null === id ||
|
|
2522
|
+
(getPrototypeOf(id) !== ObjectPrototype &&
|
|
2523
|
+
getPrototypeOf(id) !== ArrayPrototype) ||
|
|
2524
|
+
!hasOwnProperty.call(id, localLength)
|
|
2445
2525
|
)
|
|
2446
2526
|
throw Error("Invalid reference.");
|
|
2447
|
-
id = id[
|
|
2527
|
+
id = id[localLength];
|
|
2528
|
+
isArrayImpl(id)
|
|
2529
|
+
? ((localLength = 0), (chunk = rootArrayContexts.get(id) || chunk))
|
|
2530
|
+
: ((chunk = null),
|
|
2531
|
+
"string" === typeof id
|
|
2532
|
+
? (localLength = id.length)
|
|
2533
|
+
: "bigint" === typeof id
|
|
2534
|
+
? ((localLength = Math.abs(Number(id))),
|
|
2535
|
+
(localLength =
|
|
2536
|
+
0 === localLength
|
|
2537
|
+
? 1
|
|
2538
|
+
: Math.floor(Math.log10(localLength)) + 1))
|
|
2539
|
+
: (localLength = ArrayBuffer.isView(id) ? id.byteLength : 0));
|
|
2448
2540
|
}
|
|
2449
|
-
|
|
2450
|
-
|
|
2541
|
+
parentObject = map(response, id, parentObject, key);
|
|
2542
|
+
null !== referenceArrayRoot &&
|
|
2543
|
+
(null !== chunk
|
|
2544
|
+
? (chunk.fork && (referenceArrayRoot.fork = !0),
|
|
2545
|
+
bumpArrayCount(referenceArrayRoot, chunk.count, response))
|
|
2546
|
+
: 0 < localLength &&
|
|
2547
|
+
bumpArrayCount(referenceArrayRoot, localLength, response));
|
|
2548
|
+
return parentObject;
|
|
2451
2549
|
case "blocked":
|
|
2452
2550
|
return (
|
|
2453
2551
|
initializingHandler
|
|
2454
2552
|
? ((response = initializingHandler), response.deps++)
|
|
2455
2553
|
: (response = initializingHandler =
|
|
2456
2554
|
{ chunk: null, value: null, reason: null, deps: 1, errored: !1 }),
|
|
2457
|
-
(
|
|
2555
|
+
(referenceArrayRoot = {
|
|
2458
2556
|
handler: response,
|
|
2459
2557
|
parentObject: parentObject,
|
|
2460
2558
|
key: key,
|
|
2461
2559
|
map: map,
|
|
2462
|
-
path: reference
|
|
2560
|
+
path: reference,
|
|
2561
|
+
arrayRoot: referenceArrayRoot
|
|
2463
2562
|
}),
|
|
2464
|
-
null ===
|
|
2465
|
-
? (
|
|
2466
|
-
:
|
|
2467
|
-
null ===
|
|
2468
|
-
? (
|
|
2469
|
-
:
|
|
2563
|
+
null === chunk.value
|
|
2564
|
+
? (chunk.value = [referenceArrayRoot])
|
|
2565
|
+
: chunk.value.push(referenceArrayRoot),
|
|
2566
|
+
null === chunk.reason
|
|
2567
|
+
? (chunk.reason = [referenceArrayRoot])
|
|
2568
|
+
: chunk.reason.push(referenceArrayRoot),
|
|
2470
2569
|
null
|
|
2471
2570
|
);
|
|
2571
|
+
case "pending":
|
|
2572
|
+
throw Error("Invalid forward reference.");
|
|
2472
2573
|
default:
|
|
2473
2574
|
return (
|
|
2474
2575
|
initializingHandler
|
|
2475
2576
|
? ((initializingHandler.errored = !0),
|
|
2476
2577
|
(initializingHandler.value = null),
|
|
2477
|
-
(initializingHandler.reason =
|
|
2578
|
+
(initializingHandler.reason = chunk.reason))
|
|
2478
2579
|
: (initializingHandler = {
|
|
2479
2580
|
chunk: null,
|
|
2480
2581
|
value: null,
|
|
2481
|
-
reason:
|
|
2582
|
+
reason: chunk.reason,
|
|
2482
2583
|
deps: 0,
|
|
2483
2584
|
errored: !0
|
|
2484
2585
|
}),
|
|
@@ -2487,12 +2588,21 @@ function getOutlinedModel(response, reference, parentObject, key, map) {
|
|
|
2487
2588
|
}
|
|
2488
2589
|
}
|
|
2489
2590
|
function createMap(response, model) {
|
|
2591
|
+
if (!isArrayImpl(model)) throw Error("Invalid Map initializer.");
|
|
2592
|
+
if (!0 === model.$$consumed) throw Error("Already initialized Map.");
|
|
2593
|
+
model.$$consumed = !0;
|
|
2490
2594
|
return new Map(model);
|
|
2491
2595
|
}
|
|
2492
2596
|
function createSet(response, model) {
|
|
2597
|
+
if (!isArrayImpl(model)) throw Error("Invalid Set initializer.");
|
|
2598
|
+
if (!0 === model.$$consumed) throw Error("Already initialized Set.");
|
|
2599
|
+
model.$$consumed = !0;
|
|
2493
2600
|
return new Set(model);
|
|
2494
2601
|
}
|
|
2495
2602
|
function extractIterator(response, model) {
|
|
2603
|
+
if (!isArrayImpl(model)) throw Error("Invalid Iterator initializer.");
|
|
2604
|
+
if (!0 === model.$$consumed) throw Error("Already initialized Iterator.");
|
|
2605
|
+
model.$$consumed = !0;
|
|
2496
2606
|
return model[Symbol.iterator]();
|
|
2497
2607
|
}
|
|
2498
2608
|
function createModel(response, model, parentObject, key) {
|
|
@@ -2504,13 +2614,34 @@ function parseTypedArray(
|
|
|
2504
2614
|
constructor,
|
|
2505
2615
|
bytesPerElement,
|
|
2506
2616
|
parentObject,
|
|
2507
|
-
parentKey
|
|
2617
|
+
parentKey,
|
|
2618
|
+
referenceArrayRoot
|
|
2508
2619
|
) {
|
|
2620
|
+
function reject(error) {
|
|
2621
|
+
if (!handler.errored) {
|
|
2622
|
+
handler.errored = !0;
|
|
2623
|
+
handler.value = null;
|
|
2624
|
+
handler.reason = error;
|
|
2625
|
+
var chunk = handler.chunk;
|
|
2626
|
+
null !== chunk &&
|
|
2627
|
+
"blocked" === chunk.status &&
|
|
2628
|
+
triggerErrorOnChunk(response, chunk, error);
|
|
2629
|
+
}
|
|
2630
|
+
}
|
|
2509
2631
|
reference = parseInt(reference.slice(2), 16);
|
|
2510
|
-
|
|
2511
|
-
|
|
2632
|
+
var key = response._prefix + reference;
|
|
2633
|
+
bytesPerElement = response._chunks;
|
|
2634
|
+
if (bytesPerElement.has(reference))
|
|
2512
2635
|
throw Error("Already initialized typed array.");
|
|
2513
|
-
|
|
2636
|
+
bytesPerElement.set(
|
|
2637
|
+
reference,
|
|
2638
|
+
new ReactPromise(
|
|
2639
|
+
"rejected",
|
|
2640
|
+
null,
|
|
2641
|
+
Error("Already initialized typed array.")
|
|
2642
|
+
)
|
|
2643
|
+
);
|
|
2644
|
+
reference = response._formData.get(key).arrayBuffer();
|
|
2514
2645
|
if (initializingHandler) {
|
|
2515
2646
|
var handler = initializingHandler;
|
|
2516
2647
|
handler.deps++;
|
|
@@ -2522,37 +2653,32 @@ function parseTypedArray(
|
|
|
2522
2653
|
deps: 1,
|
|
2523
2654
|
errored: !1
|
|
2524
2655
|
};
|
|
2525
|
-
reference.then(
|
|
2526
|
-
|
|
2527
|
-
|
|
2528
|
-
|
|
2529
|
-
|
|
2530
|
-
|
|
2531
|
-
|
|
2532
|
-
|
|
2533
|
-
|
|
2534
|
-
|
|
2535
|
-
|
|
2536
|
-
|
|
2537
|
-
|
|
2538
|
-
buffer.value = handler.value;
|
|
2539
|
-
buffer.reason = null;
|
|
2540
|
-
null !== resolveListeners &&
|
|
2541
|
-
wakeChunk(response, resolveListeners, handler.value);
|
|
2542
|
-
}
|
|
2543
|
-
},
|
|
2544
|
-
function (error) {
|
|
2545
|
-
if (!handler.errored) {
|
|
2546
|
-
handler.errored = !0;
|
|
2547
|
-
handler.value = null;
|
|
2548
|
-
handler.reason = error;
|
|
2549
|
-
var chunk = handler.chunk;
|
|
2550
|
-
null !== chunk &&
|
|
2551
|
-
"blocked" === chunk.status &&
|
|
2552
|
-
triggerErrorOnChunk(response, chunk, error);
|
|
2553
|
-
}
|
|
2656
|
+
reference.then(function (buffer) {
|
|
2657
|
+
try {
|
|
2658
|
+
null !== referenceArrayRoot &&
|
|
2659
|
+
bumpArrayCount(referenceArrayRoot, buffer.byteLength, response);
|
|
2660
|
+
var resolvedValue =
|
|
2661
|
+
constructor === ArrayBuffer ? buffer : new constructor(buffer);
|
|
2662
|
+
"__proto__" !== key && (parentObject[parentKey] = resolvedValue);
|
|
2663
|
+
"" === parentKey &&
|
|
2664
|
+
null === handler.value &&
|
|
2665
|
+
(handler.value = resolvedValue);
|
|
2666
|
+
} catch (x) {
|
|
2667
|
+
reject(x);
|
|
2668
|
+
return;
|
|
2554
2669
|
}
|
|
2555
|
-
|
|
2670
|
+
handler.deps--;
|
|
2671
|
+
0 === handler.deps &&
|
|
2672
|
+
((buffer = handler.chunk),
|
|
2673
|
+
null !== buffer &&
|
|
2674
|
+
"blocked" === buffer.status &&
|
|
2675
|
+
((resolvedValue = buffer.value),
|
|
2676
|
+
(buffer.status = "fulfilled"),
|
|
2677
|
+
(buffer.value = handler.value),
|
|
2678
|
+
(buffer.reason = null),
|
|
2679
|
+
null !== resolvedValue &&
|
|
2680
|
+
wakeChunk(response, resolvedValue, handler.value, buffer)));
|
|
2681
|
+
}, reject);
|
|
2556
2682
|
return null;
|
|
2557
2683
|
}
|
|
2558
2684
|
function resolveStream(response, id, stream, controller) {
|
|
@@ -2568,86 +2694,78 @@ function resolveStream(response, id, stream, controller) {
|
|
|
2568
2694
|
: controller.enqueueModel(chunks));
|
|
2569
2695
|
}
|
|
2570
2696
|
function parseReadableStream(response, reference, type) {
|
|
2697
|
+
function enqueue(value) {
|
|
2698
|
+
"bytes" !== type || ArrayBuffer.isView(value)
|
|
2699
|
+
? controller.enqueue(value)
|
|
2700
|
+
: flightController.error(Error("Invalid data for bytes stream."));
|
|
2701
|
+
}
|
|
2571
2702
|
reference = parseInt(reference.slice(2), 16);
|
|
2572
2703
|
if (response._chunks.has(reference))
|
|
2573
2704
|
throw Error("Already initialized stream.");
|
|
2574
2705
|
var controller = null,
|
|
2575
|
-
closed = !1
|
|
2576
|
-
|
|
2577
|
-
|
|
2578
|
-
|
|
2579
|
-
|
|
2580
|
-
}
|
|
2581
|
-
});
|
|
2582
|
-
var previousBlockedChunk = null;
|
|
2583
|
-
resolveStream(response, reference, type, {
|
|
2584
|
-
enqueueModel: function (json) {
|
|
2585
|
-
if (null === previousBlockedChunk) {
|
|
2586
|
-
var chunk = createResolvedModelChunk(response, json, -1);
|
|
2587
|
-
initializeModelChunk(chunk);
|
|
2588
|
-
"fulfilled" === chunk.status
|
|
2589
|
-
? controller.enqueue(chunk.value)
|
|
2590
|
-
: (chunk.then(
|
|
2591
|
-
function (v) {
|
|
2592
|
-
return controller.enqueue(v);
|
|
2593
|
-
},
|
|
2594
|
-
function (e) {
|
|
2595
|
-
return controller.error(e);
|
|
2596
|
-
}
|
|
2597
|
-
),
|
|
2598
|
-
(previousBlockedChunk = chunk));
|
|
2599
|
-
} else {
|
|
2600
|
-
chunk = previousBlockedChunk;
|
|
2601
|
-
var chunk$30 = new ReactPromise("pending", null, null);
|
|
2602
|
-
chunk$30.then(
|
|
2603
|
-
function (v) {
|
|
2604
|
-
return controller.enqueue(v);
|
|
2605
|
-
},
|
|
2606
|
-
function (e) {
|
|
2607
|
-
return controller.error(e);
|
|
2608
|
-
}
|
|
2609
|
-
);
|
|
2610
|
-
previousBlockedChunk = chunk$30;
|
|
2611
|
-
chunk.then(function () {
|
|
2612
|
-
previousBlockedChunk === chunk$30 && (previousBlockedChunk = null);
|
|
2613
|
-
resolveModelChunk(response, chunk$30, json, -1);
|
|
2614
|
-
});
|
|
2706
|
+
closed = !1,
|
|
2707
|
+
stream = new ReadableStream({
|
|
2708
|
+
type: type,
|
|
2709
|
+
start: function (c) {
|
|
2710
|
+
controller = c;
|
|
2615
2711
|
}
|
|
2616
|
-
},
|
|
2617
|
-
|
|
2618
|
-
|
|
2619
|
-
|
|
2620
|
-
|
|
2621
|
-
var
|
|
2622
|
-
|
|
2623
|
-
|
|
2624
|
-
|
|
2625
|
-
|
|
2626
|
-
|
|
2627
|
-
|
|
2628
|
-
|
|
2629
|
-
|
|
2630
|
-
|
|
2631
|
-
|
|
2632
|
-
|
|
2633
|
-
|
|
2634
|
-
|
|
2635
|
-
blockedChunk.then(function () {
|
|
2636
|
-
return controller.error(error);
|
|
2712
|
+
}),
|
|
2713
|
+
previousBlockedChunk = null,
|
|
2714
|
+
flightController = {
|
|
2715
|
+
enqueueModel: function (json) {
|
|
2716
|
+
if (null === previousBlockedChunk) {
|
|
2717
|
+
var chunk = createResolvedModelChunk(response, json, -1);
|
|
2718
|
+
initializeModelChunk(chunk);
|
|
2719
|
+
"fulfilled" === chunk.status
|
|
2720
|
+
? enqueue(chunk.value)
|
|
2721
|
+
: (chunk.then(enqueue, flightController.error),
|
|
2722
|
+
(previousBlockedChunk = chunk));
|
|
2723
|
+
} else {
|
|
2724
|
+
chunk = previousBlockedChunk;
|
|
2725
|
+
var chunk$31 = new ReactPromise("pending", null, null);
|
|
2726
|
+
chunk$31.then(enqueue, flightController.error);
|
|
2727
|
+
previousBlockedChunk = chunk$31;
|
|
2728
|
+
chunk.then(function () {
|
|
2729
|
+
previousBlockedChunk === chunk$31 && (previousBlockedChunk = null);
|
|
2730
|
+
resolveModelChunk(response, chunk$31, json, -1);
|
|
2637
2731
|
});
|
|
2638
2732
|
}
|
|
2639
|
-
|
|
2640
|
-
|
|
2641
|
-
|
|
2642
|
-
|
|
2643
|
-
|
|
2644
|
-
|
|
2733
|
+
},
|
|
2734
|
+
close: function () {
|
|
2735
|
+
if (!closed)
|
|
2736
|
+
if (((closed = !0), null === previousBlockedChunk))
|
|
2737
|
+
controller.close();
|
|
2738
|
+
else {
|
|
2739
|
+
var blockedChunk = previousBlockedChunk;
|
|
2740
|
+
previousBlockedChunk = null;
|
|
2741
|
+
blockedChunk.then(function () {
|
|
2742
|
+
return controller.close();
|
|
2743
|
+
});
|
|
2744
|
+
}
|
|
2745
|
+
},
|
|
2746
|
+
error: function (error) {
|
|
2747
|
+
if (!closed)
|
|
2748
|
+
if (((closed = !0), null === previousBlockedChunk))
|
|
2749
|
+
controller.error(error);
|
|
2750
|
+
else {
|
|
2751
|
+
var blockedChunk = previousBlockedChunk;
|
|
2752
|
+
previousBlockedChunk = null;
|
|
2753
|
+
blockedChunk.then(function () {
|
|
2754
|
+
return controller.error(error);
|
|
2755
|
+
});
|
|
2756
|
+
}
|
|
2757
|
+
}
|
|
2758
|
+
};
|
|
2759
|
+
resolveStream(response, reference, stream, flightController);
|
|
2760
|
+
return stream;
|
|
2645
2761
|
}
|
|
2646
|
-
function
|
|
2647
|
-
next =
|
|
2648
|
-
next[ASYNC_ITERATOR] = asyncIterator;
|
|
2649
|
-
return next;
|
|
2762
|
+
function FlightIterator(next) {
|
|
2763
|
+
this.next = next;
|
|
2650
2764
|
}
|
|
2765
|
+
FlightIterator.prototype = {};
|
|
2766
|
+
FlightIterator.prototype[ASYNC_ITERATOR] = function () {
|
|
2767
|
+
return this;
|
|
2768
|
+
};
|
|
2651
2769
|
function parseAsyncIterable(response, reference, iterator) {
|
|
2652
2770
|
reference = parseInt(reference.slice(2), 16);
|
|
2653
2771
|
if (response._chunks.has(reference))
|
|
@@ -2659,7 +2777,7 @@ function parseAsyncIterable(response, reference, iterator) {
|
|
|
2659
2777
|
$jscomp$compprop5 =
|
|
2660
2778
|
(($jscomp$compprop5[ASYNC_ITERATOR] = function () {
|
|
2661
2779
|
var nextReadIndex = 0;
|
|
2662
|
-
return
|
|
2780
|
+
return new FlightIterator(function (arg) {
|
|
2663
2781
|
if (void 0 !== arg)
|
|
2664
2782
|
throw Error(
|
|
2665
2783
|
"Values cannot be passed to next() of AsyncIterables passed to Client Components."
|
|
@@ -2739,17 +2857,28 @@ function parseAsyncIterable(response, reference, iterator) {
|
|
|
2739
2857
|
});
|
|
2740
2858
|
return iterator;
|
|
2741
2859
|
}
|
|
2742
|
-
function parseModelString(response, obj, key, value, reference) {
|
|
2860
|
+
function parseModelString(response, obj, key, value, reference, arrayRoot) {
|
|
2743
2861
|
if ("$" === value[0]) {
|
|
2744
2862
|
switch (value[1]) {
|
|
2745
2863
|
case "$":
|
|
2746
|
-
return
|
|
2864
|
+
return (
|
|
2865
|
+
null !== arrayRoot &&
|
|
2866
|
+
bumpArrayCount(arrayRoot, value.length - 1, response),
|
|
2867
|
+
value.slice(1)
|
|
2868
|
+
);
|
|
2747
2869
|
case "@":
|
|
2748
2870
|
return (obj = parseInt(value.slice(2), 16)), getChunk(response, obj);
|
|
2749
2871
|
case "h":
|
|
2750
2872
|
return (
|
|
2751
|
-
(
|
|
2752
|
-
getOutlinedModel(
|
|
2873
|
+
(arrayRoot = value.slice(2)),
|
|
2874
|
+
getOutlinedModel(
|
|
2875
|
+
response,
|
|
2876
|
+
arrayRoot,
|
|
2877
|
+
obj,
|
|
2878
|
+
key,
|
|
2879
|
+
null,
|
|
2880
|
+
loadServerReference$1
|
|
2881
|
+
)
|
|
2753
2882
|
);
|
|
2754
2883
|
case "T":
|
|
2755
2884
|
if (void 0 === reference || void 0 === response._temporaryReferences)
|
|
@@ -2762,27 +2891,37 @@ function parseModelString(response, obj, key, value, reference) {
|
|
|
2762
2891
|
);
|
|
2763
2892
|
case "Q":
|
|
2764
2893
|
return (
|
|
2765
|
-
(
|
|
2766
|
-
getOutlinedModel(response,
|
|
2894
|
+
(arrayRoot = value.slice(2)),
|
|
2895
|
+
getOutlinedModel(response, arrayRoot, obj, key, null, createMap)
|
|
2767
2896
|
);
|
|
2768
2897
|
case "W":
|
|
2769
2898
|
return (
|
|
2770
|
-
(
|
|
2771
|
-
getOutlinedModel(response,
|
|
2899
|
+
(arrayRoot = value.slice(2)),
|
|
2900
|
+
getOutlinedModel(response, arrayRoot, obj, key, null, createSet)
|
|
2772
2901
|
);
|
|
2773
2902
|
case "K":
|
|
2774
2903
|
obj = value.slice(2);
|
|
2775
|
-
|
|
2776
|
-
|
|
2777
|
-
response._formData
|
|
2778
|
-
|
|
2779
|
-
|
|
2780
|
-
|
|
2781
|
-
|
|
2904
|
+
obj = response._prefix + obj + "_";
|
|
2905
|
+
key = new FormData();
|
|
2906
|
+
response = response._formData;
|
|
2907
|
+
arrayRoot = Array.from(response.keys());
|
|
2908
|
+
for (value = 0; value < arrayRoot.length; value++)
|
|
2909
|
+
if (((reference = arrayRoot[value]), reference.startsWith(obj))) {
|
|
2910
|
+
for (
|
|
2911
|
+
var entries = response.getAll(reference),
|
|
2912
|
+
newKey = reference.slice(obj.length),
|
|
2913
|
+
j = 0;
|
|
2914
|
+
j < entries.length;
|
|
2915
|
+
j++
|
|
2916
|
+
)
|
|
2917
|
+
key.append(newKey, entries[j]);
|
|
2918
|
+
response.delete(reference);
|
|
2919
|
+
}
|
|
2920
|
+
return key;
|
|
2782
2921
|
case "i":
|
|
2783
2922
|
return (
|
|
2784
|
-
(
|
|
2785
|
-
getOutlinedModel(response,
|
|
2923
|
+
(arrayRoot = value.slice(2)),
|
|
2924
|
+
getOutlinedModel(response, arrayRoot, obj, key, null, extractIterator)
|
|
2786
2925
|
);
|
|
2787
2926
|
case "I":
|
|
2788
2927
|
return Infinity;
|
|
@@ -2795,42 +2934,150 @@ function parseModelString(response, obj, key, value, reference) {
|
|
|
2795
2934
|
case "D":
|
|
2796
2935
|
return new Date(Date.parse(value.slice(2)));
|
|
2797
2936
|
case "n":
|
|
2798
|
-
|
|
2799
|
-
|
|
2800
|
-
|
|
2937
|
+
obj = value.slice(2);
|
|
2938
|
+
if (300 < obj.length)
|
|
2939
|
+
throw Error(
|
|
2940
|
+
"BigInt is too large. Received " +
|
|
2941
|
+
obj.length +
|
|
2942
|
+
" digits but the limit is 300."
|
|
2943
|
+
);
|
|
2944
|
+
null !== arrayRoot && bumpArrayCount(arrayRoot, obj.length, response);
|
|
2945
|
+
return BigInt(obj);
|
|
2801
2946
|
case "A":
|
|
2802
|
-
return parseTypedArray(
|
|
2947
|
+
return parseTypedArray(
|
|
2948
|
+
response,
|
|
2949
|
+
value,
|
|
2950
|
+
ArrayBuffer,
|
|
2951
|
+
1,
|
|
2952
|
+
obj,
|
|
2953
|
+
key,
|
|
2954
|
+
arrayRoot
|
|
2955
|
+
);
|
|
2803
2956
|
case "O":
|
|
2804
|
-
return parseTypedArray(
|
|
2957
|
+
return parseTypedArray(
|
|
2958
|
+
response,
|
|
2959
|
+
value,
|
|
2960
|
+
Int8Array,
|
|
2961
|
+
1,
|
|
2962
|
+
obj,
|
|
2963
|
+
key,
|
|
2964
|
+
arrayRoot
|
|
2965
|
+
);
|
|
2805
2966
|
case "o":
|
|
2806
|
-
return parseTypedArray(
|
|
2967
|
+
return parseTypedArray(
|
|
2968
|
+
response,
|
|
2969
|
+
value,
|
|
2970
|
+
Uint8Array,
|
|
2971
|
+
1,
|
|
2972
|
+
obj,
|
|
2973
|
+
key,
|
|
2974
|
+
arrayRoot
|
|
2975
|
+
);
|
|
2807
2976
|
case "U":
|
|
2808
|
-
return parseTypedArray(
|
|
2977
|
+
return parseTypedArray(
|
|
2978
|
+
response,
|
|
2979
|
+
value,
|
|
2980
|
+
Uint8ClampedArray,
|
|
2981
|
+
1,
|
|
2982
|
+
obj,
|
|
2983
|
+
key,
|
|
2984
|
+
arrayRoot
|
|
2985
|
+
);
|
|
2809
2986
|
case "S":
|
|
2810
|
-
return parseTypedArray(
|
|
2987
|
+
return parseTypedArray(
|
|
2988
|
+
response,
|
|
2989
|
+
value,
|
|
2990
|
+
Int16Array,
|
|
2991
|
+
2,
|
|
2992
|
+
obj,
|
|
2993
|
+
key,
|
|
2994
|
+
arrayRoot
|
|
2995
|
+
);
|
|
2811
2996
|
case "s":
|
|
2812
|
-
return parseTypedArray(
|
|
2997
|
+
return parseTypedArray(
|
|
2998
|
+
response,
|
|
2999
|
+
value,
|
|
3000
|
+
Uint16Array,
|
|
3001
|
+
2,
|
|
3002
|
+
obj,
|
|
3003
|
+
key,
|
|
3004
|
+
arrayRoot
|
|
3005
|
+
);
|
|
2813
3006
|
case "L":
|
|
2814
|
-
return parseTypedArray(
|
|
3007
|
+
return parseTypedArray(
|
|
3008
|
+
response,
|
|
3009
|
+
value,
|
|
3010
|
+
Int32Array,
|
|
3011
|
+
4,
|
|
3012
|
+
obj,
|
|
3013
|
+
key,
|
|
3014
|
+
arrayRoot
|
|
3015
|
+
);
|
|
2815
3016
|
case "l":
|
|
2816
|
-
return parseTypedArray(
|
|
3017
|
+
return parseTypedArray(
|
|
3018
|
+
response,
|
|
3019
|
+
value,
|
|
3020
|
+
Uint32Array,
|
|
3021
|
+
4,
|
|
3022
|
+
obj,
|
|
3023
|
+
key,
|
|
3024
|
+
arrayRoot
|
|
3025
|
+
);
|
|
2817
3026
|
case "G":
|
|
2818
|
-
return parseTypedArray(
|
|
3027
|
+
return parseTypedArray(
|
|
3028
|
+
response,
|
|
3029
|
+
value,
|
|
3030
|
+
Float32Array,
|
|
3031
|
+
4,
|
|
3032
|
+
obj,
|
|
3033
|
+
key,
|
|
3034
|
+
arrayRoot
|
|
3035
|
+
);
|
|
2819
3036
|
case "g":
|
|
2820
|
-
return parseTypedArray(
|
|
3037
|
+
return parseTypedArray(
|
|
3038
|
+
response,
|
|
3039
|
+
value,
|
|
3040
|
+
Float64Array,
|
|
3041
|
+
8,
|
|
3042
|
+
obj,
|
|
3043
|
+
key,
|
|
3044
|
+
arrayRoot
|
|
3045
|
+
);
|
|
2821
3046
|
case "M":
|
|
2822
|
-
return parseTypedArray(
|
|
3047
|
+
return parseTypedArray(
|
|
3048
|
+
response,
|
|
3049
|
+
value,
|
|
3050
|
+
BigInt64Array,
|
|
3051
|
+
8,
|
|
3052
|
+
obj,
|
|
3053
|
+
key,
|
|
3054
|
+
arrayRoot
|
|
3055
|
+
);
|
|
2823
3056
|
case "m":
|
|
2824
|
-
return parseTypedArray(
|
|
3057
|
+
return parseTypedArray(
|
|
3058
|
+
response,
|
|
3059
|
+
value,
|
|
3060
|
+
BigUint64Array,
|
|
3061
|
+
8,
|
|
3062
|
+
obj,
|
|
3063
|
+
key,
|
|
3064
|
+
arrayRoot
|
|
3065
|
+
);
|
|
2825
3066
|
case "V":
|
|
2826
|
-
return parseTypedArray(
|
|
3067
|
+
return parseTypedArray(
|
|
3068
|
+
response,
|
|
3069
|
+
value,
|
|
3070
|
+
DataView,
|
|
3071
|
+
1,
|
|
3072
|
+
obj,
|
|
3073
|
+
key,
|
|
3074
|
+
arrayRoot
|
|
3075
|
+
);
|
|
2827
3076
|
case "B":
|
|
2828
3077
|
return (
|
|
2829
3078
|
(obj = parseInt(value.slice(2), 16)),
|
|
2830
3079
|
response._formData.get(response._prefix + obj)
|
|
2831
3080
|
);
|
|
2832
|
-
}
|
|
2833
|
-
switch (value[1]) {
|
|
2834
3081
|
case "R":
|
|
2835
3082
|
return parseReadableStream(response, value, void 0);
|
|
2836
3083
|
case "r":
|
|
@@ -2841,8 +3088,9 @@ function parseModelString(response, obj, key, value, reference) {
|
|
|
2841
3088
|
return parseAsyncIterable(response, value, !0);
|
|
2842
3089
|
}
|
|
2843
3090
|
value = value.slice(1);
|
|
2844
|
-
return getOutlinedModel(response, value, obj, key, createModel);
|
|
3091
|
+
return getOutlinedModel(response, value, obj, key, arrayRoot, createModel);
|
|
2845
3092
|
}
|
|
3093
|
+
null !== arrayRoot && bumpArrayCount(arrayRoot, value.length, response);
|
|
2846
3094
|
return value;
|
|
2847
3095
|
}
|
|
2848
3096
|
function createResponse(bundlerConfig, formFieldPrefix, temporaryReferences) {
|
|
@@ -2850,6 +3098,8 @@ function createResponse(bundlerConfig, formFieldPrefix, temporaryReferences) {
|
|
|
2850
3098
|
3 < arguments.length && void 0 !== arguments[3]
|
|
2851
3099
|
? arguments[3]
|
|
2852
3100
|
: new FormData(),
|
|
3101
|
+
arraySizeLimit =
|
|
3102
|
+
4 < arguments.length && void 0 !== arguments[4] ? arguments[4] : 1e6,
|
|
2853
3103
|
chunks = new Map();
|
|
2854
3104
|
return {
|
|
2855
3105
|
_bundlerConfig: bundlerConfig,
|
|
@@ -2858,19 +3108,30 @@ function createResponse(bundlerConfig, formFieldPrefix, temporaryReferences) {
|
|
|
2858
3108
|
_chunks: chunks,
|
|
2859
3109
|
_closed: !1,
|
|
2860
3110
|
_closedReason: null,
|
|
2861
|
-
_temporaryReferences: temporaryReferences
|
|
3111
|
+
_temporaryReferences: temporaryReferences,
|
|
3112
|
+
_rootArrayContexts: new WeakMap(),
|
|
3113
|
+
_arraySizeLimit: arraySizeLimit
|
|
2862
3114
|
};
|
|
2863
3115
|
}
|
|
2864
3116
|
function close(response) {
|
|
2865
3117
|
reportGlobalError(response, Error("Connection closed."));
|
|
2866
3118
|
}
|
|
2867
|
-
function loadServerReference(bundlerConfig,
|
|
3119
|
+
function loadServerReference(bundlerConfig, metaData) {
|
|
3120
|
+
var id = metaData.id;
|
|
3121
|
+
if ("string" !== typeof id) return null;
|
|
2868
3122
|
var serverReference = resolveServerReference(bundlerConfig, id);
|
|
2869
3123
|
bundlerConfig = preloadModule$1(serverReference);
|
|
2870
|
-
|
|
2871
|
-
|
|
3124
|
+
metaData = metaData.bound;
|
|
3125
|
+
return metaData instanceof Promise
|
|
3126
|
+
? Promise.all([metaData, bundlerConfig]).then(function (_ref) {
|
|
2872
3127
|
_ref = _ref[0];
|
|
2873
3128
|
var fn = requireModule(serverReference);
|
|
3129
|
+
if (1e3 < _ref.length)
|
|
3130
|
+
throw Error(
|
|
3131
|
+
"Server Function has too many bound arguments. Received " +
|
|
3132
|
+
_ref.length +
|
|
3133
|
+
" but the limit is 1000."
|
|
3134
|
+
);
|
|
2874
3135
|
return fn.bind.apply(fn, [null].concat(_ref));
|
|
2875
3136
|
})
|
|
2876
3137
|
: bundlerConfig
|
|
@@ -2879,8 +3140,19 @@ function loadServerReference(bundlerConfig, id, bound) {
|
|
|
2879
3140
|
})
|
|
2880
3141
|
: Promise.resolve(requireModule(serverReference));
|
|
2881
3142
|
}
|
|
2882
|
-
function decodeBoundActionMetaData(
|
|
2883
|
-
body
|
|
3143
|
+
function decodeBoundActionMetaData(
|
|
3144
|
+
body,
|
|
3145
|
+
serverManifest,
|
|
3146
|
+
formFieldPrefix,
|
|
3147
|
+
arraySizeLimit
|
|
3148
|
+
) {
|
|
3149
|
+
body = createResponse(
|
|
3150
|
+
serverManifest,
|
|
3151
|
+
formFieldPrefix,
|
|
3152
|
+
void 0,
|
|
3153
|
+
body,
|
|
3154
|
+
arraySizeLimit
|
|
3155
|
+
);
|
|
2884
3156
|
close(body);
|
|
2885
3157
|
body = getChunk(body, 0);
|
|
2886
3158
|
body.then(function () {});
|
|
@@ -2889,16 +3161,24 @@ function decodeBoundActionMetaData(body, serverManifest, formFieldPrefix) {
|
|
|
2889
3161
|
}
|
|
2890
3162
|
function decodeAction$1(body, serverManifest) {
|
|
2891
3163
|
var formData = new FormData(),
|
|
2892
|
-
action = null
|
|
3164
|
+
action = null,
|
|
3165
|
+
seenActions = new Set();
|
|
2893
3166
|
body.forEach(function (value, key) {
|
|
2894
3167
|
key.startsWith("$ACTION_")
|
|
2895
3168
|
? key.startsWith("$ACTION_REF_")
|
|
2896
|
-
? (
|
|
3169
|
+
? seenActions.has(key) ||
|
|
3170
|
+
(seenActions.add(key),
|
|
3171
|
+
(value = "$ACTION_" + key.slice(12) + ":"),
|
|
2897
3172
|
(value = decodeBoundActionMetaData(body, serverManifest, value)),
|
|
2898
|
-
(action = loadServerReference(serverManifest, value
|
|
3173
|
+
(action = loadServerReference(serverManifest, value)))
|
|
2899
3174
|
: key.startsWith("$ACTION_ID_") &&
|
|
2900
|
-
(
|
|
2901
|
-
(
|
|
3175
|
+
!seenActions.has(key) &&
|
|
3176
|
+
(seenActions.add(key),
|
|
3177
|
+
(value = key.slice(11)),
|
|
3178
|
+
(action = loadServerReference(serverManifest, {
|
|
3179
|
+
id: value,
|
|
3180
|
+
bound: null
|
|
3181
|
+
})))
|
|
2902
3182
|
: formData.append(key, value);
|
|
2903
3183
|
});
|
|
2904
3184
|
return null === action
|
|
@@ -2953,7 +3233,8 @@ exports.decodeReply = function (body, options) {
|
|
|
2953
3233
|
serverManifest,
|
|
2954
3234
|
"",
|
|
2955
3235
|
options ? options.temporaryReferences : void 0,
|
|
2956
|
-
body
|
|
3236
|
+
body,
|
|
3237
|
+
options ? options.arraySizeLimit : void 0
|
|
2957
3238
|
);
|
|
2958
3239
|
options = getChunk(body, 0);
|
|
2959
3240
|
close(body);
|