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