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