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