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
|
@@ -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,12 +2559,21 @@ function getOutlinedModel(response, reference, parentObject, key, map) {
|
|
|
2458
2559
|
}
|
|
2459
2560
|
}
|
|
2460
2561
|
function createMap(response, model) {
|
|
2562
|
+
if (!isArrayImpl(model)) throw Error("Invalid Map initializer.");
|
|
2563
|
+
if (!0 === model.$$consumed) throw Error("Already initialized Map.");
|
|
2564
|
+
model.$$consumed = !0;
|
|
2461
2565
|
return new Map(model);
|
|
2462
2566
|
}
|
|
2463
2567
|
function createSet(response, model) {
|
|
2568
|
+
if (!isArrayImpl(model)) throw Error("Invalid Set initializer.");
|
|
2569
|
+
if (!0 === model.$$consumed) throw Error("Already initialized Set.");
|
|
2570
|
+
model.$$consumed = !0;
|
|
2464
2571
|
return new Set(model);
|
|
2465
2572
|
}
|
|
2466
2573
|
function extractIterator(response, model) {
|
|
2574
|
+
if (!isArrayImpl(model)) throw Error("Invalid Iterator initializer.");
|
|
2575
|
+
if (!0 === model.$$consumed) throw Error("Already initialized Iterator.");
|
|
2576
|
+
model.$$consumed = !0;
|
|
2467
2577
|
return model[Symbol.iterator]();
|
|
2468
2578
|
}
|
|
2469
2579
|
function createModel(response, model, parentObject, key) {
|
|
@@ -2475,13 +2585,34 @@ function parseTypedArray(
|
|
|
2475
2585
|
constructor,
|
|
2476
2586
|
bytesPerElement,
|
|
2477
2587
|
parentObject,
|
|
2478
|
-
parentKey
|
|
2588
|
+
parentKey,
|
|
2589
|
+
referenceArrayRoot
|
|
2479
2590
|
) {
|
|
2591
|
+
function reject(error) {
|
|
2592
|
+
if (!handler.errored) {
|
|
2593
|
+
handler.errored = !0;
|
|
2594
|
+
handler.value = null;
|
|
2595
|
+
handler.reason = error;
|
|
2596
|
+
var chunk = handler.chunk;
|
|
2597
|
+
null !== chunk &&
|
|
2598
|
+
"blocked" === chunk.status &&
|
|
2599
|
+
triggerErrorOnChunk(response, chunk, error);
|
|
2600
|
+
}
|
|
2601
|
+
}
|
|
2480
2602
|
reference = parseInt(reference.slice(2), 16);
|
|
2481
|
-
|
|
2482
|
-
|
|
2603
|
+
var key = response._prefix + reference;
|
|
2604
|
+
bytesPerElement = response._chunks;
|
|
2605
|
+
if (bytesPerElement.has(reference))
|
|
2483
2606
|
throw Error("Already initialized typed array.");
|
|
2484
|
-
|
|
2607
|
+
bytesPerElement.set(
|
|
2608
|
+
reference,
|
|
2609
|
+
new ReactPromise(
|
|
2610
|
+
"rejected",
|
|
2611
|
+
null,
|
|
2612
|
+
Error("Already initialized typed array.")
|
|
2613
|
+
)
|
|
2614
|
+
);
|
|
2615
|
+
reference = response._formData.get(key).arrayBuffer();
|
|
2485
2616
|
if (initializingHandler) {
|
|
2486
2617
|
var handler = initializingHandler;
|
|
2487
2618
|
handler.deps++;
|
|
@@ -2493,37 +2624,32 @@ function parseTypedArray(
|
|
|
2493
2624
|
deps: 1,
|
|
2494
2625
|
errored: !1
|
|
2495
2626
|
};
|
|
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
|
-
}
|
|
2627
|
+
reference.then(function (buffer) {
|
|
2628
|
+
try {
|
|
2629
|
+
null !== referenceArrayRoot &&
|
|
2630
|
+
bumpArrayCount(referenceArrayRoot, buffer.byteLength, response);
|
|
2631
|
+
var resolvedValue =
|
|
2632
|
+
constructor === ArrayBuffer ? buffer : new constructor(buffer);
|
|
2633
|
+
"__proto__" !== key && (parentObject[parentKey] = resolvedValue);
|
|
2634
|
+
"" === parentKey &&
|
|
2635
|
+
null === handler.value &&
|
|
2636
|
+
(handler.value = resolvedValue);
|
|
2637
|
+
} catch (x) {
|
|
2638
|
+
reject(x);
|
|
2639
|
+
return;
|
|
2525
2640
|
}
|
|
2526
|
-
|
|
2641
|
+
handler.deps--;
|
|
2642
|
+
0 === handler.deps &&
|
|
2643
|
+
((buffer = handler.chunk),
|
|
2644
|
+
null !== buffer &&
|
|
2645
|
+
"blocked" === buffer.status &&
|
|
2646
|
+
((resolvedValue = buffer.value),
|
|
2647
|
+
(buffer.status = "fulfilled"),
|
|
2648
|
+
(buffer.value = handler.value),
|
|
2649
|
+
(buffer.reason = null),
|
|
2650
|
+
null !== resolvedValue &&
|
|
2651
|
+
wakeChunk(response, resolvedValue, handler.value, buffer)));
|
|
2652
|
+
}, reject);
|
|
2527
2653
|
return null;
|
|
2528
2654
|
}
|
|
2529
2655
|
function resolveStream(response, id, stream, controller) {
|
|
@@ -2539,86 +2665,78 @@ function resolveStream(response, id, stream, controller) {
|
|
|
2539
2665
|
: controller.enqueueModel(chunks));
|
|
2540
2666
|
}
|
|
2541
2667
|
function parseReadableStream(response, reference, type) {
|
|
2668
|
+
function enqueue(value) {
|
|
2669
|
+
"bytes" !== type || ArrayBuffer.isView(value)
|
|
2670
|
+
? controller.enqueue(value)
|
|
2671
|
+
: flightController.error(Error("Invalid data for bytes stream."));
|
|
2672
|
+
}
|
|
2542
2673
|
reference = parseInt(reference.slice(2), 16);
|
|
2543
2674
|
if (response._chunks.has(reference))
|
|
2544
2675
|
throw Error("Already initialized stream.");
|
|
2545
2676
|
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
|
-
});
|
|
2677
|
+
closed = !1,
|
|
2678
|
+
stream = new ReadableStream({
|
|
2679
|
+
type: type,
|
|
2680
|
+
start: function (c) {
|
|
2681
|
+
controller = c;
|
|
2586
2682
|
}
|
|
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);
|
|
2683
|
+
}),
|
|
2684
|
+
previousBlockedChunk = null,
|
|
2685
|
+
flightController = {
|
|
2686
|
+
enqueueModel: function (json) {
|
|
2687
|
+
if (null === previousBlockedChunk) {
|
|
2688
|
+
var chunk = createResolvedModelChunk(response, json, -1);
|
|
2689
|
+
initializeModelChunk(chunk);
|
|
2690
|
+
"fulfilled" === chunk.status
|
|
2691
|
+
? enqueue(chunk.value)
|
|
2692
|
+
: (chunk.then(enqueue, flightController.error),
|
|
2693
|
+
(previousBlockedChunk = chunk));
|
|
2694
|
+
} else {
|
|
2695
|
+
chunk = previousBlockedChunk;
|
|
2696
|
+
var chunk$32 = new ReactPromise("pending", null, null);
|
|
2697
|
+
chunk$32.then(enqueue, flightController.error);
|
|
2698
|
+
previousBlockedChunk = chunk$32;
|
|
2699
|
+
chunk.then(function () {
|
|
2700
|
+
previousBlockedChunk === chunk$32 && (previousBlockedChunk = null);
|
|
2701
|
+
resolveModelChunk(response, chunk$32, json, -1);
|
|
2608
2702
|
});
|
|
2609
2703
|
}
|
|
2610
|
-
|
|
2611
|
-
|
|
2612
|
-
|
|
2613
|
-
|
|
2614
|
-
|
|
2615
|
-
|
|
2704
|
+
},
|
|
2705
|
+
close: function () {
|
|
2706
|
+
if (!closed)
|
|
2707
|
+
if (((closed = !0), null === previousBlockedChunk))
|
|
2708
|
+
controller.close();
|
|
2709
|
+
else {
|
|
2710
|
+
var blockedChunk = previousBlockedChunk;
|
|
2711
|
+
previousBlockedChunk = null;
|
|
2712
|
+
blockedChunk.then(function () {
|
|
2713
|
+
return controller.close();
|
|
2714
|
+
});
|
|
2715
|
+
}
|
|
2716
|
+
},
|
|
2717
|
+
error: function (error) {
|
|
2718
|
+
if (!closed)
|
|
2719
|
+
if (((closed = !0), null === previousBlockedChunk))
|
|
2720
|
+
controller.error(error);
|
|
2721
|
+
else {
|
|
2722
|
+
var blockedChunk = previousBlockedChunk;
|
|
2723
|
+
previousBlockedChunk = null;
|
|
2724
|
+
blockedChunk.then(function () {
|
|
2725
|
+
return controller.error(error);
|
|
2726
|
+
});
|
|
2727
|
+
}
|
|
2728
|
+
}
|
|
2729
|
+
};
|
|
2730
|
+
resolveStream(response, reference, stream, flightController);
|
|
2731
|
+
return stream;
|
|
2616
2732
|
}
|
|
2617
|
-
function
|
|
2618
|
-
next =
|
|
2619
|
-
next[ASYNC_ITERATOR] = asyncIterator;
|
|
2620
|
-
return next;
|
|
2733
|
+
function FlightIterator(next) {
|
|
2734
|
+
this.next = next;
|
|
2621
2735
|
}
|
|
2736
|
+
FlightIterator.prototype = {};
|
|
2737
|
+
FlightIterator.prototype[ASYNC_ITERATOR] = function () {
|
|
2738
|
+
return this;
|
|
2739
|
+
};
|
|
2622
2740
|
function parseAsyncIterable(response, reference, iterator) {
|
|
2623
2741
|
reference = parseInt(reference.slice(2), 16);
|
|
2624
2742
|
if (response._chunks.has(reference))
|
|
@@ -2630,7 +2748,7 @@ function parseAsyncIterable(response, reference, iterator) {
|
|
|
2630
2748
|
$jscomp$compprop5 =
|
|
2631
2749
|
(($jscomp$compprop5[ASYNC_ITERATOR] = function () {
|
|
2632
2750
|
var nextReadIndex = 0;
|
|
2633
|
-
return
|
|
2751
|
+
return new FlightIterator(function (arg) {
|
|
2634
2752
|
if (void 0 !== arg)
|
|
2635
2753
|
throw Error(
|
|
2636
2754
|
"Values cannot be passed to next() of AsyncIterables passed to Client Components."
|
|
@@ -2710,17 +2828,28 @@ function parseAsyncIterable(response, reference, iterator) {
|
|
|
2710
2828
|
});
|
|
2711
2829
|
return iterator;
|
|
2712
2830
|
}
|
|
2713
|
-
function parseModelString(response, obj, key, value, reference) {
|
|
2831
|
+
function parseModelString(response, obj, key, value, reference, arrayRoot) {
|
|
2714
2832
|
if ("$" === value[0]) {
|
|
2715
2833
|
switch (value[1]) {
|
|
2716
2834
|
case "$":
|
|
2717
|
-
return
|
|
2835
|
+
return (
|
|
2836
|
+
null !== arrayRoot &&
|
|
2837
|
+
bumpArrayCount(arrayRoot, value.length - 1, response),
|
|
2838
|
+
value.slice(1)
|
|
2839
|
+
);
|
|
2718
2840
|
case "@":
|
|
2719
2841
|
return (obj = parseInt(value.slice(2), 16)), getChunk(response, obj);
|
|
2720
2842
|
case "h":
|
|
2721
2843
|
return (
|
|
2722
|
-
(
|
|
2723
|
-
getOutlinedModel(
|
|
2844
|
+
(arrayRoot = value.slice(2)),
|
|
2845
|
+
getOutlinedModel(
|
|
2846
|
+
response,
|
|
2847
|
+
arrayRoot,
|
|
2848
|
+
obj,
|
|
2849
|
+
key,
|
|
2850
|
+
null,
|
|
2851
|
+
loadServerReference$1
|
|
2852
|
+
)
|
|
2724
2853
|
);
|
|
2725
2854
|
case "T":
|
|
2726
2855
|
if (void 0 === reference || void 0 === response._temporaryReferences)
|
|
@@ -2733,27 +2862,37 @@ function parseModelString(response, obj, key, value, reference) {
|
|
|
2733
2862
|
);
|
|
2734
2863
|
case "Q":
|
|
2735
2864
|
return (
|
|
2736
|
-
(
|
|
2737
|
-
getOutlinedModel(response,
|
|
2865
|
+
(arrayRoot = value.slice(2)),
|
|
2866
|
+
getOutlinedModel(response, arrayRoot, obj, key, null, createMap)
|
|
2738
2867
|
);
|
|
2739
2868
|
case "W":
|
|
2740
2869
|
return (
|
|
2741
|
-
(
|
|
2742
|
-
getOutlinedModel(response,
|
|
2870
|
+
(arrayRoot = value.slice(2)),
|
|
2871
|
+
getOutlinedModel(response, arrayRoot, obj, key, null, createSet)
|
|
2743
2872
|
);
|
|
2744
2873
|
case "K":
|
|
2745
2874
|
obj = value.slice(2);
|
|
2746
|
-
|
|
2747
|
-
|
|
2748
|
-
response._formData
|
|
2749
|
-
|
|
2750
|
-
|
|
2751
|
-
|
|
2752
|
-
|
|
2875
|
+
obj = response._prefix + obj + "_";
|
|
2876
|
+
key = new FormData();
|
|
2877
|
+
response = response._formData;
|
|
2878
|
+
arrayRoot = Array.from(response.keys());
|
|
2879
|
+
for (value = 0; value < arrayRoot.length; value++)
|
|
2880
|
+
if (((reference = arrayRoot[value]), reference.startsWith(obj))) {
|
|
2881
|
+
for (
|
|
2882
|
+
var entries = response.getAll(reference),
|
|
2883
|
+
newKey = reference.slice(obj.length),
|
|
2884
|
+
j = 0;
|
|
2885
|
+
j < entries.length;
|
|
2886
|
+
j++
|
|
2887
|
+
)
|
|
2888
|
+
key.append(newKey, entries[j]);
|
|
2889
|
+
response.delete(reference);
|
|
2890
|
+
}
|
|
2891
|
+
return key;
|
|
2753
2892
|
case "i":
|
|
2754
2893
|
return (
|
|
2755
|
-
(
|
|
2756
|
-
getOutlinedModel(response,
|
|
2894
|
+
(arrayRoot = value.slice(2)),
|
|
2895
|
+
getOutlinedModel(response, arrayRoot, obj, key, null, extractIterator)
|
|
2757
2896
|
);
|
|
2758
2897
|
case "I":
|
|
2759
2898
|
return Infinity;
|
|
@@ -2766,35 +2905,147 @@ function parseModelString(response, obj, key, value, reference) {
|
|
|
2766
2905
|
case "D":
|
|
2767
2906
|
return new Date(Date.parse(value.slice(2)));
|
|
2768
2907
|
case "n":
|
|
2769
|
-
|
|
2908
|
+
obj = value.slice(2);
|
|
2909
|
+
if (300 < obj.length)
|
|
2910
|
+
throw Error(
|
|
2911
|
+
"BigInt is too large. Received " +
|
|
2912
|
+
obj.length +
|
|
2913
|
+
" digits but the limit is 300."
|
|
2914
|
+
);
|
|
2915
|
+
null !== arrayRoot && bumpArrayCount(arrayRoot, obj.length, response);
|
|
2916
|
+
return BigInt(obj);
|
|
2770
2917
|
}
|
|
2771
2918
|
switch (value[1]) {
|
|
2772
2919
|
case "A":
|
|
2773
|
-
return parseTypedArray(
|
|
2920
|
+
return parseTypedArray(
|
|
2921
|
+
response,
|
|
2922
|
+
value,
|
|
2923
|
+
ArrayBuffer,
|
|
2924
|
+
1,
|
|
2925
|
+
obj,
|
|
2926
|
+
key,
|
|
2927
|
+
arrayRoot
|
|
2928
|
+
);
|
|
2774
2929
|
case "O":
|
|
2775
|
-
return parseTypedArray(
|
|
2930
|
+
return parseTypedArray(
|
|
2931
|
+
response,
|
|
2932
|
+
value,
|
|
2933
|
+
Int8Array,
|
|
2934
|
+
1,
|
|
2935
|
+
obj,
|
|
2936
|
+
key,
|
|
2937
|
+
arrayRoot
|
|
2938
|
+
);
|
|
2776
2939
|
case "o":
|
|
2777
|
-
return parseTypedArray(
|
|
2940
|
+
return parseTypedArray(
|
|
2941
|
+
response,
|
|
2942
|
+
value,
|
|
2943
|
+
Uint8Array,
|
|
2944
|
+
1,
|
|
2945
|
+
obj,
|
|
2946
|
+
key,
|
|
2947
|
+
arrayRoot
|
|
2948
|
+
);
|
|
2778
2949
|
case "U":
|
|
2779
|
-
return parseTypedArray(
|
|
2950
|
+
return parseTypedArray(
|
|
2951
|
+
response,
|
|
2952
|
+
value,
|
|
2953
|
+
Uint8ClampedArray,
|
|
2954
|
+
1,
|
|
2955
|
+
obj,
|
|
2956
|
+
key,
|
|
2957
|
+
arrayRoot
|
|
2958
|
+
);
|
|
2780
2959
|
case "S":
|
|
2781
|
-
return parseTypedArray(
|
|
2960
|
+
return parseTypedArray(
|
|
2961
|
+
response,
|
|
2962
|
+
value,
|
|
2963
|
+
Int16Array,
|
|
2964
|
+
2,
|
|
2965
|
+
obj,
|
|
2966
|
+
key,
|
|
2967
|
+
arrayRoot
|
|
2968
|
+
);
|
|
2782
2969
|
case "s":
|
|
2783
|
-
return parseTypedArray(
|
|
2970
|
+
return parseTypedArray(
|
|
2971
|
+
response,
|
|
2972
|
+
value,
|
|
2973
|
+
Uint16Array,
|
|
2974
|
+
2,
|
|
2975
|
+
obj,
|
|
2976
|
+
key,
|
|
2977
|
+
arrayRoot
|
|
2978
|
+
);
|
|
2784
2979
|
case "L":
|
|
2785
|
-
return parseTypedArray(
|
|
2980
|
+
return parseTypedArray(
|
|
2981
|
+
response,
|
|
2982
|
+
value,
|
|
2983
|
+
Int32Array,
|
|
2984
|
+
4,
|
|
2985
|
+
obj,
|
|
2986
|
+
key,
|
|
2987
|
+
arrayRoot
|
|
2988
|
+
);
|
|
2786
2989
|
case "l":
|
|
2787
|
-
return parseTypedArray(
|
|
2990
|
+
return parseTypedArray(
|
|
2991
|
+
response,
|
|
2992
|
+
value,
|
|
2993
|
+
Uint32Array,
|
|
2994
|
+
4,
|
|
2995
|
+
obj,
|
|
2996
|
+
key,
|
|
2997
|
+
arrayRoot
|
|
2998
|
+
);
|
|
2788
2999
|
case "G":
|
|
2789
|
-
return parseTypedArray(
|
|
3000
|
+
return parseTypedArray(
|
|
3001
|
+
response,
|
|
3002
|
+
value,
|
|
3003
|
+
Float32Array,
|
|
3004
|
+
4,
|
|
3005
|
+
obj,
|
|
3006
|
+
key,
|
|
3007
|
+
arrayRoot
|
|
3008
|
+
);
|
|
2790
3009
|
case "g":
|
|
2791
|
-
return parseTypedArray(
|
|
3010
|
+
return parseTypedArray(
|
|
3011
|
+
response,
|
|
3012
|
+
value,
|
|
3013
|
+
Float64Array,
|
|
3014
|
+
8,
|
|
3015
|
+
obj,
|
|
3016
|
+
key,
|
|
3017
|
+
arrayRoot
|
|
3018
|
+
);
|
|
2792
3019
|
case "M":
|
|
2793
|
-
return parseTypedArray(
|
|
3020
|
+
return parseTypedArray(
|
|
3021
|
+
response,
|
|
3022
|
+
value,
|
|
3023
|
+
BigInt64Array,
|
|
3024
|
+
8,
|
|
3025
|
+
obj,
|
|
3026
|
+
key,
|
|
3027
|
+
arrayRoot
|
|
3028
|
+
);
|
|
2794
3029
|
case "m":
|
|
2795
|
-
return parseTypedArray(
|
|
3030
|
+
return parseTypedArray(
|
|
3031
|
+
response,
|
|
3032
|
+
value,
|
|
3033
|
+
BigUint64Array,
|
|
3034
|
+
8,
|
|
3035
|
+
obj,
|
|
3036
|
+
key,
|
|
3037
|
+
arrayRoot
|
|
3038
|
+
);
|
|
2796
3039
|
case "V":
|
|
2797
|
-
return parseTypedArray(
|
|
3040
|
+
return parseTypedArray(
|
|
3041
|
+
response,
|
|
3042
|
+
value,
|
|
3043
|
+
DataView,
|
|
3044
|
+
1,
|
|
3045
|
+
obj,
|
|
3046
|
+
key,
|
|
3047
|
+
arrayRoot
|
|
3048
|
+
);
|
|
2798
3049
|
case "B":
|
|
2799
3050
|
return (
|
|
2800
3051
|
(obj = parseInt(value.slice(2), 16)),
|
|
@@ -2812,8 +3063,9 @@ function parseModelString(response, obj, key, value, reference) {
|
|
|
2812
3063
|
return parseAsyncIterable(response, value, !0);
|
|
2813
3064
|
}
|
|
2814
3065
|
value = value.slice(1);
|
|
2815
|
-
return getOutlinedModel(response, value, obj, key, createModel);
|
|
3066
|
+
return getOutlinedModel(response, value, obj, key, arrayRoot, createModel);
|
|
2816
3067
|
}
|
|
3068
|
+
null !== arrayRoot && bumpArrayCount(arrayRoot, value.length, response);
|
|
2817
3069
|
return value;
|
|
2818
3070
|
}
|
|
2819
3071
|
function createResponse(bundlerConfig, formFieldPrefix, temporaryReferences) {
|
|
@@ -2821,25 +3073,38 @@ function createResponse(bundlerConfig, formFieldPrefix, temporaryReferences) {
|
|
|
2821
3073
|
3 < arguments.length && void 0 !== arguments[3]
|
|
2822
3074
|
? arguments[3]
|
|
2823
3075
|
: new FormData(),
|
|
3076
|
+
arraySizeLimit =
|
|
3077
|
+
4 < arguments.length && void 0 !== arguments[4] ? arguments[4] : 1e6,
|
|
2824
3078
|
chunks = new Map();
|
|
2825
3079
|
return {
|
|
2826
3080
|
_bundlerConfig: bundlerConfig,
|
|
2827
3081
|
_prefix: formFieldPrefix,
|
|
2828
3082
|
_formData: backingFormData,
|
|
2829
3083
|
_chunks: chunks,
|
|
2830
|
-
_temporaryReferences: temporaryReferences
|
|
3084
|
+
_temporaryReferences: temporaryReferences,
|
|
3085
|
+
_rootArrayContexts: new WeakMap(),
|
|
3086
|
+
_arraySizeLimit: arraySizeLimit
|
|
2831
3087
|
};
|
|
2832
3088
|
}
|
|
2833
3089
|
function close(response) {
|
|
2834
3090
|
reportGlobalError(response, Error("Connection closed."));
|
|
2835
3091
|
}
|
|
2836
|
-
function loadServerReference(bundlerConfig,
|
|
3092
|
+
function loadServerReference(bundlerConfig, metaData) {
|
|
3093
|
+
var id = metaData.id;
|
|
3094
|
+
if ("string" !== typeof id) return null;
|
|
2837
3095
|
var serverReference = resolveServerReference(bundlerConfig, id);
|
|
2838
3096
|
bundlerConfig = preloadModule(serverReference);
|
|
2839
|
-
|
|
2840
|
-
|
|
3097
|
+
metaData = metaData.bound;
|
|
3098
|
+
return metaData instanceof Promise
|
|
3099
|
+
? Promise.all([metaData, bundlerConfig]).then(function (_ref) {
|
|
2841
3100
|
_ref = _ref[0];
|
|
2842
3101
|
var fn = requireModule(serverReference);
|
|
3102
|
+
if (1e3 < _ref.length)
|
|
3103
|
+
throw Error(
|
|
3104
|
+
"Server Function has too many bound arguments. Received " +
|
|
3105
|
+
_ref.length +
|
|
3106
|
+
" but the limit is 1000."
|
|
3107
|
+
);
|
|
2843
3108
|
return fn.bind.apply(fn, [null].concat(_ref));
|
|
2844
3109
|
})
|
|
2845
3110
|
: bundlerConfig
|
|
@@ -2848,8 +3113,19 @@ function loadServerReference(bundlerConfig, id, bound) {
|
|
|
2848
3113
|
})
|
|
2849
3114
|
: Promise.resolve(requireModule(serverReference));
|
|
2850
3115
|
}
|
|
2851
|
-
function decodeBoundActionMetaData(
|
|
2852
|
-
body
|
|
3116
|
+
function decodeBoundActionMetaData(
|
|
3117
|
+
body,
|
|
3118
|
+
serverManifest,
|
|
3119
|
+
formFieldPrefix,
|
|
3120
|
+
arraySizeLimit
|
|
3121
|
+
) {
|
|
3122
|
+
body = createResponse(
|
|
3123
|
+
serverManifest,
|
|
3124
|
+
formFieldPrefix,
|
|
3125
|
+
void 0,
|
|
3126
|
+
body,
|
|
3127
|
+
arraySizeLimit
|
|
3128
|
+
);
|
|
2853
3129
|
close(body);
|
|
2854
3130
|
body = getChunk(body, 0);
|
|
2855
3131
|
body.then(function () {});
|
|
@@ -2865,16 +3141,24 @@ exports.createTemporaryReferenceSet = function () {
|
|
|
2865
3141
|
};
|
|
2866
3142
|
exports.decodeAction = function (body, serverManifest) {
|
|
2867
3143
|
var formData = new FormData(),
|
|
2868
|
-
action = null
|
|
3144
|
+
action = null,
|
|
3145
|
+
seenActions = new Set();
|
|
2869
3146
|
body.forEach(function (value, key) {
|
|
2870
3147
|
key.startsWith("$ACTION_")
|
|
2871
3148
|
? key.startsWith("$ACTION_REF_")
|
|
2872
|
-
? (
|
|
3149
|
+
? seenActions.has(key) ||
|
|
3150
|
+
(seenActions.add(key),
|
|
3151
|
+
(value = "$ACTION_" + key.slice(12) + ":"),
|
|
2873
3152
|
(value = decodeBoundActionMetaData(body, serverManifest, value)),
|
|
2874
|
-
(action = loadServerReference(serverManifest, value
|
|
3153
|
+
(action = loadServerReference(serverManifest, value)))
|
|
2875
3154
|
: key.startsWith("$ACTION_ID_") &&
|
|
2876
|
-
(
|
|
2877
|
-
(
|
|
3155
|
+
!seenActions.has(key) &&
|
|
3156
|
+
(seenActions.add(key),
|
|
3157
|
+
(value = key.slice(11)),
|
|
3158
|
+
(action = loadServerReference(serverManifest, {
|
|
3159
|
+
id: value,
|
|
3160
|
+
bound: null
|
|
3161
|
+
})))
|
|
2878
3162
|
: formData.append(key, value);
|
|
2879
3163
|
});
|
|
2880
3164
|
return null === action
|
|
@@ -2910,7 +3194,8 @@ exports.decodeReply = function (body, webpackMap, options) {
|
|
|
2910
3194
|
webpackMap,
|
|
2911
3195
|
"",
|
|
2912
3196
|
options ? options.temporaryReferences : void 0,
|
|
2913
|
-
body
|
|
3197
|
+
body,
|
|
3198
|
+
options ? options.arraySizeLimit : void 0
|
|
2914
3199
|
);
|
|
2915
3200
|
webpackMap = getChunk(body, 0);
|
|
2916
3201
|
close(body);
|