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
|
@@ -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,12 +2583,21 @@ function getOutlinedModel(response, reference, parentObject, key, map) {
|
|
|
2482
2583
|
}
|
|
2483
2584
|
}
|
|
2484
2585
|
function createMap(response, model) {
|
|
2586
|
+
if (!isArrayImpl(model)) throw Error("Invalid Map initializer.");
|
|
2587
|
+
if (!0 === model.$$consumed) throw Error("Already initialized Map.");
|
|
2588
|
+
model.$$consumed = !0;
|
|
2485
2589
|
return new Map(model);
|
|
2486
2590
|
}
|
|
2487
2591
|
function createSet(response, model) {
|
|
2592
|
+
if (!isArrayImpl(model)) throw Error("Invalid Set initializer.");
|
|
2593
|
+
if (!0 === model.$$consumed) throw Error("Already initialized Set.");
|
|
2594
|
+
model.$$consumed = !0;
|
|
2488
2595
|
return new Set(model);
|
|
2489
2596
|
}
|
|
2490
2597
|
function extractIterator(response, model) {
|
|
2598
|
+
if (!isArrayImpl(model)) throw Error("Invalid Iterator initializer.");
|
|
2599
|
+
if (!0 === model.$$consumed) throw Error("Already initialized Iterator.");
|
|
2600
|
+
model.$$consumed = !0;
|
|
2491
2601
|
return model[Symbol.iterator]();
|
|
2492
2602
|
}
|
|
2493
2603
|
function createModel(response, model, parentObject, key) {
|
|
@@ -2499,13 +2609,34 @@ function parseTypedArray(
|
|
|
2499
2609
|
constructor,
|
|
2500
2610
|
bytesPerElement,
|
|
2501
2611
|
parentObject,
|
|
2502
|
-
parentKey
|
|
2612
|
+
parentKey,
|
|
2613
|
+
referenceArrayRoot
|
|
2503
2614
|
) {
|
|
2615
|
+
function reject(error) {
|
|
2616
|
+
if (!handler.errored) {
|
|
2617
|
+
handler.errored = !0;
|
|
2618
|
+
handler.value = null;
|
|
2619
|
+
handler.reason = error;
|
|
2620
|
+
var chunk = handler.chunk;
|
|
2621
|
+
null !== chunk &&
|
|
2622
|
+
"blocked" === chunk.status &&
|
|
2623
|
+
triggerErrorOnChunk(response, chunk, error);
|
|
2624
|
+
}
|
|
2625
|
+
}
|
|
2504
2626
|
reference = parseInt(reference.slice(2), 16);
|
|
2505
|
-
|
|
2506
|
-
|
|
2627
|
+
var key = response._prefix + reference;
|
|
2628
|
+
bytesPerElement = response._chunks;
|
|
2629
|
+
if (bytesPerElement.has(reference))
|
|
2507
2630
|
throw Error("Already initialized typed array.");
|
|
2508
|
-
|
|
2631
|
+
bytesPerElement.set(
|
|
2632
|
+
reference,
|
|
2633
|
+
new ReactPromise(
|
|
2634
|
+
"rejected",
|
|
2635
|
+
null,
|
|
2636
|
+
Error("Already initialized typed array.")
|
|
2637
|
+
)
|
|
2638
|
+
);
|
|
2639
|
+
reference = response._formData.get(key).arrayBuffer();
|
|
2509
2640
|
if (initializingHandler) {
|
|
2510
2641
|
var handler = initializingHandler;
|
|
2511
2642
|
handler.deps++;
|
|
@@ -2517,37 +2648,32 @@ function parseTypedArray(
|
|
|
2517
2648
|
deps: 1,
|
|
2518
2649
|
errored: !1
|
|
2519
2650
|
};
|
|
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
|
-
}
|
|
2651
|
+
reference.then(function (buffer) {
|
|
2652
|
+
try {
|
|
2653
|
+
null !== referenceArrayRoot &&
|
|
2654
|
+
bumpArrayCount(referenceArrayRoot, buffer.byteLength, response);
|
|
2655
|
+
var resolvedValue =
|
|
2656
|
+
constructor === ArrayBuffer ? buffer : new constructor(buffer);
|
|
2657
|
+
"__proto__" !== key && (parentObject[parentKey] = resolvedValue);
|
|
2658
|
+
"" === parentKey &&
|
|
2659
|
+
null === handler.value &&
|
|
2660
|
+
(handler.value = resolvedValue);
|
|
2661
|
+
} catch (x) {
|
|
2662
|
+
reject(x);
|
|
2663
|
+
return;
|
|
2549
2664
|
}
|
|
2550
|
-
|
|
2665
|
+
handler.deps--;
|
|
2666
|
+
0 === handler.deps &&
|
|
2667
|
+
((buffer = handler.chunk),
|
|
2668
|
+
null !== buffer &&
|
|
2669
|
+
"blocked" === buffer.status &&
|
|
2670
|
+
((resolvedValue = buffer.value),
|
|
2671
|
+
(buffer.status = "fulfilled"),
|
|
2672
|
+
(buffer.value = handler.value),
|
|
2673
|
+
(buffer.reason = null),
|
|
2674
|
+
null !== resolvedValue &&
|
|
2675
|
+
wakeChunk(response, resolvedValue, handler.value, buffer)));
|
|
2676
|
+
}, reject);
|
|
2551
2677
|
return null;
|
|
2552
2678
|
}
|
|
2553
2679
|
function resolveStream(response, id, stream, controller) {
|
|
@@ -2563,86 +2689,78 @@ function resolveStream(response, id, stream, controller) {
|
|
|
2563
2689
|
: controller.enqueueModel(chunks));
|
|
2564
2690
|
}
|
|
2565
2691
|
function parseReadableStream(response, reference, type) {
|
|
2692
|
+
function enqueue(value) {
|
|
2693
|
+
"bytes" !== type || ArrayBuffer.isView(value)
|
|
2694
|
+
? controller.enqueue(value)
|
|
2695
|
+
: flightController.error(Error("Invalid data for bytes stream."));
|
|
2696
|
+
}
|
|
2566
2697
|
reference = parseInt(reference.slice(2), 16);
|
|
2567
2698
|
if (response._chunks.has(reference))
|
|
2568
2699
|
throw Error("Already initialized stream.");
|
|
2569
2700
|
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
|
-
});
|
|
2701
|
+
closed = !1,
|
|
2702
|
+
stream = new ReadableStream({
|
|
2703
|
+
type: type,
|
|
2704
|
+
start: function (c) {
|
|
2705
|
+
controller = c;
|
|
2610
2706
|
}
|
|
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);
|
|
2707
|
+
}),
|
|
2708
|
+
previousBlockedChunk = null,
|
|
2709
|
+
flightController = {
|
|
2710
|
+
enqueueModel: function (json) {
|
|
2711
|
+
if (null === previousBlockedChunk) {
|
|
2712
|
+
var chunk = createResolvedModelChunk(response, json, -1);
|
|
2713
|
+
initializeModelChunk(chunk);
|
|
2714
|
+
"fulfilled" === chunk.status
|
|
2715
|
+
? enqueue(chunk.value)
|
|
2716
|
+
: (chunk.then(enqueue, flightController.error),
|
|
2717
|
+
(previousBlockedChunk = chunk));
|
|
2718
|
+
} else {
|
|
2719
|
+
chunk = previousBlockedChunk;
|
|
2720
|
+
var chunk$31 = new ReactPromise("pending", null, null);
|
|
2721
|
+
chunk$31.then(enqueue, flightController.error);
|
|
2722
|
+
previousBlockedChunk = chunk$31;
|
|
2723
|
+
chunk.then(function () {
|
|
2724
|
+
previousBlockedChunk === chunk$31 && (previousBlockedChunk = null);
|
|
2725
|
+
resolveModelChunk(response, chunk$31, json, -1);
|
|
2632
2726
|
});
|
|
2633
2727
|
}
|
|
2634
|
-
|
|
2635
|
-
|
|
2636
|
-
|
|
2637
|
-
|
|
2638
|
-
|
|
2639
|
-
|
|
2728
|
+
},
|
|
2729
|
+
close: function () {
|
|
2730
|
+
if (!closed)
|
|
2731
|
+
if (((closed = !0), null === previousBlockedChunk))
|
|
2732
|
+
controller.close();
|
|
2733
|
+
else {
|
|
2734
|
+
var blockedChunk = previousBlockedChunk;
|
|
2735
|
+
previousBlockedChunk = null;
|
|
2736
|
+
blockedChunk.then(function () {
|
|
2737
|
+
return controller.close();
|
|
2738
|
+
});
|
|
2739
|
+
}
|
|
2740
|
+
},
|
|
2741
|
+
error: function (error) {
|
|
2742
|
+
if (!closed)
|
|
2743
|
+
if (((closed = !0), null === previousBlockedChunk))
|
|
2744
|
+
controller.error(error);
|
|
2745
|
+
else {
|
|
2746
|
+
var blockedChunk = previousBlockedChunk;
|
|
2747
|
+
previousBlockedChunk = null;
|
|
2748
|
+
blockedChunk.then(function () {
|
|
2749
|
+
return controller.error(error);
|
|
2750
|
+
});
|
|
2751
|
+
}
|
|
2752
|
+
}
|
|
2753
|
+
};
|
|
2754
|
+
resolveStream(response, reference, stream, flightController);
|
|
2755
|
+
return stream;
|
|
2640
2756
|
}
|
|
2641
|
-
function
|
|
2642
|
-
next =
|
|
2643
|
-
next[ASYNC_ITERATOR] = asyncIterator;
|
|
2644
|
-
return next;
|
|
2757
|
+
function FlightIterator(next) {
|
|
2758
|
+
this.next = next;
|
|
2645
2759
|
}
|
|
2760
|
+
FlightIterator.prototype = {};
|
|
2761
|
+
FlightIterator.prototype[ASYNC_ITERATOR] = function () {
|
|
2762
|
+
return this;
|
|
2763
|
+
};
|
|
2646
2764
|
function parseAsyncIterable(response, reference, iterator) {
|
|
2647
2765
|
reference = parseInt(reference.slice(2), 16);
|
|
2648
2766
|
if (response._chunks.has(reference))
|
|
@@ -2654,7 +2772,7 @@ function parseAsyncIterable(response, reference, iterator) {
|
|
|
2654
2772
|
$jscomp$compprop5 =
|
|
2655
2773
|
(($jscomp$compprop5[ASYNC_ITERATOR] = function () {
|
|
2656
2774
|
var nextReadIndex = 0;
|
|
2657
|
-
return
|
|
2775
|
+
return new FlightIterator(function (arg) {
|
|
2658
2776
|
if (void 0 !== arg)
|
|
2659
2777
|
throw Error(
|
|
2660
2778
|
"Values cannot be passed to next() of AsyncIterables passed to Client Components."
|
|
@@ -2734,17 +2852,28 @@ function parseAsyncIterable(response, reference, iterator) {
|
|
|
2734
2852
|
});
|
|
2735
2853
|
return iterator;
|
|
2736
2854
|
}
|
|
2737
|
-
function parseModelString(response, obj, key, value, reference) {
|
|
2855
|
+
function parseModelString(response, obj, key, value, reference, arrayRoot) {
|
|
2738
2856
|
if ("$" === value[0]) {
|
|
2739
2857
|
switch (value[1]) {
|
|
2740
2858
|
case "$":
|
|
2741
|
-
return
|
|
2859
|
+
return (
|
|
2860
|
+
null !== arrayRoot &&
|
|
2861
|
+
bumpArrayCount(arrayRoot, value.length - 1, response),
|
|
2862
|
+
value.slice(1)
|
|
2863
|
+
);
|
|
2742
2864
|
case "@":
|
|
2743
2865
|
return (obj = parseInt(value.slice(2), 16)), getChunk(response, obj);
|
|
2744
2866
|
case "h":
|
|
2745
2867
|
return (
|
|
2746
|
-
(
|
|
2747
|
-
getOutlinedModel(
|
|
2868
|
+
(arrayRoot = value.slice(2)),
|
|
2869
|
+
getOutlinedModel(
|
|
2870
|
+
response,
|
|
2871
|
+
arrayRoot,
|
|
2872
|
+
obj,
|
|
2873
|
+
key,
|
|
2874
|
+
null,
|
|
2875
|
+
loadServerReference$1
|
|
2876
|
+
)
|
|
2748
2877
|
);
|
|
2749
2878
|
case "T":
|
|
2750
2879
|
if (void 0 === reference || void 0 === response._temporaryReferences)
|
|
@@ -2757,27 +2886,37 @@ function parseModelString(response, obj, key, value, reference) {
|
|
|
2757
2886
|
);
|
|
2758
2887
|
case "Q":
|
|
2759
2888
|
return (
|
|
2760
|
-
(
|
|
2761
|
-
getOutlinedModel(response,
|
|
2889
|
+
(arrayRoot = value.slice(2)),
|
|
2890
|
+
getOutlinedModel(response, arrayRoot, obj, key, null, createMap)
|
|
2762
2891
|
);
|
|
2763
2892
|
case "W":
|
|
2764
2893
|
return (
|
|
2765
|
-
(
|
|
2766
|
-
getOutlinedModel(response,
|
|
2894
|
+
(arrayRoot = value.slice(2)),
|
|
2895
|
+
getOutlinedModel(response, arrayRoot, obj, key, null, createSet)
|
|
2767
2896
|
);
|
|
2768
2897
|
case "K":
|
|
2769
2898
|
obj = value.slice(2);
|
|
2770
|
-
|
|
2771
|
-
|
|
2772
|
-
response._formData
|
|
2773
|
-
|
|
2774
|
-
|
|
2775
|
-
|
|
2776
|
-
|
|
2899
|
+
obj = response._prefix + obj + "_";
|
|
2900
|
+
key = new FormData();
|
|
2901
|
+
response = response._formData;
|
|
2902
|
+
arrayRoot = Array.from(response.keys());
|
|
2903
|
+
for (value = 0; value < arrayRoot.length; value++)
|
|
2904
|
+
if (((reference = arrayRoot[value]), reference.startsWith(obj))) {
|
|
2905
|
+
for (
|
|
2906
|
+
var entries = response.getAll(reference),
|
|
2907
|
+
newKey = reference.slice(obj.length),
|
|
2908
|
+
j = 0;
|
|
2909
|
+
j < entries.length;
|
|
2910
|
+
j++
|
|
2911
|
+
)
|
|
2912
|
+
key.append(newKey, entries[j]);
|
|
2913
|
+
response.delete(reference);
|
|
2914
|
+
}
|
|
2915
|
+
return key;
|
|
2777
2916
|
case "i":
|
|
2778
2917
|
return (
|
|
2779
|
-
(
|
|
2780
|
-
getOutlinedModel(response,
|
|
2918
|
+
(arrayRoot = value.slice(2)),
|
|
2919
|
+
getOutlinedModel(response, arrayRoot, obj, key, null, extractIterator)
|
|
2781
2920
|
);
|
|
2782
2921
|
case "I":
|
|
2783
2922
|
return Infinity;
|
|
@@ -2790,42 +2929,150 @@ function parseModelString(response, obj, key, value, reference) {
|
|
|
2790
2929
|
case "D":
|
|
2791
2930
|
return new Date(Date.parse(value.slice(2)));
|
|
2792
2931
|
case "n":
|
|
2793
|
-
|
|
2794
|
-
|
|
2795
|
-
|
|
2932
|
+
obj = value.slice(2);
|
|
2933
|
+
if (300 < obj.length)
|
|
2934
|
+
throw Error(
|
|
2935
|
+
"BigInt is too large. Received " +
|
|
2936
|
+
obj.length +
|
|
2937
|
+
" digits but the limit is 300."
|
|
2938
|
+
);
|
|
2939
|
+
null !== arrayRoot && bumpArrayCount(arrayRoot, obj.length, response);
|
|
2940
|
+
return BigInt(obj);
|
|
2796
2941
|
case "A":
|
|
2797
|
-
return parseTypedArray(
|
|
2942
|
+
return parseTypedArray(
|
|
2943
|
+
response,
|
|
2944
|
+
value,
|
|
2945
|
+
ArrayBuffer,
|
|
2946
|
+
1,
|
|
2947
|
+
obj,
|
|
2948
|
+
key,
|
|
2949
|
+
arrayRoot
|
|
2950
|
+
);
|
|
2798
2951
|
case "O":
|
|
2799
|
-
return parseTypedArray(
|
|
2952
|
+
return parseTypedArray(
|
|
2953
|
+
response,
|
|
2954
|
+
value,
|
|
2955
|
+
Int8Array,
|
|
2956
|
+
1,
|
|
2957
|
+
obj,
|
|
2958
|
+
key,
|
|
2959
|
+
arrayRoot
|
|
2960
|
+
);
|
|
2800
2961
|
case "o":
|
|
2801
|
-
return parseTypedArray(
|
|
2962
|
+
return parseTypedArray(
|
|
2963
|
+
response,
|
|
2964
|
+
value,
|
|
2965
|
+
Uint8Array,
|
|
2966
|
+
1,
|
|
2967
|
+
obj,
|
|
2968
|
+
key,
|
|
2969
|
+
arrayRoot
|
|
2970
|
+
);
|
|
2802
2971
|
case "U":
|
|
2803
|
-
return parseTypedArray(
|
|
2972
|
+
return parseTypedArray(
|
|
2973
|
+
response,
|
|
2974
|
+
value,
|
|
2975
|
+
Uint8ClampedArray,
|
|
2976
|
+
1,
|
|
2977
|
+
obj,
|
|
2978
|
+
key,
|
|
2979
|
+
arrayRoot
|
|
2980
|
+
);
|
|
2804
2981
|
case "S":
|
|
2805
|
-
return parseTypedArray(
|
|
2982
|
+
return parseTypedArray(
|
|
2983
|
+
response,
|
|
2984
|
+
value,
|
|
2985
|
+
Int16Array,
|
|
2986
|
+
2,
|
|
2987
|
+
obj,
|
|
2988
|
+
key,
|
|
2989
|
+
arrayRoot
|
|
2990
|
+
);
|
|
2806
2991
|
case "s":
|
|
2807
|
-
return parseTypedArray(
|
|
2992
|
+
return parseTypedArray(
|
|
2993
|
+
response,
|
|
2994
|
+
value,
|
|
2995
|
+
Uint16Array,
|
|
2996
|
+
2,
|
|
2997
|
+
obj,
|
|
2998
|
+
key,
|
|
2999
|
+
arrayRoot
|
|
3000
|
+
);
|
|
2808
3001
|
case "L":
|
|
2809
|
-
return parseTypedArray(
|
|
3002
|
+
return parseTypedArray(
|
|
3003
|
+
response,
|
|
3004
|
+
value,
|
|
3005
|
+
Int32Array,
|
|
3006
|
+
4,
|
|
3007
|
+
obj,
|
|
3008
|
+
key,
|
|
3009
|
+
arrayRoot
|
|
3010
|
+
);
|
|
2810
3011
|
case "l":
|
|
2811
|
-
return parseTypedArray(
|
|
3012
|
+
return parseTypedArray(
|
|
3013
|
+
response,
|
|
3014
|
+
value,
|
|
3015
|
+
Uint32Array,
|
|
3016
|
+
4,
|
|
3017
|
+
obj,
|
|
3018
|
+
key,
|
|
3019
|
+
arrayRoot
|
|
3020
|
+
);
|
|
2812
3021
|
case "G":
|
|
2813
|
-
return parseTypedArray(
|
|
3022
|
+
return parseTypedArray(
|
|
3023
|
+
response,
|
|
3024
|
+
value,
|
|
3025
|
+
Float32Array,
|
|
3026
|
+
4,
|
|
3027
|
+
obj,
|
|
3028
|
+
key,
|
|
3029
|
+
arrayRoot
|
|
3030
|
+
);
|
|
2814
3031
|
case "g":
|
|
2815
|
-
return parseTypedArray(
|
|
3032
|
+
return parseTypedArray(
|
|
3033
|
+
response,
|
|
3034
|
+
value,
|
|
3035
|
+
Float64Array,
|
|
3036
|
+
8,
|
|
3037
|
+
obj,
|
|
3038
|
+
key,
|
|
3039
|
+
arrayRoot
|
|
3040
|
+
);
|
|
2816
3041
|
case "M":
|
|
2817
|
-
return parseTypedArray(
|
|
3042
|
+
return parseTypedArray(
|
|
3043
|
+
response,
|
|
3044
|
+
value,
|
|
3045
|
+
BigInt64Array,
|
|
3046
|
+
8,
|
|
3047
|
+
obj,
|
|
3048
|
+
key,
|
|
3049
|
+
arrayRoot
|
|
3050
|
+
);
|
|
2818
3051
|
case "m":
|
|
2819
|
-
return parseTypedArray(
|
|
3052
|
+
return parseTypedArray(
|
|
3053
|
+
response,
|
|
3054
|
+
value,
|
|
3055
|
+
BigUint64Array,
|
|
3056
|
+
8,
|
|
3057
|
+
obj,
|
|
3058
|
+
key,
|
|
3059
|
+
arrayRoot
|
|
3060
|
+
);
|
|
2820
3061
|
case "V":
|
|
2821
|
-
return parseTypedArray(
|
|
3062
|
+
return parseTypedArray(
|
|
3063
|
+
response,
|
|
3064
|
+
value,
|
|
3065
|
+
DataView,
|
|
3066
|
+
1,
|
|
3067
|
+
obj,
|
|
3068
|
+
key,
|
|
3069
|
+
arrayRoot
|
|
3070
|
+
);
|
|
2822
3071
|
case "B":
|
|
2823
3072
|
return (
|
|
2824
3073
|
(obj = parseInt(value.slice(2), 16)),
|
|
2825
3074
|
response._formData.get(response._prefix + obj)
|
|
2826
3075
|
);
|
|
2827
|
-
}
|
|
2828
|
-
switch (value[1]) {
|
|
2829
3076
|
case "R":
|
|
2830
3077
|
return parseReadableStream(response, value, void 0);
|
|
2831
3078
|
case "r":
|
|
@@ -2836,8 +3083,9 @@ function parseModelString(response, obj, key, value, reference) {
|
|
|
2836
3083
|
return parseAsyncIterable(response, value, !0);
|
|
2837
3084
|
}
|
|
2838
3085
|
value = value.slice(1);
|
|
2839
|
-
return getOutlinedModel(response, value, obj, key, createModel);
|
|
3086
|
+
return getOutlinedModel(response, value, obj, key, arrayRoot, createModel);
|
|
2840
3087
|
}
|
|
3088
|
+
null !== arrayRoot && bumpArrayCount(arrayRoot, value.length, response);
|
|
2841
3089
|
return value;
|
|
2842
3090
|
}
|
|
2843
3091
|
function createResponse(bundlerConfig, formFieldPrefix, temporaryReferences) {
|
|
@@ -2845,6 +3093,8 @@ function createResponse(bundlerConfig, formFieldPrefix, temporaryReferences) {
|
|
|
2845
3093
|
3 < arguments.length && void 0 !== arguments[3]
|
|
2846
3094
|
? arguments[3]
|
|
2847
3095
|
: new FormData(),
|
|
3096
|
+
arraySizeLimit =
|
|
3097
|
+
4 < arguments.length && void 0 !== arguments[4] ? arguments[4] : 1e6,
|
|
2848
3098
|
chunks = new Map();
|
|
2849
3099
|
return {
|
|
2850
3100
|
_bundlerConfig: bundlerConfig,
|
|
@@ -2853,19 +3103,30 @@ function createResponse(bundlerConfig, formFieldPrefix, temporaryReferences) {
|
|
|
2853
3103
|
_chunks: chunks,
|
|
2854
3104
|
_closed: !1,
|
|
2855
3105
|
_closedReason: null,
|
|
2856
|
-
_temporaryReferences: temporaryReferences
|
|
3106
|
+
_temporaryReferences: temporaryReferences,
|
|
3107
|
+
_rootArrayContexts: new WeakMap(),
|
|
3108
|
+
_arraySizeLimit: arraySizeLimit
|
|
2857
3109
|
};
|
|
2858
3110
|
}
|
|
2859
3111
|
function close(response) {
|
|
2860
3112
|
reportGlobalError(response, Error("Connection closed."));
|
|
2861
3113
|
}
|
|
2862
|
-
function loadServerReference(bundlerConfig,
|
|
3114
|
+
function loadServerReference(bundlerConfig, metaData) {
|
|
3115
|
+
var id = metaData.id;
|
|
3116
|
+
if ("string" !== typeof id) return null;
|
|
2863
3117
|
var serverReference = resolveServerReference(bundlerConfig, id);
|
|
2864
3118
|
bundlerConfig = preloadModule$1(serverReference);
|
|
2865
|
-
|
|
2866
|
-
|
|
3119
|
+
metaData = metaData.bound;
|
|
3120
|
+
return metaData instanceof Promise
|
|
3121
|
+
? Promise.all([metaData, bundlerConfig]).then(function (_ref) {
|
|
2867
3122
|
_ref = _ref[0];
|
|
2868
3123
|
var fn = requireModule(serverReference);
|
|
3124
|
+
if (1e3 < _ref.length)
|
|
3125
|
+
throw Error(
|
|
3126
|
+
"Server Function has too many bound arguments. Received " +
|
|
3127
|
+
_ref.length +
|
|
3128
|
+
" but the limit is 1000."
|
|
3129
|
+
);
|
|
2869
3130
|
return fn.bind.apply(fn, [null].concat(_ref));
|
|
2870
3131
|
})
|
|
2871
3132
|
: bundlerConfig
|
|
@@ -2874,8 +3135,19 @@ function loadServerReference(bundlerConfig, id, bound) {
|
|
|
2874
3135
|
})
|
|
2875
3136
|
: Promise.resolve(requireModule(serverReference));
|
|
2876
3137
|
}
|
|
2877
|
-
function decodeBoundActionMetaData(
|
|
2878
|
-
body
|
|
3138
|
+
function decodeBoundActionMetaData(
|
|
3139
|
+
body,
|
|
3140
|
+
serverManifest,
|
|
3141
|
+
formFieldPrefix,
|
|
3142
|
+
arraySizeLimit
|
|
3143
|
+
) {
|
|
3144
|
+
body = createResponse(
|
|
3145
|
+
serverManifest,
|
|
3146
|
+
formFieldPrefix,
|
|
3147
|
+
void 0,
|
|
3148
|
+
body,
|
|
3149
|
+
arraySizeLimit
|
|
3150
|
+
);
|
|
2879
3151
|
close(body);
|
|
2880
3152
|
body = getChunk(body, 0);
|
|
2881
3153
|
body.then(function () {});
|
|
@@ -2884,16 +3156,24 @@ function decodeBoundActionMetaData(body, serverManifest, formFieldPrefix) {
|
|
|
2884
3156
|
}
|
|
2885
3157
|
function decodeAction$1(body, serverManifest) {
|
|
2886
3158
|
var formData = new FormData(),
|
|
2887
|
-
action = null
|
|
3159
|
+
action = null,
|
|
3160
|
+
seenActions = new Set();
|
|
2888
3161
|
body.forEach(function (value, key) {
|
|
2889
3162
|
key.startsWith("$ACTION_")
|
|
2890
3163
|
? key.startsWith("$ACTION_REF_")
|
|
2891
|
-
? (
|
|
3164
|
+
? seenActions.has(key) ||
|
|
3165
|
+
(seenActions.add(key),
|
|
3166
|
+
(value = "$ACTION_" + key.slice(12) + ":"),
|
|
2892
3167
|
(value = decodeBoundActionMetaData(body, serverManifest, value)),
|
|
2893
|
-
(action = loadServerReference(serverManifest, value
|
|
3168
|
+
(action = loadServerReference(serverManifest, value)))
|
|
2894
3169
|
: key.startsWith("$ACTION_ID_") &&
|
|
2895
|
-
(
|
|
2896
|
-
(
|
|
3170
|
+
!seenActions.has(key) &&
|
|
3171
|
+
(seenActions.add(key),
|
|
3172
|
+
(value = key.slice(11)),
|
|
3173
|
+
(action = loadServerReference(serverManifest, {
|
|
3174
|
+
id: value,
|
|
3175
|
+
bound: null
|
|
3176
|
+
})))
|
|
2897
3177
|
: formData.append(key, value);
|
|
2898
3178
|
});
|
|
2899
3179
|
return null === action
|
|
@@ -2948,7 +3228,8 @@ exports.decodeReply = function (body, options) {
|
|
|
2948
3228
|
serverManifest,
|
|
2949
3229
|
"",
|
|
2950
3230
|
options ? options.temporaryReferences : void 0,
|
|
2951
|
-
body
|
|
3231
|
+
body,
|
|
3232
|
+
options ? options.arraySizeLimit : void 0
|
|
2952
3233
|
);
|
|
2953
3234
|
options = getChunk(body, 0);
|
|
2954
3235
|
close(body);
|