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