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