Upgrade react@beta (#65845)
Ensures `useMemoCache` is available for the React Compiler. Required for #65804 without having to manually enable experimental React through e.g. taint: true. <!-- Thanks for opening a PR! Your contribution is much appreciated. To make sure your PR is handled as smoothly as possible we request that you follow the checklist sections below. Choose the right checklist for the change(s) that you're making: ## For Contributors ### Improving Documentation - Run `pnpm prettier-fix` to fix formatting issues before opening the PR. - Read the Docs Contribution Guide to ensure your contribution follows the docs guidelines: https://nextjs.org/docs/community/contribution-guide ### Adding or Updating Examples - The "examples guidelines" are followed from our contributing doc https://github.com/vercel/next.js/blob/canary/contributing/examples/adding-examples.md - Make sure the linting passes by running `pnpm build && pnpm lint`. See https://github.com/vercel/next.js/blob/canary/contributing/repository/linting.md ### Fixing a bug - Related issues linked using `fixes #number` - Tests added. See: https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs - Errors have a helpful link attached, see https://github.com/vercel/next.js/blob/canary/contributing.md ### Adding a feature - Implements an existing feature request or RFC. Make sure the feature request has been accepted for implementation before opening a PR. (A discussion must be opened, see https://github.com/vercel/next.js/discussions/new?category=ideas) - Related issues/discussions are linked using `fixes #number` - e2e tests added (https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs) - Documentation added - Telemetry added. In case of a feature if it's used or not. - Errors have a helpful link attached, see https://github.com/vercel/next.js/blob/canary/contributing.md ## For Maintainers - Minimal description (aim for explaining to someone not on the team to understand the PR) - When linking to a Slack thread, you might want to share details of the conclusion - Link both the Linear (Fixes NEXT-xxx) and the GitHub issues - Add review comments if necessary to explain to the reviewer the logic behind a change ### What? ### Why? ### How? Closes NEXT- Fixes # --> --------- Co-authored-by: Jiachi Liu <inbox@huozhi.im>
This commit is contained in:
parent
9f647f311f
commit
e359b14881
117 changed files with 2530 additions and 1765 deletions
|
@ -7,8 +7,8 @@
|
|||
},
|
||||
"dependencies": {
|
||||
"next": "canary",
|
||||
"react": "19.0.0-beta-4508873393-20240430",
|
||||
"react-dom": "19.0.0-beta-4508873393-20240430"
|
||||
"react": "19.0.0-beta-04b058868c-20240508",
|
||||
"react-dom": "19.0.0-beta-04b058868c-20240508"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "20.4.5",
|
||||
|
|
|
@ -7,8 +7,8 @@
|
|||
},
|
||||
"dependencies": {
|
||||
"next": "canary",
|
||||
"react": "19.0.0-beta-4508873393-20240430",
|
||||
"react-dom": "19.0.0-beta-4508873393-20240430"
|
||||
"react": "19.0.0-beta-04b058868c-20240508",
|
||||
"react-dom": "19.0.0-beta-04b058868c-20240508"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "20.4.5",
|
||||
|
|
19
package.json
19
package.json
|
@ -120,6 +120,7 @@
|
|||
"alex": "9.1.0",
|
||||
"amphtml-validator": "1.0.35",
|
||||
"async-sema": "3.0.1",
|
||||
"babel-plugin-react-compiler": "0.0.0-experimental-c23de8d-20240515",
|
||||
"browserslist": "4.22.2",
|
||||
"buffer": "5.6.0",
|
||||
"cheerio": "0.22.0",
|
||||
|
@ -196,17 +197,17 @@
|
|||
"pretty-bytes": "5.3.0",
|
||||
"pretty-ms": "7.0.0",
|
||||
"random-seed": "0.3.0",
|
||||
"react": "19.0.0-beta-4508873393-20240430",
|
||||
"react": "19.0.0-beta-04b058868c-20240508",
|
||||
"react-17": "npm:react@17.0.2",
|
||||
"react-builtin": "npm:react@19.0.0-beta-4508873393-20240430",
|
||||
"react-dom": "19.0.0-beta-4508873393-20240430",
|
||||
"react-builtin": "npm:react@19.0.0-beta-04b058868c-20240508",
|
||||
"react-dom": "19.0.0-beta-04b058868c-20240508",
|
||||
"react-dom-17": "npm:react-dom@17.0.2",
|
||||
"react-dom-builtin": "npm:react-dom@19.0.0-beta-4508873393-20240430",
|
||||
"react-dom-builtin": "npm:react-dom@19.0.0-beta-04b058868c-20240508",
|
||||
"react-dom-experimental-builtin": "npm:react-dom@0.0.0-experimental-4508873393-20240430",
|
||||
"react-experimental-builtin": "npm:react@0.0.0-experimental-4508873393-20240430",
|
||||
"react-server-dom-turbopack": "19.0.0-beta-4508873393-20240430",
|
||||
"react-server-dom-turbopack": "19.0.0-beta-04b058868c-20240508",
|
||||
"react-server-dom-turbopack-experimental": "npm:react-server-dom-turbopack@0.0.0-experimental-4508873393-20240430",
|
||||
"react-server-dom-webpack": "19.0.0-beta-4508873393-20240430",
|
||||
"react-server-dom-webpack": "19.0.0-beta-04b058868c-20240508",
|
||||
"react-server-dom-webpack-experimental": "npm:react-server-dom-webpack@0.0.0-experimental-4508873393-20240430",
|
||||
"react-ssr-prepass": "1.0.8",
|
||||
"react-virtualized": "9.22.3",
|
||||
|
@ -252,9 +253,9 @@
|
|||
"@babel/traverse": "7.22.5",
|
||||
"@types/react": "18.2.74",
|
||||
"@types/react-dom": "18.2.23",
|
||||
"react": "19.0.0-beta-4508873393-20240430",
|
||||
"react-dom": "19.0.0-beta-4508873393-20240430",
|
||||
"react-is": "19.0.0-beta-4508873393-20240430",
|
||||
"react": "19.0.0-beta-04b058868c-20240508",
|
||||
"react-dom": "19.0.0-beta-04b058868c-20240508",
|
||||
"react-is": "19.0.0-beta-04b058868c-20240508",
|
||||
"scheduler": "0.25.0-beta-94eed63c49-20240425"
|
||||
},
|
||||
"engines": {
|
||||
|
|
|
@ -183,8 +183,8 @@ export const installTemplate = async ({
|
|||
* Default dependencies.
|
||||
*/
|
||||
dependencies: {
|
||||
react: "19.0.0-beta-4508873393-20240430",
|
||||
"react-dom": "19.0.0-beta-4508873393-20240430",
|
||||
react: "19.0.0-beta-04b058868c-20240508",
|
||||
"react-dom": "19.0.0-beta-04b058868c-20240508",
|
||||
next: version,
|
||||
},
|
||||
devDependencies: {},
|
||||
|
|
|
@ -104,10 +104,10 @@
|
|||
"peerDependencies": {
|
||||
"@opentelemetry/api": "^1.1.0",
|
||||
"@playwright/test": "^1.41.2",
|
||||
"babel-plugin-react-compiler": "*",
|
||||
"react": "19.0.0-beta-4508873393-20240430",
|
||||
"react-dom": "19.0.0-beta-4508873393-20240430",
|
||||
"sass": "^1.3.0"
|
||||
"react": "^19.0.0-0",
|
||||
"react-dom": "^19.0.0-0",
|
||||
"sass": "^1.3.0",
|
||||
"babel-plugin-react-compiler": "*"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"babel-plugin-react-compiler": {
|
||||
|
|
|
@ -12,10 +12,7 @@
|
|||
|
||||
if (process.env.NODE_ENV !== "production") {
|
||||
(function() {
|
||||
|
||||
'use strict';
|
||||
|
||||
/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */
|
||||
'use strict';
|
||||
if (
|
||||
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&
|
||||
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart ===
|
||||
|
@ -23,7 +20,7 @@ if (
|
|||
) {
|
||||
__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());
|
||||
}
|
||||
var React = require("next/dist/compiled/react");
|
||||
var React = require("next/dist/compiled/react");
|
||||
var Scheduler = require("next/dist/compiled/scheduler");
|
||||
var ReactDOM = require('react-dom');
|
||||
|
||||
|
@ -241,6 +238,7 @@ var REACT_DEBUG_TRACING_MODE_TYPE = Symbol.for('react.debug_trace_mode');
|
|||
var REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');
|
||||
var REACT_LEGACY_HIDDEN_TYPE = Symbol.for('react.legacy_hidden');
|
||||
var REACT_TRACING_MARKER_TYPE = Symbol.for('react.tracing_marker');
|
||||
var REACT_MEMO_CACHE_SENTINEL = Symbol.for('react.memo_cache_sentinel');
|
||||
var MAYBE_ITERATOR_SYMBOL = Symbol.iterator;
|
||||
var FAUX_ITERATOR_SYMBOL = '@@iterator';
|
||||
function getIteratorFn(maybeIterable) {
|
||||
|
@ -8782,6 +8780,11 @@ function extractEvents$1(dispatchQueue, domEventName, maybeTargetInst, nativeEve
|
|||
var temp = submitter.ownerDocument.createElement('input');
|
||||
temp.name = submitter.name;
|
||||
temp.value = submitter.value;
|
||||
|
||||
if (form.id) {
|
||||
temp.setAttribute('form', form.id);
|
||||
}
|
||||
|
||||
submitter.parentNode.insertBefore(temp, submitter);
|
||||
formData = new FormData(form);
|
||||
temp.parentNode.removeChild(temp);
|
||||
|
@ -17386,7 +17389,8 @@ var createFunctionComponentUpdateQueue;
|
|||
return {
|
||||
lastEffect: null,
|
||||
events: null,
|
||||
stores: null
|
||||
stores: null,
|
||||
memoCache: null
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@ -17432,6 +17436,93 @@ function use(usable) {
|
|||
throw new Error('An unsupported type was passed to use(): ' + String(usable));
|
||||
}
|
||||
|
||||
function useMemoCache(size) {
|
||||
var memoCache = null; // Fast-path, load memo cache from wip fiber if already prepared
|
||||
|
||||
var updateQueue = currentlyRenderingFiber$1.updateQueue;
|
||||
|
||||
if (updateQueue !== null) {
|
||||
memoCache = updateQueue.memoCache;
|
||||
} // Otherwise clone from the current fiber
|
||||
|
||||
|
||||
if (memoCache == null) {
|
||||
var current = currentlyRenderingFiber$1.alternate;
|
||||
|
||||
if (current !== null) {
|
||||
var currentUpdateQueue = current.updateQueue;
|
||||
|
||||
if (currentUpdateQueue !== null) {
|
||||
var currentMemoCache = currentUpdateQueue.memoCache;
|
||||
|
||||
if (currentMemoCache != null) {
|
||||
memoCache = {
|
||||
// When enableNoCloningMemoCache is enabled, instead of treating the
|
||||
// cache as copy-on-write, like we do with fibers, we share the same
|
||||
// cache instance across all render attempts, even if the component
|
||||
// is interrupted before it commits.
|
||||
//
|
||||
// If an update is interrupted, either because it suspended or
|
||||
// because of another update, we can reuse the memoized computations
|
||||
// from the previous attempt. We can do this because the React
|
||||
// Compiler performs atomic writes to the memo cache, i.e. it will
|
||||
// not record the inputs to a memoization without also recording its
|
||||
// output.
|
||||
//
|
||||
// This gives us a form of "resuming" within components and hooks.
|
||||
//
|
||||
// This only works when updating a component that already mounted.
|
||||
// It has no impact during initial render, because the memo cache is
|
||||
// stored on the fiber, and since we have not implemented resuming
|
||||
// for fibers, it's always a fresh memo cache, anyway.
|
||||
//
|
||||
// However, this alone is pretty useful — it happens whenever you
|
||||
// update the UI with fresh data after a mutation/action, which is
|
||||
// extremely common in a Suspense-driven (e.g. RSC or Relay) app.
|
||||
data: // Clone the memo cache before each render (copy-on-write)
|
||||
currentMemoCache.data.map(function (array) {
|
||||
return array.slice();
|
||||
}),
|
||||
index: 0
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
} // Finally fall back to allocating a fresh instance of the cache
|
||||
|
||||
|
||||
if (memoCache == null) {
|
||||
memoCache = {
|
||||
data: [],
|
||||
index: 0
|
||||
};
|
||||
}
|
||||
|
||||
if (updateQueue === null) {
|
||||
updateQueue = createFunctionComponentUpdateQueue();
|
||||
currentlyRenderingFiber$1.updateQueue = updateQueue;
|
||||
}
|
||||
|
||||
updateQueue.memoCache = memoCache;
|
||||
var data = memoCache.data[memoCache.index];
|
||||
|
||||
if (data === undefined) {
|
||||
data = memoCache.data[memoCache.index] = new Array(size);
|
||||
|
||||
for (var i = 0; i < size; i++) {
|
||||
data[i] = REACT_MEMO_CACHE_SENTINEL;
|
||||
}
|
||||
} else if (data.length !== size) {
|
||||
// TODO: consider warning or throwing here
|
||||
{
|
||||
error('Expected a constant size argument for each invocation of useMemoCache. ' + 'The previous cache was allocated with size %s but size %s was requested.', data.length, size);
|
||||
}
|
||||
}
|
||||
|
||||
memoCache.index++;
|
||||
return data;
|
||||
}
|
||||
|
||||
function basicStateReducer(state, action) {
|
||||
// $FlowFixMe[incompatible-use]: Flow doesn't like mixed types
|
||||
return typeof action === 'function' ? action(state) : action;
|
||||
|
@ -19230,6 +19321,10 @@ var ContextOnlyDispatcher = {
|
|||
ContextOnlyDispatcher.useCacheRefresh = throwInvalidHookError;
|
||||
}
|
||||
|
||||
{
|
||||
ContextOnlyDispatcher.useMemoCache = throwInvalidHookError;
|
||||
}
|
||||
|
||||
{
|
||||
ContextOnlyDispatcher.useHostTransitionStatus = throwInvalidHookError;
|
||||
ContextOnlyDispatcher.useFormState = throwInvalidHookError;
|
||||
|
@ -19374,6 +19469,10 @@ var InvalidNestedHooksDispatcherOnRerenderInDEV = null;
|
|||
};
|
||||
}
|
||||
|
||||
{
|
||||
HooksDispatcherOnMountInDEV.useMemoCache = useMemoCache;
|
||||
}
|
||||
|
||||
{
|
||||
HooksDispatcherOnMountInDEV.useHostTransitionStatus = useHostTransitionStatus;
|
||||
|
||||
|
@ -19509,6 +19608,10 @@ var InvalidNestedHooksDispatcherOnRerenderInDEV = null;
|
|||
};
|
||||
}
|
||||
|
||||
{
|
||||
HooksDispatcherOnMountWithHookTypesInDEV.useMemoCache = useMemoCache;
|
||||
}
|
||||
|
||||
{
|
||||
HooksDispatcherOnMountWithHookTypesInDEV.useHostTransitionStatus = useHostTransitionStatus;
|
||||
|
||||
|
@ -19645,6 +19748,10 @@ var InvalidNestedHooksDispatcherOnRerenderInDEV = null;
|
|||
};
|
||||
}
|
||||
|
||||
{
|
||||
HooksDispatcherOnUpdateInDEV.useMemoCache = useMemoCache;
|
||||
}
|
||||
|
||||
{
|
||||
HooksDispatcherOnUpdateInDEV.useHostTransitionStatus = useHostTransitionStatus;
|
||||
|
||||
|
@ -19781,6 +19888,10 @@ var InvalidNestedHooksDispatcherOnRerenderInDEV = null;
|
|||
};
|
||||
}
|
||||
|
||||
{
|
||||
HooksDispatcherOnRerenderInDEV.useMemoCache = useMemoCache;
|
||||
}
|
||||
|
||||
{
|
||||
HooksDispatcherOnRerenderInDEV.useHostTransitionStatus = useHostTransitionStatus;
|
||||
|
||||
|
@ -19936,6 +20047,13 @@ var InvalidNestedHooksDispatcherOnRerenderInDEV = null;
|
|||
};
|
||||
}
|
||||
|
||||
{
|
||||
InvalidNestedHooksDispatcherOnMountInDEV.useMemoCache = function (size) {
|
||||
warnInvalidHookAccess();
|
||||
return useMemoCache(size);
|
||||
};
|
||||
}
|
||||
|
||||
{
|
||||
InvalidNestedHooksDispatcherOnMountInDEV.useHostTransitionStatus = useHostTransitionStatus;
|
||||
|
||||
|
@ -20093,6 +20211,13 @@ var InvalidNestedHooksDispatcherOnRerenderInDEV = null;
|
|||
};
|
||||
}
|
||||
|
||||
{
|
||||
InvalidNestedHooksDispatcherOnUpdateInDEV.useMemoCache = function (size) {
|
||||
warnInvalidHookAccess();
|
||||
return useMemoCache(size);
|
||||
};
|
||||
}
|
||||
|
||||
{
|
||||
InvalidNestedHooksDispatcherOnUpdateInDEV.useHostTransitionStatus = useHostTransitionStatus;
|
||||
|
||||
|
@ -20250,6 +20375,13 @@ var InvalidNestedHooksDispatcherOnRerenderInDEV = null;
|
|||
};
|
||||
}
|
||||
|
||||
{
|
||||
InvalidNestedHooksDispatcherOnRerenderInDEV.useMemoCache = function (size) {
|
||||
warnInvalidHookAccess();
|
||||
return useMemoCache(size);
|
||||
};
|
||||
}
|
||||
|
||||
{
|
||||
InvalidNestedHooksDispatcherOnRerenderInDEV.useHostTransitionStatus = useHostTransitionStatus;
|
||||
|
||||
|
@ -35828,7 +35960,7 @@ identifierPrefix, onUncaughtError, onCaughtError, onRecoverableError, transition
|
|||
return root;
|
||||
}
|
||||
|
||||
var ReactVersion = '19.0.0-beta-4508873393-20240430';
|
||||
var ReactVersion = '19.0.0-beta-04b058868c-20240508';
|
||||
|
||||
// Might add PROFILE later.
|
||||
|
||||
|
@ -37328,7 +37460,6 @@ var foundDevTools = injectIntoDevTools({
|
|||
exports.createRoot = createRoot;
|
||||
exports.hydrateRoot = hydrateRoot;
|
||||
exports.version = ReactVersion;
|
||||
/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */
|
||||
if (
|
||||
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&
|
||||
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop ===
|
||||
|
|
|
@ -55,7 +55,8 @@ Symbol.for("react.debug_trace_mode");
|
|||
var REACT_OFFSCREEN_TYPE = Symbol.for("react.offscreen");
|
||||
Symbol.for("react.legacy_hidden");
|
||||
Symbol.for("react.tracing_marker");
|
||||
var MAYBE_ITERATOR_SYMBOL = Symbol.iterator;
|
||||
var REACT_MEMO_CACHE_SENTINEL = Symbol.for("react.memo_cache_sentinel"),
|
||||
MAYBE_ITERATOR_SYMBOL = Symbol.iterator;
|
||||
function getIteratorFn(maybeIterable) {
|
||||
if (null === maybeIterable || "object" !== typeof maybeIterable) return null;
|
||||
maybeIterable =
|
||||
|
@ -2289,6 +2290,8 @@ function extractEvents$1(
|
|||
var temp = submitter.ownerDocument.createElement("input");
|
||||
temp.name = submitter.name;
|
||||
temp.value = submitter.value;
|
||||
nativeEventTarget.id &&
|
||||
temp.setAttribute("form", nativeEventTarget.id);
|
||||
submitter.parentNode.insertBefore(temp, submitter);
|
||||
var formData = new FormData(nativeEventTarget);
|
||||
temp.parentNode.removeChild(temp);
|
||||
|
@ -5601,7 +5604,7 @@ function updateWorkInProgressHook() {
|
|||
}
|
||||
var createFunctionComponentUpdateQueue;
|
||||
createFunctionComponentUpdateQueue = function () {
|
||||
return { lastEffect: null, events: null, stores: null };
|
||||
return { lastEffect: null, events: null, stores: null, memoCache: null };
|
||||
};
|
||||
function useThenable(thenable) {
|
||||
var index = thenableIndexCounter;
|
||||
|
@ -5622,6 +5625,40 @@ function use(usable) {
|
|||
}
|
||||
throw Error(formatProdErrorMessage(438, String(usable)));
|
||||
}
|
||||
function useMemoCache(size) {
|
||||
var memoCache = null,
|
||||
updateQueue = currentlyRenderingFiber$1.updateQueue;
|
||||
null !== updateQueue && (memoCache = updateQueue.memoCache);
|
||||
if (null == memoCache) {
|
||||
var current = currentlyRenderingFiber$1.alternate;
|
||||
null !== current &&
|
||||
((current = current.updateQueue),
|
||||
null !== current &&
|
||||
((current = current.memoCache),
|
||||
null != current &&
|
||||
(memoCache = {
|
||||
data: current.data.map(function (array) {
|
||||
return array.slice();
|
||||
}),
|
||||
index: 0
|
||||
})));
|
||||
}
|
||||
null == memoCache && (memoCache = { data: [], index: 0 });
|
||||
null === updateQueue &&
|
||||
((updateQueue = createFunctionComponentUpdateQueue()),
|
||||
(currentlyRenderingFiber$1.updateQueue = updateQueue));
|
||||
updateQueue.memoCache = memoCache;
|
||||
updateQueue = memoCache.data[memoCache.index];
|
||||
if (void 0 === updateQueue)
|
||||
for (
|
||||
updateQueue = memoCache.data[memoCache.index] = Array(size), current = 0;
|
||||
current < size;
|
||||
current++
|
||||
)
|
||||
updateQueue[current] = REACT_MEMO_CACHE_SENTINEL;
|
||||
memoCache.index++;
|
||||
return updateQueue;
|
||||
}
|
||||
function basicStateReducer(state, action) {
|
||||
return "function" === typeof action ? action(state) : action;
|
||||
}
|
||||
|
@ -6435,6 +6472,7 @@ var ContextOnlyDispatcher = {
|
|||
useId: throwInvalidHookError
|
||||
};
|
||||
ContextOnlyDispatcher.useCacheRefresh = throwInvalidHookError;
|
||||
ContextOnlyDispatcher.useMemoCache = throwInvalidHookError;
|
||||
ContextOnlyDispatcher.useHostTransitionStatus = throwInvalidHookError;
|
||||
ContextOnlyDispatcher.useFormState = throwInvalidHookError;
|
||||
ContextOnlyDispatcher.useActionState = throwInvalidHookError;
|
||||
|
@ -6598,6 +6636,7 @@ var HooksDispatcherOnMount = {
|
|||
));
|
||||
}
|
||||
};
|
||||
HooksDispatcherOnMount.useMemoCache = useMemoCache;
|
||||
HooksDispatcherOnMount.useHostTransitionStatus = useHostTransitionStatus;
|
||||
HooksDispatcherOnMount.useFormState = mountActionState;
|
||||
HooksDispatcherOnMount.useActionState = mountActionState;
|
||||
|
@ -6660,6 +6699,7 @@ var HooksDispatcherOnUpdate = {
|
|||
useId: updateId
|
||||
};
|
||||
HooksDispatcherOnUpdate.useCacheRefresh = updateRefresh;
|
||||
HooksDispatcherOnUpdate.useMemoCache = useMemoCache;
|
||||
HooksDispatcherOnUpdate.useHostTransitionStatus = useHostTransitionStatus;
|
||||
HooksDispatcherOnUpdate.useFormState = updateActionState;
|
||||
HooksDispatcherOnUpdate.useActionState = updateActionState;
|
||||
|
@ -6708,6 +6748,7 @@ var HooksDispatcherOnRerender = {
|
|||
useId: updateId
|
||||
};
|
||||
HooksDispatcherOnRerender.useCacheRefresh = updateRefresh;
|
||||
HooksDispatcherOnRerender.useMemoCache = useMemoCache;
|
||||
HooksDispatcherOnRerender.useHostTransitionStatus = useHostTransitionStatus;
|
||||
HooksDispatcherOnRerender.useFormState = rerenderActionState;
|
||||
HooksDispatcherOnRerender.useActionState = rerenderActionState;
|
||||
|
@ -14501,7 +14542,7 @@ ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
|
|||
var devToolsConfig$jscomp$inline_1641 = {
|
||||
findFiberByHostInstance: getClosestInstanceFromNode,
|
||||
bundleType: 0,
|
||||
version: "19.0.0-beta-4508873393-20240430",
|
||||
version: "19.0.0-beta-04b058868c-20240508",
|
||||
rendererPackageName: "react-dom"
|
||||
};
|
||||
var internals$jscomp$inline_2019 = {
|
||||
|
@ -14531,7 +14572,7 @@ var internals$jscomp$inline_2019 = {
|
|||
scheduleRoot: null,
|
||||
setRefreshHandler: null,
|
||||
getCurrentFiber: null,
|
||||
reconcilerVersion: "19.0.0-beta-4508873393-20240430"
|
||||
reconcilerVersion: "19.0.0-beta-04b058868c-20240508"
|
||||
};
|
||||
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
|
||||
var hook$jscomp$inline_2020 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
|
||||
|
@ -14637,4 +14678,4 @@ exports.hydrateRoot = function (container, initialChildren, options) {
|
|||
listenToAllSupportedEvents(container);
|
||||
return new ReactDOMHydrationRoot(initialChildren);
|
||||
};
|
||||
exports.version = "19.0.0-beta-4508873393-20240430";
|
||||
exports.version = "19.0.0-beta-04b058868c-20240508";
|
||||
|
|
|
@ -12,10 +12,7 @@
|
|||
|
||||
if (process.env.NODE_ENV !== "production") {
|
||||
(function() {
|
||||
|
||||
'use strict';
|
||||
|
||||
/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */
|
||||
'use strict';
|
||||
if (
|
||||
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&
|
||||
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart ===
|
||||
|
@ -23,7 +20,7 @@ if (
|
|||
) {
|
||||
__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());
|
||||
}
|
||||
var React = require("next/dist/compiled/react");
|
||||
var React = require("next/dist/compiled/react");
|
||||
var Scheduler = require("next/dist/compiled/scheduler");
|
||||
var ReactDOM = require('react-dom');
|
||||
|
||||
|
@ -241,6 +238,7 @@ var REACT_DEBUG_TRACING_MODE_TYPE = Symbol.for('react.debug_trace_mode');
|
|||
var REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');
|
||||
var REACT_LEGACY_HIDDEN_TYPE = Symbol.for('react.legacy_hidden');
|
||||
var REACT_TRACING_MARKER_TYPE = Symbol.for('react.tracing_marker');
|
||||
var REACT_MEMO_CACHE_SENTINEL = Symbol.for('react.memo_cache_sentinel');
|
||||
var MAYBE_ITERATOR_SYMBOL = Symbol.iterator;
|
||||
var FAUX_ITERATOR_SYMBOL = '@@iterator';
|
||||
function getIteratorFn(maybeIterable) {
|
||||
|
@ -8830,6 +8828,11 @@ function extractEvents$1(dispatchQueue, domEventName, maybeTargetInst, nativeEve
|
|||
var temp = submitter.ownerDocument.createElement('input');
|
||||
temp.name = submitter.name;
|
||||
temp.value = submitter.value;
|
||||
|
||||
if (form.id) {
|
||||
temp.setAttribute('form', form.id);
|
||||
}
|
||||
|
||||
submitter.parentNode.insertBefore(temp, submitter);
|
||||
formData = new FormData(form);
|
||||
temp.parentNode.removeChild(temp);
|
||||
|
@ -17434,7 +17437,8 @@ var createFunctionComponentUpdateQueue;
|
|||
return {
|
||||
lastEffect: null,
|
||||
events: null,
|
||||
stores: null
|
||||
stores: null,
|
||||
memoCache: null
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@ -17480,6 +17484,93 @@ function use(usable) {
|
|||
throw new Error('An unsupported type was passed to use(): ' + String(usable));
|
||||
}
|
||||
|
||||
function useMemoCache(size) {
|
||||
var memoCache = null; // Fast-path, load memo cache from wip fiber if already prepared
|
||||
|
||||
var updateQueue = currentlyRenderingFiber$1.updateQueue;
|
||||
|
||||
if (updateQueue !== null) {
|
||||
memoCache = updateQueue.memoCache;
|
||||
} // Otherwise clone from the current fiber
|
||||
|
||||
|
||||
if (memoCache == null) {
|
||||
var current = currentlyRenderingFiber$1.alternate;
|
||||
|
||||
if (current !== null) {
|
||||
var currentUpdateQueue = current.updateQueue;
|
||||
|
||||
if (currentUpdateQueue !== null) {
|
||||
var currentMemoCache = currentUpdateQueue.memoCache;
|
||||
|
||||
if (currentMemoCache != null) {
|
||||
memoCache = {
|
||||
// When enableNoCloningMemoCache is enabled, instead of treating the
|
||||
// cache as copy-on-write, like we do with fibers, we share the same
|
||||
// cache instance across all render attempts, even if the component
|
||||
// is interrupted before it commits.
|
||||
//
|
||||
// If an update is interrupted, either because it suspended or
|
||||
// because of another update, we can reuse the memoized computations
|
||||
// from the previous attempt. We can do this because the React
|
||||
// Compiler performs atomic writes to the memo cache, i.e. it will
|
||||
// not record the inputs to a memoization without also recording its
|
||||
// output.
|
||||
//
|
||||
// This gives us a form of "resuming" within components and hooks.
|
||||
//
|
||||
// This only works when updating a component that already mounted.
|
||||
// It has no impact during initial render, because the memo cache is
|
||||
// stored on the fiber, and since we have not implemented resuming
|
||||
// for fibers, it's always a fresh memo cache, anyway.
|
||||
//
|
||||
// However, this alone is pretty useful — it happens whenever you
|
||||
// update the UI with fresh data after a mutation/action, which is
|
||||
// extremely common in a Suspense-driven (e.g. RSC or Relay) app.
|
||||
data: // Clone the memo cache before each render (copy-on-write)
|
||||
currentMemoCache.data.map(function (array) {
|
||||
return array.slice();
|
||||
}),
|
||||
index: 0
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
} // Finally fall back to allocating a fresh instance of the cache
|
||||
|
||||
|
||||
if (memoCache == null) {
|
||||
memoCache = {
|
||||
data: [],
|
||||
index: 0
|
||||
};
|
||||
}
|
||||
|
||||
if (updateQueue === null) {
|
||||
updateQueue = createFunctionComponentUpdateQueue();
|
||||
currentlyRenderingFiber$1.updateQueue = updateQueue;
|
||||
}
|
||||
|
||||
updateQueue.memoCache = memoCache;
|
||||
var data = memoCache.data[memoCache.index];
|
||||
|
||||
if (data === undefined) {
|
||||
data = memoCache.data[memoCache.index] = new Array(size);
|
||||
|
||||
for (var i = 0; i < size; i++) {
|
||||
data[i] = REACT_MEMO_CACHE_SENTINEL;
|
||||
}
|
||||
} else if (data.length !== size) {
|
||||
// TODO: consider warning or throwing here
|
||||
{
|
||||
error('Expected a constant size argument for each invocation of useMemoCache. ' + 'The previous cache was allocated with size %s but size %s was requested.', data.length, size);
|
||||
}
|
||||
}
|
||||
|
||||
memoCache.index++;
|
||||
return data;
|
||||
}
|
||||
|
||||
function basicStateReducer(state, action) {
|
||||
// $FlowFixMe[incompatible-use]: Flow doesn't like mixed types
|
||||
return typeof action === 'function' ? action(state) : action;
|
||||
|
@ -19278,6 +19369,10 @@ var ContextOnlyDispatcher = {
|
|||
ContextOnlyDispatcher.useCacheRefresh = throwInvalidHookError;
|
||||
}
|
||||
|
||||
{
|
||||
ContextOnlyDispatcher.useMemoCache = throwInvalidHookError;
|
||||
}
|
||||
|
||||
{
|
||||
ContextOnlyDispatcher.useHostTransitionStatus = throwInvalidHookError;
|
||||
ContextOnlyDispatcher.useFormState = throwInvalidHookError;
|
||||
|
@ -19422,6 +19517,10 @@ var InvalidNestedHooksDispatcherOnRerenderInDEV = null;
|
|||
};
|
||||
}
|
||||
|
||||
{
|
||||
HooksDispatcherOnMountInDEV.useMemoCache = useMemoCache;
|
||||
}
|
||||
|
||||
{
|
||||
HooksDispatcherOnMountInDEV.useHostTransitionStatus = useHostTransitionStatus;
|
||||
|
||||
|
@ -19557,6 +19656,10 @@ var InvalidNestedHooksDispatcherOnRerenderInDEV = null;
|
|||
};
|
||||
}
|
||||
|
||||
{
|
||||
HooksDispatcherOnMountWithHookTypesInDEV.useMemoCache = useMemoCache;
|
||||
}
|
||||
|
||||
{
|
||||
HooksDispatcherOnMountWithHookTypesInDEV.useHostTransitionStatus = useHostTransitionStatus;
|
||||
|
||||
|
@ -19693,6 +19796,10 @@ var InvalidNestedHooksDispatcherOnRerenderInDEV = null;
|
|||
};
|
||||
}
|
||||
|
||||
{
|
||||
HooksDispatcherOnUpdateInDEV.useMemoCache = useMemoCache;
|
||||
}
|
||||
|
||||
{
|
||||
HooksDispatcherOnUpdateInDEV.useHostTransitionStatus = useHostTransitionStatus;
|
||||
|
||||
|
@ -19829,6 +19936,10 @@ var InvalidNestedHooksDispatcherOnRerenderInDEV = null;
|
|||
};
|
||||
}
|
||||
|
||||
{
|
||||
HooksDispatcherOnRerenderInDEV.useMemoCache = useMemoCache;
|
||||
}
|
||||
|
||||
{
|
||||
HooksDispatcherOnRerenderInDEV.useHostTransitionStatus = useHostTransitionStatus;
|
||||
|
||||
|
@ -19984,6 +20095,13 @@ var InvalidNestedHooksDispatcherOnRerenderInDEV = null;
|
|||
};
|
||||
}
|
||||
|
||||
{
|
||||
InvalidNestedHooksDispatcherOnMountInDEV.useMemoCache = function (size) {
|
||||
warnInvalidHookAccess();
|
||||
return useMemoCache(size);
|
||||
};
|
||||
}
|
||||
|
||||
{
|
||||
InvalidNestedHooksDispatcherOnMountInDEV.useHostTransitionStatus = useHostTransitionStatus;
|
||||
|
||||
|
@ -20141,6 +20259,13 @@ var InvalidNestedHooksDispatcherOnRerenderInDEV = null;
|
|||
};
|
||||
}
|
||||
|
||||
{
|
||||
InvalidNestedHooksDispatcherOnUpdateInDEV.useMemoCache = function (size) {
|
||||
warnInvalidHookAccess();
|
||||
return useMemoCache(size);
|
||||
};
|
||||
}
|
||||
|
||||
{
|
||||
InvalidNestedHooksDispatcherOnUpdateInDEV.useHostTransitionStatus = useHostTransitionStatus;
|
||||
|
||||
|
@ -20298,6 +20423,13 @@ var InvalidNestedHooksDispatcherOnRerenderInDEV = null;
|
|||
};
|
||||
}
|
||||
|
||||
{
|
||||
InvalidNestedHooksDispatcherOnRerenderInDEV.useMemoCache = function (size) {
|
||||
warnInvalidHookAccess();
|
||||
return useMemoCache(size);
|
||||
};
|
||||
}
|
||||
|
||||
{
|
||||
InvalidNestedHooksDispatcherOnRerenderInDEV.useHostTransitionStatus = useHostTransitionStatus;
|
||||
|
||||
|
@ -35876,7 +36008,7 @@ identifierPrefix, onUncaughtError, onCaughtError, onRecoverableError, transition
|
|||
return root;
|
||||
}
|
||||
|
||||
var ReactVersion = '19.0.0-beta-4508873393-20240430';
|
||||
var ReactVersion = '19.0.0-beta-04b058868c-20240508';
|
||||
|
||||
function createPortal$1(children, containerInfo, // TODO: figure out the API for cross-renderer implementation.
|
||||
implementation) {
|
||||
|
@ -37782,7 +37914,6 @@ exports.unstable_batchedUpdates = batchedUpdates;
|
|||
exports.useFormState = useFormState;
|
||||
exports.useFormStatus = useFormStatus;
|
||||
exports.version = ReactVersion;
|
||||
/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */
|
||||
if (
|
||||
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&
|
||||
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop ===
|
||||
|
|
|
@ -59,7 +59,8 @@ Symbol.for("react.debug_trace_mode");
|
|||
var REACT_OFFSCREEN_TYPE = Symbol.for("react.offscreen");
|
||||
Symbol.for("react.legacy_hidden");
|
||||
Symbol.for("react.tracing_marker");
|
||||
var MAYBE_ITERATOR_SYMBOL = Symbol.iterator;
|
||||
var REACT_MEMO_CACHE_SENTINEL = Symbol.for("react.memo_cache_sentinel"),
|
||||
MAYBE_ITERATOR_SYMBOL = Symbol.iterator;
|
||||
function getIteratorFn(maybeIterable) {
|
||||
if (null === maybeIterable || "object" !== typeof maybeIterable) return null;
|
||||
maybeIterable =
|
||||
|
@ -2411,6 +2412,8 @@ function extractEvents$1(
|
|||
var temp = submitter.ownerDocument.createElement("input");
|
||||
temp.name = submitter.name;
|
||||
temp.value = submitter.value;
|
||||
nativeEventTarget.id &&
|
||||
temp.setAttribute("form", nativeEventTarget.id);
|
||||
submitter.parentNode.insertBefore(temp, submitter);
|
||||
var formData = new FormData(nativeEventTarget);
|
||||
temp.parentNode.removeChild(temp);
|
||||
|
@ -5723,7 +5726,7 @@ function updateWorkInProgressHook() {
|
|||
}
|
||||
var createFunctionComponentUpdateQueue;
|
||||
createFunctionComponentUpdateQueue = function () {
|
||||
return { lastEffect: null, events: null, stores: null };
|
||||
return { lastEffect: null, events: null, stores: null, memoCache: null };
|
||||
};
|
||||
function useThenable(thenable) {
|
||||
var index = thenableIndexCounter;
|
||||
|
@ -5744,6 +5747,40 @@ function use(usable) {
|
|||
}
|
||||
throw Error(formatProdErrorMessage(438, String(usable)));
|
||||
}
|
||||
function useMemoCache(size) {
|
||||
var memoCache = null,
|
||||
updateQueue = currentlyRenderingFiber$1.updateQueue;
|
||||
null !== updateQueue && (memoCache = updateQueue.memoCache);
|
||||
if (null == memoCache) {
|
||||
var current = currentlyRenderingFiber$1.alternate;
|
||||
null !== current &&
|
||||
((current = current.updateQueue),
|
||||
null !== current &&
|
||||
((current = current.memoCache),
|
||||
null != current &&
|
||||
(memoCache = {
|
||||
data: current.data.map(function (array) {
|
||||
return array.slice();
|
||||
}),
|
||||
index: 0
|
||||
})));
|
||||
}
|
||||
null == memoCache && (memoCache = { data: [], index: 0 });
|
||||
null === updateQueue &&
|
||||
((updateQueue = createFunctionComponentUpdateQueue()),
|
||||
(currentlyRenderingFiber$1.updateQueue = updateQueue));
|
||||
updateQueue.memoCache = memoCache;
|
||||
updateQueue = memoCache.data[memoCache.index];
|
||||
if (void 0 === updateQueue)
|
||||
for (
|
||||
updateQueue = memoCache.data[memoCache.index] = Array(size), current = 0;
|
||||
current < size;
|
||||
current++
|
||||
)
|
||||
updateQueue[current] = REACT_MEMO_CACHE_SENTINEL;
|
||||
memoCache.index++;
|
||||
return updateQueue;
|
||||
}
|
||||
function basicStateReducer(state, action) {
|
||||
return "function" === typeof action ? action(state) : action;
|
||||
}
|
||||
|
@ -6560,6 +6597,7 @@ var ContextOnlyDispatcher = {
|
|||
useId: throwInvalidHookError
|
||||
};
|
||||
ContextOnlyDispatcher.useCacheRefresh = throwInvalidHookError;
|
||||
ContextOnlyDispatcher.useMemoCache = throwInvalidHookError;
|
||||
ContextOnlyDispatcher.useHostTransitionStatus = throwInvalidHookError;
|
||||
ContextOnlyDispatcher.useFormState = throwInvalidHookError;
|
||||
ContextOnlyDispatcher.useActionState = throwInvalidHookError;
|
||||
|
@ -6723,6 +6761,7 @@ var HooksDispatcherOnMount = {
|
|||
));
|
||||
}
|
||||
};
|
||||
HooksDispatcherOnMount.useMemoCache = useMemoCache;
|
||||
HooksDispatcherOnMount.useHostTransitionStatus = useHostTransitionStatus;
|
||||
HooksDispatcherOnMount.useFormState = mountActionState;
|
||||
HooksDispatcherOnMount.useActionState = mountActionState;
|
||||
|
@ -6785,6 +6824,7 @@ var HooksDispatcherOnUpdate = {
|
|||
useId: updateId
|
||||
};
|
||||
HooksDispatcherOnUpdate.useCacheRefresh = updateRefresh;
|
||||
HooksDispatcherOnUpdate.useMemoCache = useMemoCache;
|
||||
HooksDispatcherOnUpdate.useHostTransitionStatus = useHostTransitionStatus;
|
||||
HooksDispatcherOnUpdate.useFormState = updateActionState;
|
||||
HooksDispatcherOnUpdate.useActionState = updateActionState;
|
||||
|
@ -6833,6 +6873,7 @@ var HooksDispatcherOnRerender = {
|
|||
useId: updateId
|
||||
};
|
||||
HooksDispatcherOnRerender.useCacheRefresh = updateRefresh;
|
||||
HooksDispatcherOnRerender.useMemoCache = useMemoCache;
|
||||
HooksDispatcherOnRerender.useHostTransitionStatus = useHostTransitionStatus;
|
||||
HooksDispatcherOnRerender.useFormState = rerenderActionState;
|
||||
HooksDispatcherOnRerender.useActionState = rerenderActionState;
|
||||
|
@ -15212,7 +15253,7 @@ ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
|
|||
var devToolsConfig$jscomp$inline_1728 = {
|
||||
findFiberByHostInstance: getClosestInstanceFromNode,
|
||||
bundleType: 0,
|
||||
version: "19.0.0-beta-4508873393-20240430",
|
||||
version: "19.0.0-beta-04b058868c-20240508",
|
||||
rendererPackageName: "react-dom"
|
||||
};
|
||||
(function (internals) {
|
||||
|
@ -15255,7 +15296,7 @@ var devToolsConfig$jscomp$inline_1728 = {
|
|||
scheduleRoot: null,
|
||||
setRefreshHandler: null,
|
||||
getCurrentFiber: null,
|
||||
reconcilerVersion: "19.0.0-beta-4508873393-20240430"
|
||||
reconcilerVersion: "19.0.0-beta-04b058868c-20240508"
|
||||
});
|
||||
function noop() {}
|
||||
function getCrossOriginStringAs(as, input) {
|
||||
|
@ -15509,7 +15550,7 @@ exports.useFormState = function (action, initialState, permalink) {
|
|||
exports.useFormStatus = function () {
|
||||
return ReactSharedInternals.H.useHostTransitionStatus();
|
||||
};
|
||||
exports.version = "19.0.0-beta-4508873393-20240430";
|
||||
exports.version = "19.0.0-beta-04b058868c-20240508";
|
||||
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
|
||||
"function" ===
|
||||
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&
|
||||
|
|
|
@ -17,7 +17,7 @@ if (process.env.NODE_ENV !== "production") {
|
|||
var React = require("next/dist/compiled/react");
|
||||
var ReactDOM = require('react-dom');
|
||||
|
||||
var ReactVersion = '19.0.0-beta-4508873393-20240430';
|
||||
var ReactVersion = '19.0.0-beta-04b058868c-20240508';
|
||||
|
||||
var ReactSharedInternals = React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;
|
||||
|
||||
|
@ -99,6 +99,7 @@ var REACT_SCOPE_TYPE = Symbol.for('react.scope');
|
|||
var REACT_DEBUG_TRACING_MODE_TYPE = Symbol.for('react.debug_trace_mode');
|
||||
var REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');
|
||||
var REACT_LEGACY_HIDDEN_TYPE = Symbol.for('react.legacy_hidden');
|
||||
var REACT_MEMO_CACHE_SENTINEL = Symbol.for('react.memo_cache_sentinel');
|
||||
var MAYBE_ITERATOR_SYMBOL = Symbol.iterator;
|
||||
var FAUX_ITERATOR_SYMBOL = '@@iterator';
|
||||
function getIteratorFn(maybeIterable) {
|
||||
|
@ -2527,11 +2528,7 @@ var startHiddenInputChunk = stringToPrecomputedChunk('<input type="hidden"');
|
|||
function pushAdditionalFormField(value, key) {
|
||||
var target = this;
|
||||
target.push(startHiddenInputChunk);
|
||||
|
||||
if (typeof value !== 'string') {
|
||||
throw new Error('File/Blob fields are not yet supported in progressive forms. ' + 'It probably means you are closing over binary data or FormData in a Server Action.');
|
||||
}
|
||||
|
||||
validateAdditionalFormField(value);
|
||||
pushStringAttribute(target, 'name', key);
|
||||
pushStringAttribute(target, 'value', value);
|
||||
target.push(endOfStartTagSelfClosing);
|
||||
|
@ -2544,6 +2541,21 @@ function pushAdditionalFormFields(target, formData) {
|
|||
}
|
||||
}
|
||||
|
||||
function validateAdditionalFormField(value, key) {
|
||||
if (typeof value !== 'string') {
|
||||
throw new Error('File/Blob fields are not yet supported in progressive forms. ' + 'Will fallback to client hydration.');
|
||||
}
|
||||
}
|
||||
|
||||
function validateAdditionalFormFields(formData) {
|
||||
if (formData != null) {
|
||||
// $FlowFixMe[prop-missing]: FormData has forEach.
|
||||
formData.forEach(validateAdditionalFormField);
|
||||
}
|
||||
|
||||
return formData;
|
||||
}
|
||||
|
||||
function getCustomFormFields(resumableState, formAction) {
|
||||
var customAction = formAction.$$FORM_ACTION;
|
||||
|
||||
|
@ -2551,7 +2563,13 @@ function getCustomFormFields(resumableState, formAction) {
|
|||
var prefix = makeFormFieldPrefix(resumableState);
|
||||
|
||||
try {
|
||||
return formAction.$$FORM_ACTION(prefix);
|
||||
var customFields = formAction.$$FORM_ACTION(prefix);
|
||||
|
||||
if (customFields) {
|
||||
validateAdditionalFormFields(customFields.data);
|
||||
}
|
||||
|
||||
return customFields;
|
||||
} catch (x) {
|
||||
if (typeof x === 'object' && x !== null && typeof x.then === 'function') {
|
||||
// Rethrow suspense.
|
||||
|
@ -8452,6 +8470,16 @@ function useCacheRefresh() {
|
|||
return unsupportedRefresh;
|
||||
}
|
||||
|
||||
function useMemoCache(size) {
|
||||
var data = new Array(size);
|
||||
|
||||
for (var i = 0; i < size; i++) {
|
||||
data[i] = REACT_MEMO_CACHE_SENTINEL;
|
||||
}
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
function noop$1() {}
|
||||
|
||||
var HooksDispatcher = {
|
||||
|
@ -8482,6 +8510,10 @@ var HooksDispatcher = {
|
|||
HooksDispatcher.useCacheRefresh = useCacheRefresh;
|
||||
}
|
||||
|
||||
{
|
||||
HooksDispatcher.useMemoCache = useMemoCache;
|
||||
}
|
||||
|
||||
{
|
||||
HooksDispatcher.useHostTransitionStatus = useHostTransitionStatus;
|
||||
}
|
||||
|
|
|
@ -67,6 +67,7 @@ var REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"),
|
|||
REACT_DEBUG_TRACING_MODE_TYPE = Symbol.for("react.debug_trace_mode"),
|
||||
REACT_OFFSCREEN_TYPE = Symbol.for("react.offscreen"),
|
||||
REACT_LEGACY_HIDDEN_TYPE = Symbol.for("react.legacy_hidden"),
|
||||
REACT_MEMO_CACHE_SENTINEL = Symbol.for("react.memo_cache_sentinel"),
|
||||
MAYBE_ITERATOR_SYMBOL = Symbol.iterator,
|
||||
isArrayImpl = Array.isArray;
|
||||
function murmurhash3_32_gc(key, seed) {
|
||||
|
@ -431,17 +432,25 @@ var actionJavaScriptURL = escapeTextForBrowser(
|
|||
);
|
||||
function pushAdditionalFormField(value, key) {
|
||||
this.push('<input type="hidden"');
|
||||
if ("string" !== typeof value) throw Error(formatProdErrorMessage(480));
|
||||
validateAdditionalFormField(value);
|
||||
pushStringAttribute(this, "name", key);
|
||||
pushStringAttribute(this, "value", value);
|
||||
this.push("/>");
|
||||
}
|
||||
function validateAdditionalFormField(value) {
|
||||
if ("string" !== typeof value) throw Error(formatProdErrorMessage(480));
|
||||
}
|
||||
function getCustomFormFields(resumableState, formAction) {
|
||||
if ("function" === typeof formAction.$$FORM_ACTION) {
|
||||
var id = resumableState.nextFormID++;
|
||||
resumableState = resumableState.idPrefix + id;
|
||||
try {
|
||||
return formAction.$$FORM_ACTION(resumableState);
|
||||
var customFields = formAction.$$FORM_ACTION(resumableState);
|
||||
if (customFields) {
|
||||
var formData = customFields.data;
|
||||
null != formData && formData.forEach(validateAdditionalFormField);
|
||||
}
|
||||
return customFields;
|
||||
} catch (x) {
|
||||
if ("object" === typeof x && null !== x && "function" === typeof x.then)
|
||||
throw x;
|
||||
|
@ -2515,16 +2524,16 @@ function createRenderState(resumableState, generateStaticMarkup) {
|
|||
"\x3c/script>"
|
||||
);
|
||||
bootstrapScriptContent = idPrefix + "P:";
|
||||
var JSCompiler_object_inline_segmentPrefix_1483 = idPrefix + "S:";
|
||||
var JSCompiler_object_inline_segmentPrefix_1485 = idPrefix + "S:";
|
||||
idPrefix += "B:";
|
||||
var JSCompiler_object_inline_preconnects_1497 = new Set(),
|
||||
JSCompiler_object_inline_fontPreloads_1498 = new Set(),
|
||||
JSCompiler_object_inline_highImagePreloads_1499 = new Set(),
|
||||
JSCompiler_object_inline_styles_1500 = new Map(),
|
||||
JSCompiler_object_inline_bootstrapScripts_1501 = new Set(),
|
||||
JSCompiler_object_inline_scripts_1502 = new Set(),
|
||||
JSCompiler_object_inline_bulkPreloads_1503 = new Set(),
|
||||
JSCompiler_object_inline_preloads_1504 = {
|
||||
var JSCompiler_object_inline_preconnects_1499 = new Set(),
|
||||
JSCompiler_object_inline_fontPreloads_1500 = new Set(),
|
||||
JSCompiler_object_inline_highImagePreloads_1501 = new Set(),
|
||||
JSCompiler_object_inline_styles_1502 = new Map(),
|
||||
JSCompiler_object_inline_bootstrapScripts_1503 = new Set(),
|
||||
JSCompiler_object_inline_scripts_1504 = new Set(),
|
||||
JSCompiler_object_inline_bulkPreloads_1505 = new Set(),
|
||||
JSCompiler_object_inline_preloads_1506 = {
|
||||
images: new Map(),
|
||||
stylesheets: new Map(),
|
||||
scripts: new Map(),
|
||||
|
@ -2561,7 +2570,7 @@ function createRenderState(resumableState, generateStaticMarkup) {
|
|||
scriptConfig.moduleScriptResources[href] = null;
|
||||
scriptConfig = [];
|
||||
pushLinkImpl(scriptConfig, props);
|
||||
JSCompiler_object_inline_bootstrapScripts_1501.add(scriptConfig);
|
||||
JSCompiler_object_inline_bootstrapScripts_1503.add(scriptConfig);
|
||||
bootstrapChunks.push('<script src="', escapeTextForBrowser(src));
|
||||
"string" === typeof integrity &&
|
||||
bootstrapChunks.push('" integrity="', escapeTextForBrowser(integrity));
|
||||
|
@ -2602,7 +2611,7 @@ function createRenderState(resumableState, generateStaticMarkup) {
|
|||
(props.moduleScriptResources[scriptConfig] = null),
|
||||
(props = []),
|
||||
pushLinkImpl(props, integrity),
|
||||
JSCompiler_object_inline_bootstrapScripts_1501.add(props),
|
||||
JSCompiler_object_inline_bootstrapScripts_1503.add(props),
|
||||
bootstrapChunks.push(
|
||||
'<script type="module" src="',
|
||||
escapeTextForBrowser(i)
|
||||
|
@ -2617,7 +2626,7 @@ function createRenderState(resumableState, generateStaticMarkup) {
|
|||
bootstrapChunks.push('" async="">\x3c/script>');
|
||||
return {
|
||||
placeholderPrefix: bootstrapScriptContent,
|
||||
segmentPrefix: JSCompiler_object_inline_segmentPrefix_1483,
|
||||
segmentPrefix: JSCompiler_object_inline_segmentPrefix_1485,
|
||||
boundaryPrefix: idPrefix,
|
||||
startInlineScript: "<script>",
|
||||
htmlChunks: null,
|
||||
|
@ -2637,14 +2646,14 @@ function createRenderState(resumableState, generateStaticMarkup) {
|
|||
charsetChunks: [],
|
||||
viewportChunks: [],
|
||||
hoistableChunks: [],
|
||||
preconnects: JSCompiler_object_inline_preconnects_1497,
|
||||
fontPreloads: JSCompiler_object_inline_fontPreloads_1498,
|
||||
highImagePreloads: JSCompiler_object_inline_highImagePreloads_1499,
|
||||
styles: JSCompiler_object_inline_styles_1500,
|
||||
bootstrapScripts: JSCompiler_object_inline_bootstrapScripts_1501,
|
||||
scripts: JSCompiler_object_inline_scripts_1502,
|
||||
bulkPreloads: JSCompiler_object_inline_bulkPreloads_1503,
|
||||
preloads: JSCompiler_object_inline_preloads_1504,
|
||||
preconnects: JSCompiler_object_inline_preconnects_1499,
|
||||
fontPreloads: JSCompiler_object_inline_fontPreloads_1500,
|
||||
highImagePreloads: JSCompiler_object_inline_highImagePreloads_1501,
|
||||
styles: JSCompiler_object_inline_styles_1502,
|
||||
bootstrapScripts: JSCompiler_object_inline_bootstrapScripts_1503,
|
||||
scripts: JSCompiler_object_inline_scripts_1504,
|
||||
bulkPreloads: JSCompiler_object_inline_bulkPreloads_1505,
|
||||
preloads: JSCompiler_object_inline_preloads_1506,
|
||||
stylesToHoist: !1,
|
||||
generateStaticMarkup: generateStaticMarkup
|
||||
};
|
||||
|
@ -3151,6 +3160,11 @@ var HooksDispatcher = {
|
|||
useCacheRefresh: function () {
|
||||
return unsupportedRefresh;
|
||||
},
|
||||
useMemoCache: function (size) {
|
||||
for (var data = Array(size), i = 0; i < size; i++)
|
||||
data[i] = REACT_MEMO_CACHE_SENTINEL;
|
||||
return data;
|
||||
},
|
||||
useHostTransitionStatus: function () {
|
||||
resolveCurrentlyRenderingComponent();
|
||||
return sharedNotPendingObject;
|
||||
|
@ -5455,4 +5469,4 @@ exports.renderToString = function (children, options) {
|
|||
'The server used "renderToString" which does not support Suspense. If you intended for this Suspense boundary to render the fallback content on the server consider throwing an Error somewhere within the Suspense boundary. If you intended to have the server wait for the suspended component please switch to "renderToReadableStream" which supports Suspense on the server'
|
||||
);
|
||||
};
|
||||
exports.version = "19.0.0-beta-4508873393-20240430";
|
||||
exports.version = "19.0.0-beta-04b058868c-20240508";
|
||||
|
|
|
@ -17,7 +17,7 @@ if (process.env.NODE_ENV !== "production") {
|
|||
var React = require("next/dist/compiled/react");
|
||||
var ReactDOM = require('react-dom');
|
||||
|
||||
var ReactVersion = '19.0.0-beta-4508873393-20240430';
|
||||
var ReactVersion = '19.0.0-beta-04b058868c-20240508';
|
||||
|
||||
var ReactSharedInternals = React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;
|
||||
|
||||
|
@ -99,6 +99,7 @@ var REACT_SCOPE_TYPE = Symbol.for('react.scope');
|
|||
var REACT_DEBUG_TRACING_MODE_TYPE = Symbol.for('react.debug_trace_mode');
|
||||
var REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');
|
||||
var REACT_LEGACY_HIDDEN_TYPE = Symbol.for('react.legacy_hidden');
|
||||
var REACT_MEMO_CACHE_SENTINEL = Symbol.for('react.memo_cache_sentinel');
|
||||
var MAYBE_ITERATOR_SYMBOL = Symbol.iterator;
|
||||
var FAUX_ITERATOR_SYMBOL = '@@iterator';
|
||||
function getIteratorFn(maybeIterable) {
|
||||
|
@ -2527,11 +2528,7 @@ var startHiddenInputChunk = stringToPrecomputedChunk('<input type="hidden"');
|
|||
function pushAdditionalFormField(value, key) {
|
||||
var target = this;
|
||||
target.push(startHiddenInputChunk);
|
||||
|
||||
if (typeof value !== 'string') {
|
||||
throw new Error('File/Blob fields are not yet supported in progressive forms. ' + 'It probably means you are closing over binary data or FormData in a Server Action.');
|
||||
}
|
||||
|
||||
validateAdditionalFormField(value);
|
||||
pushStringAttribute(target, 'name', key);
|
||||
pushStringAttribute(target, 'value', value);
|
||||
target.push(endOfStartTagSelfClosing);
|
||||
|
@ -2544,6 +2541,21 @@ function pushAdditionalFormFields(target, formData) {
|
|||
}
|
||||
}
|
||||
|
||||
function validateAdditionalFormField(value, key) {
|
||||
if (typeof value !== 'string') {
|
||||
throw new Error('File/Blob fields are not yet supported in progressive forms. ' + 'Will fallback to client hydration.');
|
||||
}
|
||||
}
|
||||
|
||||
function validateAdditionalFormFields(formData) {
|
||||
if (formData != null) {
|
||||
// $FlowFixMe[prop-missing]: FormData has forEach.
|
||||
formData.forEach(validateAdditionalFormField);
|
||||
}
|
||||
|
||||
return formData;
|
||||
}
|
||||
|
||||
function getCustomFormFields(resumableState, formAction) {
|
||||
var customAction = formAction.$$FORM_ACTION;
|
||||
|
||||
|
@ -2551,7 +2563,13 @@ function getCustomFormFields(resumableState, formAction) {
|
|||
var prefix = makeFormFieldPrefix(resumableState);
|
||||
|
||||
try {
|
||||
return formAction.$$FORM_ACTION(prefix);
|
||||
var customFields = formAction.$$FORM_ACTION(prefix);
|
||||
|
||||
if (customFields) {
|
||||
validateAdditionalFormFields(customFields.data);
|
||||
}
|
||||
|
||||
return customFields;
|
||||
} catch (x) {
|
||||
if (typeof x === 'object' && x !== null && typeof x.then === 'function') {
|
||||
// Rethrow suspense.
|
||||
|
@ -8452,6 +8470,16 @@ function useCacheRefresh() {
|
|||
return unsupportedRefresh;
|
||||
}
|
||||
|
||||
function useMemoCache(size) {
|
||||
var data = new Array(size);
|
||||
|
||||
for (var i = 0; i < size; i++) {
|
||||
data[i] = REACT_MEMO_CACHE_SENTINEL;
|
||||
}
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
function noop$1() {}
|
||||
|
||||
var HooksDispatcher = {
|
||||
|
@ -8482,6 +8510,10 @@ var HooksDispatcher = {
|
|||
HooksDispatcher.useCacheRefresh = useCacheRefresh;
|
||||
}
|
||||
|
||||
{
|
||||
HooksDispatcher.useMemoCache = useMemoCache;
|
||||
}
|
||||
|
||||
{
|
||||
HooksDispatcher.useHostTransitionStatus = useHostTransitionStatus;
|
||||
}
|
||||
|
|
|
@ -52,6 +52,7 @@ var React = require("next/dist/compiled/react"),
|
|||
REACT_DEBUG_TRACING_MODE_TYPE = Symbol.for("react.debug_trace_mode"),
|
||||
REACT_OFFSCREEN_TYPE = Symbol.for("react.offscreen"),
|
||||
REACT_LEGACY_HIDDEN_TYPE = Symbol.for("react.legacy_hidden"),
|
||||
REACT_MEMO_CACHE_SENTINEL = Symbol.for("react.memo_cache_sentinel"),
|
||||
MAYBE_ITERATOR_SYMBOL = Symbol.iterator,
|
||||
isArrayImpl = Array.isArray;
|
||||
function murmurhash3_32_gc(key, seed) {
|
||||
|
@ -419,20 +420,28 @@ var actionJavaScriptURL = escapeTextForBrowser(
|
|||
);
|
||||
function pushAdditionalFormField(value, key) {
|
||||
this.push('<input type="hidden"');
|
||||
if ("string" !== typeof value)
|
||||
throw Error(
|
||||
"File/Blob fields are not yet supported in progressive forms. It probably means you are closing over binary data or FormData in a Server Action."
|
||||
);
|
||||
validateAdditionalFormField(value);
|
||||
pushStringAttribute(this, "name", key);
|
||||
pushStringAttribute(this, "value", value);
|
||||
this.push("/>");
|
||||
}
|
||||
function validateAdditionalFormField(value) {
|
||||
if ("string" !== typeof value)
|
||||
throw Error(
|
||||
"File/Blob fields are not yet supported in progressive forms. Will fallback to client hydration."
|
||||
);
|
||||
}
|
||||
function getCustomFormFields(resumableState, formAction) {
|
||||
if ("function" === typeof formAction.$$FORM_ACTION) {
|
||||
var id = resumableState.nextFormID++;
|
||||
resumableState = resumableState.idPrefix + id;
|
||||
try {
|
||||
return formAction.$$FORM_ACTION(resumableState);
|
||||
var customFields = formAction.$$FORM_ACTION(resumableState);
|
||||
if (customFields) {
|
||||
var formData = customFields.data;
|
||||
null != formData && formData.forEach(validateAdditionalFormField);
|
||||
}
|
||||
return customFields;
|
||||
} catch (x) {
|
||||
if ("object" === typeof x && null !== x && "function" === typeof x.then)
|
||||
throw x;
|
||||
|
@ -2534,16 +2543,16 @@ function createRenderState(resumableState, generateStaticMarkup) {
|
|||
"\x3c/script>"
|
||||
);
|
||||
bootstrapScriptContent = idPrefix + "P:";
|
||||
var JSCompiler_object_inline_segmentPrefix_1483 = idPrefix + "S:";
|
||||
var JSCompiler_object_inline_segmentPrefix_1485 = idPrefix + "S:";
|
||||
idPrefix += "B:";
|
||||
var JSCompiler_object_inline_preconnects_1497 = new Set(),
|
||||
JSCompiler_object_inline_fontPreloads_1498 = new Set(),
|
||||
JSCompiler_object_inline_highImagePreloads_1499 = new Set(),
|
||||
JSCompiler_object_inline_styles_1500 = new Map(),
|
||||
JSCompiler_object_inline_bootstrapScripts_1501 = new Set(),
|
||||
JSCompiler_object_inline_scripts_1502 = new Set(),
|
||||
JSCompiler_object_inline_bulkPreloads_1503 = new Set(),
|
||||
JSCompiler_object_inline_preloads_1504 = {
|
||||
var JSCompiler_object_inline_preconnects_1499 = new Set(),
|
||||
JSCompiler_object_inline_fontPreloads_1500 = new Set(),
|
||||
JSCompiler_object_inline_highImagePreloads_1501 = new Set(),
|
||||
JSCompiler_object_inline_styles_1502 = new Map(),
|
||||
JSCompiler_object_inline_bootstrapScripts_1503 = new Set(),
|
||||
JSCompiler_object_inline_scripts_1504 = new Set(),
|
||||
JSCompiler_object_inline_bulkPreloads_1505 = new Set(),
|
||||
JSCompiler_object_inline_preloads_1506 = {
|
||||
images: new Map(),
|
||||
stylesheets: new Map(),
|
||||
scripts: new Map(),
|
||||
|
@ -2580,7 +2589,7 @@ function createRenderState(resumableState, generateStaticMarkup) {
|
|||
scriptConfig.moduleScriptResources[href] = null;
|
||||
scriptConfig = [];
|
||||
pushLinkImpl(scriptConfig, props);
|
||||
JSCompiler_object_inline_bootstrapScripts_1501.add(scriptConfig);
|
||||
JSCompiler_object_inline_bootstrapScripts_1503.add(scriptConfig);
|
||||
bootstrapChunks.push('<script src="', escapeTextForBrowser(src));
|
||||
"string" === typeof integrity &&
|
||||
bootstrapChunks.push('" integrity="', escapeTextForBrowser(integrity));
|
||||
|
@ -2621,7 +2630,7 @@ function createRenderState(resumableState, generateStaticMarkup) {
|
|||
(props.moduleScriptResources[scriptConfig] = null),
|
||||
(props = []),
|
||||
pushLinkImpl(props, integrity),
|
||||
JSCompiler_object_inline_bootstrapScripts_1501.add(props),
|
||||
JSCompiler_object_inline_bootstrapScripts_1503.add(props),
|
||||
bootstrapChunks.push(
|
||||
'<script type="module" src="',
|
||||
escapeTextForBrowser(i)
|
||||
|
@ -2636,7 +2645,7 @@ function createRenderState(resumableState, generateStaticMarkup) {
|
|||
bootstrapChunks.push('" async="">\x3c/script>');
|
||||
return {
|
||||
placeholderPrefix: bootstrapScriptContent,
|
||||
segmentPrefix: JSCompiler_object_inline_segmentPrefix_1483,
|
||||
segmentPrefix: JSCompiler_object_inline_segmentPrefix_1485,
|
||||
boundaryPrefix: idPrefix,
|
||||
startInlineScript: "<script>",
|
||||
htmlChunks: null,
|
||||
|
@ -2656,14 +2665,14 @@ function createRenderState(resumableState, generateStaticMarkup) {
|
|||
charsetChunks: [],
|
||||
viewportChunks: [],
|
||||
hoistableChunks: [],
|
||||
preconnects: JSCompiler_object_inline_preconnects_1497,
|
||||
fontPreloads: JSCompiler_object_inline_fontPreloads_1498,
|
||||
highImagePreloads: JSCompiler_object_inline_highImagePreloads_1499,
|
||||
styles: JSCompiler_object_inline_styles_1500,
|
||||
bootstrapScripts: JSCompiler_object_inline_bootstrapScripts_1501,
|
||||
scripts: JSCompiler_object_inline_scripts_1502,
|
||||
bulkPreloads: JSCompiler_object_inline_bulkPreloads_1503,
|
||||
preloads: JSCompiler_object_inline_preloads_1504,
|
||||
preconnects: JSCompiler_object_inline_preconnects_1499,
|
||||
fontPreloads: JSCompiler_object_inline_fontPreloads_1500,
|
||||
highImagePreloads: JSCompiler_object_inline_highImagePreloads_1501,
|
||||
styles: JSCompiler_object_inline_styles_1502,
|
||||
bootstrapScripts: JSCompiler_object_inline_bootstrapScripts_1503,
|
||||
scripts: JSCompiler_object_inline_scripts_1504,
|
||||
bulkPreloads: JSCompiler_object_inline_bulkPreloads_1505,
|
||||
preloads: JSCompiler_object_inline_preloads_1506,
|
||||
stylesToHoist: !1,
|
||||
generateStaticMarkup: generateStaticMarkup
|
||||
};
|
||||
|
@ -3199,6 +3208,11 @@ var HooksDispatcher = {
|
|||
useCacheRefresh: function () {
|
||||
return unsupportedRefresh;
|
||||
},
|
||||
useMemoCache: function (size) {
|
||||
for (var data = Array(size), i = 0; i < size; i++)
|
||||
data[i] = REACT_MEMO_CACHE_SENTINEL;
|
||||
return data;
|
||||
},
|
||||
useHostTransitionStatus: function () {
|
||||
resolveCurrentlyRenderingComponent();
|
||||
return sharedNotPendingObject;
|
||||
|
@ -5537,4 +5551,4 @@ exports.renderToString = function (children, options) {
|
|||
'The server used "renderToString" which does not support Suspense. If you intended for this Suspense boundary to render the fallback content on the server consider throwing an Error somewhere within the Suspense boundary. If you intended to have the server wait for the suspended component please switch to "renderToPipeableStream" which supports Suspense on the server'
|
||||
);
|
||||
};
|
||||
exports.version = "19.0.0-beta-4508873393-20240430";
|
||||
exports.version = "19.0.0-beta-04b058868c-20240508";
|
||||
|
|
|
@ -17,7 +17,7 @@ if (process.env.NODE_ENV !== "production") {
|
|||
var React = require("next/dist/compiled/react");
|
||||
var ReactDOM = require('react-dom');
|
||||
|
||||
var ReactVersion = '19.0.0-beta-4508873393-20240430';
|
||||
var ReactVersion = '19.0.0-beta-04b058868c-20240508';
|
||||
|
||||
var ReactSharedInternals = React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;
|
||||
|
||||
|
@ -99,6 +99,7 @@ var REACT_SCOPE_TYPE = Symbol.for('react.scope');
|
|||
var REACT_DEBUG_TRACING_MODE_TYPE = Symbol.for('react.debug_trace_mode');
|
||||
var REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');
|
||||
var REACT_LEGACY_HIDDEN_TYPE = Symbol.for('react.legacy_hidden');
|
||||
var REACT_MEMO_CACHE_SENTINEL = Symbol.for('react.memo_cache_sentinel');
|
||||
var MAYBE_ITERATOR_SYMBOL = Symbol.iterator;
|
||||
var FAUX_ITERATOR_SYMBOL = '@@iterator';
|
||||
function getIteratorFn(maybeIterable) {
|
||||
|
@ -2606,11 +2607,7 @@ var startHiddenInputChunk = stringToPrecomputedChunk('<input type="hidden"');
|
|||
function pushAdditionalFormField(value, key) {
|
||||
var target = this;
|
||||
target.push(startHiddenInputChunk);
|
||||
|
||||
if (typeof value !== 'string') {
|
||||
throw new Error('File/Blob fields are not yet supported in progressive forms. ' + 'It probably means you are closing over binary data or FormData in a Server Action.');
|
||||
}
|
||||
|
||||
validateAdditionalFormField(value);
|
||||
pushStringAttribute(target, 'name', key);
|
||||
pushStringAttribute(target, 'value', value);
|
||||
target.push(endOfStartTagSelfClosing);
|
||||
|
@ -2623,6 +2620,21 @@ function pushAdditionalFormFields(target, formData) {
|
|||
}
|
||||
}
|
||||
|
||||
function validateAdditionalFormField(value, key) {
|
||||
if (typeof value !== 'string') {
|
||||
throw new Error('File/Blob fields are not yet supported in progressive forms. ' + 'Will fallback to client hydration.');
|
||||
}
|
||||
}
|
||||
|
||||
function validateAdditionalFormFields(formData) {
|
||||
if (formData != null) {
|
||||
// $FlowFixMe[prop-missing]: FormData has forEach.
|
||||
formData.forEach(validateAdditionalFormField);
|
||||
}
|
||||
|
||||
return formData;
|
||||
}
|
||||
|
||||
function getCustomFormFields(resumableState, formAction) {
|
||||
var customAction = formAction.$$FORM_ACTION;
|
||||
|
||||
|
@ -2630,7 +2642,13 @@ function getCustomFormFields(resumableState, formAction) {
|
|||
var prefix = makeFormFieldPrefix(resumableState);
|
||||
|
||||
try {
|
||||
return formAction.$$FORM_ACTION(prefix);
|
||||
var customFields = formAction.$$FORM_ACTION(prefix);
|
||||
|
||||
if (customFields) {
|
||||
validateAdditionalFormFields(customFields.data);
|
||||
}
|
||||
|
||||
return customFields;
|
||||
} catch (x) {
|
||||
if (typeof x === 'object' && x !== null && typeof x.then === 'function') {
|
||||
// Rethrow suspense.
|
||||
|
@ -8460,6 +8478,16 @@ function useCacheRefresh() {
|
|||
return unsupportedRefresh;
|
||||
}
|
||||
|
||||
function useMemoCache(size) {
|
||||
var data = new Array(size);
|
||||
|
||||
for (var i = 0; i < size; i++) {
|
||||
data[i] = REACT_MEMO_CACHE_SENTINEL;
|
||||
}
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
function noop$1() {}
|
||||
|
||||
var HooksDispatcher = {
|
||||
|
@ -8490,6 +8518,10 @@ var HooksDispatcher = {
|
|||
HooksDispatcher.useCacheRefresh = useCacheRefresh;
|
||||
}
|
||||
|
||||
{
|
||||
HooksDispatcher.useMemoCache = useMemoCache;
|
||||
}
|
||||
|
||||
{
|
||||
HooksDispatcher.useHostTransitionStatus = useHostTransitionStatus;
|
||||
}
|
||||
|
|
|
@ -67,6 +67,7 @@ var REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"),
|
|||
REACT_DEBUG_TRACING_MODE_TYPE = Symbol.for("react.debug_trace_mode"),
|
||||
REACT_OFFSCREEN_TYPE = Symbol.for("react.offscreen"),
|
||||
REACT_LEGACY_HIDDEN_TYPE = Symbol.for("react.legacy_hidden"),
|
||||
REACT_MEMO_CACHE_SENTINEL = Symbol.for("react.memo_cache_sentinel"),
|
||||
MAYBE_ITERATOR_SYMBOL = Symbol.iterator,
|
||||
isArrayImpl = Array.isArray;
|
||||
function murmurhash3_32_gc(key, seed) {
|
||||
|
@ -729,17 +730,25 @@ var actionJavaScriptURL = stringToPrecomputedChunk(
|
|||
startHiddenInputChunk = stringToPrecomputedChunk('<input type="hidden"');
|
||||
function pushAdditionalFormField(value, key) {
|
||||
this.push(startHiddenInputChunk);
|
||||
if ("string" !== typeof value) throw Error(formatProdErrorMessage(480));
|
||||
validateAdditionalFormField(value);
|
||||
pushStringAttribute(this, "name", key);
|
||||
pushStringAttribute(this, "value", value);
|
||||
this.push(endOfStartTagSelfClosing);
|
||||
}
|
||||
function validateAdditionalFormField(value) {
|
||||
if ("string" !== typeof value) throw Error(formatProdErrorMessage(480));
|
||||
}
|
||||
function getCustomFormFields(resumableState, formAction) {
|
||||
if ("function" === typeof formAction.$$FORM_ACTION) {
|
||||
var id = resumableState.nextFormID++;
|
||||
resumableState = resumableState.idPrefix + id;
|
||||
try {
|
||||
return formAction.$$FORM_ACTION(resumableState);
|
||||
var customFields = formAction.$$FORM_ACTION(resumableState);
|
||||
if (customFields) {
|
||||
var formData = customFields.data;
|
||||
null != formData && formData.forEach(validateAdditionalFormField);
|
||||
}
|
||||
return customFields;
|
||||
} catch (x) {
|
||||
if ("object" === typeof x && null !== x && "function" === typeof x.then)
|
||||
throw x;
|
||||
|
@ -3486,6 +3495,11 @@ var HooksDispatcher = {
|
|||
useCacheRefresh: function () {
|
||||
return unsupportedRefresh;
|
||||
},
|
||||
useMemoCache: function (size) {
|
||||
for (var data = Array(size), i = 0; i < size; i++)
|
||||
data[i] = REACT_MEMO_CACHE_SENTINEL;
|
||||
return data;
|
||||
},
|
||||
useHostTransitionStatus: function () {
|
||||
resolveCurrentlyRenderingComponent();
|
||||
return sharedNotPendingObject;
|
||||
|
@ -5790,4 +5804,4 @@ exports.renderToReadableStream = function (children, options) {
|
|||
safelyEmitEarlyPreloads(request, 0 === request.pendingRootTasks);
|
||||
});
|
||||
};
|
||||
exports.version = "19.0.0-beta-4508873393-20240430";
|
||||
exports.version = "19.0.0-beta-04b058868c-20240508";
|
||||
|
|
|
@ -28,6 +28,7 @@ var React = require("next/dist/compiled/react"),
|
|||
REACT_DEBUG_TRACING_MODE_TYPE = Symbol.for("react.debug_trace_mode"),
|
||||
REACT_OFFSCREEN_TYPE = Symbol.for("react.offscreen"),
|
||||
REACT_LEGACY_HIDDEN_TYPE = Symbol.for("react.legacy_hidden"),
|
||||
REACT_MEMO_CACHE_SENTINEL = Symbol.for("react.memo_cache_sentinel"),
|
||||
MAYBE_ITERATOR_SYMBOL = Symbol.iterator,
|
||||
isArrayImpl = Array.isArray;
|
||||
function flushBuffered(destination) {
|
||||
|
@ -548,20 +549,28 @@ var actionJavaScriptURL = escapeTextForBrowser(
|
|||
);
|
||||
function pushAdditionalFormField(value, key) {
|
||||
this.push('<input type="hidden"');
|
||||
if ("string" !== typeof value)
|
||||
throw Error(
|
||||
"File/Blob fields are not yet supported in progressive forms. It probably means you are closing over binary data or FormData in a Server Action."
|
||||
);
|
||||
validateAdditionalFormField(value);
|
||||
pushStringAttribute(this, "name", key);
|
||||
pushStringAttribute(this, "value", value);
|
||||
this.push("/>");
|
||||
}
|
||||
function validateAdditionalFormField(value) {
|
||||
if ("string" !== typeof value)
|
||||
throw Error(
|
||||
"File/Blob fields are not yet supported in progressive forms. Will fallback to client hydration."
|
||||
);
|
||||
}
|
||||
function getCustomFormFields(resumableState, formAction) {
|
||||
if ("function" === typeof formAction.$$FORM_ACTION) {
|
||||
var id = resumableState.nextFormID++;
|
||||
resumableState = resumableState.idPrefix + id;
|
||||
try {
|
||||
return formAction.$$FORM_ACTION(resumableState);
|
||||
var customFields = formAction.$$FORM_ACTION(resumableState);
|
||||
if (customFields) {
|
||||
var formData = customFields.data;
|
||||
null != formData && formData.forEach(validateAdditionalFormField);
|
||||
}
|
||||
return customFields;
|
||||
} catch (x) {
|
||||
if ("object" === typeof x && null !== x && "function" === typeof x.then)
|
||||
throw x;
|
||||
|
@ -3169,6 +3178,11 @@ var HooksDispatcher = {
|
|||
useCacheRefresh: function () {
|
||||
return unsupportedRefresh;
|
||||
},
|
||||
useMemoCache: function (size) {
|
||||
for (var data = Array(size), i = 0; i < size; i++)
|
||||
data[i] = REACT_MEMO_CACHE_SENTINEL;
|
||||
return data;
|
||||
},
|
||||
useHostTransitionStatus: function () {
|
||||
resolveCurrentlyRenderingComponent();
|
||||
return sharedNotPendingObject;
|
||||
|
@ -5503,4 +5517,4 @@ exports.renderToReadableStream = function (children, options) {
|
|||
safelyEmitEarlyPreloads(request, 0 === request.pendingRootTasks);
|
||||
});
|
||||
};
|
||||
exports.version = "19.0.0-beta-4508873393-20240430";
|
||||
exports.version = "19.0.0-beta-04b058868c-20240508";
|
||||
|
|
|
@ -17,7 +17,7 @@ if (process.env.NODE_ENV !== "production") {
|
|||
var React = require("next/dist/compiled/react");
|
||||
var ReactDOM = require('react-dom');
|
||||
|
||||
var ReactVersion = '19.0.0-beta-4508873393-20240430';
|
||||
var ReactVersion = '19.0.0-beta-04b058868c-20240508';
|
||||
|
||||
var ReactSharedInternals = React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;
|
||||
|
||||
|
@ -99,6 +99,7 @@ var REACT_SCOPE_TYPE = Symbol.for('react.scope');
|
|||
var REACT_DEBUG_TRACING_MODE_TYPE = Symbol.for('react.debug_trace_mode');
|
||||
var REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');
|
||||
var REACT_LEGACY_HIDDEN_TYPE = Symbol.for('react.legacy_hidden');
|
||||
var REACT_MEMO_CACHE_SENTINEL = Symbol.for('react.memo_cache_sentinel');
|
||||
var MAYBE_ITERATOR_SYMBOL = Symbol.iterator;
|
||||
var FAUX_ITERATOR_SYMBOL = '@@iterator';
|
||||
function getIteratorFn(maybeIterable) {
|
||||
|
@ -2606,11 +2607,7 @@ var startHiddenInputChunk = stringToPrecomputedChunk('<input type="hidden"');
|
|||
function pushAdditionalFormField(value, key) {
|
||||
var target = this;
|
||||
target.push(startHiddenInputChunk);
|
||||
|
||||
if (typeof value !== 'string') {
|
||||
throw new Error('File/Blob fields are not yet supported in progressive forms. ' + 'It probably means you are closing over binary data or FormData in a Server Action.');
|
||||
}
|
||||
|
||||
validateAdditionalFormField(value);
|
||||
pushStringAttribute(target, 'name', key);
|
||||
pushStringAttribute(target, 'value', value);
|
||||
target.push(endOfStartTagSelfClosing);
|
||||
|
@ -2623,6 +2620,21 @@ function pushAdditionalFormFields(target, formData) {
|
|||
}
|
||||
}
|
||||
|
||||
function validateAdditionalFormField(value, key) {
|
||||
if (typeof value !== 'string') {
|
||||
throw new Error('File/Blob fields are not yet supported in progressive forms. ' + 'Will fallback to client hydration.');
|
||||
}
|
||||
}
|
||||
|
||||
function validateAdditionalFormFields(formData) {
|
||||
if (formData != null) {
|
||||
// $FlowFixMe[prop-missing]: FormData has forEach.
|
||||
formData.forEach(validateAdditionalFormField);
|
||||
}
|
||||
|
||||
return formData;
|
||||
}
|
||||
|
||||
function getCustomFormFields(resumableState, formAction) {
|
||||
var customAction = formAction.$$FORM_ACTION;
|
||||
|
||||
|
@ -2630,7 +2642,13 @@ function getCustomFormFields(resumableState, formAction) {
|
|||
var prefix = makeFormFieldPrefix(resumableState);
|
||||
|
||||
try {
|
||||
return formAction.$$FORM_ACTION(prefix);
|
||||
var customFields = formAction.$$FORM_ACTION(prefix);
|
||||
|
||||
if (customFields) {
|
||||
validateAdditionalFormFields(customFields.data);
|
||||
}
|
||||
|
||||
return customFields;
|
||||
} catch (x) {
|
||||
if (typeof x === 'object' && x !== null && typeof x.then === 'function') {
|
||||
// Rethrow suspense.
|
||||
|
@ -8463,6 +8481,16 @@ function useCacheRefresh() {
|
|||
return unsupportedRefresh;
|
||||
}
|
||||
|
||||
function useMemoCache(size) {
|
||||
var data = new Array(size);
|
||||
|
||||
for (var i = 0; i < size; i++) {
|
||||
data[i] = REACT_MEMO_CACHE_SENTINEL;
|
||||
}
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
function noop$1() {}
|
||||
|
||||
var HooksDispatcher = {
|
||||
|
@ -8493,6 +8521,10 @@ var HooksDispatcher = {
|
|||
HooksDispatcher.useCacheRefresh = useCacheRefresh;
|
||||
}
|
||||
|
||||
{
|
||||
HooksDispatcher.useMemoCache = useMemoCache;
|
||||
}
|
||||
|
||||
{
|
||||
HooksDispatcher.useHostTransitionStatus = useHostTransitionStatus;
|
||||
}
|
||||
|
|
|
@ -52,6 +52,7 @@ var React = require("next/dist/compiled/react"),
|
|||
REACT_DEBUG_TRACING_MODE_TYPE = Symbol.for("react.debug_trace_mode"),
|
||||
REACT_OFFSCREEN_TYPE = Symbol.for("react.offscreen"),
|
||||
REACT_LEGACY_HIDDEN_TYPE = Symbol.for("react.legacy_hidden"),
|
||||
REACT_MEMO_CACHE_SENTINEL = Symbol.for("react.memo_cache_sentinel"),
|
||||
MAYBE_ITERATOR_SYMBOL = Symbol.iterator,
|
||||
isArrayImpl = Array.isArray;
|
||||
function murmurhash3_32_gc(key, seed) {
|
||||
|
@ -717,20 +718,28 @@ var actionJavaScriptURL = stringToPrecomputedChunk(
|
|||
startHiddenInputChunk = stringToPrecomputedChunk('<input type="hidden"');
|
||||
function pushAdditionalFormField(value, key) {
|
||||
this.push(startHiddenInputChunk);
|
||||
if ("string" !== typeof value)
|
||||
throw Error(
|
||||
"File/Blob fields are not yet supported in progressive forms. It probably means you are closing over binary data or FormData in a Server Action."
|
||||
);
|
||||
validateAdditionalFormField(value);
|
||||
pushStringAttribute(this, "name", key);
|
||||
pushStringAttribute(this, "value", value);
|
||||
this.push(endOfStartTagSelfClosing);
|
||||
}
|
||||
function validateAdditionalFormField(value) {
|
||||
if ("string" !== typeof value)
|
||||
throw Error(
|
||||
"File/Blob fields are not yet supported in progressive forms. Will fallback to client hydration."
|
||||
);
|
||||
}
|
||||
function getCustomFormFields(resumableState, formAction) {
|
||||
if ("function" === typeof formAction.$$FORM_ACTION) {
|
||||
var id = resumableState.nextFormID++;
|
||||
resumableState = resumableState.idPrefix + id;
|
||||
try {
|
||||
return formAction.$$FORM_ACTION(resumableState);
|
||||
var customFields = formAction.$$FORM_ACTION(resumableState);
|
||||
if (customFields) {
|
||||
var formData = customFields.data;
|
||||
null != formData && formData.forEach(validateAdditionalFormField);
|
||||
}
|
||||
return customFields;
|
||||
} catch (x) {
|
||||
if ("object" === typeof x && null !== x && "function" === typeof x.then)
|
||||
throw x;
|
||||
|
@ -3536,6 +3545,11 @@ var HooksDispatcher = {
|
|||
useCacheRefresh: function () {
|
||||
return unsupportedRefresh;
|
||||
},
|
||||
useMemoCache: function (size) {
|
||||
for (var data = Array(size), i = 0; i < size; i++)
|
||||
data[i] = REACT_MEMO_CACHE_SENTINEL;
|
||||
return data;
|
||||
},
|
||||
useHostTransitionStatus: function () {
|
||||
resolveCurrentlyRenderingComponent();
|
||||
return sharedNotPendingObject;
|
||||
|
@ -5902,4 +5916,4 @@ exports.renderToReadableStream = function (children, options) {
|
|||
startWork(request);
|
||||
});
|
||||
};
|
||||
exports.version = "19.0.0-beta-4508873393-20240430";
|
||||
exports.version = "19.0.0-beta-04b058868c-20240508";
|
||||
|
|
|
@ -20,7 +20,7 @@ var crypto = require('crypto');
|
|||
var async_hooks = require('async_hooks');
|
||||
var ReactDOM = require('react-dom');
|
||||
|
||||
var ReactVersion = '19.0.0-beta-4508873393-20240430';
|
||||
var ReactVersion = '19.0.0-beta-04b058868c-20240508';
|
||||
|
||||
var ReactSharedInternals = React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;
|
||||
|
||||
|
@ -102,6 +102,7 @@ var REACT_SCOPE_TYPE = Symbol.for('react.scope');
|
|||
var REACT_DEBUG_TRACING_MODE_TYPE = Symbol.for('react.debug_trace_mode');
|
||||
var REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');
|
||||
var REACT_LEGACY_HIDDEN_TYPE = Symbol.for('react.legacy_hidden');
|
||||
var REACT_MEMO_CACHE_SENTINEL = Symbol.for('react.memo_cache_sentinel');
|
||||
var MAYBE_ITERATOR_SYMBOL = Symbol.iterator;
|
||||
var FAUX_ITERATOR_SYMBOL = '@@iterator';
|
||||
function getIteratorFn(maybeIterable) {
|
||||
|
@ -2586,11 +2587,7 @@ var startHiddenInputChunk = stringToPrecomputedChunk('<input type="hidden"');
|
|||
function pushAdditionalFormField(value, key) {
|
||||
var target = this;
|
||||
target.push(startHiddenInputChunk);
|
||||
|
||||
if (typeof value !== 'string') {
|
||||
throw new Error('File/Blob fields are not yet supported in progressive forms. ' + 'It probably means you are closing over binary data or FormData in a Server Action.');
|
||||
}
|
||||
|
||||
validateAdditionalFormField(value);
|
||||
pushStringAttribute(target, 'name', key);
|
||||
pushStringAttribute(target, 'value', value);
|
||||
target.push(endOfStartTagSelfClosing);
|
||||
|
@ -2603,6 +2600,21 @@ function pushAdditionalFormFields(target, formData) {
|
|||
}
|
||||
}
|
||||
|
||||
function validateAdditionalFormField(value, key) {
|
||||
if (typeof value !== 'string') {
|
||||
throw new Error('File/Blob fields are not yet supported in progressive forms. ' + 'Will fallback to client hydration.');
|
||||
}
|
||||
}
|
||||
|
||||
function validateAdditionalFormFields(formData) {
|
||||
if (formData != null) {
|
||||
// $FlowFixMe[prop-missing]: FormData has forEach.
|
||||
formData.forEach(validateAdditionalFormField);
|
||||
}
|
||||
|
||||
return formData;
|
||||
}
|
||||
|
||||
function getCustomFormFields(resumableState, formAction) {
|
||||
var customAction = formAction.$$FORM_ACTION;
|
||||
|
||||
|
@ -2610,7 +2622,13 @@ function getCustomFormFields(resumableState, formAction) {
|
|||
var prefix = makeFormFieldPrefix(resumableState);
|
||||
|
||||
try {
|
||||
return formAction.$$FORM_ACTION(prefix);
|
||||
var customFields = formAction.$$FORM_ACTION(prefix);
|
||||
|
||||
if (customFields) {
|
||||
validateAdditionalFormFields(customFields.data);
|
||||
}
|
||||
|
||||
return customFields;
|
||||
} catch (x) {
|
||||
if (typeof x === 'object' && x !== null && typeof x.then === 'function') {
|
||||
// Rethrow suspense.
|
||||
|
@ -8442,6 +8460,16 @@ function useCacheRefresh() {
|
|||
return unsupportedRefresh;
|
||||
}
|
||||
|
||||
function useMemoCache(size) {
|
||||
var data = new Array(size);
|
||||
|
||||
for (var i = 0; i < size; i++) {
|
||||
data[i] = REACT_MEMO_CACHE_SENTINEL;
|
||||
}
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
function noop$1() {}
|
||||
|
||||
var HooksDispatcher = {
|
||||
|
@ -8472,6 +8500,10 @@ var HooksDispatcher = {
|
|||
HooksDispatcher.useCacheRefresh = useCacheRefresh;
|
||||
}
|
||||
|
||||
{
|
||||
HooksDispatcher.useMemoCache = useMemoCache;
|
||||
}
|
||||
|
||||
{
|
||||
HooksDispatcher.useHostTransitionStatus = useHostTransitionStatus;
|
||||
}
|
||||
|
|
|
@ -31,6 +31,7 @@ var util = require("util"),
|
|||
REACT_DEBUG_TRACING_MODE_TYPE = Symbol.for("react.debug_trace_mode"),
|
||||
REACT_OFFSCREEN_TYPE = Symbol.for("react.offscreen"),
|
||||
REACT_LEGACY_HIDDEN_TYPE = Symbol.for("react.legacy_hidden"),
|
||||
REACT_MEMO_CACHE_SENTINEL = Symbol.for("react.memo_cache_sentinel"),
|
||||
MAYBE_ITERATOR_SYMBOL = Symbol.iterator,
|
||||
isArrayImpl = Array.isArray;
|
||||
function flushBuffered(destination) {
|
||||
|
@ -448,20 +449,28 @@ var actionJavaScriptURL = stringToPrecomputedChunk(
|
|||
startHiddenInputChunk = stringToPrecomputedChunk('<input type="hidden"');
|
||||
function pushAdditionalFormField(value, key) {
|
||||
this.push(startHiddenInputChunk);
|
||||
if ("string" !== typeof value)
|
||||
throw Error(
|
||||
"File/Blob fields are not yet supported in progressive forms. It probably means you are closing over binary data or FormData in a Server Action."
|
||||
);
|
||||
validateAdditionalFormField(value);
|
||||
pushStringAttribute(this, "name", key);
|
||||
pushStringAttribute(this, "value", value);
|
||||
this.push(endOfStartTagSelfClosing);
|
||||
}
|
||||
function validateAdditionalFormField(value) {
|
||||
if ("string" !== typeof value)
|
||||
throw Error(
|
||||
"File/Blob fields are not yet supported in progressive forms. Will fallback to client hydration."
|
||||
);
|
||||
}
|
||||
function getCustomFormFields(resumableState, formAction) {
|
||||
if ("function" === typeof formAction.$$FORM_ACTION) {
|
||||
var id = resumableState.nextFormID++;
|
||||
resumableState = resumableState.idPrefix + id;
|
||||
try {
|
||||
return formAction.$$FORM_ACTION(resumableState);
|
||||
var customFields = formAction.$$FORM_ACTION(resumableState);
|
||||
if (customFields) {
|
||||
var formData = customFields.data;
|
||||
null != formData && formData.forEach(validateAdditionalFormField);
|
||||
}
|
||||
return customFields;
|
||||
} catch (x) {
|
||||
if ("object" === typeof x && null !== x && "function" === typeof x.then)
|
||||
throw x;
|
||||
|
@ -3231,6 +3240,11 @@ var HooksDispatcher = {
|
|||
useCacheRefresh: function () {
|
||||
return unsupportedRefresh;
|
||||
},
|
||||
useMemoCache: function (size) {
|
||||
for (var data = Array(size), i = 0; i < size; i++)
|
||||
data[i] = REACT_MEMO_CACHE_SENTINEL;
|
||||
return data;
|
||||
},
|
||||
useHostTransitionStatus: function () {
|
||||
resolveCurrentlyRenderingComponent();
|
||||
return sharedNotPendingObject;
|
||||
|
@ -5765,4 +5779,4 @@ exports.renderToPipeableStream = function (children, options) {
|
|||
}
|
||||
};
|
||||
};
|
||||
exports.version = "19.0.0-beta-4508873393-20240430";
|
||||
exports.version = "19.0.0-beta-04b058868c-20240508";
|
||||
|
|
|
@ -12,10 +12,7 @@
|
|||
|
||||
if (process.env.NODE_ENV !== "production") {
|
||||
(function() {
|
||||
|
||||
'use strict';
|
||||
|
||||
/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */
|
||||
'use strict';
|
||||
if (
|
||||
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&
|
||||
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart ===
|
||||
|
@ -23,7 +20,7 @@ if (
|
|||
) {
|
||||
__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());
|
||||
}
|
||||
var React = require("next/dist/compiled/react");
|
||||
var React = require("next/dist/compiled/react");
|
||||
|
||||
var ReactSharedInternals = React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;
|
||||
|
||||
|
@ -129,7 +126,7 @@ var Internals = {
|
|||
findDOMNode: null
|
||||
};
|
||||
|
||||
var ReactVersion = '19.0.0-beta-4508873393-20240430';
|
||||
var ReactVersion = '19.0.0-beta-04b058868c-20240508';
|
||||
|
||||
/**
|
||||
* HTML nodeType values that represent the type of the node
|
||||
|
@ -613,7 +610,6 @@ exports.unstable_batchedUpdates = batchedUpdates;
|
|||
exports.useFormState = useFormState;
|
||||
exports.useFormStatus = useFormStatus;
|
||||
exports.version = ReactVersion;
|
||||
/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */
|
||||
if (
|
||||
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&
|
||||
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop ===
|
||||
|
|
|
@ -206,4 +206,4 @@ exports.useFormState = function (action, initialState, permalink) {
|
|||
exports.useFormStatus = function () {
|
||||
return ReactSharedInternals.H.useHostTransitionStatus();
|
||||
};
|
||||
exports.version = "19.0.0-beta-4508873393-20240430";
|
||||
exports.version = "19.0.0-beta-04b058868c-20240508";
|
||||
|
|
|
@ -67,10 +67,10 @@
|
|||
"./package.json": "./package.json"
|
||||
},
|
||||
"dependencies": {
|
||||
"scheduler": "0.25.0-beta-4508873393-20240430"
|
||||
"scheduler": "0.25.0-beta-04b058868c-20240508"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": "19.0.0-beta-4508873393-20240430"
|
||||
"react": "19.0.0-beta-04b058868c-20240508"
|
||||
},
|
||||
"browser": {
|
||||
"./server.js": "./server.browser.js",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "react-is",
|
||||
"version": "19.0.0-beta-4508873393-20240430",
|
||||
"version": "19.0.0-beta-04b058868c-20240508",
|
||||
"description": "Brand checking of React Elements.",
|
||||
"main": "index.js",
|
||||
"sideEffects": false,
|
||||
|
|
|
@ -944,12 +944,12 @@ function processReply(root, formFieldPrefix, temporaryReferences, resolve, rejec
|
|||
// While the first promise resolved, its value isn't necessarily what we'll
|
||||
// resolve into because we might suspend again.
|
||||
try {
|
||||
var _partJSON = JSON.stringify(value, resolveToJSON); // $FlowFixMe[incompatible-type] We know it's not null because we assigned it above.
|
||||
var _partJSON2 = JSON.stringify(value, resolveToJSON); // $FlowFixMe[incompatible-type] We know it's not null because we assigned it above.
|
||||
|
||||
|
||||
var _data = formData; // eslint-disable-next-line react-internal/safe-string-coercion
|
||||
|
||||
_data.append(formFieldPrefix + _lazyId, _partJSON);
|
||||
_data.append(formFieldPrefix + _lazyId, _partJSON2);
|
||||
|
||||
pendingParts--;
|
||||
|
||||
|
@ -990,12 +990,12 @@ function processReply(root, formFieldPrefix, temporaryReferences, resolve, rejec
|
|||
|
||||
_thenable.then(function (partValue) {
|
||||
try {
|
||||
var _partJSON2 = JSON.stringify(partValue, resolveToJSON); // $FlowFixMe[incompatible-type] We know it's not null because we assigned it above.
|
||||
var _partJSON3 = JSON.stringify(partValue, resolveToJSON); // $FlowFixMe[incompatible-type] We know it's not null because we assigned it above.
|
||||
|
||||
|
||||
var _data2 = formData; // eslint-disable-next-line react-internal/safe-string-coercion
|
||||
|
||||
_data2.append(formFieldPrefix + promiseId, _partJSON2);
|
||||
_data2.append(formFieldPrefix + promiseId, _partJSON3);
|
||||
|
||||
pendingParts--;
|
||||
|
||||
|
@ -1005,11 +1005,9 @@ function processReply(root, formFieldPrefix, temporaryReferences, resolve, rejec
|
|||
} catch (reason) {
|
||||
reject(reason);
|
||||
}
|
||||
}, function (reason) {
|
||||
// In the future we could consider serializing this as an error
|
||||
}, // In the future we could consider serializing this as an error
|
||||
// that throws on the server instead.
|
||||
reject(reason);
|
||||
});
|
||||
reject);
|
||||
|
||||
return serializePromiseID(promiseId);
|
||||
}
|
||||
|
@ -1040,26 +1038,26 @@ function processReply(root, formFieldPrefix, temporaryReferences, resolve, rejec
|
|||
}
|
||||
|
||||
if (value instanceof Map) {
|
||||
var _partJSON3 = JSON.stringify(Array.from(value), resolveToJSON);
|
||||
|
||||
if (formData === null) {
|
||||
formData = new FormData();
|
||||
}
|
||||
|
||||
var mapId = nextPartId++;
|
||||
formData.append(formFieldPrefix + mapId, _partJSON3);
|
||||
return serializeMapID(mapId);
|
||||
}
|
||||
|
||||
if (value instanceof Set) {
|
||||
var _partJSON4 = JSON.stringify(Array.from(value), resolveToJSON);
|
||||
|
||||
if (formData === null) {
|
||||
formData = new FormData();
|
||||
}
|
||||
|
||||
var mapId = nextPartId++;
|
||||
formData.append(formFieldPrefix + mapId, _partJSON4);
|
||||
return serializeMapID(mapId);
|
||||
}
|
||||
|
||||
if (value instanceof Set) {
|
||||
var _partJSON5 = JSON.stringify(Array.from(value), resolveToJSON);
|
||||
|
||||
if (formData === null) {
|
||||
formData = new FormData();
|
||||
}
|
||||
|
||||
var setId = nextPartId++;
|
||||
formData.append(formFieldPrefix + setId, _partJSON4);
|
||||
formData.append(formFieldPrefix + setId, _partJSON5);
|
||||
return serializeSetID(setId);
|
||||
}
|
||||
|
||||
|
@ -1070,19 +1068,19 @@ function processReply(root, formFieldPrefix, temporaryReferences, resolve, rejec
|
|||
|
||||
if (iterator === value) {
|
||||
// Iterator, not Iterable
|
||||
var _partJSON5 = JSON.stringify(Array.from(iterator), resolveToJSON);
|
||||
var _partJSON6 = JSON.stringify(Array.from(iterator), resolveToJSON);
|
||||
|
||||
if (formData === null) {
|
||||
formData = new FormData();
|
||||
}
|
||||
|
||||
var iteratorId = nextPartId++;
|
||||
formData.append(formFieldPrefix + iteratorId, _partJSON5);
|
||||
formData.append(formFieldPrefix + iteratorId, _partJSON6);
|
||||
return serializeIteratorID(iteratorId);
|
||||
}
|
||||
|
||||
return Array.from(iterator);
|
||||
} // Verify that this is a simple plain object.
|
||||
}
|
||||
|
||||
|
||||
var proto = getPrototypeOf(value);
|
||||
|
|
|
@ -167,8 +167,7 @@ function processReply(
|
|||
null === formData && (formData = new FormData());
|
||||
pendingParts++;
|
||||
var promiseId = nextPartId++;
|
||||
value.then(
|
||||
function (partValue) {
|
||||
value.then(function (partValue) {
|
||||
try {
|
||||
var partJSON$25 = JSON.stringify(partValue, resolveToJSON);
|
||||
partValue = formData;
|
||||
|
@ -178,11 +177,7 @@ function processReply(
|
|||
} catch (reason) {
|
||||
reject(reason);
|
||||
}
|
||||
},
|
||||
function (reason) {
|
||||
reject(reason);
|
||||
}
|
||||
);
|
||||
}, reject);
|
||||
return "$@" + promiseId.toString(16);
|
||||
}
|
||||
if (isArrayImpl(value)) return value;
|
||||
|
|
|
@ -982,12 +982,12 @@ function processReply(root, formFieldPrefix, temporaryReferences, resolve, rejec
|
|||
// While the first promise resolved, its value isn't necessarily what we'll
|
||||
// resolve into because we might suspend again.
|
||||
try {
|
||||
var _partJSON = JSON.stringify(value, resolveToJSON); // $FlowFixMe[incompatible-type] We know it's not null because we assigned it above.
|
||||
var _partJSON2 = JSON.stringify(value, resolveToJSON); // $FlowFixMe[incompatible-type] We know it's not null because we assigned it above.
|
||||
|
||||
|
||||
var _data = formData; // eslint-disable-next-line react-internal/safe-string-coercion
|
||||
|
||||
_data.append(formFieldPrefix + _lazyId, _partJSON);
|
||||
_data.append(formFieldPrefix + _lazyId, _partJSON2);
|
||||
|
||||
pendingParts--;
|
||||
|
||||
|
@ -1028,12 +1028,12 @@ function processReply(root, formFieldPrefix, temporaryReferences, resolve, rejec
|
|||
|
||||
_thenable.then(function (partValue) {
|
||||
try {
|
||||
var _partJSON2 = JSON.stringify(partValue, resolveToJSON); // $FlowFixMe[incompatible-type] We know it's not null because we assigned it above.
|
||||
var _partJSON3 = JSON.stringify(partValue, resolveToJSON); // $FlowFixMe[incompatible-type] We know it's not null because we assigned it above.
|
||||
|
||||
|
||||
var _data2 = formData; // eslint-disable-next-line react-internal/safe-string-coercion
|
||||
|
||||
_data2.append(formFieldPrefix + promiseId, _partJSON2);
|
||||
_data2.append(formFieldPrefix + promiseId, _partJSON3);
|
||||
|
||||
pendingParts--;
|
||||
|
||||
|
@ -1043,11 +1043,9 @@ function processReply(root, formFieldPrefix, temporaryReferences, resolve, rejec
|
|||
} catch (reason) {
|
||||
reject(reason);
|
||||
}
|
||||
}, function (reason) {
|
||||
// In the future we could consider serializing this as an error
|
||||
}, // In the future we could consider serializing this as an error
|
||||
// that throws on the server instead.
|
||||
reject(reason);
|
||||
});
|
||||
reject);
|
||||
|
||||
return serializePromiseID(promiseId);
|
||||
}
|
||||
|
@ -1078,26 +1076,26 @@ function processReply(root, formFieldPrefix, temporaryReferences, resolve, rejec
|
|||
}
|
||||
|
||||
if (value instanceof Map) {
|
||||
var _partJSON3 = JSON.stringify(Array.from(value), resolveToJSON);
|
||||
|
||||
if (formData === null) {
|
||||
formData = new FormData();
|
||||
}
|
||||
|
||||
var mapId = nextPartId++;
|
||||
formData.append(formFieldPrefix + mapId, _partJSON3);
|
||||
return serializeMapID(mapId);
|
||||
}
|
||||
|
||||
if (value instanceof Set) {
|
||||
var _partJSON4 = JSON.stringify(Array.from(value), resolveToJSON);
|
||||
|
||||
if (formData === null) {
|
||||
formData = new FormData();
|
||||
}
|
||||
|
||||
var mapId = nextPartId++;
|
||||
formData.append(formFieldPrefix + mapId, _partJSON4);
|
||||
return serializeMapID(mapId);
|
||||
}
|
||||
|
||||
if (value instanceof Set) {
|
||||
var _partJSON5 = JSON.stringify(Array.from(value), resolveToJSON);
|
||||
|
||||
if (formData === null) {
|
||||
formData = new FormData();
|
||||
}
|
||||
|
||||
var setId = nextPartId++;
|
||||
formData.append(formFieldPrefix + setId, _partJSON4);
|
||||
formData.append(formFieldPrefix + setId, _partJSON5);
|
||||
return serializeSetID(setId);
|
||||
}
|
||||
|
||||
|
@ -1108,19 +1106,19 @@ function processReply(root, formFieldPrefix, temporaryReferences, resolve, rejec
|
|||
|
||||
if (iterator === value) {
|
||||
// Iterator, not Iterable
|
||||
var _partJSON5 = JSON.stringify(Array.from(iterator), resolveToJSON);
|
||||
var _partJSON6 = JSON.stringify(Array.from(iterator), resolveToJSON);
|
||||
|
||||
if (formData === null) {
|
||||
formData = new FormData();
|
||||
}
|
||||
|
||||
var iteratorId = nextPartId++;
|
||||
formData.append(formFieldPrefix + iteratorId, _partJSON5);
|
||||
formData.append(formFieldPrefix + iteratorId, _partJSON6);
|
||||
return serializeIteratorID(iteratorId);
|
||||
}
|
||||
|
||||
return Array.from(iterator);
|
||||
} // Verify that this is a simple plain object.
|
||||
}
|
||||
|
||||
|
||||
var proto = getPrototypeOf(value);
|
||||
|
|
|
@ -188,8 +188,7 @@ function processReply(
|
|||
null === formData && (formData = new FormData());
|
||||
pendingParts++;
|
||||
var promiseId = nextPartId++;
|
||||
value.then(
|
||||
function (partValue) {
|
||||
value.then(function (partValue) {
|
||||
try {
|
||||
var partJSON$25 = JSON.stringify(partValue, resolveToJSON);
|
||||
partValue = formData;
|
||||
|
@ -199,11 +198,7 @@ function processReply(
|
|||
} catch (reason) {
|
||||
reject(reason);
|
||||
}
|
||||
},
|
||||
function (reason) {
|
||||
reject(reason);
|
||||
}
|
||||
);
|
||||
}, reject);
|
||||
return "$@" + promiseId.toString(16);
|
||||
}
|
||||
if (isArrayImpl(value)) return value;
|
||||
|
|
|
@ -980,12 +980,12 @@ function processReply(root, formFieldPrefix, temporaryReferences, resolve, rejec
|
|||
// While the first promise resolved, its value isn't necessarily what we'll
|
||||
// resolve into because we might suspend again.
|
||||
try {
|
||||
var _partJSON = JSON.stringify(value, resolveToJSON); // $FlowFixMe[incompatible-type] We know it's not null because we assigned it above.
|
||||
var _partJSON2 = JSON.stringify(value, resolveToJSON); // $FlowFixMe[incompatible-type] We know it's not null because we assigned it above.
|
||||
|
||||
|
||||
var _data = formData; // eslint-disable-next-line react-internal/safe-string-coercion
|
||||
|
||||
_data.append(formFieldPrefix + _lazyId, _partJSON);
|
||||
_data.append(formFieldPrefix + _lazyId, _partJSON2);
|
||||
|
||||
pendingParts--;
|
||||
|
||||
|
@ -1026,12 +1026,12 @@ function processReply(root, formFieldPrefix, temporaryReferences, resolve, rejec
|
|||
|
||||
_thenable.then(function (partValue) {
|
||||
try {
|
||||
var _partJSON2 = JSON.stringify(partValue, resolveToJSON); // $FlowFixMe[incompatible-type] We know it's not null because we assigned it above.
|
||||
var _partJSON3 = JSON.stringify(partValue, resolveToJSON); // $FlowFixMe[incompatible-type] We know it's not null because we assigned it above.
|
||||
|
||||
|
||||
var _data2 = formData; // eslint-disable-next-line react-internal/safe-string-coercion
|
||||
|
||||
_data2.append(formFieldPrefix + promiseId, _partJSON2);
|
||||
_data2.append(formFieldPrefix + promiseId, _partJSON3);
|
||||
|
||||
pendingParts--;
|
||||
|
||||
|
@ -1041,11 +1041,9 @@ function processReply(root, formFieldPrefix, temporaryReferences, resolve, rejec
|
|||
} catch (reason) {
|
||||
reject(reason);
|
||||
}
|
||||
}, function (reason) {
|
||||
// In the future we could consider serializing this as an error
|
||||
}, // In the future we could consider serializing this as an error
|
||||
// that throws on the server instead.
|
||||
reject(reason);
|
||||
});
|
||||
reject);
|
||||
|
||||
return serializePromiseID(promiseId);
|
||||
}
|
||||
|
@ -1076,26 +1074,26 @@ function processReply(root, formFieldPrefix, temporaryReferences, resolve, rejec
|
|||
}
|
||||
|
||||
if (value instanceof Map) {
|
||||
var _partJSON3 = JSON.stringify(Array.from(value), resolveToJSON);
|
||||
|
||||
if (formData === null) {
|
||||
formData = new FormData();
|
||||
}
|
||||
|
||||
var mapId = nextPartId++;
|
||||
formData.append(formFieldPrefix + mapId, _partJSON3);
|
||||
return serializeMapID(mapId);
|
||||
}
|
||||
|
||||
if (value instanceof Set) {
|
||||
var _partJSON4 = JSON.stringify(Array.from(value), resolveToJSON);
|
||||
|
||||
if (formData === null) {
|
||||
formData = new FormData();
|
||||
}
|
||||
|
||||
var mapId = nextPartId++;
|
||||
formData.append(formFieldPrefix + mapId, _partJSON4);
|
||||
return serializeMapID(mapId);
|
||||
}
|
||||
|
||||
if (value instanceof Set) {
|
||||
var _partJSON5 = JSON.stringify(Array.from(value), resolveToJSON);
|
||||
|
||||
if (formData === null) {
|
||||
formData = new FormData();
|
||||
}
|
||||
|
||||
var setId = nextPartId++;
|
||||
formData.append(formFieldPrefix + setId, _partJSON4);
|
||||
formData.append(formFieldPrefix + setId, _partJSON5);
|
||||
return serializeSetID(setId);
|
||||
}
|
||||
|
||||
|
@ -1106,19 +1104,19 @@ function processReply(root, formFieldPrefix, temporaryReferences, resolve, rejec
|
|||
|
||||
if (iterator === value) {
|
||||
// Iterator, not Iterable
|
||||
var _partJSON5 = JSON.stringify(Array.from(iterator), resolveToJSON);
|
||||
var _partJSON6 = JSON.stringify(Array.from(iterator), resolveToJSON);
|
||||
|
||||
if (formData === null) {
|
||||
formData = new FormData();
|
||||
}
|
||||
|
||||
var iteratorId = nextPartId++;
|
||||
formData.append(formFieldPrefix + iteratorId, _partJSON5);
|
||||
formData.append(formFieldPrefix + iteratorId, _partJSON6);
|
||||
return serializeIteratorID(iteratorId);
|
||||
}
|
||||
|
||||
return Array.from(iterator);
|
||||
} // Verify that this is a simple plain object.
|
||||
}
|
||||
|
||||
|
||||
var proto = getPrototypeOf(value);
|
||||
|
|
|
@ -189,8 +189,7 @@ function processReply(
|
|||
null === formData && (formData = new FormData());
|
||||
pendingParts++;
|
||||
var promiseId = nextPartId++;
|
||||
value.then(
|
||||
function (partValue) {
|
||||
value.then(function (partValue) {
|
||||
try {
|
||||
var partJSON$25 = JSON.stringify(partValue, resolveToJSON);
|
||||
partValue = formData;
|
||||
|
@ -200,11 +199,7 @@ function processReply(
|
|||
} catch (reason) {
|
||||
reject(reason);
|
||||
}
|
||||
},
|
||||
function (reason) {
|
||||
reject(reason);
|
||||
}
|
||||
);
|
||||
}, reject);
|
||||
return "$@" + promiseId.toString(16);
|
||||
}
|
||||
if (isArrayImpl(value)) return value;
|
||||
|
|
|
@ -935,12 +935,12 @@ function processReply(root, formFieldPrefix, temporaryReferences, resolve, rejec
|
|||
// While the first promise resolved, its value isn't necessarily what we'll
|
||||
// resolve into because we might suspend again.
|
||||
try {
|
||||
var _partJSON = JSON.stringify(value, resolveToJSON); // $FlowFixMe[incompatible-type] We know it's not null because we assigned it above.
|
||||
var _partJSON2 = JSON.stringify(value, resolveToJSON); // $FlowFixMe[incompatible-type] We know it's not null because we assigned it above.
|
||||
|
||||
|
||||
var _data = formData; // eslint-disable-next-line react-internal/safe-string-coercion
|
||||
|
||||
_data.append(formFieldPrefix + _lazyId, _partJSON);
|
||||
_data.append(formFieldPrefix + _lazyId, _partJSON2);
|
||||
|
||||
pendingParts--;
|
||||
|
||||
|
@ -981,12 +981,12 @@ function processReply(root, formFieldPrefix, temporaryReferences, resolve, rejec
|
|||
|
||||
_thenable.then(function (partValue) {
|
||||
try {
|
||||
var _partJSON2 = JSON.stringify(partValue, resolveToJSON); // $FlowFixMe[incompatible-type] We know it's not null because we assigned it above.
|
||||
var _partJSON3 = JSON.stringify(partValue, resolveToJSON); // $FlowFixMe[incompatible-type] We know it's not null because we assigned it above.
|
||||
|
||||
|
||||
var _data2 = formData; // eslint-disable-next-line react-internal/safe-string-coercion
|
||||
|
||||
_data2.append(formFieldPrefix + promiseId, _partJSON2);
|
||||
_data2.append(formFieldPrefix + promiseId, _partJSON3);
|
||||
|
||||
pendingParts--;
|
||||
|
||||
|
@ -996,11 +996,9 @@ function processReply(root, formFieldPrefix, temporaryReferences, resolve, rejec
|
|||
} catch (reason) {
|
||||
reject(reason);
|
||||
}
|
||||
}, function (reason) {
|
||||
// In the future we could consider serializing this as an error
|
||||
}, // In the future we could consider serializing this as an error
|
||||
// that throws on the server instead.
|
||||
reject(reason);
|
||||
});
|
||||
reject);
|
||||
|
||||
return serializePromiseID(promiseId);
|
||||
}
|
||||
|
@ -1031,26 +1029,26 @@ function processReply(root, formFieldPrefix, temporaryReferences, resolve, rejec
|
|||
}
|
||||
|
||||
if (value instanceof Map) {
|
||||
var _partJSON3 = JSON.stringify(Array.from(value), resolveToJSON);
|
||||
|
||||
if (formData === null) {
|
||||
formData = new FormData();
|
||||
}
|
||||
|
||||
var mapId = nextPartId++;
|
||||
formData.append(formFieldPrefix + mapId, _partJSON3);
|
||||
return serializeMapID(mapId);
|
||||
}
|
||||
|
||||
if (value instanceof Set) {
|
||||
var _partJSON4 = JSON.stringify(Array.from(value), resolveToJSON);
|
||||
|
||||
if (formData === null) {
|
||||
formData = new FormData();
|
||||
}
|
||||
|
||||
var mapId = nextPartId++;
|
||||
formData.append(formFieldPrefix + mapId, _partJSON4);
|
||||
return serializeMapID(mapId);
|
||||
}
|
||||
|
||||
if (value instanceof Set) {
|
||||
var _partJSON5 = JSON.stringify(Array.from(value), resolveToJSON);
|
||||
|
||||
if (formData === null) {
|
||||
formData = new FormData();
|
||||
}
|
||||
|
||||
var setId = nextPartId++;
|
||||
formData.append(formFieldPrefix + setId, _partJSON4);
|
||||
formData.append(formFieldPrefix + setId, _partJSON5);
|
||||
return serializeSetID(setId);
|
||||
}
|
||||
|
||||
|
@ -1061,19 +1059,19 @@ function processReply(root, formFieldPrefix, temporaryReferences, resolve, rejec
|
|||
|
||||
if (iterator === value) {
|
||||
// Iterator, not Iterable
|
||||
var _partJSON5 = JSON.stringify(Array.from(iterator), resolveToJSON);
|
||||
var _partJSON6 = JSON.stringify(Array.from(iterator), resolveToJSON);
|
||||
|
||||
if (formData === null) {
|
||||
formData = new FormData();
|
||||
}
|
||||
|
||||
var iteratorId = nextPartId++;
|
||||
formData.append(formFieldPrefix + iteratorId, _partJSON5);
|
||||
formData.append(formFieldPrefix + iteratorId, _partJSON6);
|
||||
return serializeIteratorID(iteratorId);
|
||||
}
|
||||
|
||||
return Array.from(iterator);
|
||||
} // Verify that this is a simple plain object.
|
||||
}
|
||||
|
||||
|
||||
var proto = getPrototypeOf(value);
|
||||
|
|
|
@ -173,8 +173,7 @@ function processReply(
|
|||
null === formData && (formData = new FormData());
|
||||
pendingParts++;
|
||||
var promiseId = nextPartId++;
|
||||
value.then(
|
||||
function (partValue) {
|
||||
value.then(function (partValue) {
|
||||
try {
|
||||
var partJSON$25 = JSON.stringify(partValue, resolveToJSON);
|
||||
partValue = formData;
|
||||
|
@ -184,11 +183,7 @@ function processReply(
|
|||
} catch (reason) {
|
||||
reject(reason);
|
||||
}
|
||||
},
|
||||
function (reason) {
|
||||
reject(reason);
|
||||
}
|
||||
);
|
||||
}, reject);
|
||||
return "$@" + promiseId.toString(16);
|
||||
}
|
||||
if (isArrayImpl(value)) return value;
|
||||
|
|
|
@ -757,6 +757,8 @@ function createHints() {
|
|||
|
||||
var supportsRequestStorage = false;
|
||||
var requestStorage = null;
|
||||
var supportsComponentStorage = false;
|
||||
var componentStorage = null;
|
||||
|
||||
var TEMPORARY_REFERENCE_TAG = Symbol.for('react.temporary.reference'); // eslint-disable-next-line no-unused-vars
|
||||
|
||||
|
@ -1103,6 +1105,16 @@ function use(usable) {
|
|||
}
|
||||
}
|
||||
|
||||
var currentOwner = null;
|
||||
function setCurrentOwner(componentInfo) {
|
||||
currentOwner = componentInfo;
|
||||
}
|
||||
function resolveOwner() {
|
||||
if (currentOwner) return currentOwner;
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
function resolveCache() {
|
||||
var request = resolveRequest();
|
||||
|
||||
|
@ -1127,16 +1139,9 @@ var DefaultAsyncDispatcher = {
|
|||
return entry;
|
||||
}
|
||||
};
|
||||
var currentOwner = null;
|
||||
|
||||
{
|
||||
DefaultAsyncDispatcher.getOwner = function () {
|
||||
return currentOwner;
|
||||
};
|
||||
}
|
||||
|
||||
function setCurrentOwner(componentInfo) {
|
||||
currentOwner = componentInfo;
|
||||
DefaultAsyncDispatcher.getOwner = resolveOwner;
|
||||
}
|
||||
|
||||
var isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare
|
||||
|
@ -1714,8 +1719,11 @@ function renderFunctionComponent(request, task, key, Component, props, owner) {
|
|||
// component suspends we can reuse the same task object. If the same
|
||||
// component suspends again, the thenable state will be restored.
|
||||
var prevThenableState = task.thenableState;
|
||||
task.thenableState = null;
|
||||
var componentDebugInfo = null;
|
||||
task.thenableState = null; // The secondArg is always undefined in Server Components since refs error early.
|
||||
|
||||
var secondArg = undefined;
|
||||
var result;
|
||||
var componentDebugInfo;
|
||||
|
||||
{
|
||||
if (debugID === null) {
|
||||
|
@ -1743,18 +1751,14 @@ function renderFunctionComponent(request, task, key, Component, props, owner) {
|
|||
outlineModel(request, componentDebugInfo);
|
||||
emitDebugChunk(request, componentDebugID, componentDebugInfo);
|
||||
}
|
||||
}
|
||||
|
||||
prepareToUseHooksForComponent(prevThenableState, componentDebugInfo); // The secondArg is always undefined in Server Components since refs error early.
|
||||
|
||||
var secondArg = undefined;
|
||||
var result;
|
||||
|
||||
{
|
||||
prepareToUseHooksForComponent(prevThenableState, componentDebugInfo);
|
||||
setCurrentOwner(componentDebugInfo);
|
||||
|
||||
try {
|
||||
if (supportsComponentStorage) ; else {
|
||||
result = Component(props, secondArg);
|
||||
}
|
||||
} finally {
|
||||
setCurrentOwner(null);
|
||||
}
|
||||
|
@ -1893,9 +1897,8 @@ function renderFragment(request, task, children) {
|
|||
|
||||
function renderClientElement(task, type, key, props, owner) // DEV-only
|
||||
{
|
||||
// We prepend the terminal client element that actually gets serialized with
|
||||
// the keys of any Server Components which are not serialized.
|
||||
|
||||
|
||||
var keyPath = task.keyPath;
|
||||
|
||||
if (key === null) {
|
||||
|
@ -2039,7 +2042,7 @@ function createTask(request, model, keyPath, implicitSlot, abortSet) {
|
|||
if (typeof model === 'object' && model !== null) {
|
||||
// If we're about to write this into a new task we can assign it an ID early so that
|
||||
// any other references can refer to the value we're about to write.
|
||||
if ((keyPath !== null || implicitSlot)) ; else {
|
||||
if (keyPath !== null || implicitSlot) ; else {
|
||||
request.writtenObjects.set(model, id);
|
||||
}
|
||||
}
|
||||
|
@ -2381,7 +2384,7 @@ function renderModelDestructive(request, task, parent, parentPropertyName, value
|
|||
var _existingId = _writtenObjects.get(value);
|
||||
|
||||
if (_existingId !== undefined) {
|
||||
if ((task.keyPath !== null || task.implicitSlot)) ; else if (modelRoot === value) {
|
||||
if (task.keyPath !== null || task.implicitSlot) ; else if (modelRoot === value) {
|
||||
// This is the ID we're currently emitting so we need to write it
|
||||
// once but if we discover it again, we refer to it by id.
|
||||
modelRoot = null;
|
||||
|
@ -2486,7 +2489,7 @@ function renderModelDestructive(request, task, parent, parentPropertyName, value
|
|||
|
||||
if (typeof value.then === 'function') {
|
||||
if (existingId !== undefined) {
|
||||
if ((task.keyPath !== null || task.implicitSlot)) {
|
||||
if (task.keyPath !== null || task.implicitSlot) {
|
||||
// If we're in some kind of context we can't reuse the result of this render or
|
||||
// previous renders of this element. We only reuse Promises if they're not wrapped
|
||||
// by another Server Component.
|
||||
|
@ -3503,7 +3506,6 @@ function loadChunk(filename) {
|
|||
return __turbopack_load__(filename);
|
||||
}
|
||||
|
||||
// The server acts as a Client of itself when resolving Server References.
|
||||
var PENDING = 'pending';
|
||||
var BLOCKED = 'blocked';
|
||||
var RESOLVED_MODEL = 'resolved_model';
|
||||
|
@ -3581,7 +3583,7 @@ function wakeChunk(listeners, value) {
|
|||
|
||||
function triggerErrorOnChunk(chunk, error) {
|
||||
if (chunk.status !== PENDING && chunk.status !== BLOCKED) {
|
||||
// We already resolved. We didn't expect to see this.
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -3628,7 +3630,7 @@ function loadServerReference$1(response, id, bound, parentChunk, parentObject, k
|
|||
}
|
||||
}
|
||||
|
||||
promise.then(createModelResolver(parentChunk, parentObject, key), createModelReject(parentChunk)); // We need a placeholder value that will be replaced later.
|
||||
promise.then(createModelResolver(parentChunk, parentObject, key, false, response, createModel), createModelReject(parentChunk)); // We need a placeholder value that will be replaced later.
|
||||
|
||||
return null;
|
||||
}
|
||||
|
@ -3705,21 +3707,30 @@ function getChunk(response, id) {
|
|||
return chunk;
|
||||
}
|
||||
|
||||
function createModelResolver(chunk, parentObject, key) {
|
||||
function createModelResolver(chunk, parentObject, key, cyclic, response, map) {
|
||||
var blocked;
|
||||
|
||||
if (initializingChunkBlockedModel) {
|
||||
blocked = initializingChunkBlockedModel;
|
||||
|
||||
if (!cyclic) {
|
||||
blocked.deps++;
|
||||
}
|
||||
} else {
|
||||
blocked = initializingChunkBlockedModel = {
|
||||
deps: 1,
|
||||
deps: cyclic ? 0 : 1,
|
||||
value: null
|
||||
};
|
||||
}
|
||||
|
||||
return function (value) {
|
||||
parentObject[key] = value;
|
||||
parentObject[key] = map(response, value); // If this is the root object for a model reference, where `blocked.value`
|
||||
// is a stale `null`, the resolved value can be used directly.
|
||||
|
||||
if (key === '' && blocked.value === null) {
|
||||
blocked.value = parentObject[key];
|
||||
}
|
||||
|
||||
blocked.deps--;
|
||||
|
||||
if (blocked.deps === 0) {
|
||||
|
@ -3745,19 +3756,46 @@ function createModelReject(chunk) {
|
|||
};
|
||||
}
|
||||
|
||||
function getOutlinedModel(response, id) {
|
||||
function getOutlinedModel(response, id, parentObject, key, map) {
|
||||
var chunk = getChunk(response, id);
|
||||
|
||||
if (chunk.status === RESOLVED_MODEL) {
|
||||
switch (chunk.status) {
|
||||
case RESOLVED_MODEL:
|
||||
initializeModelChunk(chunk);
|
||||
}
|
||||
break;
|
||||
} // The status might have changed after initialization.
|
||||
|
||||
if (chunk.status !== INITIALIZED) {
|
||||
// We know that this is emitted earlier so otherwise it's an error.
|
||||
|
||||
switch (chunk.status) {
|
||||
case INITIALIZED:
|
||||
return map(response, chunk.value);
|
||||
|
||||
case PENDING:
|
||||
case BLOCKED:
|
||||
var parentChunk = initializingChunk;
|
||||
chunk.then(createModelResolver(parentChunk, parentObject, key, false, response, map), createModelReject(parentChunk));
|
||||
return null;
|
||||
|
||||
default:
|
||||
throw chunk.reason;
|
||||
}
|
||||
}
|
||||
|
||||
return chunk.value;
|
||||
function createMap(response, model) {
|
||||
return new Map(model);
|
||||
}
|
||||
|
||||
function createSet(response, model) {
|
||||
return new Set(model);
|
||||
}
|
||||
|
||||
function extractIterator(response, model) {
|
||||
// $FlowFixMe[incompatible-use]: This uses raw Symbols because we're extracting from a native array.
|
||||
return model[Symbol.iterator]();
|
||||
}
|
||||
|
||||
function createModel(response, model) {
|
||||
return model;
|
||||
}
|
||||
|
||||
function parseModelString(response, obj, key, value) {
|
||||
|
@ -3774,9 +3812,8 @@ function parseModelString(response, obj, key, value) {
|
|||
// Promise
|
||||
var _id = parseInt(value.slice(2), 16);
|
||||
|
||||
var _chunk = getChunk(response, _id);
|
||||
|
||||
return _chunk;
|
||||
var chunk = getChunk(response, _id);
|
||||
return chunk;
|
||||
}
|
||||
|
||||
case 'F':
|
||||
|
@ -3785,7 +3822,7 @@ function parseModelString(response, obj, key, value) {
|
|||
var _id2 = parseInt(value.slice(2), 16); // TODO: Just encode this in the reference inline instead of as a model.
|
||||
|
||||
|
||||
var metaData = getOutlinedModel(response, _id2);
|
||||
var metaData = getOutlinedModel(response, _id2, obj, key, createModel);
|
||||
return loadServerReference$1(response, metaData.id, metaData.bound, initializingChunk, obj, key);
|
||||
}
|
||||
|
||||
|
@ -3800,8 +3837,7 @@ function parseModelString(response, obj, key, value) {
|
|||
// Map
|
||||
var _id3 = parseInt(value.slice(2), 16);
|
||||
|
||||
var data = getOutlinedModel(response, _id3);
|
||||
return new Map(data);
|
||||
return getOutlinedModel(response, _id3, obj, key, createMap);
|
||||
}
|
||||
|
||||
case 'W':
|
||||
|
@ -3809,9 +3845,7 @@ function parseModelString(response, obj, key, value) {
|
|||
// Set
|
||||
var _id4 = parseInt(value.slice(2), 16);
|
||||
|
||||
var _data = getOutlinedModel(response, _id4);
|
||||
|
||||
return new Set(_data);
|
||||
return getOutlinedModel(response, _id4, obj, key, createSet);
|
||||
}
|
||||
|
||||
case 'K':
|
||||
|
@ -3819,9 +3853,7 @@ function parseModelString(response, obj, key, value) {
|
|||
// FormData
|
||||
var stringId = value.slice(2);
|
||||
var formPrefix = response._prefix + stringId + '_';
|
||||
|
||||
var _data2 = new FormData();
|
||||
|
||||
var data = new FormData();
|
||||
var backingFormData = response._formData; // We assume that the reference to FormData always comes after each
|
||||
// entry that it references so we can assume they all exist in the
|
||||
// backing store already.
|
||||
|
@ -3829,10 +3861,10 @@ function parseModelString(response, obj, key, value) {
|
|||
|
||||
backingFormData.forEach(function (entry, entryKey) {
|
||||
if (entryKey.startsWith(formPrefix)) {
|
||||
_data2.append(entryKey.slice(formPrefix.length), entry);
|
||||
data.append(entryKey.slice(formPrefix.length), entry);
|
||||
}
|
||||
});
|
||||
return _data2;
|
||||
return data;
|
||||
}
|
||||
|
||||
case 'i':
|
||||
|
@ -3840,9 +3872,7 @@ function parseModelString(response, obj, key, value) {
|
|||
// Iterator
|
||||
var _id5 = parseInt(value.slice(2), 16);
|
||||
|
||||
var _data3 = getOutlinedModel(response, _id5);
|
||||
|
||||
return _data3[Symbol.iterator]();
|
||||
return getOutlinedModel(response, _id5, obj, key, extractIterator);
|
||||
}
|
||||
|
||||
case 'I':
|
||||
|
@ -3889,28 +3919,7 @@ function parseModelString(response, obj, key, value) {
|
|||
|
||||
|
||||
var id = parseInt(value.slice(1), 16);
|
||||
var chunk = getChunk(response, id);
|
||||
|
||||
switch (chunk.status) {
|
||||
case RESOLVED_MODEL:
|
||||
initializeModelChunk(chunk);
|
||||
break;
|
||||
} // The status might have changed after initialization.
|
||||
|
||||
|
||||
switch (chunk.status) {
|
||||
case INITIALIZED:
|
||||
return chunk.value;
|
||||
|
||||
case PENDING:
|
||||
case BLOCKED:
|
||||
var parentChunk = initializingChunk;
|
||||
chunk.then(createModelResolver(parentChunk, obj, key), createModelReject(parentChunk));
|
||||
return null;
|
||||
|
||||
default:
|
||||
throw chunk.reason;
|
||||
}
|
||||
return getOutlinedModel(response, id, obj, key, createModel);
|
||||
}
|
||||
|
||||
return value;
|
||||
|
|
|
@ -1587,20 +1587,27 @@ function loadServerReference$1(
|
|||
key
|
||||
) {
|
||||
var serverReference = resolveServerReference(response._bundlerConfig, id);
|
||||
response = preloadModule(serverReference);
|
||||
id = preloadModule(serverReference);
|
||||
if (bound)
|
||||
bound = Promise.all([bound, response]).then(function (_ref) {
|
||||
bound = Promise.all([bound, id]).then(function (_ref) {
|
||||
_ref = _ref[0];
|
||||
var fn = requireModule(serverReference);
|
||||
return fn.bind.apply(fn, [null].concat(_ref));
|
||||
});
|
||||
else if (response)
|
||||
bound = Promise.resolve(response).then(function () {
|
||||
else if (id)
|
||||
bound = Promise.resolve(id).then(function () {
|
||||
return requireModule(serverReference);
|
||||
});
|
||||
else return requireModule(serverReference);
|
||||
bound.then(
|
||||
createModelResolver(parentChunk, parentObject, key),
|
||||
createModelResolver(
|
||||
parentChunk,
|
||||
parentObject,
|
||||
key,
|
||||
!1,
|
||||
response,
|
||||
createModel
|
||||
),
|
||||
createModelReject(parentChunk)
|
||||
);
|
||||
return null;
|
||||
|
@ -1645,13 +1652,18 @@ function getChunk(response, id) {
|
|||
chunks.set(id, chunk));
|
||||
return chunk;
|
||||
}
|
||||
function createModelResolver(chunk, parentObject, key) {
|
||||
function createModelResolver(chunk, parentObject, key, cyclic, response, map) {
|
||||
if (initializingChunkBlockedModel) {
|
||||
var blocked = initializingChunkBlockedModel;
|
||||
blocked.deps++;
|
||||
} else blocked = initializingChunkBlockedModel = { deps: 1, value: null };
|
||||
cyclic || blocked.deps++;
|
||||
} else
|
||||
blocked = initializingChunkBlockedModel = {
|
||||
deps: cyclic ? 0 : 1,
|
||||
value: null
|
||||
};
|
||||
return function (value) {
|
||||
parentObject[key] = value;
|
||||
parentObject[key] = map(response, value);
|
||||
"" === key && null === blocked.value && (blocked.value = parentObject[key]);
|
||||
blocked.deps--;
|
||||
0 === blocked.deps &&
|
||||
"blocked" === chunk.status &&
|
||||
|
@ -1666,11 +1678,38 @@ function createModelReject(chunk) {
|
|||
return triggerErrorOnChunk(chunk, error);
|
||||
};
|
||||
}
|
||||
function getOutlinedModel(response, id) {
|
||||
response = getChunk(response, id);
|
||||
"resolved_model" === response.status && initializeModelChunk(response);
|
||||
if ("fulfilled" !== response.status) throw response.reason;
|
||||
return response.value;
|
||||
function getOutlinedModel(response, id, parentObject, key, map) {
|
||||
id = getChunk(response, id);
|
||||
switch (id.status) {
|
||||
case "resolved_model":
|
||||
initializeModelChunk(id);
|
||||
}
|
||||
switch (id.status) {
|
||||
case "fulfilled":
|
||||
return map(response, id.value);
|
||||
case "pending":
|
||||
case "blocked":
|
||||
var parentChunk = initializingChunk;
|
||||
id.then(
|
||||
createModelResolver(parentChunk, parentObject, key, !1, response, map),
|
||||
createModelReject(parentChunk)
|
||||
);
|
||||
return null;
|
||||
default:
|
||||
throw id.reason;
|
||||
}
|
||||
}
|
||||
function createMap(response, model) {
|
||||
return new Map(model);
|
||||
}
|
||||
function createSet(response, model) {
|
||||
return new Set(model);
|
||||
}
|
||||
function extractIterator(response, model) {
|
||||
return model[Symbol.iterator]();
|
||||
}
|
||||
function createModel(response, model) {
|
||||
return model;
|
||||
}
|
||||
function parseModelString(response, obj, key, value) {
|
||||
if ("$" === value[0]) {
|
||||
|
@ -1682,7 +1721,7 @@ function parseModelString(response, obj, key, value) {
|
|||
case "F":
|
||||
return (
|
||||
(value = parseInt(value.slice(2), 16)),
|
||||
(value = getOutlinedModel(response, value)),
|
||||
(value = getOutlinedModel(response, value, obj, key, createModel)),
|
||||
loadServerReference$1(
|
||||
response,
|
||||
value.id,
|
||||
|
@ -1696,29 +1735,27 @@ function parseModelString(response, obj, key, value) {
|
|||
return createTemporaryReference(value.slice(2));
|
||||
case "Q":
|
||||
return (
|
||||
(obj = parseInt(value.slice(2), 16)),
|
||||
(response = getOutlinedModel(response, obj)),
|
||||
new Map(response)
|
||||
(value = parseInt(value.slice(2), 16)),
|
||||
getOutlinedModel(response, value, obj, key, createMap)
|
||||
);
|
||||
case "W":
|
||||
return (
|
||||
(obj = parseInt(value.slice(2), 16)),
|
||||
(response = getOutlinedModel(response, obj)),
|
||||
new Set(response)
|
||||
(value = parseInt(value.slice(2), 16)),
|
||||
getOutlinedModel(response, value, obj, key, createSet)
|
||||
);
|
||||
case "K":
|
||||
obj = value.slice(2);
|
||||
var formPrefix = response._prefix + obj + "_",
|
||||
data$23 = new FormData();
|
||||
data = new FormData();
|
||||
response._formData.forEach(function (entry, entryKey) {
|
||||
entryKey.startsWith(formPrefix) &&
|
||||
data$23.append(entryKey.slice(formPrefix.length), entry);
|
||||
data.append(entryKey.slice(formPrefix.length), entry);
|
||||
});
|
||||
return data$23;
|
||||
return data;
|
||||
case "i":
|
||||
return (
|
||||
(obj = parseInt(value.slice(2), 16)),
|
||||
getOutlinedModel(response, obj)[Symbol.iterator]()
|
||||
(value = parseInt(value.slice(2), 16)),
|
||||
getOutlinedModel(response, value, obj, key, extractIterator)
|
||||
);
|
||||
case "I":
|
||||
return Infinity;
|
||||
|
@ -1734,27 +1771,7 @@ function parseModelString(response, obj, key, value) {
|
|||
return BigInt(value.slice(2));
|
||||
}
|
||||
value = parseInt(value.slice(1), 16);
|
||||
response = getChunk(response, value);
|
||||
switch (response.status) {
|
||||
case "resolved_model":
|
||||
initializeModelChunk(response);
|
||||
}
|
||||
switch (response.status) {
|
||||
case "fulfilled":
|
||||
return response.value;
|
||||
case "pending":
|
||||
case "blocked":
|
||||
return (
|
||||
(value = initializingChunk),
|
||||
response.then(
|
||||
createModelResolver(value, obj, key),
|
||||
createModelReject(value)
|
||||
),
|
||||
null
|
||||
);
|
||||
default:
|
||||
throw response.reason;
|
||||
}
|
||||
return getOutlinedModel(response, value, obj, key, createModel);
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
|
|
@ -756,7 +756,9 @@ function createHints() {
|
|||
}
|
||||
|
||||
var supportsRequestStorage = typeof AsyncLocalStorage === 'function';
|
||||
var requestStorage = supportsRequestStorage ? new AsyncLocalStorage() : null; // We use the Node version but get access to async_hooks from a global.
|
||||
var requestStorage = supportsRequestStorage ? new AsyncLocalStorage() : null;
|
||||
var supportsComponentStorage = supportsRequestStorage;
|
||||
var componentStorage = supportsComponentStorage ? new AsyncLocalStorage() : null; // We use the Node version but get access to async_hooks from a global.
|
||||
|
||||
typeof async_hooks === 'object' ? async_hooks.createHook : function () {
|
||||
return {
|
||||
|
@ -1111,6 +1113,21 @@ function use(usable) {
|
|||
}
|
||||
}
|
||||
|
||||
var currentOwner = null;
|
||||
function setCurrentOwner(componentInfo) {
|
||||
currentOwner = componentInfo;
|
||||
}
|
||||
function resolveOwner() {
|
||||
if (currentOwner) return currentOwner;
|
||||
|
||||
if (supportsComponentStorage) {
|
||||
var owner = componentStorage.getStore();
|
||||
if (owner) return owner;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
function resolveCache() {
|
||||
var request = resolveRequest();
|
||||
|
||||
|
@ -1135,16 +1152,9 @@ var DefaultAsyncDispatcher = {
|
|||
return entry;
|
||||
}
|
||||
};
|
||||
var currentOwner = null;
|
||||
|
||||
{
|
||||
DefaultAsyncDispatcher.getOwner = function () {
|
||||
return currentOwner;
|
||||
};
|
||||
}
|
||||
|
||||
function setCurrentOwner(componentInfo) {
|
||||
currentOwner = componentInfo;
|
||||
DefaultAsyncDispatcher.getOwner = resolveOwner;
|
||||
}
|
||||
|
||||
var isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare
|
||||
|
@ -1727,8 +1737,11 @@ function renderFunctionComponent(request, task, key, Component, props, owner) {
|
|||
// component suspends we can reuse the same task object. If the same
|
||||
// component suspends again, the thenable state will be restored.
|
||||
var prevThenableState = task.thenableState;
|
||||
task.thenableState = null;
|
||||
var componentDebugInfo = null;
|
||||
task.thenableState = null; // The secondArg is always undefined in Server Components since refs error early.
|
||||
|
||||
var secondArg = undefined;
|
||||
var result;
|
||||
var componentDebugInfo;
|
||||
|
||||
{
|
||||
if (debugID === null) {
|
||||
|
@ -1756,18 +1769,17 @@ function renderFunctionComponent(request, task, key, Component, props, owner) {
|
|||
outlineModel(request, componentDebugInfo);
|
||||
emitDebugChunk(request, componentDebugID, componentDebugInfo);
|
||||
}
|
||||
}
|
||||
|
||||
prepareToUseHooksForComponent(prevThenableState, componentDebugInfo); // The secondArg is always undefined in Server Components since refs error early.
|
||||
|
||||
var secondArg = undefined;
|
||||
var result;
|
||||
|
||||
{
|
||||
prepareToUseHooksForComponent(prevThenableState, componentDebugInfo);
|
||||
setCurrentOwner(componentDebugInfo);
|
||||
|
||||
try {
|
||||
if (supportsComponentStorage) {
|
||||
// Run the component in an Async Context that tracks the current owner.
|
||||
result = componentStorage.run(componentDebugInfo, Component, props, secondArg);
|
||||
} else {
|
||||
result = Component(props, secondArg);
|
||||
}
|
||||
} finally {
|
||||
setCurrentOwner(null);
|
||||
}
|
||||
|
@ -1906,9 +1918,8 @@ function renderFragment(request, task, children) {
|
|||
|
||||
function renderClientElement(task, type, key, props, owner) // DEV-only
|
||||
{
|
||||
// We prepend the terminal client element that actually gets serialized with
|
||||
// the keys of any Server Components which are not serialized.
|
||||
|
||||
|
||||
var keyPath = task.keyPath;
|
||||
|
||||
if (key === null) {
|
||||
|
@ -2052,7 +2063,7 @@ function createTask(request, model, keyPath, implicitSlot, abortSet) {
|
|||
if (typeof model === 'object' && model !== null) {
|
||||
// If we're about to write this into a new task we can assign it an ID early so that
|
||||
// any other references can refer to the value we're about to write.
|
||||
if ((keyPath !== null || implicitSlot)) ; else {
|
||||
if (keyPath !== null || implicitSlot) ; else {
|
||||
request.writtenObjects.set(model, id);
|
||||
}
|
||||
}
|
||||
|
@ -2394,7 +2405,7 @@ function renderModelDestructive(request, task, parent, parentPropertyName, value
|
|||
var _existingId = _writtenObjects.get(value);
|
||||
|
||||
if (_existingId !== undefined) {
|
||||
if ((task.keyPath !== null || task.implicitSlot)) ; else if (modelRoot === value) {
|
||||
if (task.keyPath !== null || task.implicitSlot) ; else if (modelRoot === value) {
|
||||
// This is the ID we're currently emitting so we need to write it
|
||||
// once but if we discover it again, we refer to it by id.
|
||||
modelRoot = null;
|
||||
|
@ -2499,7 +2510,7 @@ function renderModelDestructive(request, task, parent, parentPropertyName, value
|
|||
|
||||
if (typeof value.then === 'function') {
|
||||
if (existingId !== undefined) {
|
||||
if ((task.keyPath !== null || task.implicitSlot)) {
|
||||
if (task.keyPath !== null || task.implicitSlot) {
|
||||
// If we're in some kind of context we can't reuse the result of this render or
|
||||
// previous renders of this element. We only reuse Promises if they're not wrapped
|
||||
// by another Server Component.
|
||||
|
@ -3526,7 +3537,6 @@ function loadChunk(filename) {
|
|||
return globalThis.__next_chunk_load__(filename);
|
||||
}
|
||||
|
||||
// The server acts as a Client of itself when resolving Server References.
|
||||
var PENDING = 'pending';
|
||||
var BLOCKED = 'blocked';
|
||||
var RESOLVED_MODEL = 'resolved_model';
|
||||
|
@ -3604,7 +3614,7 @@ function wakeChunk(listeners, value) {
|
|||
|
||||
function triggerErrorOnChunk(chunk, error) {
|
||||
if (chunk.status !== PENDING && chunk.status !== BLOCKED) {
|
||||
// We already resolved. We didn't expect to see this.
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -3651,7 +3661,7 @@ function loadServerReference$1(response, id, bound, parentChunk, parentObject, k
|
|||
}
|
||||
}
|
||||
|
||||
promise.then(createModelResolver(parentChunk, parentObject, key), createModelReject(parentChunk)); // We need a placeholder value that will be replaced later.
|
||||
promise.then(createModelResolver(parentChunk, parentObject, key, false, response, createModel), createModelReject(parentChunk)); // We need a placeholder value that will be replaced later.
|
||||
|
||||
return null;
|
||||
}
|
||||
|
@ -3728,21 +3738,30 @@ function getChunk(response, id) {
|
|||
return chunk;
|
||||
}
|
||||
|
||||
function createModelResolver(chunk, parentObject, key) {
|
||||
function createModelResolver(chunk, parentObject, key, cyclic, response, map) {
|
||||
var blocked;
|
||||
|
||||
if (initializingChunkBlockedModel) {
|
||||
blocked = initializingChunkBlockedModel;
|
||||
|
||||
if (!cyclic) {
|
||||
blocked.deps++;
|
||||
}
|
||||
} else {
|
||||
blocked = initializingChunkBlockedModel = {
|
||||
deps: 1,
|
||||
deps: cyclic ? 0 : 1,
|
||||
value: null
|
||||
};
|
||||
}
|
||||
|
||||
return function (value) {
|
||||
parentObject[key] = value;
|
||||
parentObject[key] = map(response, value); // If this is the root object for a model reference, where `blocked.value`
|
||||
// is a stale `null`, the resolved value can be used directly.
|
||||
|
||||
if (key === '' && blocked.value === null) {
|
||||
blocked.value = parentObject[key];
|
||||
}
|
||||
|
||||
blocked.deps--;
|
||||
|
||||
if (blocked.deps === 0) {
|
||||
|
@ -3768,19 +3787,46 @@ function createModelReject(chunk) {
|
|||
};
|
||||
}
|
||||
|
||||
function getOutlinedModel(response, id) {
|
||||
function getOutlinedModel(response, id, parentObject, key, map) {
|
||||
var chunk = getChunk(response, id);
|
||||
|
||||
if (chunk.status === RESOLVED_MODEL) {
|
||||
switch (chunk.status) {
|
||||
case RESOLVED_MODEL:
|
||||
initializeModelChunk(chunk);
|
||||
}
|
||||
break;
|
||||
} // The status might have changed after initialization.
|
||||
|
||||
if (chunk.status !== INITIALIZED) {
|
||||
// We know that this is emitted earlier so otherwise it's an error.
|
||||
|
||||
switch (chunk.status) {
|
||||
case INITIALIZED:
|
||||
return map(response, chunk.value);
|
||||
|
||||
case PENDING:
|
||||
case BLOCKED:
|
||||
var parentChunk = initializingChunk;
|
||||
chunk.then(createModelResolver(parentChunk, parentObject, key, false, response, map), createModelReject(parentChunk));
|
||||
return null;
|
||||
|
||||
default:
|
||||
throw chunk.reason;
|
||||
}
|
||||
}
|
||||
|
||||
return chunk.value;
|
||||
function createMap(response, model) {
|
||||
return new Map(model);
|
||||
}
|
||||
|
||||
function createSet(response, model) {
|
||||
return new Set(model);
|
||||
}
|
||||
|
||||
function extractIterator(response, model) {
|
||||
// $FlowFixMe[incompatible-use]: This uses raw Symbols because we're extracting from a native array.
|
||||
return model[Symbol.iterator]();
|
||||
}
|
||||
|
||||
function createModel(response, model) {
|
||||
return model;
|
||||
}
|
||||
|
||||
function parseModelString(response, obj, key, value) {
|
||||
|
@ -3797,9 +3843,8 @@ function parseModelString(response, obj, key, value) {
|
|||
// Promise
|
||||
var _id = parseInt(value.slice(2), 16);
|
||||
|
||||
var _chunk = getChunk(response, _id);
|
||||
|
||||
return _chunk;
|
||||
var chunk = getChunk(response, _id);
|
||||
return chunk;
|
||||
}
|
||||
|
||||
case 'F':
|
||||
|
@ -3808,7 +3853,7 @@ function parseModelString(response, obj, key, value) {
|
|||
var _id2 = parseInt(value.slice(2), 16); // TODO: Just encode this in the reference inline instead of as a model.
|
||||
|
||||
|
||||
var metaData = getOutlinedModel(response, _id2);
|
||||
var metaData = getOutlinedModel(response, _id2, obj, key, createModel);
|
||||
return loadServerReference$1(response, metaData.id, metaData.bound, initializingChunk, obj, key);
|
||||
}
|
||||
|
||||
|
@ -3823,8 +3868,7 @@ function parseModelString(response, obj, key, value) {
|
|||
// Map
|
||||
var _id3 = parseInt(value.slice(2), 16);
|
||||
|
||||
var data = getOutlinedModel(response, _id3);
|
||||
return new Map(data);
|
||||
return getOutlinedModel(response, _id3, obj, key, createMap);
|
||||
}
|
||||
|
||||
case 'W':
|
||||
|
@ -3832,9 +3876,7 @@ function parseModelString(response, obj, key, value) {
|
|||
// Set
|
||||
var _id4 = parseInt(value.slice(2), 16);
|
||||
|
||||
var _data = getOutlinedModel(response, _id4);
|
||||
|
||||
return new Set(_data);
|
||||
return getOutlinedModel(response, _id4, obj, key, createSet);
|
||||
}
|
||||
|
||||
case 'K':
|
||||
|
@ -3842,9 +3884,7 @@ function parseModelString(response, obj, key, value) {
|
|||
// FormData
|
||||
var stringId = value.slice(2);
|
||||
var formPrefix = response._prefix + stringId + '_';
|
||||
|
||||
var _data2 = new FormData();
|
||||
|
||||
var data = new FormData();
|
||||
var backingFormData = response._formData; // We assume that the reference to FormData always comes after each
|
||||
// entry that it references so we can assume they all exist in the
|
||||
// backing store already.
|
||||
|
@ -3852,10 +3892,10 @@ function parseModelString(response, obj, key, value) {
|
|||
|
||||
backingFormData.forEach(function (entry, entryKey) {
|
||||
if (entryKey.startsWith(formPrefix)) {
|
||||
_data2.append(entryKey.slice(formPrefix.length), entry);
|
||||
data.append(entryKey.slice(formPrefix.length), entry);
|
||||
}
|
||||
});
|
||||
return _data2;
|
||||
return data;
|
||||
}
|
||||
|
||||
case 'i':
|
||||
|
@ -3863,9 +3903,7 @@ function parseModelString(response, obj, key, value) {
|
|||
// Iterator
|
||||
var _id5 = parseInt(value.slice(2), 16);
|
||||
|
||||
var _data3 = getOutlinedModel(response, _id5);
|
||||
|
||||
return _data3[Symbol.iterator]();
|
||||
return getOutlinedModel(response, _id5, obj, key, extractIterator);
|
||||
}
|
||||
|
||||
case 'I':
|
||||
|
@ -3912,28 +3950,7 @@ function parseModelString(response, obj, key, value) {
|
|||
|
||||
|
||||
var id = parseInt(value.slice(1), 16);
|
||||
var chunk = getChunk(response, id);
|
||||
|
||||
switch (chunk.status) {
|
||||
case RESOLVED_MODEL:
|
||||
initializeModelChunk(chunk);
|
||||
break;
|
||||
} // The status might have changed after initialization.
|
||||
|
||||
|
||||
switch (chunk.status) {
|
||||
case INITIALIZED:
|
||||
return chunk.value;
|
||||
|
||||
case PENDING:
|
||||
case BLOCKED:
|
||||
var parentChunk = initializingChunk;
|
||||
chunk.then(createModelResolver(parentChunk, obj, key), createModelReject(parentChunk));
|
||||
return null;
|
||||
|
||||
default:
|
||||
throw chunk.reason;
|
||||
}
|
||||
return getOutlinedModel(response, id, obj, key, createModel);
|
||||
}
|
||||
|
||||
return value;
|
||||
|
|
|
@ -1618,20 +1618,27 @@ function loadServerReference$1(
|
|||
key
|
||||
) {
|
||||
var serverReference = resolveServerReference(response._bundlerConfig, id);
|
||||
response = preloadModule(serverReference);
|
||||
id = preloadModule(serverReference);
|
||||
if (bound)
|
||||
bound = Promise.all([bound, response]).then(function (_ref) {
|
||||
bound = Promise.all([bound, id]).then(function (_ref) {
|
||||
_ref = _ref[0];
|
||||
var fn = requireModule(serverReference);
|
||||
return fn.bind.apply(fn, [null].concat(_ref));
|
||||
});
|
||||
else if (response)
|
||||
bound = Promise.resolve(response).then(function () {
|
||||
else if (id)
|
||||
bound = Promise.resolve(id).then(function () {
|
||||
return requireModule(serverReference);
|
||||
});
|
||||
else return requireModule(serverReference);
|
||||
bound.then(
|
||||
createModelResolver(parentChunk, parentObject, key),
|
||||
createModelResolver(
|
||||
parentChunk,
|
||||
parentObject,
|
||||
key,
|
||||
!1,
|
||||
response,
|
||||
createModel
|
||||
),
|
||||
createModelReject(parentChunk)
|
||||
);
|
||||
return null;
|
||||
|
@ -1676,13 +1683,18 @@ function getChunk(response, id) {
|
|||
chunks.set(id, chunk));
|
||||
return chunk;
|
||||
}
|
||||
function createModelResolver(chunk, parentObject, key) {
|
||||
function createModelResolver(chunk, parentObject, key, cyclic, response, map) {
|
||||
if (initializingChunkBlockedModel) {
|
||||
var blocked = initializingChunkBlockedModel;
|
||||
blocked.deps++;
|
||||
} else blocked = initializingChunkBlockedModel = { deps: 1, value: null };
|
||||
cyclic || blocked.deps++;
|
||||
} else
|
||||
blocked = initializingChunkBlockedModel = {
|
||||
deps: cyclic ? 0 : 1,
|
||||
value: null
|
||||
};
|
||||
return function (value) {
|
||||
parentObject[key] = value;
|
||||
parentObject[key] = map(response, value);
|
||||
"" === key && null === blocked.value && (blocked.value = parentObject[key]);
|
||||
blocked.deps--;
|
||||
0 === blocked.deps &&
|
||||
"blocked" === chunk.status &&
|
||||
|
@ -1697,11 +1709,38 @@ function createModelReject(chunk) {
|
|||
return triggerErrorOnChunk(chunk, error);
|
||||
};
|
||||
}
|
||||
function getOutlinedModel(response, id) {
|
||||
response = getChunk(response, id);
|
||||
"resolved_model" === response.status && initializeModelChunk(response);
|
||||
if ("fulfilled" !== response.status) throw response.reason;
|
||||
return response.value;
|
||||
function getOutlinedModel(response, id, parentObject, key, map) {
|
||||
id = getChunk(response, id);
|
||||
switch (id.status) {
|
||||
case "resolved_model":
|
||||
initializeModelChunk(id);
|
||||
}
|
||||
switch (id.status) {
|
||||
case "fulfilled":
|
||||
return map(response, id.value);
|
||||
case "pending":
|
||||
case "blocked":
|
||||
var parentChunk = initializingChunk;
|
||||
id.then(
|
||||
createModelResolver(parentChunk, parentObject, key, !1, response, map),
|
||||
createModelReject(parentChunk)
|
||||
);
|
||||
return null;
|
||||
default:
|
||||
throw id.reason;
|
||||
}
|
||||
}
|
||||
function createMap(response, model) {
|
||||
return new Map(model);
|
||||
}
|
||||
function createSet(response, model) {
|
||||
return new Set(model);
|
||||
}
|
||||
function extractIterator(response, model) {
|
||||
return model[Symbol.iterator]();
|
||||
}
|
||||
function createModel(response, model) {
|
||||
return model;
|
||||
}
|
||||
function parseModelString(response, obj, key, value) {
|
||||
if ("$" === value[0]) {
|
||||
|
@ -1713,7 +1752,7 @@ function parseModelString(response, obj, key, value) {
|
|||
case "F":
|
||||
return (
|
||||
(value = parseInt(value.slice(2), 16)),
|
||||
(value = getOutlinedModel(response, value)),
|
||||
(value = getOutlinedModel(response, value, obj, key, createModel)),
|
||||
loadServerReference$1(
|
||||
response,
|
||||
value.id,
|
||||
|
@ -1727,29 +1766,27 @@ function parseModelString(response, obj, key, value) {
|
|||
return createTemporaryReference(value.slice(2));
|
||||
case "Q":
|
||||
return (
|
||||
(obj = parseInt(value.slice(2), 16)),
|
||||
(response = getOutlinedModel(response, obj)),
|
||||
new Map(response)
|
||||
(value = parseInt(value.slice(2), 16)),
|
||||
getOutlinedModel(response, value, obj, key, createMap)
|
||||
);
|
||||
case "W":
|
||||
return (
|
||||
(obj = parseInt(value.slice(2), 16)),
|
||||
(response = getOutlinedModel(response, obj)),
|
||||
new Set(response)
|
||||
(value = parseInt(value.slice(2), 16)),
|
||||
getOutlinedModel(response, value, obj, key, createSet)
|
||||
);
|
||||
case "K":
|
||||
obj = value.slice(2);
|
||||
var formPrefix = response._prefix + obj + "_",
|
||||
data$23 = new FormData();
|
||||
data = new FormData();
|
||||
response._formData.forEach(function (entry, entryKey) {
|
||||
entryKey.startsWith(formPrefix) &&
|
||||
data$23.append(entryKey.slice(formPrefix.length), entry);
|
||||
data.append(entryKey.slice(formPrefix.length), entry);
|
||||
});
|
||||
return data$23;
|
||||
return data;
|
||||
case "i":
|
||||
return (
|
||||
(obj = parseInt(value.slice(2), 16)),
|
||||
getOutlinedModel(response, obj)[Symbol.iterator]()
|
||||
(value = parseInt(value.slice(2), 16)),
|
||||
getOutlinedModel(response, value, obj, key, extractIterator)
|
||||
);
|
||||
case "I":
|
||||
return Infinity;
|
||||
|
@ -1765,27 +1802,7 @@ function parseModelString(response, obj, key, value) {
|
|||
return BigInt(value.slice(2));
|
||||
}
|
||||
value = parseInt(value.slice(1), 16);
|
||||
response = getChunk(response, value);
|
||||
switch (response.status) {
|
||||
case "resolved_model":
|
||||
initializeModelChunk(response);
|
||||
}
|
||||
switch (response.status) {
|
||||
case "fulfilled":
|
||||
return response.value;
|
||||
case "pending":
|
||||
case "blocked":
|
||||
return (
|
||||
(value = initializingChunk),
|
||||
response.then(
|
||||
createModelResolver(value, obj, key),
|
||||
createModelReject(value)
|
||||
),
|
||||
null
|
||||
);
|
||||
default:
|
||||
throw response.reason;
|
||||
}
|
||||
return getOutlinedModel(response, value, obj, key, createModel);
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
|
|
@ -824,6 +824,8 @@ function createHints() {
|
|||
|
||||
var supportsRequestStorage = true;
|
||||
var requestStorage = new async_hooks.AsyncLocalStorage();
|
||||
var supportsComponentStorage = true;
|
||||
var componentStorage = new async_hooks.AsyncLocalStorage() ;
|
||||
|
||||
var TEMPORARY_REFERENCE_TAG = Symbol.for('react.temporary.reference'); // eslint-disable-next-line no-unused-vars
|
||||
|
||||
|
@ -1170,6 +1172,21 @@ function use(usable) {
|
|||
}
|
||||
}
|
||||
|
||||
var currentOwner = null;
|
||||
function setCurrentOwner(componentInfo) {
|
||||
currentOwner = componentInfo;
|
||||
}
|
||||
function resolveOwner() {
|
||||
if (currentOwner) return currentOwner;
|
||||
|
||||
{
|
||||
var owner = componentStorage.getStore();
|
||||
if (owner) return owner;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
function resolveCache() {
|
||||
var request = resolveRequest();
|
||||
|
||||
|
@ -1194,16 +1211,9 @@ var DefaultAsyncDispatcher = {
|
|||
return entry;
|
||||
}
|
||||
};
|
||||
var currentOwner = null;
|
||||
|
||||
{
|
||||
DefaultAsyncDispatcher.getOwner = function () {
|
||||
return currentOwner;
|
||||
};
|
||||
}
|
||||
|
||||
function setCurrentOwner(componentInfo) {
|
||||
currentOwner = componentInfo;
|
||||
DefaultAsyncDispatcher.getOwner = resolveOwner;
|
||||
}
|
||||
|
||||
var isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare
|
||||
|
@ -1786,8 +1796,11 @@ function renderFunctionComponent(request, task, key, Component, props, owner) {
|
|||
// component suspends we can reuse the same task object. If the same
|
||||
// component suspends again, the thenable state will be restored.
|
||||
var prevThenableState = task.thenableState;
|
||||
task.thenableState = null;
|
||||
var componentDebugInfo = null;
|
||||
task.thenableState = null; // The secondArg is always undefined in Server Components since refs error early.
|
||||
|
||||
var secondArg = undefined;
|
||||
var result;
|
||||
var componentDebugInfo;
|
||||
|
||||
{
|
||||
if (debugID === null) {
|
||||
|
@ -1815,18 +1828,15 @@ function renderFunctionComponent(request, task, key, Component, props, owner) {
|
|||
outlineModel(request, componentDebugInfo);
|
||||
emitDebugChunk(request, componentDebugID, componentDebugInfo);
|
||||
}
|
||||
}
|
||||
|
||||
prepareToUseHooksForComponent(prevThenableState, componentDebugInfo); // The secondArg is always undefined in Server Components since refs error early.
|
||||
|
||||
var secondArg = undefined;
|
||||
var result;
|
||||
|
||||
{
|
||||
prepareToUseHooksForComponent(prevThenableState, componentDebugInfo);
|
||||
setCurrentOwner(componentDebugInfo);
|
||||
|
||||
try {
|
||||
result = Component(props, secondArg);
|
||||
if (supportsComponentStorage) {
|
||||
// Run the component in an Async Context that tracks the current owner.
|
||||
result = componentStorage.run(componentDebugInfo, Component, props, secondArg);
|
||||
}
|
||||
} finally {
|
||||
setCurrentOwner(null);
|
||||
}
|
||||
|
@ -1965,9 +1975,8 @@ function renderFragment(request, task, children) {
|
|||
|
||||
function renderClientElement(task, type, key, props, owner) // DEV-only
|
||||
{
|
||||
// We prepend the terminal client element that actually gets serialized with
|
||||
// the keys of any Server Components which are not serialized.
|
||||
|
||||
|
||||
var keyPath = task.keyPath;
|
||||
|
||||
if (key === null) {
|
||||
|
@ -2111,7 +2120,7 @@ function createTask(request, model, keyPath, implicitSlot, abortSet) {
|
|||
if (typeof model === 'object' && model !== null) {
|
||||
// If we're about to write this into a new task we can assign it an ID early so that
|
||||
// any other references can refer to the value we're about to write.
|
||||
if ((keyPath !== null || implicitSlot)) ; else {
|
||||
if (keyPath !== null || implicitSlot) ; else {
|
||||
request.writtenObjects.set(model, id);
|
||||
}
|
||||
}
|
||||
|
@ -2453,7 +2462,7 @@ function renderModelDestructive(request, task, parent, parentPropertyName, value
|
|||
var _existingId = _writtenObjects.get(value);
|
||||
|
||||
if (_existingId !== undefined) {
|
||||
if ((task.keyPath !== null || task.implicitSlot)) ; else if (modelRoot === value) {
|
||||
if (task.keyPath !== null || task.implicitSlot) ; else if (modelRoot === value) {
|
||||
// This is the ID we're currently emitting so we need to write it
|
||||
// once but if we discover it again, we refer to it by id.
|
||||
modelRoot = null;
|
||||
|
@ -2558,7 +2567,7 @@ function renderModelDestructive(request, task, parent, parentPropertyName, value
|
|||
|
||||
if (typeof value.then === 'function') {
|
||||
if (existingId !== undefined) {
|
||||
if ((task.keyPath !== null || task.implicitSlot)) {
|
||||
if (task.keyPath !== null || task.implicitSlot) {
|
||||
// If we're in some kind of context we can't reuse the result of this render or
|
||||
// previous renders of this element. We only reuse Promises if they're not wrapped
|
||||
// by another Server Component.
|
||||
|
@ -3579,7 +3588,6 @@ function loadChunk(filename) {
|
|||
return globalThis.__next_chunk_load__(filename);
|
||||
}
|
||||
|
||||
// The server acts as a Client of itself when resolving Server References.
|
||||
var PENDING = 'pending';
|
||||
var BLOCKED = 'blocked';
|
||||
var RESOLVED_MODEL = 'resolved_model';
|
||||
|
@ -3678,7 +3686,7 @@ function wakeChunkIfInitialized(chunk, resolveListeners, rejectListeners) {
|
|||
|
||||
function triggerErrorOnChunk(chunk, error) {
|
||||
if (chunk.status !== PENDING && chunk.status !== BLOCKED) {
|
||||
// We already resolved. We didn't expect to see this.
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -3699,7 +3707,7 @@ function createResolvedModelChunk(response, value) {
|
|||
|
||||
function resolveModelChunk(chunk, value) {
|
||||
if (chunk.status !== PENDING) {
|
||||
// We already resolved. We didn't expect to see this.
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -3747,7 +3755,7 @@ function loadServerReference$1(response, id, bound, parentChunk, parentObject, k
|
|||
}
|
||||
}
|
||||
|
||||
promise.then(createModelResolver(parentChunk, parentObject, key), createModelReject(parentChunk)); // We need a placeholder value that will be replaced later.
|
||||
promise.then(createModelResolver(parentChunk, parentObject, key, false, response, createModel), createModelReject(parentChunk)); // We need a placeholder value that will be replaced later.
|
||||
|
||||
return null;
|
||||
}
|
||||
|
@ -3824,21 +3832,30 @@ function getChunk(response, id) {
|
|||
return chunk;
|
||||
}
|
||||
|
||||
function createModelResolver(chunk, parentObject, key) {
|
||||
function createModelResolver(chunk, parentObject, key, cyclic, response, map) {
|
||||
var blocked;
|
||||
|
||||
if (initializingChunkBlockedModel) {
|
||||
blocked = initializingChunkBlockedModel;
|
||||
|
||||
if (!cyclic) {
|
||||
blocked.deps++;
|
||||
}
|
||||
} else {
|
||||
blocked = initializingChunkBlockedModel = {
|
||||
deps: 1,
|
||||
deps: cyclic ? 0 : 1,
|
||||
value: null
|
||||
};
|
||||
}
|
||||
|
||||
return function (value) {
|
||||
parentObject[key] = value;
|
||||
parentObject[key] = map(response, value); // If this is the root object for a model reference, where `blocked.value`
|
||||
// is a stale `null`, the resolved value can be used directly.
|
||||
|
||||
if (key === '' && blocked.value === null) {
|
||||
blocked.value = parentObject[key];
|
||||
}
|
||||
|
||||
blocked.deps--;
|
||||
|
||||
if (blocked.deps === 0) {
|
||||
|
@ -3864,19 +3881,46 @@ function createModelReject(chunk) {
|
|||
};
|
||||
}
|
||||
|
||||
function getOutlinedModel(response, id) {
|
||||
function getOutlinedModel(response, id, parentObject, key, map) {
|
||||
var chunk = getChunk(response, id);
|
||||
|
||||
if (chunk.status === RESOLVED_MODEL) {
|
||||
switch (chunk.status) {
|
||||
case RESOLVED_MODEL:
|
||||
initializeModelChunk(chunk);
|
||||
}
|
||||
break;
|
||||
} // The status might have changed after initialization.
|
||||
|
||||
if (chunk.status !== INITIALIZED) {
|
||||
// We know that this is emitted earlier so otherwise it's an error.
|
||||
|
||||
switch (chunk.status) {
|
||||
case INITIALIZED:
|
||||
return map(response, chunk.value);
|
||||
|
||||
case PENDING:
|
||||
case BLOCKED:
|
||||
var parentChunk = initializingChunk;
|
||||
chunk.then(createModelResolver(parentChunk, parentObject, key, false, response, map), createModelReject(parentChunk));
|
||||
return null;
|
||||
|
||||
default:
|
||||
throw chunk.reason;
|
||||
}
|
||||
}
|
||||
|
||||
return chunk.value;
|
||||
function createMap(response, model) {
|
||||
return new Map(model);
|
||||
}
|
||||
|
||||
function createSet(response, model) {
|
||||
return new Set(model);
|
||||
}
|
||||
|
||||
function extractIterator(response, model) {
|
||||
// $FlowFixMe[incompatible-use]: This uses raw Symbols because we're extracting from a native array.
|
||||
return model[Symbol.iterator]();
|
||||
}
|
||||
|
||||
function createModel(response, model) {
|
||||
return model;
|
||||
}
|
||||
|
||||
function parseModelString(response, obj, key, value) {
|
||||
|
@ -3893,9 +3937,8 @@ function parseModelString(response, obj, key, value) {
|
|||
// Promise
|
||||
var _id = parseInt(value.slice(2), 16);
|
||||
|
||||
var _chunk = getChunk(response, _id);
|
||||
|
||||
return _chunk;
|
||||
var chunk = getChunk(response, _id);
|
||||
return chunk;
|
||||
}
|
||||
|
||||
case 'F':
|
||||
|
@ -3904,7 +3947,7 @@ function parseModelString(response, obj, key, value) {
|
|||
var _id2 = parseInt(value.slice(2), 16); // TODO: Just encode this in the reference inline instead of as a model.
|
||||
|
||||
|
||||
var metaData = getOutlinedModel(response, _id2);
|
||||
var metaData = getOutlinedModel(response, _id2, obj, key, createModel);
|
||||
return loadServerReference$1(response, metaData.id, metaData.bound, initializingChunk, obj, key);
|
||||
}
|
||||
|
||||
|
@ -3919,8 +3962,7 @@ function parseModelString(response, obj, key, value) {
|
|||
// Map
|
||||
var _id3 = parseInt(value.slice(2), 16);
|
||||
|
||||
var data = getOutlinedModel(response, _id3);
|
||||
return new Map(data);
|
||||
return getOutlinedModel(response, _id3, obj, key, createMap);
|
||||
}
|
||||
|
||||
case 'W':
|
||||
|
@ -3928,9 +3970,7 @@ function parseModelString(response, obj, key, value) {
|
|||
// Set
|
||||
var _id4 = parseInt(value.slice(2), 16);
|
||||
|
||||
var _data = getOutlinedModel(response, _id4);
|
||||
|
||||
return new Set(_data);
|
||||
return getOutlinedModel(response, _id4, obj, key, createSet);
|
||||
}
|
||||
|
||||
case 'K':
|
||||
|
@ -3938,9 +3978,7 @@ function parseModelString(response, obj, key, value) {
|
|||
// FormData
|
||||
var stringId = value.slice(2);
|
||||
var formPrefix = response._prefix + stringId + '_';
|
||||
|
||||
var _data2 = new FormData();
|
||||
|
||||
var data = new FormData();
|
||||
var backingFormData = response._formData; // We assume that the reference to FormData always comes after each
|
||||
// entry that it references so we can assume they all exist in the
|
||||
// backing store already.
|
||||
|
@ -3948,10 +3986,10 @@ function parseModelString(response, obj, key, value) {
|
|||
|
||||
backingFormData.forEach(function (entry, entryKey) {
|
||||
if (entryKey.startsWith(formPrefix)) {
|
||||
_data2.append(entryKey.slice(formPrefix.length), entry);
|
||||
data.append(entryKey.slice(formPrefix.length), entry);
|
||||
}
|
||||
});
|
||||
return _data2;
|
||||
return data;
|
||||
}
|
||||
|
||||
case 'i':
|
||||
|
@ -3959,9 +3997,7 @@ function parseModelString(response, obj, key, value) {
|
|||
// Iterator
|
||||
var _id5 = parseInt(value.slice(2), 16);
|
||||
|
||||
var _data3 = getOutlinedModel(response, _id5);
|
||||
|
||||
return _data3[Symbol.iterator]();
|
||||
return getOutlinedModel(response, _id5, obj, key, extractIterator);
|
||||
}
|
||||
|
||||
case 'I':
|
||||
|
@ -4008,28 +4044,7 @@ function parseModelString(response, obj, key, value) {
|
|||
|
||||
|
||||
var id = parseInt(value.slice(1), 16);
|
||||
var chunk = getChunk(response, id);
|
||||
|
||||
switch (chunk.status) {
|
||||
case RESOLVED_MODEL:
|
||||
initializeModelChunk(chunk);
|
||||
break;
|
||||
} // The status might have changed after initialization.
|
||||
|
||||
|
||||
switch (chunk.status) {
|
||||
case INITIALIZED:
|
||||
return chunk.value;
|
||||
|
||||
case PENDING:
|
||||
case BLOCKED:
|
||||
var parentChunk = initializingChunk;
|
||||
chunk.then(createModelResolver(parentChunk, obj, key), createModelReject(parentChunk));
|
||||
return null;
|
||||
|
||||
default:
|
||||
throw chunk.reason;
|
||||
}
|
||||
return getOutlinedModel(response, id, obj, key, createModel);
|
||||
}
|
||||
|
||||
return value;
|
||||
|
|
|
@ -1672,20 +1672,27 @@ function loadServerReference$1(
|
|||
key
|
||||
) {
|
||||
var serverReference = resolveServerReference(response._bundlerConfig, id);
|
||||
response = preloadModule(serverReference);
|
||||
id = preloadModule(serverReference);
|
||||
if (bound)
|
||||
bound = Promise.all([bound, response]).then(function (_ref) {
|
||||
bound = Promise.all([bound, id]).then(function (_ref) {
|
||||
_ref = _ref[0];
|
||||
var fn = requireModule(serverReference);
|
||||
return fn.bind.apply(fn, [null].concat(_ref));
|
||||
});
|
||||
else if (response)
|
||||
bound = Promise.resolve(response).then(function () {
|
||||
else if (id)
|
||||
bound = Promise.resolve(id).then(function () {
|
||||
return requireModule(serverReference);
|
||||
});
|
||||
else return requireModule(serverReference);
|
||||
bound.then(
|
||||
createModelResolver(parentChunk, parentObject, key),
|
||||
createModelResolver(
|
||||
parentChunk,
|
||||
parentObject,
|
||||
key,
|
||||
!1,
|
||||
response,
|
||||
createModel
|
||||
),
|
||||
createModelReject(parentChunk)
|
||||
);
|
||||
return null;
|
||||
|
@ -1730,13 +1737,18 @@ function getChunk(response, id) {
|
|||
chunks.set(id, chunk));
|
||||
return chunk;
|
||||
}
|
||||
function createModelResolver(chunk, parentObject, key) {
|
||||
function createModelResolver(chunk, parentObject, key, cyclic, response, map) {
|
||||
if (initializingChunkBlockedModel) {
|
||||
var blocked = initializingChunkBlockedModel;
|
||||
blocked.deps++;
|
||||
} else blocked = initializingChunkBlockedModel = { deps: 1, value: null };
|
||||
cyclic || blocked.deps++;
|
||||
} else
|
||||
blocked = initializingChunkBlockedModel = {
|
||||
deps: cyclic ? 0 : 1,
|
||||
value: null
|
||||
};
|
||||
return function (value) {
|
||||
parentObject[key] = value;
|
||||
parentObject[key] = map(response, value);
|
||||
"" === key && null === blocked.value && (blocked.value = parentObject[key]);
|
||||
blocked.deps--;
|
||||
0 === blocked.deps &&
|
||||
"blocked" === chunk.status &&
|
||||
|
@ -1751,11 +1763,38 @@ function createModelReject(chunk) {
|
|||
return triggerErrorOnChunk(chunk, error);
|
||||
};
|
||||
}
|
||||
function getOutlinedModel(response, id) {
|
||||
response = getChunk(response, id);
|
||||
"resolved_model" === response.status && initializeModelChunk(response);
|
||||
if ("fulfilled" !== response.status) throw response.reason;
|
||||
return response.value;
|
||||
function getOutlinedModel(response, id, parentObject, key, map) {
|
||||
id = getChunk(response, id);
|
||||
switch (id.status) {
|
||||
case "resolved_model":
|
||||
initializeModelChunk(id);
|
||||
}
|
||||
switch (id.status) {
|
||||
case "fulfilled":
|
||||
return map(response, id.value);
|
||||
case "pending":
|
||||
case "blocked":
|
||||
var parentChunk = initializingChunk;
|
||||
id.then(
|
||||
createModelResolver(parentChunk, parentObject, key, !1, response, map),
|
||||
createModelReject(parentChunk)
|
||||
);
|
||||
return null;
|
||||
default:
|
||||
throw id.reason;
|
||||
}
|
||||
}
|
||||
function createMap(response, model) {
|
||||
return new Map(model);
|
||||
}
|
||||
function createSet(response, model) {
|
||||
return new Set(model);
|
||||
}
|
||||
function extractIterator(response, model) {
|
||||
return model[Symbol.iterator]();
|
||||
}
|
||||
function createModel(response, model) {
|
||||
return model;
|
||||
}
|
||||
function parseModelString(response, obj, key, value) {
|
||||
if ("$" === value[0]) {
|
||||
|
@ -1767,7 +1806,7 @@ function parseModelString(response, obj, key, value) {
|
|||
case "F":
|
||||
return (
|
||||
(value = parseInt(value.slice(2), 16)),
|
||||
(value = getOutlinedModel(response, value)),
|
||||
(value = getOutlinedModel(response, value, obj, key, createModel)),
|
||||
loadServerReference$1(
|
||||
response,
|
||||
value.id,
|
||||
|
@ -1781,29 +1820,27 @@ function parseModelString(response, obj, key, value) {
|
|||
return createTemporaryReference(value.slice(2));
|
||||
case "Q":
|
||||
return (
|
||||
(obj = parseInt(value.slice(2), 16)),
|
||||
(response = getOutlinedModel(response, obj)),
|
||||
new Map(response)
|
||||
(value = parseInt(value.slice(2), 16)),
|
||||
getOutlinedModel(response, value, obj, key, createMap)
|
||||
);
|
||||
case "W":
|
||||
return (
|
||||
(obj = parseInt(value.slice(2), 16)),
|
||||
(response = getOutlinedModel(response, obj)),
|
||||
new Set(response)
|
||||
(value = parseInt(value.slice(2), 16)),
|
||||
getOutlinedModel(response, value, obj, key, createSet)
|
||||
);
|
||||
case "K":
|
||||
obj = value.slice(2);
|
||||
var formPrefix = response._prefix + obj + "_",
|
||||
data$23 = new FormData();
|
||||
data = new FormData();
|
||||
response._formData.forEach(function (entry, entryKey) {
|
||||
entryKey.startsWith(formPrefix) &&
|
||||
data$23.append(entryKey.slice(formPrefix.length), entry);
|
||||
data.append(entryKey.slice(formPrefix.length), entry);
|
||||
});
|
||||
return data$23;
|
||||
return data;
|
||||
case "i":
|
||||
return (
|
||||
(obj = parseInt(value.slice(2), 16)),
|
||||
getOutlinedModel(response, obj)[Symbol.iterator]()
|
||||
(value = parseInt(value.slice(2), 16)),
|
||||
getOutlinedModel(response, value, obj, key, extractIterator)
|
||||
);
|
||||
case "I":
|
||||
return Infinity;
|
||||
|
@ -1819,27 +1856,7 @@ function parseModelString(response, obj, key, value) {
|
|||
return BigInt(value.slice(2));
|
||||
}
|
||||
value = parseInt(value.slice(1), 16);
|
||||
response = getChunk(response, value);
|
||||
switch (response.status) {
|
||||
case "resolved_model":
|
||||
initializeModelChunk(response);
|
||||
}
|
||||
switch (response.status) {
|
||||
case "fulfilled":
|
||||
return response.value;
|
||||
case "pending":
|
||||
case "blocked":
|
||||
return (
|
||||
(value = initializingChunk),
|
||||
response.then(
|
||||
createModelResolver(value, obj, key),
|
||||
createModelReject(value)
|
||||
),
|
||||
null
|
||||
);
|
||||
default:
|
||||
throw response.reason;
|
||||
}
|
||||
return getOutlinedModel(response, value, obj, key, createModel);
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
@ -1973,12 +1990,12 @@ exports.decodeReplyFromBusboy = function (busboyStream, turbopackMap) {
|
|||
"React doesn't accept base64 encoded file uploads because we don't expect form data passed from a browser to ever encode data that way. If that's the wrong assumption, we can easily fix it."
|
||||
);
|
||||
pendingFiles++;
|
||||
var JSCompiler_object_inline_chunks_207 = [];
|
||||
var JSCompiler_object_inline_chunks_203 = [];
|
||||
value.on("data", function (chunk) {
|
||||
JSCompiler_object_inline_chunks_207.push(chunk);
|
||||
JSCompiler_object_inline_chunks_203.push(chunk);
|
||||
});
|
||||
value.on("end", function () {
|
||||
var blob = new Blob(JSCompiler_object_inline_chunks_207, {
|
||||
var blob = new Blob(JSCompiler_object_inline_chunks_203, {
|
||||
type: mimeType
|
||||
});
|
||||
response._formData.append(name, blob, filename);
|
||||
|
|
|
@ -824,6 +824,8 @@ function createHints() {
|
|||
|
||||
var supportsRequestStorage = true;
|
||||
var requestStorage = new async_hooks.AsyncLocalStorage();
|
||||
var supportsComponentStorage = true;
|
||||
var componentStorage = new async_hooks.AsyncLocalStorage() ;
|
||||
|
||||
var TEMPORARY_REFERENCE_TAG = Symbol.for('react.temporary.reference'); // eslint-disable-next-line no-unused-vars
|
||||
|
||||
|
@ -1170,6 +1172,21 @@ function use(usable) {
|
|||
}
|
||||
}
|
||||
|
||||
var currentOwner = null;
|
||||
function setCurrentOwner(componentInfo) {
|
||||
currentOwner = componentInfo;
|
||||
}
|
||||
function resolveOwner() {
|
||||
if (currentOwner) return currentOwner;
|
||||
|
||||
{
|
||||
var owner = componentStorage.getStore();
|
||||
if (owner) return owner;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
function resolveCache() {
|
||||
var request = resolveRequest();
|
||||
|
||||
|
@ -1194,16 +1211,9 @@ var DefaultAsyncDispatcher = {
|
|||
return entry;
|
||||
}
|
||||
};
|
||||
var currentOwner = null;
|
||||
|
||||
{
|
||||
DefaultAsyncDispatcher.getOwner = function () {
|
||||
return currentOwner;
|
||||
};
|
||||
}
|
||||
|
||||
function setCurrentOwner(componentInfo) {
|
||||
currentOwner = componentInfo;
|
||||
DefaultAsyncDispatcher.getOwner = resolveOwner;
|
||||
}
|
||||
|
||||
var isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare
|
||||
|
@ -1786,8 +1796,11 @@ function renderFunctionComponent(request, task, key, Component, props, owner) {
|
|||
// component suspends we can reuse the same task object. If the same
|
||||
// component suspends again, the thenable state will be restored.
|
||||
var prevThenableState = task.thenableState;
|
||||
task.thenableState = null;
|
||||
var componentDebugInfo = null;
|
||||
task.thenableState = null; // The secondArg is always undefined in Server Components since refs error early.
|
||||
|
||||
var secondArg = undefined;
|
||||
var result;
|
||||
var componentDebugInfo;
|
||||
|
||||
{
|
||||
if (debugID === null) {
|
||||
|
@ -1815,18 +1828,15 @@ function renderFunctionComponent(request, task, key, Component, props, owner) {
|
|||
outlineModel(request, componentDebugInfo);
|
||||
emitDebugChunk(request, componentDebugID, componentDebugInfo);
|
||||
}
|
||||
}
|
||||
|
||||
prepareToUseHooksForComponent(prevThenableState, componentDebugInfo); // The secondArg is always undefined in Server Components since refs error early.
|
||||
|
||||
var secondArg = undefined;
|
||||
var result;
|
||||
|
||||
{
|
||||
prepareToUseHooksForComponent(prevThenableState, componentDebugInfo);
|
||||
setCurrentOwner(componentDebugInfo);
|
||||
|
||||
try {
|
||||
result = Component(props, secondArg);
|
||||
if (supportsComponentStorage) {
|
||||
// Run the component in an Async Context that tracks the current owner.
|
||||
result = componentStorage.run(componentDebugInfo, Component, props, secondArg);
|
||||
}
|
||||
} finally {
|
||||
setCurrentOwner(null);
|
||||
}
|
||||
|
@ -1965,9 +1975,8 @@ function renderFragment(request, task, children) {
|
|||
|
||||
function renderClientElement(task, type, key, props, owner) // DEV-only
|
||||
{
|
||||
// We prepend the terminal client element that actually gets serialized with
|
||||
// the keys of any Server Components which are not serialized.
|
||||
|
||||
|
||||
var keyPath = task.keyPath;
|
||||
|
||||
if (key === null) {
|
||||
|
@ -2111,7 +2120,7 @@ function createTask(request, model, keyPath, implicitSlot, abortSet) {
|
|||
if (typeof model === 'object' && model !== null) {
|
||||
// If we're about to write this into a new task we can assign it an ID early so that
|
||||
// any other references can refer to the value we're about to write.
|
||||
if ((keyPath !== null || implicitSlot)) ; else {
|
||||
if (keyPath !== null || implicitSlot) ; else {
|
||||
request.writtenObjects.set(model, id);
|
||||
}
|
||||
}
|
||||
|
@ -2453,7 +2462,7 @@ function renderModelDestructive(request, task, parent, parentPropertyName, value
|
|||
var _existingId = _writtenObjects.get(value);
|
||||
|
||||
if (_existingId !== undefined) {
|
||||
if ((task.keyPath !== null || task.implicitSlot)) ; else if (modelRoot === value) {
|
||||
if (task.keyPath !== null || task.implicitSlot) ; else if (modelRoot === value) {
|
||||
// This is the ID we're currently emitting so we need to write it
|
||||
// once but if we discover it again, we refer to it by id.
|
||||
modelRoot = null;
|
||||
|
@ -2558,7 +2567,7 @@ function renderModelDestructive(request, task, parent, parentPropertyName, value
|
|||
|
||||
if (typeof value.then === 'function') {
|
||||
if (existingId !== undefined) {
|
||||
if ((task.keyPath !== null || task.implicitSlot)) {
|
||||
if (task.keyPath !== null || task.implicitSlot) {
|
||||
// If we're in some kind of context we can't reuse the result of this render or
|
||||
// previous renders of this element. We only reuse Promises if they're not wrapped
|
||||
// by another Server Component.
|
||||
|
@ -3508,7 +3517,6 @@ function requireModule(metadata) {
|
|||
return moduleExports[metadata.name];
|
||||
}
|
||||
|
||||
// The server acts as a Client of itself when resolving Server References.
|
||||
var PENDING = 'pending';
|
||||
var BLOCKED = 'blocked';
|
||||
var RESOLVED_MODEL = 'resolved_model';
|
||||
|
@ -3607,7 +3615,7 @@ function wakeChunkIfInitialized(chunk, resolveListeners, rejectListeners) {
|
|||
|
||||
function triggerErrorOnChunk(chunk, error) {
|
||||
if (chunk.status !== PENDING && chunk.status !== BLOCKED) {
|
||||
// We already resolved. We didn't expect to see this.
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -3628,7 +3636,7 @@ function createResolvedModelChunk(response, value) {
|
|||
|
||||
function resolveModelChunk(chunk, value) {
|
||||
if (chunk.status !== PENDING) {
|
||||
// We already resolved. We didn't expect to see this.
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -3676,7 +3684,7 @@ function loadServerReference$1(response, id, bound, parentChunk, parentObject, k
|
|||
}
|
||||
}
|
||||
|
||||
promise.then(createModelResolver(parentChunk, parentObject, key), createModelReject(parentChunk)); // We need a placeholder value that will be replaced later.
|
||||
promise.then(createModelResolver(parentChunk, parentObject, key, false, response, createModel), createModelReject(parentChunk)); // We need a placeholder value that will be replaced later.
|
||||
|
||||
return null;
|
||||
}
|
||||
|
@ -3753,21 +3761,30 @@ function getChunk(response, id) {
|
|||
return chunk;
|
||||
}
|
||||
|
||||
function createModelResolver(chunk, parentObject, key) {
|
||||
function createModelResolver(chunk, parentObject, key, cyclic, response, map) {
|
||||
var blocked;
|
||||
|
||||
if (initializingChunkBlockedModel) {
|
||||
blocked = initializingChunkBlockedModel;
|
||||
|
||||
if (!cyclic) {
|
||||
blocked.deps++;
|
||||
}
|
||||
} else {
|
||||
blocked = initializingChunkBlockedModel = {
|
||||
deps: 1,
|
||||
deps: cyclic ? 0 : 1,
|
||||
value: null
|
||||
};
|
||||
}
|
||||
|
||||
return function (value) {
|
||||
parentObject[key] = value;
|
||||
parentObject[key] = map(response, value); // If this is the root object for a model reference, where `blocked.value`
|
||||
// is a stale `null`, the resolved value can be used directly.
|
||||
|
||||
if (key === '' && blocked.value === null) {
|
||||
blocked.value = parentObject[key];
|
||||
}
|
||||
|
||||
blocked.deps--;
|
||||
|
||||
if (blocked.deps === 0) {
|
||||
|
@ -3793,19 +3810,46 @@ function createModelReject(chunk) {
|
|||
};
|
||||
}
|
||||
|
||||
function getOutlinedModel(response, id) {
|
||||
function getOutlinedModel(response, id, parentObject, key, map) {
|
||||
var chunk = getChunk(response, id);
|
||||
|
||||
if (chunk.status === RESOLVED_MODEL) {
|
||||
switch (chunk.status) {
|
||||
case RESOLVED_MODEL:
|
||||
initializeModelChunk(chunk);
|
||||
}
|
||||
break;
|
||||
} // The status might have changed after initialization.
|
||||
|
||||
if (chunk.status !== INITIALIZED) {
|
||||
// We know that this is emitted earlier so otherwise it's an error.
|
||||
|
||||
switch (chunk.status) {
|
||||
case INITIALIZED:
|
||||
return map(response, chunk.value);
|
||||
|
||||
case PENDING:
|
||||
case BLOCKED:
|
||||
var parentChunk = initializingChunk;
|
||||
chunk.then(createModelResolver(parentChunk, parentObject, key, false, response, map), createModelReject(parentChunk));
|
||||
return null;
|
||||
|
||||
default:
|
||||
throw chunk.reason;
|
||||
}
|
||||
}
|
||||
|
||||
return chunk.value;
|
||||
function createMap(response, model) {
|
||||
return new Map(model);
|
||||
}
|
||||
|
||||
function createSet(response, model) {
|
||||
return new Set(model);
|
||||
}
|
||||
|
||||
function extractIterator(response, model) {
|
||||
// $FlowFixMe[incompatible-use]: This uses raw Symbols because we're extracting from a native array.
|
||||
return model[Symbol.iterator]();
|
||||
}
|
||||
|
||||
function createModel(response, model) {
|
||||
return model;
|
||||
}
|
||||
|
||||
function parseModelString(response, obj, key, value) {
|
||||
|
@ -3822,9 +3866,8 @@ function parseModelString(response, obj, key, value) {
|
|||
// Promise
|
||||
var _id = parseInt(value.slice(2), 16);
|
||||
|
||||
var _chunk = getChunk(response, _id);
|
||||
|
||||
return _chunk;
|
||||
var chunk = getChunk(response, _id);
|
||||
return chunk;
|
||||
}
|
||||
|
||||
case 'F':
|
||||
|
@ -3833,7 +3876,7 @@ function parseModelString(response, obj, key, value) {
|
|||
var _id2 = parseInt(value.slice(2), 16); // TODO: Just encode this in the reference inline instead of as a model.
|
||||
|
||||
|
||||
var metaData = getOutlinedModel(response, _id2);
|
||||
var metaData = getOutlinedModel(response, _id2, obj, key, createModel);
|
||||
return loadServerReference$1(response, metaData.id, metaData.bound, initializingChunk, obj, key);
|
||||
}
|
||||
|
||||
|
@ -3848,8 +3891,7 @@ function parseModelString(response, obj, key, value) {
|
|||
// Map
|
||||
var _id3 = parseInt(value.slice(2), 16);
|
||||
|
||||
var data = getOutlinedModel(response, _id3);
|
||||
return new Map(data);
|
||||
return getOutlinedModel(response, _id3, obj, key, createMap);
|
||||
}
|
||||
|
||||
case 'W':
|
||||
|
@ -3857,9 +3899,7 @@ function parseModelString(response, obj, key, value) {
|
|||
// Set
|
||||
var _id4 = parseInt(value.slice(2), 16);
|
||||
|
||||
var _data = getOutlinedModel(response, _id4);
|
||||
|
||||
return new Set(_data);
|
||||
return getOutlinedModel(response, _id4, obj, key, createSet);
|
||||
}
|
||||
|
||||
case 'K':
|
||||
|
@ -3867,9 +3907,7 @@ function parseModelString(response, obj, key, value) {
|
|||
// FormData
|
||||
var stringId = value.slice(2);
|
||||
var formPrefix = response._prefix + stringId + '_';
|
||||
|
||||
var _data2 = new FormData();
|
||||
|
||||
var data = new FormData();
|
||||
var backingFormData = response._formData; // We assume that the reference to FormData always comes after each
|
||||
// entry that it references so we can assume they all exist in the
|
||||
// backing store already.
|
||||
|
@ -3877,10 +3915,10 @@ function parseModelString(response, obj, key, value) {
|
|||
|
||||
backingFormData.forEach(function (entry, entryKey) {
|
||||
if (entryKey.startsWith(formPrefix)) {
|
||||
_data2.append(entryKey.slice(formPrefix.length), entry);
|
||||
data.append(entryKey.slice(formPrefix.length), entry);
|
||||
}
|
||||
});
|
||||
return _data2;
|
||||
return data;
|
||||
}
|
||||
|
||||
case 'i':
|
||||
|
@ -3888,9 +3926,7 @@ function parseModelString(response, obj, key, value) {
|
|||
// Iterator
|
||||
var _id5 = parseInt(value.slice(2), 16);
|
||||
|
||||
var _data3 = getOutlinedModel(response, _id5);
|
||||
|
||||
return _data3[Symbol.iterator]();
|
||||
return getOutlinedModel(response, _id5, obj, key, extractIterator);
|
||||
}
|
||||
|
||||
case 'I':
|
||||
|
@ -3937,28 +3973,7 @@ function parseModelString(response, obj, key, value) {
|
|||
|
||||
|
||||
var id = parseInt(value.slice(1), 16);
|
||||
var chunk = getChunk(response, id);
|
||||
|
||||
switch (chunk.status) {
|
||||
case RESOLVED_MODEL:
|
||||
initializeModelChunk(chunk);
|
||||
break;
|
||||
} // The status might have changed after initialization.
|
||||
|
||||
|
||||
switch (chunk.status) {
|
||||
case INITIALIZED:
|
||||
return chunk.value;
|
||||
|
||||
case PENDING:
|
||||
case BLOCKED:
|
||||
var parentChunk = initializingChunk;
|
||||
chunk.then(createModelResolver(parentChunk, obj, key), createModelReject(parentChunk));
|
||||
return null;
|
||||
|
||||
default:
|
||||
throw chunk.reason;
|
||||
}
|
||||
return getOutlinedModel(response, id, obj, key, createModel);
|
||||
}
|
||||
|
||||
return value;
|
||||
|
|
|
@ -1641,20 +1641,27 @@ function loadServerReference$1(
|
|||
key
|
||||
) {
|
||||
var serverReference = resolveServerReference(response._bundlerConfig, id);
|
||||
response = preloadModule(serverReference);
|
||||
id = preloadModule(serverReference);
|
||||
if (bound)
|
||||
bound = Promise.all([bound, response]).then(function (_ref) {
|
||||
bound = Promise.all([bound, id]).then(function (_ref) {
|
||||
_ref = _ref[0];
|
||||
var fn = requireModule(serverReference);
|
||||
return fn.bind.apply(fn, [null].concat(_ref));
|
||||
});
|
||||
else if (response)
|
||||
bound = Promise.resolve(response).then(function () {
|
||||
else if (id)
|
||||
bound = Promise.resolve(id).then(function () {
|
||||
return requireModule(serverReference);
|
||||
});
|
||||
else return requireModule(serverReference);
|
||||
bound.then(
|
||||
createModelResolver(parentChunk, parentObject, key),
|
||||
createModelResolver(
|
||||
parentChunk,
|
||||
parentObject,
|
||||
key,
|
||||
!1,
|
||||
response,
|
||||
createModel
|
||||
),
|
||||
createModelReject(parentChunk)
|
||||
);
|
||||
return null;
|
||||
|
@ -1699,13 +1706,18 @@ function getChunk(response, id) {
|
|||
chunks.set(id, chunk));
|
||||
return chunk;
|
||||
}
|
||||
function createModelResolver(chunk, parentObject, key) {
|
||||
function createModelResolver(chunk, parentObject, key, cyclic, response, map) {
|
||||
if (initializingChunkBlockedModel) {
|
||||
var blocked = initializingChunkBlockedModel;
|
||||
blocked.deps++;
|
||||
} else blocked = initializingChunkBlockedModel = { deps: 1, value: null };
|
||||
cyclic || blocked.deps++;
|
||||
} else
|
||||
blocked = initializingChunkBlockedModel = {
|
||||
deps: cyclic ? 0 : 1,
|
||||
value: null
|
||||
};
|
||||
return function (value) {
|
||||
parentObject[key] = value;
|
||||
parentObject[key] = map(response, value);
|
||||
"" === key && null === blocked.value && (blocked.value = parentObject[key]);
|
||||
blocked.deps--;
|
||||
0 === blocked.deps &&
|
||||
"blocked" === chunk.status &&
|
||||
|
@ -1720,11 +1732,38 @@ function createModelReject(chunk) {
|
|||
return triggerErrorOnChunk(chunk, error);
|
||||
};
|
||||
}
|
||||
function getOutlinedModel(response, id) {
|
||||
response = getChunk(response, id);
|
||||
"resolved_model" === response.status && initializeModelChunk(response);
|
||||
if ("fulfilled" !== response.status) throw response.reason;
|
||||
return response.value;
|
||||
function getOutlinedModel(response, id, parentObject, key, map) {
|
||||
id = getChunk(response, id);
|
||||
switch (id.status) {
|
||||
case "resolved_model":
|
||||
initializeModelChunk(id);
|
||||
}
|
||||
switch (id.status) {
|
||||
case "fulfilled":
|
||||
return map(response, id.value);
|
||||
case "pending":
|
||||
case "blocked":
|
||||
var parentChunk = initializingChunk;
|
||||
id.then(
|
||||
createModelResolver(parentChunk, parentObject, key, !1, response, map),
|
||||
createModelReject(parentChunk)
|
||||
);
|
||||
return null;
|
||||
default:
|
||||
throw id.reason;
|
||||
}
|
||||
}
|
||||
function createMap(response, model) {
|
||||
return new Map(model);
|
||||
}
|
||||
function createSet(response, model) {
|
||||
return new Set(model);
|
||||
}
|
||||
function extractIterator(response, model) {
|
||||
return model[Symbol.iterator]();
|
||||
}
|
||||
function createModel(response, model) {
|
||||
return model;
|
||||
}
|
||||
function parseModelString(response, obj, key, value) {
|
||||
if ("$" === value[0]) {
|
||||
|
@ -1736,7 +1775,7 @@ function parseModelString(response, obj, key, value) {
|
|||
case "F":
|
||||
return (
|
||||
(value = parseInt(value.slice(2), 16)),
|
||||
(value = getOutlinedModel(response, value)),
|
||||
(value = getOutlinedModel(response, value, obj, key, createModel)),
|
||||
loadServerReference$1(
|
||||
response,
|
||||
value.id,
|
||||
|
@ -1750,29 +1789,27 @@ function parseModelString(response, obj, key, value) {
|
|||
return createTemporaryReference(value.slice(2));
|
||||
case "Q":
|
||||
return (
|
||||
(obj = parseInt(value.slice(2), 16)),
|
||||
(response = getOutlinedModel(response, obj)),
|
||||
new Map(response)
|
||||
(value = parseInt(value.slice(2), 16)),
|
||||
getOutlinedModel(response, value, obj, key, createMap)
|
||||
);
|
||||
case "W":
|
||||
return (
|
||||
(obj = parseInt(value.slice(2), 16)),
|
||||
(response = getOutlinedModel(response, obj)),
|
||||
new Set(response)
|
||||
(value = parseInt(value.slice(2), 16)),
|
||||
getOutlinedModel(response, value, obj, key, createSet)
|
||||
);
|
||||
case "K":
|
||||
obj = value.slice(2);
|
||||
var formPrefix = response._prefix + obj + "_",
|
||||
data$23 = new FormData();
|
||||
data = new FormData();
|
||||
response._formData.forEach(function (entry, entryKey) {
|
||||
entryKey.startsWith(formPrefix) &&
|
||||
data$23.append(entryKey.slice(formPrefix.length), entry);
|
||||
data.append(entryKey.slice(formPrefix.length), entry);
|
||||
});
|
||||
return data$23;
|
||||
return data;
|
||||
case "i":
|
||||
return (
|
||||
(obj = parseInt(value.slice(2), 16)),
|
||||
getOutlinedModel(response, obj)[Symbol.iterator]()
|
||||
(value = parseInt(value.slice(2), 16)),
|
||||
getOutlinedModel(response, value, obj, key, extractIterator)
|
||||
);
|
||||
case "I":
|
||||
return Infinity;
|
||||
|
@ -1788,27 +1825,7 @@ function parseModelString(response, obj, key, value) {
|
|||
return BigInt(value.slice(2));
|
||||
}
|
||||
value = parseInt(value.slice(1), 16);
|
||||
response = getChunk(response, value);
|
||||
switch (response.status) {
|
||||
case "resolved_model":
|
||||
initializeModelChunk(response);
|
||||
}
|
||||
switch (response.status) {
|
||||
case "fulfilled":
|
||||
return response.value;
|
||||
case "pending":
|
||||
case "blocked":
|
||||
return (
|
||||
(value = initializingChunk),
|
||||
response.then(
|
||||
createModelResolver(value, obj, key),
|
||||
createModelReject(value)
|
||||
),
|
||||
null
|
||||
);
|
||||
default:
|
||||
throw response.reason;
|
||||
}
|
||||
return getOutlinedModel(response, value, obj, key, createModel);
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
@ -1942,12 +1959,12 @@ exports.decodeReplyFromBusboy = function (busboyStream, turbopackMap) {
|
|||
"React doesn't accept base64 encoded file uploads because we don't expect form data passed from a browser to ever encode data that way. If that's the wrong assumption, we can easily fix it."
|
||||
);
|
||||
pendingFiles++;
|
||||
var JSCompiler_object_inline_chunks_207 = [];
|
||||
var JSCompiler_object_inline_chunks_203 = [];
|
||||
value.on("data", function (chunk) {
|
||||
JSCompiler_object_inline_chunks_207.push(chunk);
|
||||
JSCompiler_object_inline_chunks_203.push(chunk);
|
||||
});
|
||||
value.on("end", function () {
|
||||
var blob = new Blob(JSCompiler_object_inline_chunks_207, {
|
||||
var blob = new Blob(JSCompiler_object_inline_chunks_203, {
|
||||
type: mimeType
|
||||
});
|
||||
response._formData.append(name, blob, filename);
|
||||
|
|
|
@ -47,7 +47,7 @@
|
|||
"neo-async": "^2.6.1"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": "19.0.0-beta-4508873393-20240430",
|
||||
"react-dom": "19.0.0-beta-4508873393-20240430"
|
||||
"react": "19.0.0-beta-04b058868c-20240508",
|
||||
"react-dom": "19.0.0-beta-04b058868c-20240508"
|
||||
}
|
||||
}
|
|
@ -965,12 +965,12 @@ function processReply(root, formFieldPrefix, temporaryReferences, resolve, rejec
|
|||
// While the first promise resolved, its value isn't necessarily what we'll
|
||||
// resolve into because we might suspend again.
|
||||
try {
|
||||
var _partJSON = JSON.stringify(value, resolveToJSON); // $FlowFixMe[incompatible-type] We know it's not null because we assigned it above.
|
||||
var _partJSON2 = JSON.stringify(value, resolveToJSON); // $FlowFixMe[incompatible-type] We know it's not null because we assigned it above.
|
||||
|
||||
|
||||
var _data = formData; // eslint-disable-next-line react-internal/safe-string-coercion
|
||||
|
||||
_data.append(formFieldPrefix + _lazyId, _partJSON);
|
||||
_data.append(formFieldPrefix + _lazyId, _partJSON2);
|
||||
|
||||
pendingParts--;
|
||||
|
||||
|
@ -1011,12 +1011,12 @@ function processReply(root, formFieldPrefix, temporaryReferences, resolve, rejec
|
|||
|
||||
_thenable.then(function (partValue) {
|
||||
try {
|
||||
var _partJSON2 = JSON.stringify(partValue, resolveToJSON); // $FlowFixMe[incompatible-type] We know it's not null because we assigned it above.
|
||||
var _partJSON3 = JSON.stringify(partValue, resolveToJSON); // $FlowFixMe[incompatible-type] We know it's not null because we assigned it above.
|
||||
|
||||
|
||||
var _data2 = formData; // eslint-disable-next-line react-internal/safe-string-coercion
|
||||
|
||||
_data2.append(formFieldPrefix + promiseId, _partJSON2);
|
||||
_data2.append(formFieldPrefix + promiseId, _partJSON3);
|
||||
|
||||
pendingParts--;
|
||||
|
||||
|
@ -1026,11 +1026,9 @@ function processReply(root, formFieldPrefix, temporaryReferences, resolve, rejec
|
|||
} catch (reason) {
|
||||
reject(reason);
|
||||
}
|
||||
}, function (reason) {
|
||||
// In the future we could consider serializing this as an error
|
||||
}, // In the future we could consider serializing this as an error
|
||||
// that throws on the server instead.
|
||||
reject(reason);
|
||||
});
|
||||
reject);
|
||||
|
||||
return serializePromiseID(promiseId);
|
||||
}
|
||||
|
@ -1061,26 +1059,26 @@ function processReply(root, formFieldPrefix, temporaryReferences, resolve, rejec
|
|||
}
|
||||
|
||||
if (value instanceof Map) {
|
||||
var _partJSON3 = JSON.stringify(Array.from(value), resolveToJSON);
|
||||
|
||||
if (formData === null) {
|
||||
formData = new FormData();
|
||||
}
|
||||
|
||||
var mapId = nextPartId++;
|
||||
formData.append(formFieldPrefix + mapId, _partJSON3);
|
||||
return serializeMapID(mapId);
|
||||
}
|
||||
|
||||
if (value instanceof Set) {
|
||||
var _partJSON4 = JSON.stringify(Array.from(value), resolveToJSON);
|
||||
|
||||
if (formData === null) {
|
||||
formData = new FormData();
|
||||
}
|
||||
|
||||
var mapId = nextPartId++;
|
||||
formData.append(formFieldPrefix + mapId, _partJSON4);
|
||||
return serializeMapID(mapId);
|
||||
}
|
||||
|
||||
if (value instanceof Set) {
|
||||
var _partJSON5 = JSON.stringify(Array.from(value), resolveToJSON);
|
||||
|
||||
if (formData === null) {
|
||||
formData = new FormData();
|
||||
}
|
||||
|
||||
var setId = nextPartId++;
|
||||
formData.append(formFieldPrefix + setId, _partJSON4);
|
||||
formData.append(formFieldPrefix + setId, _partJSON5);
|
||||
return serializeSetID(setId);
|
||||
}
|
||||
|
||||
|
@ -1091,19 +1089,19 @@ function processReply(root, formFieldPrefix, temporaryReferences, resolve, rejec
|
|||
|
||||
if (iterator === value) {
|
||||
// Iterator, not Iterable
|
||||
var _partJSON5 = JSON.stringify(Array.from(iterator), resolveToJSON);
|
||||
var _partJSON6 = JSON.stringify(Array.from(iterator), resolveToJSON);
|
||||
|
||||
if (formData === null) {
|
||||
formData = new FormData();
|
||||
}
|
||||
|
||||
var iteratorId = nextPartId++;
|
||||
formData.append(formFieldPrefix + iteratorId, _partJSON5);
|
||||
formData.append(formFieldPrefix + iteratorId, _partJSON6);
|
||||
return serializeIteratorID(iteratorId);
|
||||
}
|
||||
|
||||
return Array.from(iterator);
|
||||
} // Verify that this is a simple plain object.
|
||||
}
|
||||
|
||||
|
||||
var proto = getPrototypeOf(value);
|
||||
|
|
|
@ -177,8 +177,7 @@ function processReply(
|
|||
null === formData && (formData = new FormData());
|
||||
pendingParts++;
|
||||
var promiseId = nextPartId++;
|
||||
value.then(
|
||||
function (partValue) {
|
||||
value.then(function (partValue) {
|
||||
try {
|
||||
var partJSON$25 = JSON.stringify(partValue, resolveToJSON);
|
||||
partValue = formData;
|
||||
|
@ -188,11 +187,7 @@ function processReply(
|
|||
} catch (reason) {
|
||||
reject(reason);
|
||||
}
|
||||
},
|
||||
function (reason) {
|
||||
reject(reason);
|
||||
}
|
||||
);
|
||||
}, reject);
|
||||
return "$@" + promiseId.toString(16);
|
||||
}
|
||||
if (isArrayImpl(value)) return value;
|
||||
|
|
|
@ -984,12 +984,12 @@ function processReply(root, formFieldPrefix, temporaryReferences, resolve, rejec
|
|||
// While the first promise resolved, its value isn't necessarily what we'll
|
||||
// resolve into because we might suspend again.
|
||||
try {
|
||||
var _partJSON = JSON.stringify(value, resolveToJSON); // $FlowFixMe[incompatible-type] We know it's not null because we assigned it above.
|
||||
var _partJSON2 = JSON.stringify(value, resolveToJSON); // $FlowFixMe[incompatible-type] We know it's not null because we assigned it above.
|
||||
|
||||
|
||||
var _data = formData; // eslint-disable-next-line react-internal/safe-string-coercion
|
||||
|
||||
_data.append(formFieldPrefix + _lazyId, _partJSON);
|
||||
_data.append(formFieldPrefix + _lazyId, _partJSON2);
|
||||
|
||||
pendingParts--;
|
||||
|
||||
|
@ -1030,12 +1030,12 @@ function processReply(root, formFieldPrefix, temporaryReferences, resolve, rejec
|
|||
|
||||
_thenable.then(function (partValue) {
|
||||
try {
|
||||
var _partJSON2 = JSON.stringify(partValue, resolveToJSON); // $FlowFixMe[incompatible-type] We know it's not null because we assigned it above.
|
||||
var _partJSON3 = JSON.stringify(partValue, resolveToJSON); // $FlowFixMe[incompatible-type] We know it's not null because we assigned it above.
|
||||
|
||||
|
||||
var _data2 = formData; // eslint-disable-next-line react-internal/safe-string-coercion
|
||||
|
||||
_data2.append(formFieldPrefix + promiseId, _partJSON2);
|
||||
_data2.append(formFieldPrefix + promiseId, _partJSON3);
|
||||
|
||||
pendingParts--;
|
||||
|
||||
|
@ -1045,11 +1045,9 @@ function processReply(root, formFieldPrefix, temporaryReferences, resolve, rejec
|
|||
} catch (reason) {
|
||||
reject(reason);
|
||||
}
|
||||
}, function (reason) {
|
||||
// In the future we could consider serializing this as an error
|
||||
}, // In the future we could consider serializing this as an error
|
||||
// that throws on the server instead.
|
||||
reject(reason);
|
||||
});
|
||||
reject);
|
||||
|
||||
return serializePromiseID(promiseId);
|
||||
}
|
||||
|
@ -1080,26 +1078,26 @@ function processReply(root, formFieldPrefix, temporaryReferences, resolve, rejec
|
|||
}
|
||||
|
||||
if (value instanceof Map) {
|
||||
var _partJSON3 = JSON.stringify(Array.from(value), resolveToJSON);
|
||||
|
||||
if (formData === null) {
|
||||
formData = new FormData();
|
||||
}
|
||||
|
||||
var mapId = nextPartId++;
|
||||
formData.append(formFieldPrefix + mapId, _partJSON3);
|
||||
return serializeMapID(mapId);
|
||||
}
|
||||
|
||||
if (value instanceof Set) {
|
||||
var _partJSON4 = JSON.stringify(Array.from(value), resolveToJSON);
|
||||
|
||||
if (formData === null) {
|
||||
formData = new FormData();
|
||||
}
|
||||
|
||||
var mapId = nextPartId++;
|
||||
formData.append(formFieldPrefix + mapId, _partJSON4);
|
||||
return serializeMapID(mapId);
|
||||
}
|
||||
|
||||
if (value instanceof Set) {
|
||||
var _partJSON5 = JSON.stringify(Array.from(value), resolveToJSON);
|
||||
|
||||
if (formData === null) {
|
||||
formData = new FormData();
|
||||
}
|
||||
|
||||
var setId = nextPartId++;
|
||||
formData.append(formFieldPrefix + setId, _partJSON4);
|
||||
formData.append(formFieldPrefix + setId, _partJSON5);
|
||||
return serializeSetID(setId);
|
||||
}
|
||||
|
||||
|
@ -1110,19 +1108,19 @@ function processReply(root, formFieldPrefix, temporaryReferences, resolve, rejec
|
|||
|
||||
if (iterator === value) {
|
||||
// Iterator, not Iterable
|
||||
var _partJSON5 = JSON.stringify(Array.from(iterator), resolveToJSON);
|
||||
var _partJSON6 = JSON.stringify(Array.from(iterator), resolveToJSON);
|
||||
|
||||
if (formData === null) {
|
||||
formData = new FormData();
|
||||
}
|
||||
|
||||
var iteratorId = nextPartId++;
|
||||
formData.append(formFieldPrefix + iteratorId, _partJSON5);
|
||||
formData.append(formFieldPrefix + iteratorId, _partJSON6);
|
||||
return serializeIteratorID(iteratorId);
|
||||
}
|
||||
|
||||
return Array.from(iterator);
|
||||
} // Verify that this is a simple plain object.
|
||||
}
|
||||
|
||||
|
||||
var proto = getPrototypeOf(value);
|
||||
|
|
|
@ -189,8 +189,7 @@ function processReply(
|
|||
null === formData && (formData = new FormData());
|
||||
pendingParts++;
|
||||
var promiseId = nextPartId++;
|
||||
value.then(
|
||||
function (partValue) {
|
||||
value.then(function (partValue) {
|
||||
try {
|
||||
var partJSON$25 = JSON.stringify(partValue, resolveToJSON);
|
||||
partValue = formData;
|
||||
|
@ -200,11 +199,7 @@ function processReply(
|
|||
} catch (reason) {
|
||||
reject(reason);
|
||||
}
|
||||
},
|
||||
function (reason) {
|
||||
reject(reason);
|
||||
}
|
||||
);
|
||||
}, reject);
|
||||
return "$@" + promiseId.toString(16);
|
||||
}
|
||||
if (isArrayImpl(value)) return value;
|
||||
|
|
|
@ -982,12 +982,12 @@ function processReply(root, formFieldPrefix, temporaryReferences, resolve, rejec
|
|||
// While the first promise resolved, its value isn't necessarily what we'll
|
||||
// resolve into because we might suspend again.
|
||||
try {
|
||||
var _partJSON = JSON.stringify(value, resolveToJSON); // $FlowFixMe[incompatible-type] We know it's not null because we assigned it above.
|
||||
var _partJSON2 = JSON.stringify(value, resolveToJSON); // $FlowFixMe[incompatible-type] We know it's not null because we assigned it above.
|
||||
|
||||
|
||||
var _data = formData; // eslint-disable-next-line react-internal/safe-string-coercion
|
||||
|
||||
_data.append(formFieldPrefix + _lazyId, _partJSON);
|
||||
_data.append(formFieldPrefix + _lazyId, _partJSON2);
|
||||
|
||||
pendingParts--;
|
||||
|
||||
|
@ -1028,12 +1028,12 @@ function processReply(root, formFieldPrefix, temporaryReferences, resolve, rejec
|
|||
|
||||
_thenable.then(function (partValue) {
|
||||
try {
|
||||
var _partJSON2 = JSON.stringify(partValue, resolveToJSON); // $FlowFixMe[incompatible-type] We know it's not null because we assigned it above.
|
||||
var _partJSON3 = JSON.stringify(partValue, resolveToJSON); // $FlowFixMe[incompatible-type] We know it's not null because we assigned it above.
|
||||
|
||||
|
||||
var _data2 = formData; // eslint-disable-next-line react-internal/safe-string-coercion
|
||||
|
||||
_data2.append(formFieldPrefix + promiseId, _partJSON2);
|
||||
_data2.append(formFieldPrefix + promiseId, _partJSON3);
|
||||
|
||||
pendingParts--;
|
||||
|
||||
|
@ -1043,11 +1043,9 @@ function processReply(root, formFieldPrefix, temporaryReferences, resolve, rejec
|
|||
} catch (reason) {
|
||||
reject(reason);
|
||||
}
|
||||
}, function (reason) {
|
||||
// In the future we could consider serializing this as an error
|
||||
}, // In the future we could consider serializing this as an error
|
||||
// that throws on the server instead.
|
||||
reject(reason);
|
||||
});
|
||||
reject);
|
||||
|
||||
return serializePromiseID(promiseId);
|
||||
}
|
||||
|
@ -1078,26 +1076,26 @@ function processReply(root, formFieldPrefix, temporaryReferences, resolve, rejec
|
|||
}
|
||||
|
||||
if (value instanceof Map) {
|
||||
var _partJSON3 = JSON.stringify(Array.from(value), resolveToJSON);
|
||||
|
||||
if (formData === null) {
|
||||
formData = new FormData();
|
||||
}
|
||||
|
||||
var mapId = nextPartId++;
|
||||
formData.append(formFieldPrefix + mapId, _partJSON3);
|
||||
return serializeMapID(mapId);
|
||||
}
|
||||
|
||||
if (value instanceof Set) {
|
||||
var _partJSON4 = JSON.stringify(Array.from(value), resolveToJSON);
|
||||
|
||||
if (formData === null) {
|
||||
formData = new FormData();
|
||||
}
|
||||
|
||||
var mapId = nextPartId++;
|
||||
formData.append(formFieldPrefix + mapId, _partJSON4);
|
||||
return serializeMapID(mapId);
|
||||
}
|
||||
|
||||
if (value instanceof Set) {
|
||||
var _partJSON5 = JSON.stringify(Array.from(value), resolveToJSON);
|
||||
|
||||
if (formData === null) {
|
||||
formData = new FormData();
|
||||
}
|
||||
|
||||
var setId = nextPartId++;
|
||||
formData.append(formFieldPrefix + setId, _partJSON4);
|
||||
formData.append(formFieldPrefix + setId, _partJSON5);
|
||||
return serializeSetID(setId);
|
||||
}
|
||||
|
||||
|
@ -1108,19 +1106,19 @@ function processReply(root, formFieldPrefix, temporaryReferences, resolve, rejec
|
|||
|
||||
if (iterator === value) {
|
||||
// Iterator, not Iterable
|
||||
var _partJSON5 = JSON.stringify(Array.from(iterator), resolveToJSON);
|
||||
var _partJSON6 = JSON.stringify(Array.from(iterator), resolveToJSON);
|
||||
|
||||
if (formData === null) {
|
||||
formData = new FormData();
|
||||
}
|
||||
|
||||
var iteratorId = nextPartId++;
|
||||
formData.append(formFieldPrefix + iteratorId, _partJSON5);
|
||||
formData.append(formFieldPrefix + iteratorId, _partJSON6);
|
||||
return serializeIteratorID(iteratorId);
|
||||
}
|
||||
|
||||
return Array.from(iterator);
|
||||
} // Verify that this is a simple plain object.
|
||||
}
|
||||
|
||||
|
||||
var proto = getPrototypeOf(value);
|
||||
|
|
|
@ -190,8 +190,7 @@ function processReply(
|
|||
null === formData && (formData = new FormData());
|
||||
pendingParts++;
|
||||
var promiseId = nextPartId++;
|
||||
value.then(
|
||||
function (partValue) {
|
||||
value.then(function (partValue) {
|
||||
try {
|
||||
var partJSON$25 = JSON.stringify(partValue, resolveToJSON);
|
||||
partValue = formData;
|
||||
|
@ -201,11 +200,7 @@ function processReply(
|
|||
} catch (reason) {
|
||||
reject(reason);
|
||||
}
|
||||
},
|
||||
function (reason) {
|
||||
reject(reason);
|
||||
}
|
||||
);
|
||||
}, reject);
|
||||
return "$@" + promiseId.toString(16);
|
||||
}
|
||||
if (isArrayImpl(value)) return value;
|
||||
|
|
|
@ -935,12 +935,12 @@ function processReply(root, formFieldPrefix, temporaryReferences, resolve, rejec
|
|||
// While the first promise resolved, its value isn't necessarily what we'll
|
||||
// resolve into because we might suspend again.
|
||||
try {
|
||||
var _partJSON = JSON.stringify(value, resolveToJSON); // $FlowFixMe[incompatible-type] We know it's not null because we assigned it above.
|
||||
var _partJSON2 = JSON.stringify(value, resolveToJSON); // $FlowFixMe[incompatible-type] We know it's not null because we assigned it above.
|
||||
|
||||
|
||||
var _data = formData; // eslint-disable-next-line react-internal/safe-string-coercion
|
||||
|
||||
_data.append(formFieldPrefix + _lazyId, _partJSON);
|
||||
_data.append(formFieldPrefix + _lazyId, _partJSON2);
|
||||
|
||||
pendingParts--;
|
||||
|
||||
|
@ -981,12 +981,12 @@ function processReply(root, formFieldPrefix, temporaryReferences, resolve, rejec
|
|||
|
||||
_thenable.then(function (partValue) {
|
||||
try {
|
||||
var _partJSON2 = JSON.stringify(partValue, resolveToJSON); // $FlowFixMe[incompatible-type] We know it's not null because we assigned it above.
|
||||
var _partJSON3 = JSON.stringify(partValue, resolveToJSON); // $FlowFixMe[incompatible-type] We know it's not null because we assigned it above.
|
||||
|
||||
|
||||
var _data2 = formData; // eslint-disable-next-line react-internal/safe-string-coercion
|
||||
|
||||
_data2.append(formFieldPrefix + promiseId, _partJSON2);
|
||||
_data2.append(formFieldPrefix + promiseId, _partJSON3);
|
||||
|
||||
pendingParts--;
|
||||
|
||||
|
@ -996,11 +996,9 @@ function processReply(root, formFieldPrefix, temporaryReferences, resolve, rejec
|
|||
} catch (reason) {
|
||||
reject(reason);
|
||||
}
|
||||
}, function (reason) {
|
||||
// In the future we could consider serializing this as an error
|
||||
}, // In the future we could consider serializing this as an error
|
||||
// that throws on the server instead.
|
||||
reject(reason);
|
||||
});
|
||||
reject);
|
||||
|
||||
return serializePromiseID(promiseId);
|
||||
}
|
||||
|
@ -1031,26 +1029,26 @@ function processReply(root, formFieldPrefix, temporaryReferences, resolve, rejec
|
|||
}
|
||||
|
||||
if (value instanceof Map) {
|
||||
var _partJSON3 = JSON.stringify(Array.from(value), resolveToJSON);
|
||||
|
||||
if (formData === null) {
|
||||
formData = new FormData();
|
||||
}
|
||||
|
||||
var mapId = nextPartId++;
|
||||
formData.append(formFieldPrefix + mapId, _partJSON3);
|
||||
return serializeMapID(mapId);
|
||||
}
|
||||
|
||||
if (value instanceof Set) {
|
||||
var _partJSON4 = JSON.stringify(Array.from(value), resolveToJSON);
|
||||
|
||||
if (formData === null) {
|
||||
formData = new FormData();
|
||||
}
|
||||
|
||||
var mapId = nextPartId++;
|
||||
formData.append(formFieldPrefix + mapId, _partJSON4);
|
||||
return serializeMapID(mapId);
|
||||
}
|
||||
|
||||
if (value instanceof Set) {
|
||||
var _partJSON5 = JSON.stringify(Array.from(value), resolveToJSON);
|
||||
|
||||
if (formData === null) {
|
||||
formData = new FormData();
|
||||
}
|
||||
|
||||
var setId = nextPartId++;
|
||||
formData.append(formFieldPrefix + setId, _partJSON4);
|
||||
formData.append(formFieldPrefix + setId, _partJSON5);
|
||||
return serializeSetID(setId);
|
||||
}
|
||||
|
||||
|
@ -1061,19 +1059,19 @@ function processReply(root, formFieldPrefix, temporaryReferences, resolve, rejec
|
|||
|
||||
if (iterator === value) {
|
||||
// Iterator, not Iterable
|
||||
var _partJSON5 = JSON.stringify(Array.from(iterator), resolveToJSON);
|
||||
var _partJSON6 = JSON.stringify(Array.from(iterator), resolveToJSON);
|
||||
|
||||
if (formData === null) {
|
||||
formData = new FormData();
|
||||
}
|
||||
|
||||
var iteratorId = nextPartId++;
|
||||
formData.append(formFieldPrefix + iteratorId, _partJSON5);
|
||||
formData.append(formFieldPrefix + iteratorId, _partJSON6);
|
||||
return serializeIteratorID(iteratorId);
|
||||
}
|
||||
|
||||
return Array.from(iterator);
|
||||
} // Verify that this is a simple plain object.
|
||||
}
|
||||
|
||||
|
||||
var proto = getPrototypeOf(value);
|
||||
|
|
|
@ -173,8 +173,7 @@ function processReply(
|
|||
null === formData && (formData = new FormData());
|
||||
pendingParts++;
|
||||
var promiseId = nextPartId++;
|
||||
value.then(
|
||||
function (partValue) {
|
||||
value.then(function (partValue) {
|
||||
try {
|
||||
var partJSON$25 = JSON.stringify(partValue, resolveToJSON);
|
||||
partValue = formData;
|
||||
|
@ -184,11 +183,7 @@ function processReply(
|
|||
} catch (reason) {
|
||||
reject(reason);
|
||||
}
|
||||
},
|
||||
function (reason) {
|
||||
reject(reason);
|
||||
}
|
||||
);
|
||||
}, reject);
|
||||
return "$@" + promiseId.toString(16);
|
||||
}
|
||||
if (isArrayImpl(value)) return value;
|
||||
|
|
|
@ -765,6 +765,8 @@ function createHints() {
|
|||
|
||||
var supportsRequestStorage = false;
|
||||
var requestStorage = null;
|
||||
var supportsComponentStorage = false;
|
||||
var componentStorage = null;
|
||||
|
||||
var TEMPORARY_REFERENCE_TAG = Symbol.for('react.temporary.reference'); // eslint-disable-next-line no-unused-vars
|
||||
|
||||
|
@ -1111,6 +1113,16 @@ function use(usable) {
|
|||
}
|
||||
}
|
||||
|
||||
var currentOwner = null;
|
||||
function setCurrentOwner(componentInfo) {
|
||||
currentOwner = componentInfo;
|
||||
}
|
||||
function resolveOwner() {
|
||||
if (currentOwner) return currentOwner;
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
function resolveCache() {
|
||||
var request = resolveRequest();
|
||||
|
||||
|
@ -1135,16 +1147,9 @@ var DefaultAsyncDispatcher = {
|
|||
return entry;
|
||||
}
|
||||
};
|
||||
var currentOwner = null;
|
||||
|
||||
{
|
||||
DefaultAsyncDispatcher.getOwner = function () {
|
||||
return currentOwner;
|
||||
};
|
||||
}
|
||||
|
||||
function setCurrentOwner(componentInfo) {
|
||||
currentOwner = componentInfo;
|
||||
DefaultAsyncDispatcher.getOwner = resolveOwner;
|
||||
}
|
||||
|
||||
var isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare
|
||||
|
@ -1722,8 +1727,11 @@ function renderFunctionComponent(request, task, key, Component, props, owner) {
|
|||
// component suspends we can reuse the same task object. If the same
|
||||
// component suspends again, the thenable state will be restored.
|
||||
var prevThenableState = task.thenableState;
|
||||
task.thenableState = null;
|
||||
var componentDebugInfo = null;
|
||||
task.thenableState = null; // The secondArg is always undefined in Server Components since refs error early.
|
||||
|
||||
var secondArg = undefined;
|
||||
var result;
|
||||
var componentDebugInfo;
|
||||
|
||||
{
|
||||
if (debugID === null) {
|
||||
|
@ -1751,18 +1759,14 @@ function renderFunctionComponent(request, task, key, Component, props, owner) {
|
|||
outlineModel(request, componentDebugInfo);
|
||||
emitDebugChunk(request, componentDebugID, componentDebugInfo);
|
||||
}
|
||||
}
|
||||
|
||||
prepareToUseHooksForComponent(prevThenableState, componentDebugInfo); // The secondArg is always undefined in Server Components since refs error early.
|
||||
|
||||
var secondArg = undefined;
|
||||
var result;
|
||||
|
||||
{
|
||||
prepareToUseHooksForComponent(prevThenableState, componentDebugInfo);
|
||||
setCurrentOwner(componentDebugInfo);
|
||||
|
||||
try {
|
||||
if (supportsComponentStorage) ; else {
|
||||
result = Component(props, secondArg);
|
||||
}
|
||||
} finally {
|
||||
setCurrentOwner(null);
|
||||
}
|
||||
|
@ -1901,9 +1905,8 @@ function renderFragment(request, task, children) {
|
|||
|
||||
function renderClientElement(task, type, key, props, owner) // DEV-only
|
||||
{
|
||||
// We prepend the terminal client element that actually gets serialized with
|
||||
// the keys of any Server Components which are not serialized.
|
||||
|
||||
|
||||
var keyPath = task.keyPath;
|
||||
|
||||
if (key === null) {
|
||||
|
@ -2047,7 +2050,7 @@ function createTask(request, model, keyPath, implicitSlot, abortSet) {
|
|||
if (typeof model === 'object' && model !== null) {
|
||||
// If we're about to write this into a new task we can assign it an ID early so that
|
||||
// any other references can refer to the value we're about to write.
|
||||
if ((keyPath !== null || implicitSlot)) ; else {
|
||||
if (keyPath !== null || implicitSlot) ; else {
|
||||
request.writtenObjects.set(model, id);
|
||||
}
|
||||
}
|
||||
|
@ -2389,7 +2392,7 @@ function renderModelDestructive(request, task, parent, parentPropertyName, value
|
|||
var _existingId = _writtenObjects.get(value);
|
||||
|
||||
if (_existingId !== undefined) {
|
||||
if ((task.keyPath !== null || task.implicitSlot)) ; else if (modelRoot === value) {
|
||||
if (task.keyPath !== null || task.implicitSlot) ; else if (modelRoot === value) {
|
||||
// This is the ID we're currently emitting so we need to write it
|
||||
// once but if we discover it again, we refer to it by id.
|
||||
modelRoot = null;
|
||||
|
@ -2494,7 +2497,7 @@ function renderModelDestructive(request, task, parent, parentPropertyName, value
|
|||
|
||||
if (typeof value.then === 'function') {
|
||||
if (existingId !== undefined) {
|
||||
if ((task.keyPath !== null || task.implicitSlot)) {
|
||||
if (task.keyPath !== null || task.implicitSlot) {
|
||||
// If we're in some kind of context we can't reuse the result of this render or
|
||||
// previous renders of this element. We only reuse Promises if they're not wrapped
|
||||
// by another Server Component.
|
||||
|
@ -3535,7 +3538,6 @@ function loadChunk(chunkId, filename) {
|
|||
return __webpack_chunk_load__(chunkId);
|
||||
}
|
||||
|
||||
// The server acts as a Client of itself when resolving Server References.
|
||||
var PENDING = 'pending';
|
||||
var BLOCKED = 'blocked';
|
||||
var RESOLVED_MODEL = 'resolved_model';
|
||||
|
@ -3613,7 +3615,7 @@ function wakeChunk(listeners, value) {
|
|||
|
||||
function triggerErrorOnChunk(chunk, error) {
|
||||
if (chunk.status !== PENDING && chunk.status !== BLOCKED) {
|
||||
// We already resolved. We didn't expect to see this.
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -3660,7 +3662,7 @@ function loadServerReference$1(response, id, bound, parentChunk, parentObject, k
|
|||
}
|
||||
}
|
||||
|
||||
promise.then(createModelResolver(parentChunk, parentObject, key), createModelReject(parentChunk)); // We need a placeholder value that will be replaced later.
|
||||
promise.then(createModelResolver(parentChunk, parentObject, key, false, response, createModel), createModelReject(parentChunk)); // We need a placeholder value that will be replaced later.
|
||||
|
||||
return null;
|
||||
}
|
||||
|
@ -3737,21 +3739,30 @@ function getChunk(response, id) {
|
|||
return chunk;
|
||||
}
|
||||
|
||||
function createModelResolver(chunk, parentObject, key) {
|
||||
function createModelResolver(chunk, parentObject, key, cyclic, response, map) {
|
||||
var blocked;
|
||||
|
||||
if (initializingChunkBlockedModel) {
|
||||
blocked = initializingChunkBlockedModel;
|
||||
|
||||
if (!cyclic) {
|
||||
blocked.deps++;
|
||||
}
|
||||
} else {
|
||||
blocked = initializingChunkBlockedModel = {
|
||||
deps: 1,
|
||||
deps: cyclic ? 0 : 1,
|
||||
value: null
|
||||
};
|
||||
}
|
||||
|
||||
return function (value) {
|
||||
parentObject[key] = value;
|
||||
parentObject[key] = map(response, value); // If this is the root object for a model reference, where `blocked.value`
|
||||
// is a stale `null`, the resolved value can be used directly.
|
||||
|
||||
if (key === '' && blocked.value === null) {
|
||||
blocked.value = parentObject[key];
|
||||
}
|
||||
|
||||
blocked.deps--;
|
||||
|
||||
if (blocked.deps === 0) {
|
||||
|
@ -3777,19 +3788,46 @@ function createModelReject(chunk) {
|
|||
};
|
||||
}
|
||||
|
||||
function getOutlinedModel(response, id) {
|
||||
function getOutlinedModel(response, id, parentObject, key, map) {
|
||||
var chunk = getChunk(response, id);
|
||||
|
||||
if (chunk.status === RESOLVED_MODEL) {
|
||||
switch (chunk.status) {
|
||||
case RESOLVED_MODEL:
|
||||
initializeModelChunk(chunk);
|
||||
}
|
||||
break;
|
||||
} // The status might have changed after initialization.
|
||||
|
||||
if (chunk.status !== INITIALIZED) {
|
||||
// We know that this is emitted earlier so otherwise it's an error.
|
||||
|
||||
switch (chunk.status) {
|
||||
case INITIALIZED:
|
||||
return map(response, chunk.value);
|
||||
|
||||
case PENDING:
|
||||
case BLOCKED:
|
||||
var parentChunk = initializingChunk;
|
||||
chunk.then(createModelResolver(parentChunk, parentObject, key, false, response, map), createModelReject(parentChunk));
|
||||
return null;
|
||||
|
||||
default:
|
||||
throw chunk.reason;
|
||||
}
|
||||
}
|
||||
|
||||
return chunk.value;
|
||||
function createMap(response, model) {
|
||||
return new Map(model);
|
||||
}
|
||||
|
||||
function createSet(response, model) {
|
||||
return new Set(model);
|
||||
}
|
||||
|
||||
function extractIterator(response, model) {
|
||||
// $FlowFixMe[incompatible-use]: This uses raw Symbols because we're extracting from a native array.
|
||||
return model[Symbol.iterator]();
|
||||
}
|
||||
|
||||
function createModel(response, model) {
|
||||
return model;
|
||||
}
|
||||
|
||||
function parseModelString(response, obj, key, value) {
|
||||
|
@ -3806,9 +3844,8 @@ function parseModelString(response, obj, key, value) {
|
|||
// Promise
|
||||
var _id = parseInt(value.slice(2), 16);
|
||||
|
||||
var _chunk = getChunk(response, _id);
|
||||
|
||||
return _chunk;
|
||||
var chunk = getChunk(response, _id);
|
||||
return chunk;
|
||||
}
|
||||
|
||||
case 'F':
|
||||
|
@ -3817,7 +3854,7 @@ function parseModelString(response, obj, key, value) {
|
|||
var _id2 = parseInt(value.slice(2), 16); // TODO: Just encode this in the reference inline instead of as a model.
|
||||
|
||||
|
||||
var metaData = getOutlinedModel(response, _id2);
|
||||
var metaData = getOutlinedModel(response, _id2, obj, key, createModel);
|
||||
return loadServerReference$1(response, metaData.id, metaData.bound, initializingChunk, obj, key);
|
||||
}
|
||||
|
||||
|
@ -3832,8 +3869,7 @@ function parseModelString(response, obj, key, value) {
|
|||
// Map
|
||||
var _id3 = parseInt(value.slice(2), 16);
|
||||
|
||||
var data = getOutlinedModel(response, _id3);
|
||||
return new Map(data);
|
||||
return getOutlinedModel(response, _id3, obj, key, createMap);
|
||||
}
|
||||
|
||||
case 'W':
|
||||
|
@ -3841,9 +3877,7 @@ function parseModelString(response, obj, key, value) {
|
|||
// Set
|
||||
var _id4 = parseInt(value.slice(2), 16);
|
||||
|
||||
var _data = getOutlinedModel(response, _id4);
|
||||
|
||||
return new Set(_data);
|
||||
return getOutlinedModel(response, _id4, obj, key, createSet);
|
||||
}
|
||||
|
||||
case 'K':
|
||||
|
@ -3851,9 +3885,7 @@ function parseModelString(response, obj, key, value) {
|
|||
// FormData
|
||||
var stringId = value.slice(2);
|
||||
var formPrefix = response._prefix + stringId + '_';
|
||||
|
||||
var _data2 = new FormData();
|
||||
|
||||
var data = new FormData();
|
||||
var backingFormData = response._formData; // We assume that the reference to FormData always comes after each
|
||||
// entry that it references so we can assume they all exist in the
|
||||
// backing store already.
|
||||
|
@ -3861,10 +3893,10 @@ function parseModelString(response, obj, key, value) {
|
|||
|
||||
backingFormData.forEach(function (entry, entryKey) {
|
||||
if (entryKey.startsWith(formPrefix)) {
|
||||
_data2.append(entryKey.slice(formPrefix.length), entry);
|
||||
data.append(entryKey.slice(formPrefix.length), entry);
|
||||
}
|
||||
});
|
||||
return _data2;
|
||||
return data;
|
||||
}
|
||||
|
||||
case 'i':
|
||||
|
@ -3872,9 +3904,7 @@ function parseModelString(response, obj, key, value) {
|
|||
// Iterator
|
||||
var _id5 = parseInt(value.slice(2), 16);
|
||||
|
||||
var _data3 = getOutlinedModel(response, _id5);
|
||||
|
||||
return _data3[Symbol.iterator]();
|
||||
return getOutlinedModel(response, _id5, obj, key, extractIterator);
|
||||
}
|
||||
|
||||
case 'I':
|
||||
|
@ -3921,28 +3951,7 @@ function parseModelString(response, obj, key, value) {
|
|||
|
||||
|
||||
var id = parseInt(value.slice(1), 16);
|
||||
var chunk = getChunk(response, id);
|
||||
|
||||
switch (chunk.status) {
|
||||
case RESOLVED_MODEL:
|
||||
initializeModelChunk(chunk);
|
||||
break;
|
||||
} // The status might have changed after initialization.
|
||||
|
||||
|
||||
switch (chunk.status) {
|
||||
case INITIALIZED:
|
||||
return chunk.value;
|
||||
|
||||
case PENDING:
|
||||
case BLOCKED:
|
||||
var parentChunk = initializingChunk;
|
||||
chunk.then(createModelResolver(parentChunk, obj, key), createModelReject(parentChunk));
|
||||
return null;
|
||||
|
||||
default:
|
||||
throw chunk.reason;
|
||||
}
|
||||
return getOutlinedModel(response, id, obj, key, createModel);
|
||||
}
|
||||
|
||||
return value;
|
||||
|
|
|
@ -1597,20 +1597,27 @@ function loadServerReference$1(
|
|||
key
|
||||
) {
|
||||
var serverReference = resolveServerReference(response._bundlerConfig, id);
|
||||
response = preloadModule(serverReference);
|
||||
id = preloadModule(serverReference);
|
||||
if (bound)
|
||||
bound = Promise.all([bound, response]).then(function (_ref) {
|
||||
bound = Promise.all([bound, id]).then(function (_ref) {
|
||||
_ref = _ref[0];
|
||||
var fn = requireModule(serverReference);
|
||||
return fn.bind.apply(fn, [null].concat(_ref));
|
||||
});
|
||||
else if (response)
|
||||
bound = Promise.resolve(response).then(function () {
|
||||
else if (id)
|
||||
bound = Promise.resolve(id).then(function () {
|
||||
return requireModule(serverReference);
|
||||
});
|
||||
else return requireModule(serverReference);
|
||||
bound.then(
|
||||
createModelResolver(parentChunk, parentObject, key),
|
||||
createModelResolver(
|
||||
parentChunk,
|
||||
parentObject,
|
||||
key,
|
||||
!1,
|
||||
response,
|
||||
createModel
|
||||
),
|
||||
createModelReject(parentChunk)
|
||||
);
|
||||
return null;
|
||||
|
@ -1655,13 +1662,18 @@ function getChunk(response, id) {
|
|||
chunks.set(id, chunk));
|
||||
return chunk;
|
||||
}
|
||||
function createModelResolver(chunk, parentObject, key) {
|
||||
function createModelResolver(chunk, parentObject, key, cyclic, response, map) {
|
||||
if (initializingChunkBlockedModel) {
|
||||
var blocked = initializingChunkBlockedModel;
|
||||
blocked.deps++;
|
||||
} else blocked = initializingChunkBlockedModel = { deps: 1, value: null };
|
||||
cyclic || blocked.deps++;
|
||||
} else
|
||||
blocked = initializingChunkBlockedModel = {
|
||||
deps: cyclic ? 0 : 1,
|
||||
value: null
|
||||
};
|
||||
return function (value) {
|
||||
parentObject[key] = value;
|
||||
parentObject[key] = map(response, value);
|
||||
"" === key && null === blocked.value && (blocked.value = parentObject[key]);
|
||||
blocked.deps--;
|
||||
0 === blocked.deps &&
|
||||
"blocked" === chunk.status &&
|
||||
|
@ -1676,11 +1688,38 @@ function createModelReject(chunk) {
|
|||
return triggerErrorOnChunk(chunk, error);
|
||||
};
|
||||
}
|
||||
function getOutlinedModel(response, id) {
|
||||
response = getChunk(response, id);
|
||||
"resolved_model" === response.status && initializeModelChunk(response);
|
||||
if ("fulfilled" !== response.status) throw response.reason;
|
||||
return response.value;
|
||||
function getOutlinedModel(response, id, parentObject, key, map) {
|
||||
id = getChunk(response, id);
|
||||
switch (id.status) {
|
||||
case "resolved_model":
|
||||
initializeModelChunk(id);
|
||||
}
|
||||
switch (id.status) {
|
||||
case "fulfilled":
|
||||
return map(response, id.value);
|
||||
case "pending":
|
||||
case "blocked":
|
||||
var parentChunk = initializingChunk;
|
||||
id.then(
|
||||
createModelResolver(parentChunk, parentObject, key, !1, response, map),
|
||||
createModelReject(parentChunk)
|
||||
);
|
||||
return null;
|
||||
default:
|
||||
throw id.reason;
|
||||
}
|
||||
}
|
||||
function createMap(response, model) {
|
||||
return new Map(model);
|
||||
}
|
||||
function createSet(response, model) {
|
||||
return new Set(model);
|
||||
}
|
||||
function extractIterator(response, model) {
|
||||
return model[Symbol.iterator]();
|
||||
}
|
||||
function createModel(response, model) {
|
||||
return model;
|
||||
}
|
||||
function parseModelString(response, obj, key, value) {
|
||||
if ("$" === value[0]) {
|
||||
|
@ -1692,7 +1731,7 @@ function parseModelString(response, obj, key, value) {
|
|||
case "F":
|
||||
return (
|
||||
(value = parseInt(value.slice(2), 16)),
|
||||
(value = getOutlinedModel(response, value)),
|
||||
(value = getOutlinedModel(response, value, obj, key, createModel)),
|
||||
loadServerReference$1(
|
||||
response,
|
||||
value.id,
|
||||
|
@ -1706,29 +1745,27 @@ function parseModelString(response, obj, key, value) {
|
|||
return createTemporaryReference(value.slice(2));
|
||||
case "Q":
|
||||
return (
|
||||
(obj = parseInt(value.slice(2), 16)),
|
||||
(response = getOutlinedModel(response, obj)),
|
||||
new Map(response)
|
||||
(value = parseInt(value.slice(2), 16)),
|
||||
getOutlinedModel(response, value, obj, key, createMap)
|
||||
);
|
||||
case "W":
|
||||
return (
|
||||
(obj = parseInt(value.slice(2), 16)),
|
||||
(response = getOutlinedModel(response, obj)),
|
||||
new Set(response)
|
||||
(value = parseInt(value.slice(2), 16)),
|
||||
getOutlinedModel(response, value, obj, key, createSet)
|
||||
);
|
||||
case "K":
|
||||
obj = value.slice(2);
|
||||
var formPrefix = response._prefix + obj + "_",
|
||||
data$23 = new FormData();
|
||||
data = new FormData();
|
||||
response._formData.forEach(function (entry, entryKey) {
|
||||
entryKey.startsWith(formPrefix) &&
|
||||
data$23.append(entryKey.slice(formPrefix.length), entry);
|
||||
data.append(entryKey.slice(formPrefix.length), entry);
|
||||
});
|
||||
return data$23;
|
||||
return data;
|
||||
case "i":
|
||||
return (
|
||||
(obj = parseInt(value.slice(2), 16)),
|
||||
getOutlinedModel(response, obj)[Symbol.iterator]()
|
||||
(value = parseInt(value.slice(2), 16)),
|
||||
getOutlinedModel(response, value, obj, key, extractIterator)
|
||||
);
|
||||
case "I":
|
||||
return Infinity;
|
||||
|
@ -1744,27 +1781,7 @@ function parseModelString(response, obj, key, value) {
|
|||
return BigInt(value.slice(2));
|
||||
}
|
||||
value = parseInt(value.slice(1), 16);
|
||||
response = getChunk(response, value);
|
||||
switch (response.status) {
|
||||
case "resolved_model":
|
||||
initializeModelChunk(response);
|
||||
}
|
||||
switch (response.status) {
|
||||
case "fulfilled":
|
||||
return response.value;
|
||||
case "pending":
|
||||
case "blocked":
|
||||
return (
|
||||
(value = initializingChunk),
|
||||
response.then(
|
||||
createModelResolver(value, obj, key),
|
||||
createModelReject(value)
|
||||
),
|
||||
null
|
||||
);
|
||||
default:
|
||||
throw response.reason;
|
||||
}
|
||||
return getOutlinedModel(response, value, obj, key, createModel);
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
|
|
@ -764,7 +764,9 @@ function createHints() {
|
|||
}
|
||||
|
||||
var supportsRequestStorage = typeof AsyncLocalStorage === 'function';
|
||||
var requestStorage = supportsRequestStorage ? new AsyncLocalStorage() : null; // We use the Node version but get access to async_hooks from a global.
|
||||
var requestStorage = supportsRequestStorage ? new AsyncLocalStorage() : null;
|
||||
var supportsComponentStorage = supportsRequestStorage;
|
||||
var componentStorage = supportsComponentStorage ? new AsyncLocalStorage() : null; // We use the Node version but get access to async_hooks from a global.
|
||||
|
||||
typeof async_hooks === 'object' ? async_hooks.createHook : function () {
|
||||
return {
|
||||
|
@ -1119,6 +1121,21 @@ function use(usable) {
|
|||
}
|
||||
}
|
||||
|
||||
var currentOwner = null;
|
||||
function setCurrentOwner(componentInfo) {
|
||||
currentOwner = componentInfo;
|
||||
}
|
||||
function resolveOwner() {
|
||||
if (currentOwner) return currentOwner;
|
||||
|
||||
if (supportsComponentStorage) {
|
||||
var owner = componentStorage.getStore();
|
||||
if (owner) return owner;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
function resolveCache() {
|
||||
var request = resolveRequest();
|
||||
|
||||
|
@ -1143,16 +1160,9 @@ var DefaultAsyncDispatcher = {
|
|||
return entry;
|
||||
}
|
||||
};
|
||||
var currentOwner = null;
|
||||
|
||||
{
|
||||
DefaultAsyncDispatcher.getOwner = function () {
|
||||
return currentOwner;
|
||||
};
|
||||
}
|
||||
|
||||
function setCurrentOwner(componentInfo) {
|
||||
currentOwner = componentInfo;
|
||||
DefaultAsyncDispatcher.getOwner = resolveOwner;
|
||||
}
|
||||
|
||||
var isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare
|
||||
|
@ -1735,8 +1745,11 @@ function renderFunctionComponent(request, task, key, Component, props, owner) {
|
|||
// component suspends we can reuse the same task object. If the same
|
||||
// component suspends again, the thenable state will be restored.
|
||||
var prevThenableState = task.thenableState;
|
||||
task.thenableState = null;
|
||||
var componentDebugInfo = null;
|
||||
task.thenableState = null; // The secondArg is always undefined in Server Components since refs error early.
|
||||
|
||||
var secondArg = undefined;
|
||||
var result;
|
||||
var componentDebugInfo;
|
||||
|
||||
{
|
||||
if (debugID === null) {
|
||||
|
@ -1764,18 +1777,17 @@ function renderFunctionComponent(request, task, key, Component, props, owner) {
|
|||
outlineModel(request, componentDebugInfo);
|
||||
emitDebugChunk(request, componentDebugID, componentDebugInfo);
|
||||
}
|
||||
}
|
||||
|
||||
prepareToUseHooksForComponent(prevThenableState, componentDebugInfo); // The secondArg is always undefined in Server Components since refs error early.
|
||||
|
||||
var secondArg = undefined;
|
||||
var result;
|
||||
|
||||
{
|
||||
prepareToUseHooksForComponent(prevThenableState, componentDebugInfo);
|
||||
setCurrentOwner(componentDebugInfo);
|
||||
|
||||
try {
|
||||
if (supportsComponentStorage) {
|
||||
// Run the component in an Async Context that tracks the current owner.
|
||||
result = componentStorage.run(componentDebugInfo, Component, props, secondArg);
|
||||
} else {
|
||||
result = Component(props, secondArg);
|
||||
}
|
||||
} finally {
|
||||
setCurrentOwner(null);
|
||||
}
|
||||
|
@ -1914,9 +1926,8 @@ function renderFragment(request, task, children) {
|
|||
|
||||
function renderClientElement(task, type, key, props, owner) // DEV-only
|
||||
{
|
||||
// We prepend the terminal client element that actually gets serialized with
|
||||
// the keys of any Server Components which are not serialized.
|
||||
|
||||
|
||||
var keyPath = task.keyPath;
|
||||
|
||||
if (key === null) {
|
||||
|
@ -2060,7 +2071,7 @@ function createTask(request, model, keyPath, implicitSlot, abortSet) {
|
|||
if (typeof model === 'object' && model !== null) {
|
||||
// If we're about to write this into a new task we can assign it an ID early so that
|
||||
// any other references can refer to the value we're about to write.
|
||||
if ((keyPath !== null || implicitSlot)) ; else {
|
||||
if (keyPath !== null || implicitSlot) ; else {
|
||||
request.writtenObjects.set(model, id);
|
||||
}
|
||||
}
|
||||
|
@ -2402,7 +2413,7 @@ function renderModelDestructive(request, task, parent, parentPropertyName, value
|
|||
var _existingId = _writtenObjects.get(value);
|
||||
|
||||
if (_existingId !== undefined) {
|
||||
if ((task.keyPath !== null || task.implicitSlot)) ; else if (modelRoot === value) {
|
||||
if (task.keyPath !== null || task.implicitSlot) ; else if (modelRoot === value) {
|
||||
// This is the ID we're currently emitting so we need to write it
|
||||
// once but if we discover it again, we refer to it by id.
|
||||
modelRoot = null;
|
||||
|
@ -2507,7 +2518,7 @@ function renderModelDestructive(request, task, parent, parentPropertyName, value
|
|||
|
||||
if (typeof value.then === 'function') {
|
||||
if (existingId !== undefined) {
|
||||
if ((task.keyPath !== null || task.implicitSlot)) {
|
||||
if (task.keyPath !== null || task.implicitSlot) {
|
||||
// If we're in some kind of context we can't reuse the result of this render or
|
||||
// previous renders of this element. We only reuse Promises if they're not wrapped
|
||||
// by another Server Component.
|
||||
|
@ -3539,7 +3550,6 @@ function loadChunk(chunkId, filename) {
|
|||
return __webpack_chunk_load__(chunkId);
|
||||
}
|
||||
|
||||
// The server acts as a Client of itself when resolving Server References.
|
||||
var PENDING = 'pending';
|
||||
var BLOCKED = 'blocked';
|
||||
var RESOLVED_MODEL = 'resolved_model';
|
||||
|
@ -3617,7 +3627,7 @@ function wakeChunk(listeners, value) {
|
|||
|
||||
function triggerErrorOnChunk(chunk, error) {
|
||||
if (chunk.status !== PENDING && chunk.status !== BLOCKED) {
|
||||
// We already resolved. We didn't expect to see this.
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -3664,7 +3674,7 @@ function loadServerReference$1(response, id, bound, parentChunk, parentObject, k
|
|||
}
|
||||
}
|
||||
|
||||
promise.then(createModelResolver(parentChunk, parentObject, key), createModelReject(parentChunk)); // We need a placeholder value that will be replaced later.
|
||||
promise.then(createModelResolver(parentChunk, parentObject, key, false, response, createModel), createModelReject(parentChunk)); // We need a placeholder value that will be replaced later.
|
||||
|
||||
return null;
|
||||
}
|
||||
|
@ -3741,21 +3751,30 @@ function getChunk(response, id) {
|
|||
return chunk;
|
||||
}
|
||||
|
||||
function createModelResolver(chunk, parentObject, key) {
|
||||
function createModelResolver(chunk, parentObject, key, cyclic, response, map) {
|
||||
var blocked;
|
||||
|
||||
if (initializingChunkBlockedModel) {
|
||||
blocked = initializingChunkBlockedModel;
|
||||
|
||||
if (!cyclic) {
|
||||
blocked.deps++;
|
||||
}
|
||||
} else {
|
||||
blocked = initializingChunkBlockedModel = {
|
||||
deps: 1,
|
||||
deps: cyclic ? 0 : 1,
|
||||
value: null
|
||||
};
|
||||
}
|
||||
|
||||
return function (value) {
|
||||
parentObject[key] = value;
|
||||
parentObject[key] = map(response, value); // If this is the root object for a model reference, where `blocked.value`
|
||||
// is a stale `null`, the resolved value can be used directly.
|
||||
|
||||
if (key === '' && blocked.value === null) {
|
||||
blocked.value = parentObject[key];
|
||||
}
|
||||
|
||||
blocked.deps--;
|
||||
|
||||
if (blocked.deps === 0) {
|
||||
|
@ -3781,19 +3800,46 @@ function createModelReject(chunk) {
|
|||
};
|
||||
}
|
||||
|
||||
function getOutlinedModel(response, id) {
|
||||
function getOutlinedModel(response, id, parentObject, key, map) {
|
||||
var chunk = getChunk(response, id);
|
||||
|
||||
if (chunk.status === RESOLVED_MODEL) {
|
||||
switch (chunk.status) {
|
||||
case RESOLVED_MODEL:
|
||||
initializeModelChunk(chunk);
|
||||
}
|
||||
break;
|
||||
} // The status might have changed after initialization.
|
||||
|
||||
if (chunk.status !== INITIALIZED) {
|
||||
// We know that this is emitted earlier so otherwise it's an error.
|
||||
|
||||
switch (chunk.status) {
|
||||
case INITIALIZED:
|
||||
return map(response, chunk.value);
|
||||
|
||||
case PENDING:
|
||||
case BLOCKED:
|
||||
var parentChunk = initializingChunk;
|
||||
chunk.then(createModelResolver(parentChunk, parentObject, key, false, response, map), createModelReject(parentChunk));
|
||||
return null;
|
||||
|
||||
default:
|
||||
throw chunk.reason;
|
||||
}
|
||||
}
|
||||
|
||||
return chunk.value;
|
||||
function createMap(response, model) {
|
||||
return new Map(model);
|
||||
}
|
||||
|
||||
function createSet(response, model) {
|
||||
return new Set(model);
|
||||
}
|
||||
|
||||
function extractIterator(response, model) {
|
||||
// $FlowFixMe[incompatible-use]: This uses raw Symbols because we're extracting from a native array.
|
||||
return model[Symbol.iterator]();
|
||||
}
|
||||
|
||||
function createModel(response, model) {
|
||||
return model;
|
||||
}
|
||||
|
||||
function parseModelString(response, obj, key, value) {
|
||||
|
@ -3810,9 +3856,8 @@ function parseModelString(response, obj, key, value) {
|
|||
// Promise
|
||||
var _id = parseInt(value.slice(2), 16);
|
||||
|
||||
var _chunk = getChunk(response, _id);
|
||||
|
||||
return _chunk;
|
||||
var chunk = getChunk(response, _id);
|
||||
return chunk;
|
||||
}
|
||||
|
||||
case 'F':
|
||||
|
@ -3821,7 +3866,7 @@ function parseModelString(response, obj, key, value) {
|
|||
var _id2 = parseInt(value.slice(2), 16); // TODO: Just encode this in the reference inline instead of as a model.
|
||||
|
||||
|
||||
var metaData = getOutlinedModel(response, _id2);
|
||||
var metaData = getOutlinedModel(response, _id2, obj, key, createModel);
|
||||
return loadServerReference$1(response, metaData.id, metaData.bound, initializingChunk, obj, key);
|
||||
}
|
||||
|
||||
|
@ -3836,8 +3881,7 @@ function parseModelString(response, obj, key, value) {
|
|||
// Map
|
||||
var _id3 = parseInt(value.slice(2), 16);
|
||||
|
||||
var data = getOutlinedModel(response, _id3);
|
||||
return new Map(data);
|
||||
return getOutlinedModel(response, _id3, obj, key, createMap);
|
||||
}
|
||||
|
||||
case 'W':
|
||||
|
@ -3845,9 +3889,7 @@ function parseModelString(response, obj, key, value) {
|
|||
// Set
|
||||
var _id4 = parseInt(value.slice(2), 16);
|
||||
|
||||
var _data = getOutlinedModel(response, _id4);
|
||||
|
||||
return new Set(_data);
|
||||
return getOutlinedModel(response, _id4, obj, key, createSet);
|
||||
}
|
||||
|
||||
case 'K':
|
||||
|
@ -3855,9 +3897,7 @@ function parseModelString(response, obj, key, value) {
|
|||
// FormData
|
||||
var stringId = value.slice(2);
|
||||
var formPrefix = response._prefix + stringId + '_';
|
||||
|
||||
var _data2 = new FormData();
|
||||
|
||||
var data = new FormData();
|
||||
var backingFormData = response._formData; // We assume that the reference to FormData always comes after each
|
||||
// entry that it references so we can assume they all exist in the
|
||||
// backing store already.
|
||||
|
@ -3865,10 +3905,10 @@ function parseModelString(response, obj, key, value) {
|
|||
|
||||
backingFormData.forEach(function (entry, entryKey) {
|
||||
if (entryKey.startsWith(formPrefix)) {
|
||||
_data2.append(entryKey.slice(formPrefix.length), entry);
|
||||
data.append(entryKey.slice(formPrefix.length), entry);
|
||||
}
|
||||
});
|
||||
return _data2;
|
||||
return data;
|
||||
}
|
||||
|
||||
case 'i':
|
||||
|
@ -3876,9 +3916,7 @@ function parseModelString(response, obj, key, value) {
|
|||
// Iterator
|
||||
var _id5 = parseInt(value.slice(2), 16);
|
||||
|
||||
var _data3 = getOutlinedModel(response, _id5);
|
||||
|
||||
return _data3[Symbol.iterator]();
|
||||
return getOutlinedModel(response, _id5, obj, key, extractIterator);
|
||||
}
|
||||
|
||||
case 'I':
|
||||
|
@ -3925,28 +3963,7 @@ function parseModelString(response, obj, key, value) {
|
|||
|
||||
|
||||
var id = parseInt(value.slice(1), 16);
|
||||
var chunk = getChunk(response, id);
|
||||
|
||||
switch (chunk.status) {
|
||||
case RESOLVED_MODEL:
|
||||
initializeModelChunk(chunk);
|
||||
break;
|
||||
} // The status might have changed after initialization.
|
||||
|
||||
|
||||
switch (chunk.status) {
|
||||
case INITIALIZED:
|
||||
return chunk.value;
|
||||
|
||||
case PENDING:
|
||||
case BLOCKED:
|
||||
var parentChunk = initializingChunk;
|
||||
chunk.then(createModelResolver(parentChunk, obj, key), createModelReject(parentChunk));
|
||||
return null;
|
||||
|
||||
default:
|
||||
throw chunk.reason;
|
||||
}
|
||||
return getOutlinedModel(response, id, obj, key, createModel);
|
||||
}
|
||||
|
||||
return value;
|
||||
|
|
|
@ -1619,20 +1619,27 @@ function loadServerReference$1(
|
|||
key
|
||||
) {
|
||||
var serverReference = resolveServerReference(response._bundlerConfig, id);
|
||||
response = preloadModule(serverReference);
|
||||
id = preloadModule(serverReference);
|
||||
if (bound)
|
||||
bound = Promise.all([bound, response]).then(function (_ref) {
|
||||
bound = Promise.all([bound, id]).then(function (_ref) {
|
||||
_ref = _ref[0];
|
||||
var fn = requireModule(serverReference);
|
||||
return fn.bind.apply(fn, [null].concat(_ref));
|
||||
});
|
||||
else if (response)
|
||||
bound = Promise.resolve(response).then(function () {
|
||||
else if (id)
|
||||
bound = Promise.resolve(id).then(function () {
|
||||
return requireModule(serverReference);
|
||||
});
|
||||
else return requireModule(serverReference);
|
||||
bound.then(
|
||||
createModelResolver(parentChunk, parentObject, key),
|
||||
createModelResolver(
|
||||
parentChunk,
|
||||
parentObject,
|
||||
key,
|
||||
!1,
|
||||
response,
|
||||
createModel
|
||||
),
|
||||
createModelReject(parentChunk)
|
||||
);
|
||||
return null;
|
||||
|
@ -1677,13 +1684,18 @@ function getChunk(response, id) {
|
|||
chunks.set(id, chunk));
|
||||
return chunk;
|
||||
}
|
||||
function createModelResolver(chunk, parentObject, key) {
|
||||
function createModelResolver(chunk, parentObject, key, cyclic, response, map) {
|
||||
if (initializingChunkBlockedModel) {
|
||||
var blocked = initializingChunkBlockedModel;
|
||||
blocked.deps++;
|
||||
} else blocked = initializingChunkBlockedModel = { deps: 1, value: null };
|
||||
cyclic || blocked.deps++;
|
||||
} else
|
||||
blocked = initializingChunkBlockedModel = {
|
||||
deps: cyclic ? 0 : 1,
|
||||
value: null
|
||||
};
|
||||
return function (value) {
|
||||
parentObject[key] = value;
|
||||
parentObject[key] = map(response, value);
|
||||
"" === key && null === blocked.value && (blocked.value = parentObject[key]);
|
||||
blocked.deps--;
|
||||
0 === blocked.deps &&
|
||||
"blocked" === chunk.status &&
|
||||
|
@ -1698,11 +1710,38 @@ function createModelReject(chunk) {
|
|||
return triggerErrorOnChunk(chunk, error);
|
||||
};
|
||||
}
|
||||
function getOutlinedModel(response, id) {
|
||||
response = getChunk(response, id);
|
||||
"resolved_model" === response.status && initializeModelChunk(response);
|
||||
if ("fulfilled" !== response.status) throw response.reason;
|
||||
return response.value;
|
||||
function getOutlinedModel(response, id, parentObject, key, map) {
|
||||
id = getChunk(response, id);
|
||||
switch (id.status) {
|
||||
case "resolved_model":
|
||||
initializeModelChunk(id);
|
||||
}
|
||||
switch (id.status) {
|
||||
case "fulfilled":
|
||||
return map(response, id.value);
|
||||
case "pending":
|
||||
case "blocked":
|
||||
var parentChunk = initializingChunk;
|
||||
id.then(
|
||||
createModelResolver(parentChunk, parentObject, key, !1, response, map),
|
||||
createModelReject(parentChunk)
|
||||
);
|
||||
return null;
|
||||
default:
|
||||
throw id.reason;
|
||||
}
|
||||
}
|
||||
function createMap(response, model) {
|
||||
return new Map(model);
|
||||
}
|
||||
function createSet(response, model) {
|
||||
return new Set(model);
|
||||
}
|
||||
function extractIterator(response, model) {
|
||||
return model[Symbol.iterator]();
|
||||
}
|
||||
function createModel(response, model) {
|
||||
return model;
|
||||
}
|
||||
function parseModelString(response, obj, key, value) {
|
||||
if ("$" === value[0]) {
|
||||
|
@ -1714,7 +1753,7 @@ function parseModelString(response, obj, key, value) {
|
|||
case "F":
|
||||
return (
|
||||
(value = parseInt(value.slice(2), 16)),
|
||||
(value = getOutlinedModel(response, value)),
|
||||
(value = getOutlinedModel(response, value, obj, key, createModel)),
|
||||
loadServerReference$1(
|
||||
response,
|
||||
value.id,
|
||||
|
@ -1728,29 +1767,27 @@ function parseModelString(response, obj, key, value) {
|
|||
return createTemporaryReference(value.slice(2));
|
||||
case "Q":
|
||||
return (
|
||||
(obj = parseInt(value.slice(2), 16)),
|
||||
(response = getOutlinedModel(response, obj)),
|
||||
new Map(response)
|
||||
(value = parseInt(value.slice(2), 16)),
|
||||
getOutlinedModel(response, value, obj, key, createMap)
|
||||
);
|
||||
case "W":
|
||||
return (
|
||||
(obj = parseInt(value.slice(2), 16)),
|
||||
(response = getOutlinedModel(response, obj)),
|
||||
new Set(response)
|
||||
(value = parseInt(value.slice(2), 16)),
|
||||
getOutlinedModel(response, value, obj, key, createSet)
|
||||
);
|
||||
case "K":
|
||||
obj = value.slice(2);
|
||||
var formPrefix = response._prefix + obj + "_",
|
||||
data$23 = new FormData();
|
||||
data = new FormData();
|
||||
response._formData.forEach(function (entry, entryKey) {
|
||||
entryKey.startsWith(formPrefix) &&
|
||||
data$23.append(entryKey.slice(formPrefix.length), entry);
|
||||
data.append(entryKey.slice(formPrefix.length), entry);
|
||||
});
|
||||
return data$23;
|
||||
return data;
|
||||
case "i":
|
||||
return (
|
||||
(obj = parseInt(value.slice(2), 16)),
|
||||
getOutlinedModel(response, obj)[Symbol.iterator]()
|
||||
(value = parseInt(value.slice(2), 16)),
|
||||
getOutlinedModel(response, value, obj, key, extractIterator)
|
||||
);
|
||||
case "I":
|
||||
return Infinity;
|
||||
|
@ -1766,27 +1803,7 @@ function parseModelString(response, obj, key, value) {
|
|||
return BigInt(value.slice(2));
|
||||
}
|
||||
value = parseInt(value.slice(1), 16);
|
||||
response = getChunk(response, value);
|
||||
switch (response.status) {
|
||||
case "resolved_model":
|
||||
initializeModelChunk(response);
|
||||
}
|
||||
switch (response.status) {
|
||||
case "fulfilled":
|
||||
return response.value;
|
||||
case "pending":
|
||||
case "blocked":
|
||||
return (
|
||||
(value = initializingChunk),
|
||||
response.then(
|
||||
createModelResolver(value, obj, key),
|
||||
createModelReject(value)
|
||||
),
|
||||
null
|
||||
);
|
||||
default:
|
||||
throw response.reason;
|
||||
}
|
||||
return getOutlinedModel(response, value, obj, key, createModel);
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
|
|
@ -832,6 +832,8 @@ function createHints() {
|
|||
|
||||
var supportsRequestStorage = true;
|
||||
var requestStorage = new async_hooks.AsyncLocalStorage();
|
||||
var supportsComponentStorage = true;
|
||||
var componentStorage = new async_hooks.AsyncLocalStorage() ;
|
||||
|
||||
var TEMPORARY_REFERENCE_TAG = Symbol.for('react.temporary.reference'); // eslint-disable-next-line no-unused-vars
|
||||
|
||||
|
@ -1178,6 +1180,21 @@ function use(usable) {
|
|||
}
|
||||
}
|
||||
|
||||
var currentOwner = null;
|
||||
function setCurrentOwner(componentInfo) {
|
||||
currentOwner = componentInfo;
|
||||
}
|
||||
function resolveOwner() {
|
||||
if (currentOwner) return currentOwner;
|
||||
|
||||
{
|
||||
var owner = componentStorage.getStore();
|
||||
if (owner) return owner;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
function resolveCache() {
|
||||
var request = resolveRequest();
|
||||
|
||||
|
@ -1202,16 +1219,9 @@ var DefaultAsyncDispatcher = {
|
|||
return entry;
|
||||
}
|
||||
};
|
||||
var currentOwner = null;
|
||||
|
||||
{
|
||||
DefaultAsyncDispatcher.getOwner = function () {
|
||||
return currentOwner;
|
||||
};
|
||||
}
|
||||
|
||||
function setCurrentOwner(componentInfo) {
|
||||
currentOwner = componentInfo;
|
||||
DefaultAsyncDispatcher.getOwner = resolveOwner;
|
||||
}
|
||||
|
||||
var isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare
|
||||
|
@ -1794,8 +1804,11 @@ function renderFunctionComponent(request, task, key, Component, props, owner) {
|
|||
// component suspends we can reuse the same task object. If the same
|
||||
// component suspends again, the thenable state will be restored.
|
||||
var prevThenableState = task.thenableState;
|
||||
task.thenableState = null;
|
||||
var componentDebugInfo = null;
|
||||
task.thenableState = null; // The secondArg is always undefined in Server Components since refs error early.
|
||||
|
||||
var secondArg = undefined;
|
||||
var result;
|
||||
var componentDebugInfo;
|
||||
|
||||
{
|
||||
if (debugID === null) {
|
||||
|
@ -1823,18 +1836,15 @@ function renderFunctionComponent(request, task, key, Component, props, owner) {
|
|||
outlineModel(request, componentDebugInfo);
|
||||
emitDebugChunk(request, componentDebugID, componentDebugInfo);
|
||||
}
|
||||
}
|
||||
|
||||
prepareToUseHooksForComponent(prevThenableState, componentDebugInfo); // The secondArg is always undefined in Server Components since refs error early.
|
||||
|
||||
var secondArg = undefined;
|
||||
var result;
|
||||
|
||||
{
|
||||
prepareToUseHooksForComponent(prevThenableState, componentDebugInfo);
|
||||
setCurrentOwner(componentDebugInfo);
|
||||
|
||||
try {
|
||||
result = Component(props, secondArg);
|
||||
if (supportsComponentStorage) {
|
||||
// Run the component in an Async Context that tracks the current owner.
|
||||
result = componentStorage.run(componentDebugInfo, Component, props, secondArg);
|
||||
}
|
||||
} finally {
|
||||
setCurrentOwner(null);
|
||||
}
|
||||
|
@ -1973,9 +1983,8 @@ function renderFragment(request, task, children) {
|
|||
|
||||
function renderClientElement(task, type, key, props, owner) // DEV-only
|
||||
{
|
||||
// We prepend the terminal client element that actually gets serialized with
|
||||
// the keys of any Server Components which are not serialized.
|
||||
|
||||
|
||||
var keyPath = task.keyPath;
|
||||
|
||||
if (key === null) {
|
||||
|
@ -2119,7 +2128,7 @@ function createTask(request, model, keyPath, implicitSlot, abortSet) {
|
|||
if (typeof model === 'object' && model !== null) {
|
||||
// If we're about to write this into a new task we can assign it an ID early so that
|
||||
// any other references can refer to the value we're about to write.
|
||||
if ((keyPath !== null || implicitSlot)) ; else {
|
||||
if (keyPath !== null || implicitSlot) ; else {
|
||||
request.writtenObjects.set(model, id);
|
||||
}
|
||||
}
|
||||
|
@ -2461,7 +2470,7 @@ function renderModelDestructive(request, task, parent, parentPropertyName, value
|
|||
var _existingId = _writtenObjects.get(value);
|
||||
|
||||
if (_existingId !== undefined) {
|
||||
if ((task.keyPath !== null || task.implicitSlot)) ; else if (modelRoot === value) {
|
||||
if (task.keyPath !== null || task.implicitSlot) ; else if (modelRoot === value) {
|
||||
// This is the ID we're currently emitting so we need to write it
|
||||
// once but if we discover it again, we refer to it by id.
|
||||
modelRoot = null;
|
||||
|
@ -2566,7 +2575,7 @@ function renderModelDestructive(request, task, parent, parentPropertyName, value
|
|||
|
||||
if (typeof value.then === 'function') {
|
||||
if (existingId !== undefined) {
|
||||
if ((task.keyPath !== null || task.implicitSlot)) {
|
||||
if (task.keyPath !== null || task.implicitSlot) {
|
||||
// If we're in some kind of context we can't reuse the result of this render or
|
||||
// previous renders of this element. We only reuse Promises if they're not wrapped
|
||||
// by another Server Component.
|
||||
|
@ -3592,7 +3601,6 @@ function loadChunk(chunkId, filename) {
|
|||
return __webpack_chunk_load__(chunkId);
|
||||
}
|
||||
|
||||
// The server acts as a Client of itself when resolving Server References.
|
||||
var PENDING = 'pending';
|
||||
var BLOCKED = 'blocked';
|
||||
var RESOLVED_MODEL = 'resolved_model';
|
||||
|
@ -3691,7 +3699,7 @@ function wakeChunkIfInitialized(chunk, resolveListeners, rejectListeners) {
|
|||
|
||||
function triggerErrorOnChunk(chunk, error) {
|
||||
if (chunk.status !== PENDING && chunk.status !== BLOCKED) {
|
||||
// We already resolved. We didn't expect to see this.
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -3712,7 +3720,7 @@ function createResolvedModelChunk(response, value) {
|
|||
|
||||
function resolveModelChunk(chunk, value) {
|
||||
if (chunk.status !== PENDING) {
|
||||
// We already resolved. We didn't expect to see this.
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -3760,7 +3768,7 @@ function loadServerReference$1(response, id, bound, parentChunk, parentObject, k
|
|||
}
|
||||
}
|
||||
|
||||
promise.then(createModelResolver(parentChunk, parentObject, key), createModelReject(parentChunk)); // We need a placeholder value that will be replaced later.
|
||||
promise.then(createModelResolver(parentChunk, parentObject, key, false, response, createModel), createModelReject(parentChunk)); // We need a placeholder value that will be replaced later.
|
||||
|
||||
return null;
|
||||
}
|
||||
|
@ -3837,21 +3845,30 @@ function getChunk(response, id) {
|
|||
return chunk;
|
||||
}
|
||||
|
||||
function createModelResolver(chunk, parentObject, key) {
|
||||
function createModelResolver(chunk, parentObject, key, cyclic, response, map) {
|
||||
var blocked;
|
||||
|
||||
if (initializingChunkBlockedModel) {
|
||||
blocked = initializingChunkBlockedModel;
|
||||
|
||||
if (!cyclic) {
|
||||
blocked.deps++;
|
||||
}
|
||||
} else {
|
||||
blocked = initializingChunkBlockedModel = {
|
||||
deps: 1,
|
||||
deps: cyclic ? 0 : 1,
|
||||
value: null
|
||||
};
|
||||
}
|
||||
|
||||
return function (value) {
|
||||
parentObject[key] = value;
|
||||
parentObject[key] = map(response, value); // If this is the root object for a model reference, where `blocked.value`
|
||||
// is a stale `null`, the resolved value can be used directly.
|
||||
|
||||
if (key === '' && blocked.value === null) {
|
||||
blocked.value = parentObject[key];
|
||||
}
|
||||
|
||||
blocked.deps--;
|
||||
|
||||
if (blocked.deps === 0) {
|
||||
|
@ -3877,19 +3894,46 @@ function createModelReject(chunk) {
|
|||
};
|
||||
}
|
||||
|
||||
function getOutlinedModel(response, id) {
|
||||
function getOutlinedModel(response, id, parentObject, key, map) {
|
||||
var chunk = getChunk(response, id);
|
||||
|
||||
if (chunk.status === RESOLVED_MODEL) {
|
||||
switch (chunk.status) {
|
||||
case RESOLVED_MODEL:
|
||||
initializeModelChunk(chunk);
|
||||
}
|
||||
break;
|
||||
} // The status might have changed after initialization.
|
||||
|
||||
if (chunk.status !== INITIALIZED) {
|
||||
// We know that this is emitted earlier so otherwise it's an error.
|
||||
|
||||
switch (chunk.status) {
|
||||
case INITIALIZED:
|
||||
return map(response, chunk.value);
|
||||
|
||||
case PENDING:
|
||||
case BLOCKED:
|
||||
var parentChunk = initializingChunk;
|
||||
chunk.then(createModelResolver(parentChunk, parentObject, key, false, response, map), createModelReject(parentChunk));
|
||||
return null;
|
||||
|
||||
default:
|
||||
throw chunk.reason;
|
||||
}
|
||||
}
|
||||
|
||||
return chunk.value;
|
||||
function createMap(response, model) {
|
||||
return new Map(model);
|
||||
}
|
||||
|
||||
function createSet(response, model) {
|
||||
return new Set(model);
|
||||
}
|
||||
|
||||
function extractIterator(response, model) {
|
||||
// $FlowFixMe[incompatible-use]: This uses raw Symbols because we're extracting from a native array.
|
||||
return model[Symbol.iterator]();
|
||||
}
|
||||
|
||||
function createModel(response, model) {
|
||||
return model;
|
||||
}
|
||||
|
||||
function parseModelString(response, obj, key, value) {
|
||||
|
@ -3906,9 +3950,8 @@ function parseModelString(response, obj, key, value) {
|
|||
// Promise
|
||||
var _id = parseInt(value.slice(2), 16);
|
||||
|
||||
var _chunk = getChunk(response, _id);
|
||||
|
||||
return _chunk;
|
||||
var chunk = getChunk(response, _id);
|
||||
return chunk;
|
||||
}
|
||||
|
||||
case 'F':
|
||||
|
@ -3917,7 +3960,7 @@ function parseModelString(response, obj, key, value) {
|
|||
var _id2 = parseInt(value.slice(2), 16); // TODO: Just encode this in the reference inline instead of as a model.
|
||||
|
||||
|
||||
var metaData = getOutlinedModel(response, _id2);
|
||||
var metaData = getOutlinedModel(response, _id2, obj, key, createModel);
|
||||
return loadServerReference$1(response, metaData.id, metaData.bound, initializingChunk, obj, key);
|
||||
}
|
||||
|
||||
|
@ -3932,8 +3975,7 @@ function parseModelString(response, obj, key, value) {
|
|||
// Map
|
||||
var _id3 = parseInt(value.slice(2), 16);
|
||||
|
||||
var data = getOutlinedModel(response, _id3);
|
||||
return new Map(data);
|
||||
return getOutlinedModel(response, _id3, obj, key, createMap);
|
||||
}
|
||||
|
||||
case 'W':
|
||||
|
@ -3941,9 +3983,7 @@ function parseModelString(response, obj, key, value) {
|
|||
// Set
|
||||
var _id4 = parseInt(value.slice(2), 16);
|
||||
|
||||
var _data = getOutlinedModel(response, _id4);
|
||||
|
||||
return new Set(_data);
|
||||
return getOutlinedModel(response, _id4, obj, key, createSet);
|
||||
}
|
||||
|
||||
case 'K':
|
||||
|
@ -3951,9 +3991,7 @@ function parseModelString(response, obj, key, value) {
|
|||
// FormData
|
||||
var stringId = value.slice(2);
|
||||
var formPrefix = response._prefix + stringId + '_';
|
||||
|
||||
var _data2 = new FormData();
|
||||
|
||||
var data = new FormData();
|
||||
var backingFormData = response._formData; // We assume that the reference to FormData always comes after each
|
||||
// entry that it references so we can assume they all exist in the
|
||||
// backing store already.
|
||||
|
@ -3961,10 +3999,10 @@ function parseModelString(response, obj, key, value) {
|
|||
|
||||
backingFormData.forEach(function (entry, entryKey) {
|
||||
if (entryKey.startsWith(formPrefix)) {
|
||||
_data2.append(entryKey.slice(formPrefix.length), entry);
|
||||
data.append(entryKey.slice(formPrefix.length), entry);
|
||||
}
|
||||
});
|
||||
return _data2;
|
||||
return data;
|
||||
}
|
||||
|
||||
case 'i':
|
||||
|
@ -3972,9 +4010,7 @@ function parseModelString(response, obj, key, value) {
|
|||
// Iterator
|
||||
var _id5 = parseInt(value.slice(2), 16);
|
||||
|
||||
var _data3 = getOutlinedModel(response, _id5);
|
||||
|
||||
return _data3[Symbol.iterator]();
|
||||
return getOutlinedModel(response, _id5, obj, key, extractIterator);
|
||||
}
|
||||
|
||||
case 'I':
|
||||
|
@ -4021,28 +4057,7 @@ function parseModelString(response, obj, key, value) {
|
|||
|
||||
|
||||
var id = parseInt(value.slice(1), 16);
|
||||
var chunk = getChunk(response, id);
|
||||
|
||||
switch (chunk.status) {
|
||||
case RESOLVED_MODEL:
|
||||
initializeModelChunk(chunk);
|
||||
break;
|
||||
} // The status might have changed after initialization.
|
||||
|
||||
|
||||
switch (chunk.status) {
|
||||
case INITIALIZED:
|
||||
return chunk.value;
|
||||
|
||||
case PENDING:
|
||||
case BLOCKED:
|
||||
var parentChunk = initializingChunk;
|
||||
chunk.then(createModelResolver(parentChunk, obj, key), createModelReject(parentChunk));
|
||||
return null;
|
||||
|
||||
default:
|
||||
throw chunk.reason;
|
||||
}
|
||||
return getOutlinedModel(response, id, obj, key, createModel);
|
||||
}
|
||||
|
||||
return value;
|
||||
|
|
|
@ -1673,20 +1673,27 @@ function loadServerReference$1(
|
|||
key
|
||||
) {
|
||||
var serverReference = resolveServerReference(response._bundlerConfig, id);
|
||||
response = preloadModule(serverReference);
|
||||
id = preloadModule(serverReference);
|
||||
if (bound)
|
||||
bound = Promise.all([bound, response]).then(function (_ref) {
|
||||
bound = Promise.all([bound, id]).then(function (_ref) {
|
||||
_ref = _ref[0];
|
||||
var fn = requireModule(serverReference);
|
||||
return fn.bind.apply(fn, [null].concat(_ref));
|
||||
});
|
||||
else if (response)
|
||||
bound = Promise.resolve(response).then(function () {
|
||||
else if (id)
|
||||
bound = Promise.resolve(id).then(function () {
|
||||
return requireModule(serverReference);
|
||||
});
|
||||
else return requireModule(serverReference);
|
||||
bound.then(
|
||||
createModelResolver(parentChunk, parentObject, key),
|
||||
createModelResolver(
|
||||
parentChunk,
|
||||
parentObject,
|
||||
key,
|
||||
!1,
|
||||
response,
|
||||
createModel
|
||||
),
|
||||
createModelReject(parentChunk)
|
||||
);
|
||||
return null;
|
||||
|
@ -1731,13 +1738,18 @@ function getChunk(response, id) {
|
|||
chunks.set(id, chunk));
|
||||
return chunk;
|
||||
}
|
||||
function createModelResolver(chunk, parentObject, key) {
|
||||
function createModelResolver(chunk, parentObject, key, cyclic, response, map) {
|
||||
if (initializingChunkBlockedModel) {
|
||||
var blocked = initializingChunkBlockedModel;
|
||||
blocked.deps++;
|
||||
} else blocked = initializingChunkBlockedModel = { deps: 1, value: null };
|
||||
cyclic || blocked.deps++;
|
||||
} else
|
||||
blocked = initializingChunkBlockedModel = {
|
||||
deps: cyclic ? 0 : 1,
|
||||
value: null
|
||||
};
|
||||
return function (value) {
|
||||
parentObject[key] = value;
|
||||
parentObject[key] = map(response, value);
|
||||
"" === key && null === blocked.value && (blocked.value = parentObject[key]);
|
||||
blocked.deps--;
|
||||
0 === blocked.deps &&
|
||||
"blocked" === chunk.status &&
|
||||
|
@ -1752,11 +1764,38 @@ function createModelReject(chunk) {
|
|||
return triggerErrorOnChunk(chunk, error);
|
||||
};
|
||||
}
|
||||
function getOutlinedModel(response, id) {
|
||||
response = getChunk(response, id);
|
||||
"resolved_model" === response.status && initializeModelChunk(response);
|
||||
if ("fulfilled" !== response.status) throw response.reason;
|
||||
return response.value;
|
||||
function getOutlinedModel(response, id, parentObject, key, map) {
|
||||
id = getChunk(response, id);
|
||||
switch (id.status) {
|
||||
case "resolved_model":
|
||||
initializeModelChunk(id);
|
||||
}
|
||||
switch (id.status) {
|
||||
case "fulfilled":
|
||||
return map(response, id.value);
|
||||
case "pending":
|
||||
case "blocked":
|
||||
var parentChunk = initializingChunk;
|
||||
id.then(
|
||||
createModelResolver(parentChunk, parentObject, key, !1, response, map),
|
||||
createModelReject(parentChunk)
|
||||
);
|
||||
return null;
|
||||
default:
|
||||
throw id.reason;
|
||||
}
|
||||
}
|
||||
function createMap(response, model) {
|
||||
return new Map(model);
|
||||
}
|
||||
function createSet(response, model) {
|
||||
return new Set(model);
|
||||
}
|
||||
function extractIterator(response, model) {
|
||||
return model[Symbol.iterator]();
|
||||
}
|
||||
function createModel(response, model) {
|
||||
return model;
|
||||
}
|
||||
function parseModelString(response, obj, key, value) {
|
||||
if ("$" === value[0]) {
|
||||
|
@ -1768,7 +1807,7 @@ function parseModelString(response, obj, key, value) {
|
|||
case "F":
|
||||
return (
|
||||
(value = parseInt(value.slice(2), 16)),
|
||||
(value = getOutlinedModel(response, value)),
|
||||
(value = getOutlinedModel(response, value, obj, key, createModel)),
|
||||
loadServerReference$1(
|
||||
response,
|
||||
value.id,
|
||||
|
@ -1782,29 +1821,27 @@ function parseModelString(response, obj, key, value) {
|
|||
return createTemporaryReference(value.slice(2));
|
||||
case "Q":
|
||||
return (
|
||||
(obj = parseInt(value.slice(2), 16)),
|
||||
(response = getOutlinedModel(response, obj)),
|
||||
new Map(response)
|
||||
(value = parseInt(value.slice(2), 16)),
|
||||
getOutlinedModel(response, value, obj, key, createMap)
|
||||
);
|
||||
case "W":
|
||||
return (
|
||||
(obj = parseInt(value.slice(2), 16)),
|
||||
(response = getOutlinedModel(response, obj)),
|
||||
new Set(response)
|
||||
(value = parseInt(value.slice(2), 16)),
|
||||
getOutlinedModel(response, value, obj, key, createSet)
|
||||
);
|
||||
case "K":
|
||||
obj = value.slice(2);
|
||||
var formPrefix = response._prefix + obj + "_",
|
||||
data$23 = new FormData();
|
||||
data = new FormData();
|
||||
response._formData.forEach(function (entry, entryKey) {
|
||||
entryKey.startsWith(formPrefix) &&
|
||||
data$23.append(entryKey.slice(formPrefix.length), entry);
|
||||
data.append(entryKey.slice(formPrefix.length), entry);
|
||||
});
|
||||
return data$23;
|
||||
return data;
|
||||
case "i":
|
||||
return (
|
||||
(obj = parseInt(value.slice(2), 16)),
|
||||
getOutlinedModel(response, obj)[Symbol.iterator]()
|
||||
(value = parseInt(value.slice(2), 16)),
|
||||
getOutlinedModel(response, value, obj, key, extractIterator)
|
||||
);
|
||||
case "I":
|
||||
return Infinity;
|
||||
|
@ -1820,27 +1857,7 @@ function parseModelString(response, obj, key, value) {
|
|||
return BigInt(value.slice(2));
|
||||
}
|
||||
value = parseInt(value.slice(1), 16);
|
||||
response = getChunk(response, value);
|
||||
switch (response.status) {
|
||||
case "resolved_model":
|
||||
initializeModelChunk(response);
|
||||
}
|
||||
switch (response.status) {
|
||||
case "fulfilled":
|
||||
return response.value;
|
||||
case "pending":
|
||||
case "blocked":
|
||||
return (
|
||||
(value = initializingChunk),
|
||||
response.then(
|
||||
createModelResolver(value, obj, key),
|
||||
createModelReject(value)
|
||||
),
|
||||
null
|
||||
);
|
||||
default:
|
||||
throw response.reason;
|
||||
}
|
||||
return getOutlinedModel(response, value, obj, key, createModel);
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
@ -1997,12 +2014,12 @@ exports.decodeReplyFromBusboy = function (busboyStream, webpackMap) {
|
|||
"React doesn't accept base64 encoded file uploads because we don't expect form data passed from a browser to ever encode data that way. If that's the wrong assumption, we can easily fix it."
|
||||
);
|
||||
pendingFiles++;
|
||||
var JSCompiler_object_inline_chunks_209 = [];
|
||||
var JSCompiler_object_inline_chunks_205 = [];
|
||||
value.on("data", function (chunk) {
|
||||
JSCompiler_object_inline_chunks_209.push(chunk);
|
||||
JSCompiler_object_inline_chunks_205.push(chunk);
|
||||
});
|
||||
value.on("end", function () {
|
||||
var blob = new Blob(JSCompiler_object_inline_chunks_209, {
|
||||
var blob = new Blob(JSCompiler_object_inline_chunks_205, {
|
||||
type: mimeType
|
||||
});
|
||||
response._formData.append(name, blob, filename);
|
||||
|
|
|
@ -832,6 +832,8 @@ function createHints() {
|
|||
|
||||
var supportsRequestStorage = true;
|
||||
var requestStorage = new async_hooks.AsyncLocalStorage();
|
||||
var supportsComponentStorage = true;
|
||||
var componentStorage = new async_hooks.AsyncLocalStorage() ;
|
||||
|
||||
var TEMPORARY_REFERENCE_TAG = Symbol.for('react.temporary.reference'); // eslint-disable-next-line no-unused-vars
|
||||
|
||||
|
@ -1178,6 +1180,21 @@ function use(usable) {
|
|||
}
|
||||
}
|
||||
|
||||
var currentOwner = null;
|
||||
function setCurrentOwner(componentInfo) {
|
||||
currentOwner = componentInfo;
|
||||
}
|
||||
function resolveOwner() {
|
||||
if (currentOwner) return currentOwner;
|
||||
|
||||
{
|
||||
var owner = componentStorage.getStore();
|
||||
if (owner) return owner;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
function resolveCache() {
|
||||
var request = resolveRequest();
|
||||
|
||||
|
@ -1202,16 +1219,9 @@ var DefaultAsyncDispatcher = {
|
|||
return entry;
|
||||
}
|
||||
};
|
||||
var currentOwner = null;
|
||||
|
||||
{
|
||||
DefaultAsyncDispatcher.getOwner = function () {
|
||||
return currentOwner;
|
||||
};
|
||||
}
|
||||
|
||||
function setCurrentOwner(componentInfo) {
|
||||
currentOwner = componentInfo;
|
||||
DefaultAsyncDispatcher.getOwner = resolveOwner;
|
||||
}
|
||||
|
||||
var isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare
|
||||
|
@ -1794,8 +1804,11 @@ function renderFunctionComponent(request, task, key, Component, props, owner) {
|
|||
// component suspends we can reuse the same task object. If the same
|
||||
// component suspends again, the thenable state will be restored.
|
||||
var prevThenableState = task.thenableState;
|
||||
task.thenableState = null;
|
||||
var componentDebugInfo = null;
|
||||
task.thenableState = null; // The secondArg is always undefined in Server Components since refs error early.
|
||||
|
||||
var secondArg = undefined;
|
||||
var result;
|
||||
var componentDebugInfo;
|
||||
|
||||
{
|
||||
if (debugID === null) {
|
||||
|
@ -1823,18 +1836,15 @@ function renderFunctionComponent(request, task, key, Component, props, owner) {
|
|||
outlineModel(request, componentDebugInfo);
|
||||
emitDebugChunk(request, componentDebugID, componentDebugInfo);
|
||||
}
|
||||
}
|
||||
|
||||
prepareToUseHooksForComponent(prevThenableState, componentDebugInfo); // The secondArg is always undefined in Server Components since refs error early.
|
||||
|
||||
var secondArg = undefined;
|
||||
var result;
|
||||
|
||||
{
|
||||
prepareToUseHooksForComponent(prevThenableState, componentDebugInfo);
|
||||
setCurrentOwner(componentDebugInfo);
|
||||
|
||||
try {
|
||||
result = Component(props, secondArg);
|
||||
if (supportsComponentStorage) {
|
||||
// Run the component in an Async Context that tracks the current owner.
|
||||
result = componentStorage.run(componentDebugInfo, Component, props, secondArg);
|
||||
}
|
||||
} finally {
|
||||
setCurrentOwner(null);
|
||||
}
|
||||
|
@ -1973,9 +1983,8 @@ function renderFragment(request, task, children) {
|
|||
|
||||
function renderClientElement(task, type, key, props, owner) // DEV-only
|
||||
{
|
||||
// We prepend the terminal client element that actually gets serialized with
|
||||
// the keys of any Server Components which are not serialized.
|
||||
|
||||
|
||||
var keyPath = task.keyPath;
|
||||
|
||||
if (key === null) {
|
||||
|
@ -2119,7 +2128,7 @@ function createTask(request, model, keyPath, implicitSlot, abortSet) {
|
|||
if (typeof model === 'object' && model !== null) {
|
||||
// If we're about to write this into a new task we can assign it an ID early so that
|
||||
// any other references can refer to the value we're about to write.
|
||||
if ((keyPath !== null || implicitSlot)) ; else {
|
||||
if (keyPath !== null || implicitSlot) ; else {
|
||||
request.writtenObjects.set(model, id);
|
||||
}
|
||||
}
|
||||
|
@ -2461,7 +2470,7 @@ function renderModelDestructive(request, task, parent, parentPropertyName, value
|
|||
var _existingId = _writtenObjects.get(value);
|
||||
|
||||
if (_existingId !== undefined) {
|
||||
if ((task.keyPath !== null || task.implicitSlot)) ; else if (modelRoot === value) {
|
||||
if (task.keyPath !== null || task.implicitSlot) ; else if (modelRoot === value) {
|
||||
// This is the ID we're currently emitting so we need to write it
|
||||
// once but if we discover it again, we refer to it by id.
|
||||
modelRoot = null;
|
||||
|
@ -2566,7 +2575,7 @@ function renderModelDestructive(request, task, parent, parentPropertyName, value
|
|||
|
||||
if (typeof value.then === 'function') {
|
||||
if (existingId !== undefined) {
|
||||
if ((task.keyPath !== null || task.implicitSlot)) {
|
||||
if (task.keyPath !== null || task.implicitSlot) {
|
||||
// If we're in some kind of context we can't reuse the result of this render or
|
||||
// previous renders of this element. We only reuse Promises if they're not wrapped
|
||||
// by another Server Component.
|
||||
|
@ -3519,7 +3528,6 @@ function requireModule(metadata) {
|
|||
return moduleExports[metadata.name];
|
||||
}
|
||||
|
||||
// The server acts as a Client of itself when resolving Server References.
|
||||
var PENDING = 'pending';
|
||||
var BLOCKED = 'blocked';
|
||||
var RESOLVED_MODEL = 'resolved_model';
|
||||
|
@ -3618,7 +3626,7 @@ function wakeChunkIfInitialized(chunk, resolveListeners, rejectListeners) {
|
|||
|
||||
function triggerErrorOnChunk(chunk, error) {
|
||||
if (chunk.status !== PENDING && chunk.status !== BLOCKED) {
|
||||
// We already resolved. We didn't expect to see this.
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -3639,7 +3647,7 @@ function createResolvedModelChunk(response, value) {
|
|||
|
||||
function resolveModelChunk(chunk, value) {
|
||||
if (chunk.status !== PENDING) {
|
||||
// We already resolved. We didn't expect to see this.
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -3687,7 +3695,7 @@ function loadServerReference$1(response, id, bound, parentChunk, parentObject, k
|
|||
}
|
||||
}
|
||||
|
||||
promise.then(createModelResolver(parentChunk, parentObject, key), createModelReject(parentChunk)); // We need a placeholder value that will be replaced later.
|
||||
promise.then(createModelResolver(parentChunk, parentObject, key, false, response, createModel), createModelReject(parentChunk)); // We need a placeholder value that will be replaced later.
|
||||
|
||||
return null;
|
||||
}
|
||||
|
@ -3764,21 +3772,30 @@ function getChunk(response, id) {
|
|||
return chunk;
|
||||
}
|
||||
|
||||
function createModelResolver(chunk, parentObject, key) {
|
||||
function createModelResolver(chunk, parentObject, key, cyclic, response, map) {
|
||||
var blocked;
|
||||
|
||||
if (initializingChunkBlockedModel) {
|
||||
blocked = initializingChunkBlockedModel;
|
||||
|
||||
if (!cyclic) {
|
||||
blocked.deps++;
|
||||
}
|
||||
} else {
|
||||
blocked = initializingChunkBlockedModel = {
|
||||
deps: 1,
|
||||
deps: cyclic ? 0 : 1,
|
||||
value: null
|
||||
};
|
||||
}
|
||||
|
||||
return function (value) {
|
||||
parentObject[key] = value;
|
||||
parentObject[key] = map(response, value); // If this is the root object for a model reference, where `blocked.value`
|
||||
// is a stale `null`, the resolved value can be used directly.
|
||||
|
||||
if (key === '' && blocked.value === null) {
|
||||
blocked.value = parentObject[key];
|
||||
}
|
||||
|
||||
blocked.deps--;
|
||||
|
||||
if (blocked.deps === 0) {
|
||||
|
@ -3804,19 +3821,46 @@ function createModelReject(chunk) {
|
|||
};
|
||||
}
|
||||
|
||||
function getOutlinedModel(response, id) {
|
||||
function getOutlinedModel(response, id, parentObject, key, map) {
|
||||
var chunk = getChunk(response, id);
|
||||
|
||||
if (chunk.status === RESOLVED_MODEL) {
|
||||
switch (chunk.status) {
|
||||
case RESOLVED_MODEL:
|
||||
initializeModelChunk(chunk);
|
||||
}
|
||||
break;
|
||||
} // The status might have changed after initialization.
|
||||
|
||||
if (chunk.status !== INITIALIZED) {
|
||||
// We know that this is emitted earlier so otherwise it's an error.
|
||||
|
||||
switch (chunk.status) {
|
||||
case INITIALIZED:
|
||||
return map(response, chunk.value);
|
||||
|
||||
case PENDING:
|
||||
case BLOCKED:
|
||||
var parentChunk = initializingChunk;
|
||||
chunk.then(createModelResolver(parentChunk, parentObject, key, false, response, map), createModelReject(parentChunk));
|
||||
return null;
|
||||
|
||||
default:
|
||||
throw chunk.reason;
|
||||
}
|
||||
}
|
||||
|
||||
return chunk.value;
|
||||
function createMap(response, model) {
|
||||
return new Map(model);
|
||||
}
|
||||
|
||||
function createSet(response, model) {
|
||||
return new Set(model);
|
||||
}
|
||||
|
||||
function extractIterator(response, model) {
|
||||
// $FlowFixMe[incompatible-use]: This uses raw Symbols because we're extracting from a native array.
|
||||
return model[Symbol.iterator]();
|
||||
}
|
||||
|
||||
function createModel(response, model) {
|
||||
return model;
|
||||
}
|
||||
|
||||
function parseModelString(response, obj, key, value) {
|
||||
|
@ -3833,9 +3877,8 @@ function parseModelString(response, obj, key, value) {
|
|||
// Promise
|
||||
var _id = parseInt(value.slice(2), 16);
|
||||
|
||||
var _chunk = getChunk(response, _id);
|
||||
|
||||
return _chunk;
|
||||
var chunk = getChunk(response, _id);
|
||||
return chunk;
|
||||
}
|
||||
|
||||
case 'F':
|
||||
|
@ -3844,7 +3887,7 @@ function parseModelString(response, obj, key, value) {
|
|||
var _id2 = parseInt(value.slice(2), 16); // TODO: Just encode this in the reference inline instead of as a model.
|
||||
|
||||
|
||||
var metaData = getOutlinedModel(response, _id2);
|
||||
var metaData = getOutlinedModel(response, _id2, obj, key, createModel);
|
||||
return loadServerReference$1(response, metaData.id, metaData.bound, initializingChunk, obj, key);
|
||||
}
|
||||
|
||||
|
@ -3859,8 +3902,7 @@ function parseModelString(response, obj, key, value) {
|
|||
// Map
|
||||
var _id3 = parseInt(value.slice(2), 16);
|
||||
|
||||
var data = getOutlinedModel(response, _id3);
|
||||
return new Map(data);
|
||||
return getOutlinedModel(response, _id3, obj, key, createMap);
|
||||
}
|
||||
|
||||
case 'W':
|
||||
|
@ -3868,9 +3910,7 @@ function parseModelString(response, obj, key, value) {
|
|||
// Set
|
||||
var _id4 = parseInt(value.slice(2), 16);
|
||||
|
||||
var _data = getOutlinedModel(response, _id4);
|
||||
|
||||
return new Set(_data);
|
||||
return getOutlinedModel(response, _id4, obj, key, createSet);
|
||||
}
|
||||
|
||||
case 'K':
|
||||
|
@ -3878,9 +3918,7 @@ function parseModelString(response, obj, key, value) {
|
|||
// FormData
|
||||
var stringId = value.slice(2);
|
||||
var formPrefix = response._prefix + stringId + '_';
|
||||
|
||||
var _data2 = new FormData();
|
||||
|
||||
var data = new FormData();
|
||||
var backingFormData = response._formData; // We assume that the reference to FormData always comes after each
|
||||
// entry that it references so we can assume they all exist in the
|
||||
// backing store already.
|
||||
|
@ -3888,10 +3926,10 @@ function parseModelString(response, obj, key, value) {
|
|||
|
||||
backingFormData.forEach(function (entry, entryKey) {
|
||||
if (entryKey.startsWith(formPrefix)) {
|
||||
_data2.append(entryKey.slice(formPrefix.length), entry);
|
||||
data.append(entryKey.slice(formPrefix.length), entry);
|
||||
}
|
||||
});
|
||||
return _data2;
|
||||
return data;
|
||||
}
|
||||
|
||||
case 'i':
|
||||
|
@ -3899,9 +3937,7 @@ function parseModelString(response, obj, key, value) {
|
|||
// Iterator
|
||||
var _id5 = parseInt(value.slice(2), 16);
|
||||
|
||||
var _data3 = getOutlinedModel(response, _id5);
|
||||
|
||||
return _data3[Symbol.iterator]();
|
||||
return getOutlinedModel(response, _id5, obj, key, extractIterator);
|
||||
}
|
||||
|
||||
case 'I':
|
||||
|
@ -3948,28 +3984,7 @@ function parseModelString(response, obj, key, value) {
|
|||
|
||||
|
||||
var id = parseInt(value.slice(1), 16);
|
||||
var chunk = getChunk(response, id);
|
||||
|
||||
switch (chunk.status) {
|
||||
case RESOLVED_MODEL:
|
||||
initializeModelChunk(chunk);
|
||||
break;
|
||||
} // The status might have changed after initialization.
|
||||
|
||||
|
||||
switch (chunk.status) {
|
||||
case INITIALIZED:
|
||||
return chunk.value;
|
||||
|
||||
case PENDING:
|
||||
case BLOCKED:
|
||||
var parentChunk = initializingChunk;
|
||||
chunk.then(createModelResolver(parentChunk, obj, key), createModelReject(parentChunk));
|
||||
return null;
|
||||
|
||||
default:
|
||||
throw chunk.reason;
|
||||
}
|
||||
return getOutlinedModel(response, id, obj, key, createModel);
|
||||
}
|
||||
|
||||
return value;
|
||||
|
|
|
@ -1641,20 +1641,27 @@ function loadServerReference$1(
|
|||
key
|
||||
) {
|
||||
var serverReference = resolveServerReference(response._bundlerConfig, id);
|
||||
response = preloadModule(serverReference);
|
||||
id = preloadModule(serverReference);
|
||||
if (bound)
|
||||
bound = Promise.all([bound, response]).then(function (_ref) {
|
||||
bound = Promise.all([bound, id]).then(function (_ref) {
|
||||
_ref = _ref[0];
|
||||
var fn = requireModule(serverReference);
|
||||
return fn.bind.apply(fn, [null].concat(_ref));
|
||||
});
|
||||
else if (response)
|
||||
bound = Promise.resolve(response).then(function () {
|
||||
else if (id)
|
||||
bound = Promise.resolve(id).then(function () {
|
||||
return requireModule(serverReference);
|
||||
});
|
||||
else return requireModule(serverReference);
|
||||
bound.then(
|
||||
createModelResolver(parentChunk, parentObject, key),
|
||||
createModelResolver(
|
||||
parentChunk,
|
||||
parentObject,
|
||||
key,
|
||||
!1,
|
||||
response,
|
||||
createModel
|
||||
),
|
||||
createModelReject(parentChunk)
|
||||
);
|
||||
return null;
|
||||
|
@ -1699,13 +1706,18 @@ function getChunk(response, id) {
|
|||
chunks.set(id, chunk));
|
||||
return chunk;
|
||||
}
|
||||
function createModelResolver(chunk, parentObject, key) {
|
||||
function createModelResolver(chunk, parentObject, key, cyclic, response, map) {
|
||||
if (initializingChunkBlockedModel) {
|
||||
var blocked = initializingChunkBlockedModel;
|
||||
blocked.deps++;
|
||||
} else blocked = initializingChunkBlockedModel = { deps: 1, value: null };
|
||||
cyclic || blocked.deps++;
|
||||
} else
|
||||
blocked = initializingChunkBlockedModel = {
|
||||
deps: cyclic ? 0 : 1,
|
||||
value: null
|
||||
};
|
||||
return function (value) {
|
||||
parentObject[key] = value;
|
||||
parentObject[key] = map(response, value);
|
||||
"" === key && null === blocked.value && (blocked.value = parentObject[key]);
|
||||
blocked.deps--;
|
||||
0 === blocked.deps &&
|
||||
"blocked" === chunk.status &&
|
||||
|
@ -1720,11 +1732,38 @@ function createModelReject(chunk) {
|
|||
return triggerErrorOnChunk(chunk, error);
|
||||
};
|
||||
}
|
||||
function getOutlinedModel(response, id) {
|
||||
response = getChunk(response, id);
|
||||
"resolved_model" === response.status && initializeModelChunk(response);
|
||||
if ("fulfilled" !== response.status) throw response.reason;
|
||||
return response.value;
|
||||
function getOutlinedModel(response, id, parentObject, key, map) {
|
||||
id = getChunk(response, id);
|
||||
switch (id.status) {
|
||||
case "resolved_model":
|
||||
initializeModelChunk(id);
|
||||
}
|
||||
switch (id.status) {
|
||||
case "fulfilled":
|
||||
return map(response, id.value);
|
||||
case "pending":
|
||||
case "blocked":
|
||||
var parentChunk = initializingChunk;
|
||||
id.then(
|
||||
createModelResolver(parentChunk, parentObject, key, !1, response, map),
|
||||
createModelReject(parentChunk)
|
||||
);
|
||||
return null;
|
||||
default:
|
||||
throw id.reason;
|
||||
}
|
||||
}
|
||||
function createMap(response, model) {
|
||||
return new Map(model);
|
||||
}
|
||||
function createSet(response, model) {
|
||||
return new Set(model);
|
||||
}
|
||||
function extractIterator(response, model) {
|
||||
return model[Symbol.iterator]();
|
||||
}
|
||||
function createModel(response, model) {
|
||||
return model;
|
||||
}
|
||||
function parseModelString(response, obj, key, value) {
|
||||
if ("$" === value[0]) {
|
||||
|
@ -1736,7 +1775,7 @@ function parseModelString(response, obj, key, value) {
|
|||
case "F":
|
||||
return (
|
||||
(value = parseInt(value.slice(2), 16)),
|
||||
(value = getOutlinedModel(response, value)),
|
||||
(value = getOutlinedModel(response, value, obj, key, createModel)),
|
||||
loadServerReference$1(
|
||||
response,
|
||||
value.id,
|
||||
|
@ -1750,29 +1789,27 @@ function parseModelString(response, obj, key, value) {
|
|||
return createTemporaryReference(value.slice(2));
|
||||
case "Q":
|
||||
return (
|
||||
(obj = parseInt(value.slice(2), 16)),
|
||||
(response = getOutlinedModel(response, obj)),
|
||||
new Map(response)
|
||||
(value = parseInt(value.slice(2), 16)),
|
||||
getOutlinedModel(response, value, obj, key, createMap)
|
||||
);
|
||||
case "W":
|
||||
return (
|
||||
(obj = parseInt(value.slice(2), 16)),
|
||||
(response = getOutlinedModel(response, obj)),
|
||||
new Set(response)
|
||||
(value = parseInt(value.slice(2), 16)),
|
||||
getOutlinedModel(response, value, obj, key, createSet)
|
||||
);
|
||||
case "K":
|
||||
obj = value.slice(2);
|
||||
var formPrefix = response._prefix + obj + "_",
|
||||
data$23 = new FormData();
|
||||
data = new FormData();
|
||||
response._formData.forEach(function (entry, entryKey) {
|
||||
entryKey.startsWith(formPrefix) &&
|
||||
data$23.append(entryKey.slice(formPrefix.length), entry);
|
||||
data.append(entryKey.slice(formPrefix.length), entry);
|
||||
});
|
||||
return data$23;
|
||||
return data;
|
||||
case "i":
|
||||
return (
|
||||
(obj = parseInt(value.slice(2), 16)),
|
||||
getOutlinedModel(response, obj)[Symbol.iterator]()
|
||||
(value = parseInt(value.slice(2), 16)),
|
||||
getOutlinedModel(response, value, obj, key, extractIterator)
|
||||
);
|
||||
case "I":
|
||||
return Infinity;
|
||||
|
@ -1788,27 +1825,7 @@ function parseModelString(response, obj, key, value) {
|
|||
return BigInt(value.slice(2));
|
||||
}
|
||||
value = parseInt(value.slice(1), 16);
|
||||
response = getChunk(response, value);
|
||||
switch (response.status) {
|
||||
case "resolved_model":
|
||||
initializeModelChunk(response);
|
||||
}
|
||||
switch (response.status) {
|
||||
case "fulfilled":
|
||||
return response.value;
|
||||
case "pending":
|
||||
case "blocked":
|
||||
return (
|
||||
(value = initializingChunk),
|
||||
response.then(
|
||||
createModelResolver(value, obj, key),
|
||||
createModelReject(value)
|
||||
),
|
||||
null
|
||||
);
|
||||
default:
|
||||
throw response.reason;
|
||||
}
|
||||
return getOutlinedModel(response, value, obj, key, createModel);
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
@ -1965,12 +1982,12 @@ exports.decodeReplyFromBusboy = function (busboyStream, webpackMap) {
|
|||
"React doesn't accept base64 encoded file uploads because we don't expect form data passed from a browser to ever encode data that way. If that's the wrong assumption, we can easily fix it."
|
||||
);
|
||||
pendingFiles++;
|
||||
var JSCompiler_object_inline_chunks_209 = [];
|
||||
var JSCompiler_object_inline_chunks_205 = [];
|
||||
value.on("data", function (chunk) {
|
||||
JSCompiler_object_inline_chunks_209.push(chunk);
|
||||
JSCompiler_object_inline_chunks_205.push(chunk);
|
||||
});
|
||||
value.on("end", function () {
|
||||
var blob = new Blob(JSCompiler_object_inline_chunks_209, {
|
||||
var blob = new Blob(JSCompiler_object_inline_chunks_205, {
|
||||
type: mimeType
|
||||
});
|
||||
response._formData.append(name, blob, filename);
|
||||
|
|
|
@ -46,8 +46,8 @@
|
|||
"neo-async": "^2.6.1"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": "19.0.0-beta-4508873393-20240430",
|
||||
"react-dom": "19.0.0-beta-4508873393-20240430",
|
||||
"react": "19.0.0-beta-04b058868c-20240508",
|
||||
"react-dom": "19.0.0-beta-04b058868c-20240508",
|
||||
"webpack": "^5.59.0"
|
||||
}
|
||||
}
|
|
@ -12,10 +12,7 @@
|
|||
|
||||
if (process.env.NODE_ENV !== "production") {
|
||||
(function() {
|
||||
|
||||
'use strict';
|
||||
|
||||
/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */
|
||||
'use strict';
|
||||
if (
|
||||
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&
|
||||
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart ===
|
||||
|
@ -23,7 +20,7 @@ if (
|
|||
) {
|
||||
__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());
|
||||
}
|
||||
var ReactVersion = '19.0.0-beta-4508873393-20240430';
|
||||
var ReactVersion = '19.0.0-beta-04b058868c-20240508';
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
|
||||
|
@ -2804,7 +2801,6 @@ exports.useState = useState;
|
|||
exports.useSyncExternalStore = useSyncExternalStore;
|
||||
exports.useTransition = useTransition;
|
||||
exports.version = ReactVersion;
|
||||
/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */
|
||||
if (
|
||||
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&
|
||||
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop ===
|
||||
|
|
|
@ -536,4 +536,4 @@ exports.useSyncExternalStore = function (
|
|||
exports.useTransition = function () {
|
||||
return ReactSharedInternals.H.useTransition();
|
||||
};
|
||||
exports.version = "19.0.0-beta-4508873393-20240430";
|
||||
exports.version = "19.0.0-beta-04b058868c-20240508";
|
||||
|
|
|
@ -2158,7 +2158,7 @@ function warnAboutTransitionSubscriptions(prevTransition, currentTransition) {
|
|||
|
||||
function noop() {}
|
||||
|
||||
var ReactVersion = '19.0.0-beta-4508873393-20240430';
|
||||
var ReactVersion = '19.0.0-beta-04b058868c-20240508';
|
||||
|
||||
var Children = {
|
||||
map: mapChildren,
|
||||
|
|
|
@ -476,4 +476,4 @@ exports.useId = function () {
|
|||
exports.useMemo = function (create, deps) {
|
||||
return ReactSharedInternals.H.useMemo(create, deps);
|
||||
};
|
||||
exports.version = "19.0.0-beta-4508873393-20240430";
|
||||
exports.version = "19.0.0-beta-04b058868c-20240508";
|
||||
|
|
|
@ -1 +1 @@
|
|||
(()=>{var t={444:t=>{function n(t,i){for(var _ in i)t[_]=i[_];return t}t.exports=function(t){var i=[];function u(t){for(var _=[],a=0;a<i.length;a++)i[a]===t?t=null:_.push(i[a]);i=_}function e(_,a,f){t=a?_:n(n({},t),_);for(var o=i,c=0;c<o.length;c++)o[c](t,f)}return t=t||{},{action:function(i){function r(t){e(t,!1,i)}return function(){for(var _=arguments,a=[t],f=0;f<arguments.length;f++)a.push(_[f]);var o=i.apply(this,a);if(null!=o)return o.then?o.then(r):r(o)}},setState:e,subscribe:function(t){return i.push(t),function(){u(t)}},unsubscribe:u,getState:function(){return t}}}}};var i={};function __nccwpck_require__(_){var a=i[_];if(a!==undefined){return a.exports}var f=i[_]={exports:{}};var o=true;try{t[_](f,f.exports,__nccwpck_require__);o=false}finally{if(o)delete i[_]}return f.exports}if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var _=__nccwpck_require__(444);module.exports=_})();
|
||||
(()=>{var t={7:t=>{function n(t,i){for(var _ in i)t[_]=i[_];return t}t.exports=function(t){var i=[];function u(t){for(var _=[],a=0;a<i.length;a++)i[a]===t?t=null:_.push(i[a]);i=_}function e(_,a,f){t=a?_:n(n({},t),_);for(var o=i,c=0;c<o.length;c++)o[c](t,f)}return t=t||{},{action:function(i){function r(t){e(t,!1,i)}return function(){for(var _=arguments,a=[t],f=0;f<arguments.length;f++)a.push(_[f]);var o=i.apply(this,a);if(null!=o)return o.then?o.then(r):r(o)}},setState:e,subscribe:function(t){return i.push(t),function(){u(t)}},unsubscribe:u,getState:function(){return t}}}}};var i={};function __nccwpck_require__(_){var a=i[_];if(a!==undefined){return a.exports}var f=i[_]={exports:{}};var o=true;try{t[_](f,f.exports,__nccwpck_require__);o=false}finally{if(o)delete i[_]}return f.exports}if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var _=__nccwpck_require__(7);module.exports=_})();
|
276
pnpm-lock.yaml
276
pnpm-lock.yaml
|
@ -15,9 +15,9 @@ overrides:
|
|||
'@babel/traverse': 7.22.5
|
||||
'@types/react': 18.2.74
|
||||
'@types/react-dom': 18.2.23
|
||||
react: 19.0.0-beta-4508873393-20240430
|
||||
react-dom: 19.0.0-beta-4508873393-20240430
|
||||
react-is: 19.0.0-beta-4508873393-20240430
|
||||
react: 19.0.0-beta-04b058868c-20240508
|
||||
react-dom: 19.0.0-beta-04b058868c-20240508
|
||||
react-is: 19.0.0-beta-04b058868c-20240508
|
||||
scheduler: 0.25.0-beta-94eed63c49-20240425
|
||||
|
||||
importers:
|
||||
|
@ -56,7 +56,7 @@ importers:
|
|||
version: 11.11.0
|
||||
'@emotion/react':
|
||||
specifier: 11.11.1
|
||||
version: 11.11.1(@types/react@18.2.74)(react@19.0.0-beta-4508873393-20240430)
|
||||
version: 11.11.1(@types/react@18.2.74)(react@19.0.0-beta-04b058868c-20240508)
|
||||
'@fullhuman/postcss-purgecss':
|
||||
specifier: 1.3.0
|
||||
version: 1.3.0
|
||||
|
@ -65,7 +65,7 @@ importers:
|
|||
version: 2.2.1(webpack@5.90.0)
|
||||
'@mdx-js/react':
|
||||
specifier: 2.2.1
|
||||
version: 2.2.1(react@19.0.0-beta-4508873393-20240430)
|
||||
version: 2.2.1(react@19.0.0-beta-04b058868c-20240508)
|
||||
'@next/bundle-analyzer':
|
||||
specifier: workspace:*
|
||||
version: link:packages/next-bundle-analyzer
|
||||
|
@ -131,7 +131,7 @@ importers:
|
|||
version: 6.1.2(@types/jest@29.5.5)(jest@29.7.0)
|
||||
'@testing-library/react':
|
||||
specifier: ^15.0.5
|
||||
version: 15.0.7(@types/react@18.2.74)(react-dom@19.0.0-beta-4508873393-20240430)(react@19.0.0-beta-4508873393-20240430)
|
||||
version: 15.0.7(@types/react@18.2.74)(react-dom@19.0.0-beta-04b058868c-20240508)(react@19.0.0-beta-04b058868c-20240508)
|
||||
'@types/busboy':
|
||||
specifier: 1.5.3
|
||||
version: 1.5.3
|
||||
|
@ -204,6 +204,9 @@ importers:
|
|||
async-sema:
|
||||
specifier: 3.0.1
|
||||
version: 3.0.1
|
||||
babel-plugin-react-compiler:
|
||||
specifier: 0.0.0-experimental-c23de8d-20240515
|
||||
version: 0.0.0-experimental-c23de8d-20240515
|
||||
browserslist:
|
||||
specifier: 4.22.2
|
||||
version: 4.22.2
|
||||
|
@ -433,47 +436,47 @@ importers:
|
|||
specifier: 0.3.0
|
||||
version: 0.3.0
|
||||
react:
|
||||
specifier: 19.0.0-beta-4508873393-20240430
|
||||
version: 19.0.0-beta-4508873393-20240430
|
||||
specifier: 19.0.0-beta-04b058868c-20240508
|
||||
version: 19.0.0-beta-04b058868c-20240508
|
||||
react-17:
|
||||
specifier: npm:react@17.0.2
|
||||
version: /react@17.0.2
|
||||
react-builtin:
|
||||
specifier: npm:react@19.0.0-beta-4508873393-20240430
|
||||
version: /react@19.0.0-beta-4508873393-20240430
|
||||
specifier: npm:react@19.0.0-beta-04b058868c-20240508
|
||||
version: /react@19.0.0-beta-04b058868c-20240508
|
||||
react-dom:
|
||||
specifier: 19.0.0-beta-4508873393-20240430
|
||||
version: 19.0.0-beta-4508873393-20240430(react@19.0.0-beta-4508873393-20240430)
|
||||
specifier: 19.0.0-beta-04b058868c-20240508
|
||||
version: 19.0.0-beta-04b058868c-20240508(react@19.0.0-beta-04b058868c-20240508)
|
||||
react-dom-17:
|
||||
specifier: npm:react-dom@17.0.2
|
||||
version: /react-dom@17.0.2(react@19.0.0-beta-4508873393-20240430)
|
||||
version: /react-dom@17.0.2(react@19.0.0-beta-04b058868c-20240508)
|
||||
react-dom-builtin:
|
||||
specifier: npm:react-dom@19.0.0-beta-4508873393-20240430
|
||||
version: /react-dom@19.0.0-beta-4508873393-20240430(react@19.0.0-beta-4508873393-20240430)
|
||||
specifier: npm:react-dom@19.0.0-beta-04b058868c-20240508
|
||||
version: /react-dom@19.0.0-beta-04b058868c-20240508(react@19.0.0-beta-04b058868c-20240508)
|
||||
react-dom-experimental-builtin:
|
||||
specifier: npm:react-dom@0.0.0-experimental-4508873393-20240430
|
||||
version: /react-dom@0.0.0-experimental-4508873393-20240430(react@19.0.0-beta-4508873393-20240430)
|
||||
version: /react-dom@0.0.0-experimental-4508873393-20240430(react@19.0.0-beta-04b058868c-20240508)
|
||||
react-experimental-builtin:
|
||||
specifier: npm:react@0.0.0-experimental-4508873393-20240430
|
||||
version: /react@0.0.0-experimental-4508873393-20240430
|
||||
react-server-dom-turbopack:
|
||||
specifier: 19.0.0-beta-4508873393-20240430
|
||||
version: 19.0.0-beta-4508873393-20240430(react-dom@19.0.0-beta-4508873393-20240430)(react@19.0.0-beta-4508873393-20240430)
|
||||
specifier: 19.0.0-beta-04b058868c-20240508
|
||||
version: 19.0.0-beta-04b058868c-20240508(react-dom@19.0.0-beta-04b058868c-20240508)(react@19.0.0-beta-04b058868c-20240508)
|
||||
react-server-dom-turbopack-experimental:
|
||||
specifier: npm:react-server-dom-turbopack@0.0.0-experimental-4508873393-20240430
|
||||
version: /react-server-dom-turbopack@0.0.0-experimental-4508873393-20240430(react-dom@19.0.0-beta-4508873393-20240430)(react@19.0.0-beta-4508873393-20240430)
|
||||
version: /react-server-dom-turbopack@0.0.0-experimental-4508873393-20240430(react-dom@19.0.0-beta-04b058868c-20240508)(react@19.0.0-beta-04b058868c-20240508)
|
||||
react-server-dom-webpack:
|
||||
specifier: 19.0.0-beta-4508873393-20240430
|
||||
version: 19.0.0-beta-4508873393-20240430(react-dom@19.0.0-beta-4508873393-20240430)(react@19.0.0-beta-4508873393-20240430)(webpack@5.90.0)
|
||||
specifier: 19.0.0-beta-04b058868c-20240508
|
||||
version: 19.0.0-beta-04b058868c-20240508(react-dom@19.0.0-beta-04b058868c-20240508)(react@19.0.0-beta-04b058868c-20240508)(webpack@5.90.0)
|
||||
react-server-dom-webpack-experimental:
|
||||
specifier: npm:react-server-dom-webpack@0.0.0-experimental-4508873393-20240430
|
||||
version: /react-server-dom-webpack@0.0.0-experimental-4508873393-20240430(react-dom@19.0.0-beta-4508873393-20240430)(react@19.0.0-beta-4508873393-20240430)(webpack@5.90.0)
|
||||
version: /react-server-dom-webpack@0.0.0-experimental-4508873393-20240430(react-dom@19.0.0-beta-04b058868c-20240508)(react@19.0.0-beta-04b058868c-20240508)(webpack@5.90.0)
|
||||
react-ssr-prepass:
|
||||
specifier: 1.0.8
|
||||
version: 1.0.8(react-is@19.0.0-beta-4508873393-20240430)(react@19.0.0-beta-4508873393-20240430)
|
||||
version: 1.0.8(react-is@19.0.0-beta-04b058868c-20240508)(react@19.0.0-beta-04b058868c-20240508)
|
||||
react-virtualized:
|
||||
specifier: 9.22.3
|
||||
version: 9.22.3(react-dom@19.0.0-beta-4508873393-20240430)(react@19.0.0-beta-4508873393-20240430)
|
||||
version: 9.22.3(react-dom@19.0.0-beta-04b058868c-20240508)(react@19.0.0-beta-04b058868c-20240508)
|
||||
relay-compiler:
|
||||
specifier: 13.0.2
|
||||
version: 13.0.2
|
||||
|
@ -515,16 +518,16 @@ importers:
|
|||
version: 6.0.0
|
||||
styled-components:
|
||||
specifier: 6.0.0-rc.3
|
||||
version: 6.0.0-rc.3(react-dom@19.0.0-beta-4508873393-20240430)(react@19.0.0-beta-4508873393-20240430)
|
||||
version: 6.0.0-rc.3(react-dom@19.0.0-beta-04b058868c-20240508)(react@19.0.0-beta-04b058868c-20240508)
|
||||
styled-jsx:
|
||||
specifier: 5.1.3
|
||||
version: 5.1.3(@babel/core@7.22.5)(react@19.0.0-beta-4508873393-20240430)
|
||||
version: 5.1.3(@babel/core@7.22.5)(react@19.0.0-beta-04b058868c-20240508)
|
||||
styled-jsx-plugin-postcss:
|
||||
specifier: 3.0.2
|
||||
version: 3.0.2
|
||||
swr:
|
||||
specifier: ^2.2.4
|
||||
version: 2.2.4(react@19.0.0-beta-4508873393-20240430)
|
||||
version: 2.2.4(react@19.0.0-beta-04b058868c-20240508)
|
||||
tailwindcss:
|
||||
specifier: 3.2.7
|
||||
version: 3.2.7(postcss@8.4.31)
|
||||
|
@ -792,7 +795,7 @@ importers:
|
|||
dependencies:
|
||||
next:
|
||||
specifier: 14.3.0-canary.15
|
||||
version: 14.3.0-canary.15(@babel/core@7.22.5)(@opentelemetry/api@1.4.1)(@playwright/test@1.19.2)(react-dom@19.0.0-beta-4508873393-20240430)(react@19.0.0-beta-4508873393-20240430)(sass@1.54.0)
|
||||
version: 14.3.0-canary.15(@babel/core@7.22.5)(@opentelemetry/api@1.4.1)(@playwright/test@1.19.2)(react-dom@19.0.0-beta-04b058868c-20240508)(react@19.0.0-beta-04b058868c-20240508)(sass@1.54.0)
|
||||
devDependencies:
|
||||
'@types/fontkit':
|
||||
specifier: 2.0.0
|
||||
|
@ -828,17 +831,17 @@ importers:
|
|||
specifier: 8.4.31
|
||||
version: 8.4.31
|
||||
react:
|
||||
specifier: 19.0.0-beta-4508873393-20240430
|
||||
version: 19.0.0-beta-4508873393-20240430
|
||||
specifier: 19.0.0-beta-04b058868c-20240508
|
||||
version: 19.0.0-beta-04b058868c-20240508
|
||||
react-dom:
|
||||
specifier: 19.0.0-beta-4508873393-20240430
|
||||
version: 19.0.0-beta-4508873393-20240430(react@19.0.0-beta-4508873393-20240430)
|
||||
specifier: 19.0.0-beta-04b058868c-20240508
|
||||
version: 19.0.0-beta-04b058868c-20240508(react@19.0.0-beta-04b058868c-20240508)
|
||||
sass:
|
||||
specifier: ^1.3.0
|
||||
version: 1.54.0
|
||||
styled-jsx:
|
||||
specifier: 5.1.3
|
||||
version: 5.1.3(@babel/core@7.22.5)(react@19.0.0-beta-4508873393-20240430)
|
||||
version: 5.1.3(@babel/core@7.22.5)(react@19.0.0-beta-04b058868c-20240508)
|
||||
optionalDependencies:
|
||||
sharp:
|
||||
specifier: ^0.33.3
|
||||
|
@ -1328,8 +1331,8 @@ importers:
|
|||
specifier: 2.4.1
|
||||
version: 2.4.1
|
||||
react-is:
|
||||
specifier: 19.0.0-beta-4508873393-20240430
|
||||
version: 19.0.0-beta-4508873393-20240430
|
||||
specifier: 19.0.0-beta-04b058868c-20240508
|
||||
version: 19.0.0-beta-04b058868c-20240508
|
||||
react-refresh:
|
||||
specifier: 0.12.0
|
||||
version: 0.12.0
|
||||
|
@ -1419,7 +1422,7 @@ importers:
|
|||
version: 1.0.35
|
||||
unistore:
|
||||
specifier: 3.4.1
|
||||
version: 3.4.1(react@19.0.0-beta-4508873393-20240430)
|
||||
version: 3.4.1(react@19.0.0-beta-04b058868c-20240508)
|
||||
util:
|
||||
specifier: 0.12.4
|
||||
version: 0.12.4
|
||||
|
@ -1507,7 +1510,7 @@ importers:
|
|||
version: 2.2.1(webpack@5.90.0)
|
||||
'@mdx-js/react':
|
||||
specifier: '>=0.15.0'
|
||||
version: 2.2.1(react@19.0.0-beta-4508873393-20240430)
|
||||
version: 2.2.1(react@19.0.0-beta-04b058868c-20240508)
|
||||
source-map:
|
||||
specifier: ^0.7.0
|
||||
version: 0.7.3
|
||||
|
@ -1558,8 +1561,8 @@ importers:
|
|||
packages/third-parties:
|
||||
dependencies:
|
||||
react:
|
||||
specifier: 19.0.0-beta-4508873393-20240430
|
||||
version: 19.0.0-beta-4508873393-20240430
|
||||
specifier: 19.0.0-beta-04b058868c-20240508
|
||||
version: 19.0.0-beta-04b058868c-20240508
|
||||
third-party-capital:
|
||||
specifier: 1.0.20
|
||||
version: 1.0.20
|
||||
|
@ -1767,7 +1770,6 @@ packages:
|
|||
lodash: 4.17.20
|
||||
source-map: 0.5.7
|
||||
trim-right: 1.0.1
|
||||
dev: false
|
||||
|
||||
/@babel/generator@7.22.5:
|
||||
resolution: {integrity: sha512-+lcUbnTRhd0jOewtFSedLyiPsD5tswKkbgcezOqqWFUVNEwoUTlpPOBmvhG7OXWLR4jMdv0czPGH5XbflnD1EA==}
|
||||
|
@ -3640,11 +3642,11 @@ packages:
|
|||
resolution: {integrity: sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==}
|
||||
dev: true
|
||||
|
||||
/@emotion/react@11.11.1(@types/react@18.2.74)(react@19.0.0-beta-4508873393-20240430):
|
||||
/@emotion/react@11.11.1(@types/react@18.2.74)(react@19.0.0-beta-04b058868c-20240508):
|
||||
resolution: {integrity: sha512-5mlW1DquU5HaxjLkfkGN1GA/fvVGdyHURRiX/0FHl2cfIfRxSOfmxEH5YS43edp0OldZrZ+dkBKbngxcNCdZvA==}
|
||||
peerDependencies:
|
||||
'@types/react': '*'
|
||||
react: 19.0.0-beta-4508873393-20240430
|
||||
react: 19.0.0-beta-04b058868c-20240508
|
||||
peerDependenciesMeta:
|
||||
'@types/react':
|
||||
optional: true
|
||||
|
@ -3653,12 +3655,12 @@ packages:
|
|||
'@emotion/babel-plugin': 11.11.0
|
||||
'@emotion/cache': 11.11.0
|
||||
'@emotion/serialize': 1.1.2
|
||||
'@emotion/use-insertion-effect-with-fallbacks': 1.0.1(react@19.0.0-beta-4508873393-20240430)
|
||||
'@emotion/use-insertion-effect-with-fallbacks': 1.0.1(react@19.0.0-beta-04b058868c-20240508)
|
||||
'@emotion/utils': 1.2.1
|
||||
'@emotion/weak-memoize': 0.3.1
|
||||
'@types/react': 18.2.74
|
||||
hoist-non-react-statics: 3.3.2
|
||||
react: 19.0.0-beta-4508873393-20240430
|
||||
react: 19.0.0-beta-04b058868c-20240508
|
||||
dev: true
|
||||
|
||||
/@emotion/serialize@1.1.2:
|
||||
|
@ -3679,12 +3681,12 @@ packages:
|
|||
resolution: {integrity: sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==}
|
||||
dev: true
|
||||
|
||||
/@emotion/use-insertion-effect-with-fallbacks@1.0.1(react@19.0.0-beta-4508873393-20240430):
|
||||
/@emotion/use-insertion-effect-with-fallbacks@1.0.1(react@19.0.0-beta-04b058868c-20240508):
|
||||
resolution: {integrity: sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw==}
|
||||
peerDependencies:
|
||||
react: 19.0.0-beta-4508873393-20240430
|
||||
react: 19.0.0-beta-04b058868c-20240508
|
||||
dependencies:
|
||||
react: 19.0.0-beta-4508873393-20240430
|
||||
react: 19.0.0-beta-04b058868c-20240508
|
||||
dev: true
|
||||
|
||||
/@emotion/utils@1.2.1:
|
||||
|
@ -4697,7 +4699,6 @@ packages:
|
|||
'@types/istanbul-lib-coverage': 2.0.4
|
||||
'@types/istanbul-reports': 1.1.2
|
||||
'@types/yargs': 13.0.12
|
||||
dev: false
|
||||
|
||||
/@jest/types@27.5.1:
|
||||
resolution: {integrity: sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==}
|
||||
|
@ -5529,14 +5530,14 @@ packages:
|
|||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
/@mdx-js/react@2.2.1(react@19.0.0-beta-4508873393-20240430):
|
||||
/@mdx-js/react@2.2.1(react@19.0.0-beta-04b058868c-20240508):
|
||||
resolution: {integrity: sha512-YdXcMcEnqZhzql98RNrqYo9cEhTTesBiCclEtoiQUbJwx87q9453GTapYU6kJ8ZZ2ek1Vp25SiAXEFy5O/eAPw==}
|
||||
peerDependencies:
|
||||
react: 19.0.0-beta-4508873393-20240430
|
||||
react: 19.0.0-beta-04b058868c-20240508
|
||||
dependencies:
|
||||
'@types/mdx': 2.0.3
|
||||
'@types/react': 18.2.74
|
||||
react: 19.0.0-beta-4508873393-20240430
|
||||
react: 19.0.0-beta-04b058868c-20240508
|
||||
|
||||
/@mswjs/cookies@0.2.2:
|
||||
resolution: {integrity: sha512-mlN83YSrcFgk7Dm1Mys40DLssI1KdJji2CMKN8eOlBqsTADYzj2+jWzsANsUTFbxDMWPD5e9bfA1RGqBpS3O1g==}
|
||||
|
@ -6904,13 +6905,13 @@ packages:
|
|||
redent: 3.0.0
|
||||
dev: true
|
||||
|
||||
/@testing-library/react@15.0.7(@types/react@18.2.74)(react-dom@19.0.0-beta-4508873393-20240430)(react@19.0.0-beta-4508873393-20240430):
|
||||
/@testing-library/react@15.0.7(@types/react@18.2.74)(react-dom@19.0.0-beta-04b058868c-20240508)(react@19.0.0-beta-04b058868c-20240508):
|
||||
resolution: {integrity: sha512-cg0RvEdD1TIhhkm1IeYMQxrzy0MtUNfa3minv4MjbgcYzJAZ7yD0i0lwoPOTPr+INtiXFezt2o8xMSnyHhEn2Q==}
|
||||
engines: {node: '>=18'}
|
||||
peerDependencies:
|
||||
'@types/react': 18.2.74
|
||||
react: 19.0.0-beta-4508873393-20240430
|
||||
react-dom: 19.0.0-beta-4508873393-20240430
|
||||
react: 19.0.0-beta-04b058868c-20240508
|
||||
react-dom: 19.0.0-beta-04b058868c-20240508
|
||||
peerDependenciesMeta:
|
||||
'@types/react':
|
||||
optional: true
|
||||
|
@ -6919,8 +6920,8 @@ packages:
|
|||
'@testing-library/dom': 10.1.0
|
||||
'@types/react': 18.2.74
|
||||
'@types/react-dom': 18.2.23
|
||||
react: 19.0.0-beta-4508873393-20240430
|
||||
react-dom: 19.0.0-beta-4508873393-20240430(react@19.0.0-beta-4508873393-20240430)
|
||||
react: 19.0.0-beta-04b058868c-20240508
|
||||
react-dom: 19.0.0-beta-04b058868c-20240508(react@19.0.0-beta-04b058868c-20240508)
|
||||
dev: true
|
||||
|
||||
/@tootallnate/once@1.1.2:
|
||||
|
@ -7208,7 +7209,6 @@ packages:
|
|||
dependencies:
|
||||
'@types/istanbul-lib-coverage': 2.0.4
|
||||
'@types/istanbul-lib-report': 3.0.0
|
||||
dev: false
|
||||
|
||||
/@types/istanbul-reports@3.0.0:
|
||||
resolution: {integrity: sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA==}
|
||||
|
@ -7528,7 +7528,6 @@ packages:
|
|||
resolution: {integrity: sha512-qCxJE1qgz2y0hA4pIxjBR+PelCH0U5CK1XJXFwCNqfmliatKp47UCXXE9Dyk1OXBDLvsCF57TqQEJaeLfDYEOQ==}
|
||||
dependencies:
|
||||
'@types/yargs-parser': 21.0.0
|
||||
dev: false
|
||||
|
||||
/@types/yargs@16.0.9:
|
||||
resolution: {integrity: sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==}
|
||||
|
@ -8853,7 +8852,6 @@ packages:
|
|||
pretty-format: 24.9.0
|
||||
zod: 3.23.8
|
||||
zod-validation-error: 2.1.0(zod@3.23.8)
|
||||
dev: false
|
||||
|
||||
/babel-plugin-transform-async-to-promises@0.8.15:
|
||||
resolution: {integrity: sha512-fDXP68ZqcinZO2WCiimCL9zhGjGXOnn3D33zvbh+yheZ/qOrNVVDDIBtAaM3Faz8TRvQzHiRKsu3hfrBAhEncQ==}
|
||||
|
@ -14083,7 +14081,7 @@ packages:
|
|||
/hoist-non-react-statics@3.3.2:
|
||||
resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==}
|
||||
dependencies:
|
||||
react-is: 19.0.0-beta-4508873393-20240430
|
||||
react-is: 19.0.0-beta-04b058868c-20240508
|
||||
dev: true
|
||||
|
||||
/homedir-polyfill@1.0.3:
|
||||
|
@ -18280,15 +18278,15 @@ packages:
|
|||
resolution: {integrity: sha1-yobR/ogoFpsBICCOPchCS524NCw=}
|
||||
dev: true
|
||||
|
||||
/next@14.3.0-canary.15(@babel/core@7.22.5)(@opentelemetry/api@1.4.1)(@playwright/test@1.19.2)(react-dom@19.0.0-beta-4508873393-20240430)(react@19.0.0-beta-4508873393-20240430)(sass@1.54.0):
|
||||
/next@14.3.0-canary.15(@babel/core@7.22.5)(@opentelemetry/api@1.4.1)(@playwright/test@1.19.2)(react-dom@19.0.0-beta-04b058868c-20240508)(react@19.0.0-beta-04b058868c-20240508)(sass@1.54.0):
|
||||
resolution: {integrity: sha512-vQ376NxcS/zYLJKIZRRfyis9nK+Y23KUqD8Hg93kbrgVWhJW0fZIcKf14ATm8AZg2uxDt4/vj7gVOt1QrWtMIQ==}
|
||||
engines: {node: '>=18.17.0'}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
'@opentelemetry/api': ^1.1.0
|
||||
'@playwright/test': ^1.41.2
|
||||
react: 19.0.0-beta-4508873393-20240430
|
||||
react-dom: 19.0.0-beta-4508873393-20240430
|
||||
react: 19.0.0-beta-04b058868c-20240508
|
||||
react-dom: 19.0.0-beta-04b058868c-20240508
|
||||
sass: ^1.3.0
|
||||
peerDependenciesMeta:
|
||||
'@opentelemetry/api':
|
||||
|
@ -18306,10 +18304,10 @@ packages:
|
|||
caniuse-lite: 1.0.30001579
|
||||
graceful-fs: 4.2.11
|
||||
postcss: 8.4.31
|
||||
react: 19.0.0-beta-4508873393-20240430
|
||||
react-dom: 19.0.0-beta-4508873393-20240430(react@19.0.0-beta-4508873393-20240430)
|
||||
react: 19.0.0-beta-04b058868c-20240508
|
||||
react-dom: 19.0.0-beta-04b058868c-20240508(react@19.0.0-beta-04b058868c-20240508)
|
||||
sass: 1.54.0
|
||||
styled-jsx: 5.1.1(@babel/core@7.22.5)(react@19.0.0-beta-4508873393-20240430)
|
||||
styled-jsx: 5.1.1(@babel/core@7.22.5)(react@19.0.0-beta-04b058868c-20240508)
|
||||
optionalDependencies:
|
||||
'@next/swc-darwin-arm64': 14.3.0-canary.15
|
||||
'@next/swc-darwin-x64': 14.3.0-canary.15
|
||||
|
@ -20921,8 +20919,7 @@ packages:
|
|||
'@jest/types': 24.9.0
|
||||
ansi-regex: 4.1.0
|
||||
ansi-styles: 3.2.1
|
||||
react-is: 19.0.0-beta-4508873393-20240430
|
||||
dev: false
|
||||
react-is: 19.0.0-beta-04b058868c-20240508
|
||||
|
||||
/pretty-format@27.5.1:
|
||||
resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==}
|
||||
|
@ -20930,7 +20927,7 @@ packages:
|
|||
dependencies:
|
||||
ansi-regex: 5.0.1
|
||||
ansi-styles: 5.2.0
|
||||
react-is: 19.0.0-beta-4508873393-20240430
|
||||
react-is: 19.0.0-beta-04b058868c-20240508
|
||||
|
||||
/pretty-format@29.5.0:
|
||||
resolution: {integrity: sha512-V2mGkI31qdttvTFX7Mt4efOqHXqJWMu4/r66Xh3Z3BwZaPfPJgp6/gbwoujRpPUtfEF6AUUWx3Jim3GCw5g/Qw==}
|
||||
|
@ -20938,7 +20935,7 @@ packages:
|
|||
dependencies:
|
||||
'@jest/schemas': 29.4.3
|
||||
ansi-styles: 5.2.0
|
||||
react-is: 19.0.0-beta-4508873393-20240430
|
||||
react-is: 19.0.0-beta-04b058868c-20240508
|
||||
dev: true
|
||||
|
||||
/pretty-format@29.7.0:
|
||||
|
@ -20947,7 +20944,7 @@ packages:
|
|||
dependencies:
|
||||
'@jest/schemas': 29.6.3
|
||||
ansi-styles: 5.2.0
|
||||
react-is: 19.0.0-beta-4508873393-20240430
|
||||
react-is: 19.0.0-beta-04b058868c-20240508
|
||||
dev: true
|
||||
|
||||
/pretty-ms@7.0.0:
|
||||
|
@ -21049,7 +21046,7 @@ packages:
|
|||
dependencies:
|
||||
loose-envify: 1.4.0
|
||||
object-assign: 4.1.1
|
||||
react-is: 19.0.0-beta-4508873393-20240430
|
||||
react-is: 19.0.0-beta-04b058868c-20240508
|
||||
|
||||
/proper-lockfile@4.1.2:
|
||||
resolution: {integrity: sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA==}
|
||||
|
@ -21329,36 +21326,36 @@ packages:
|
|||
strip-json-comments: 2.0.1
|
||||
dev: true
|
||||
|
||||
/react-dom@0.0.0-experimental-4508873393-20240430(react@19.0.0-beta-4508873393-20240430):
|
||||
/react-dom@0.0.0-experimental-4508873393-20240430(react@19.0.0-beta-04b058868c-20240508):
|
||||
resolution: {integrity: sha512-xmoRPU8s6sFJmhNhfUTSVztr/ExqJpYBI1NSVr/aQffKAfdriTdRT/iOxxCkPjD9a6eV4kjMagcw29Mt27aybA==}
|
||||
peerDependencies:
|
||||
react: 19.0.0-beta-4508873393-20240430
|
||||
react: 19.0.0-beta-04b058868c-20240508
|
||||
dependencies:
|
||||
react: 19.0.0-beta-4508873393-20240430
|
||||
react: 19.0.0-beta-04b058868c-20240508
|
||||
scheduler: 0.25.0-beta-94eed63c49-20240425
|
||||
dev: true
|
||||
|
||||
/react-dom@17.0.2(react@19.0.0-beta-4508873393-20240430):
|
||||
/react-dom@17.0.2(react@19.0.0-beta-04b058868c-20240508):
|
||||
resolution: {integrity: sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==}
|
||||
peerDependencies:
|
||||
react: 19.0.0-beta-4508873393-20240430
|
||||
react: 19.0.0-beta-04b058868c-20240508
|
||||
dependencies:
|
||||
loose-envify: 1.4.0
|
||||
object-assign: 4.1.1
|
||||
react: 19.0.0-beta-4508873393-20240430
|
||||
react: 19.0.0-beta-04b058868c-20240508
|
||||
scheduler: 0.25.0-beta-94eed63c49-20240425
|
||||
dev: true
|
||||
|
||||
/react-dom@19.0.0-beta-4508873393-20240430(react@19.0.0-beta-4508873393-20240430):
|
||||
resolution: {integrity: sha512-/j97ai1qF3c6O3XV0nVzzExPV/0U2v8M75Sq6ThXYxePCi33kAnm+xRsCDpZOZOrIjz6nurLU/FzzPZIzXVvKQ==}
|
||||
/react-dom@19.0.0-beta-04b058868c-20240508(react@19.0.0-beta-04b058868c-20240508):
|
||||
resolution: {integrity: sha512-g8DrqbkLi8ok/0GyVVJky30d5b+WXpIi4baKD+ySsMRzQJlwQHywGh/V+osSMCYmnApq1OYSWPuvOBvrVmhz5Q==}
|
||||
peerDependencies:
|
||||
react: 19.0.0-beta-4508873393-20240430
|
||||
react: 19.0.0-beta-04b058868c-20240508
|
||||
dependencies:
|
||||
react: 19.0.0-beta-4508873393-20240430
|
||||
react: 19.0.0-beta-04b058868c-20240508
|
||||
scheduler: 0.25.0-beta-94eed63c49-20240425
|
||||
|
||||
/react-is@19.0.0-beta-4508873393-20240430:
|
||||
resolution: {integrity: sha512-DB++EnCyaX+He8vWuwSvOHvZQHWvFDNT4UlYfnSoG+dZAFLlZeLd2iF2I1G1vR/ahBsNJDWmyZOUXheqJRLT/w==}
|
||||
/react-is@19.0.0-beta-04b058868c-20240508:
|
||||
resolution: {integrity: sha512-fn/t9y3/gURwRREkXGoFgvkSWngyHqN2bKg74rNNGtwsFeYqfquqxGHeE1u1Y1lddYupmltCkJR15Eh9RKUTFw==}
|
||||
|
||||
/react-lifecycles-compat@3.0.4:
|
||||
resolution: {integrity: sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==}
|
||||
|
@ -21369,86 +21366,86 @@ packages:
|
|||
engines: {node: '>=0.10.0'}
|
||||
dev: true
|
||||
|
||||
/react-server-dom-turbopack@0.0.0-experimental-4508873393-20240430(react-dom@19.0.0-beta-4508873393-20240430)(react@19.0.0-beta-4508873393-20240430):
|
||||
/react-server-dom-turbopack@0.0.0-experimental-4508873393-20240430(react-dom@19.0.0-beta-04b058868c-20240508)(react@19.0.0-beta-04b058868c-20240508):
|
||||
resolution: {integrity: sha512-+TcuMDyyfB2n4axpYzowXnUBYjO4uAjfIeAKVet7qwwWiRRnMOJYACIQDdK3FKYge8CZ5bF3dqZerhbzxc3HrA==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
peerDependencies:
|
||||
react: 19.0.0-beta-4508873393-20240430
|
||||
react-dom: 19.0.0-beta-4508873393-20240430
|
||||
react: 19.0.0-beta-04b058868c-20240508
|
||||
react-dom: 19.0.0-beta-04b058868c-20240508
|
||||
dependencies:
|
||||
acorn-loose: 8.3.0
|
||||
neo-async: 2.6.1
|
||||
react: 19.0.0-beta-4508873393-20240430
|
||||
react-dom: 19.0.0-beta-4508873393-20240430(react@19.0.0-beta-4508873393-20240430)
|
||||
react: 19.0.0-beta-04b058868c-20240508
|
||||
react-dom: 19.0.0-beta-04b058868c-20240508(react@19.0.0-beta-04b058868c-20240508)
|
||||
dev: true
|
||||
|
||||
/react-server-dom-turbopack@19.0.0-beta-4508873393-20240430(react-dom@19.0.0-beta-4508873393-20240430)(react@19.0.0-beta-4508873393-20240430):
|
||||
resolution: {integrity: sha512-KD/trFERuBtZLRnWaZda+gg5eq5T3GmhO3rEFenFOLnXttey+5OAh6wXHayg44YEAJ2zz8W/Y6Dh5NSqTvqa+A==}
|
||||
/react-server-dom-turbopack@19.0.0-beta-04b058868c-20240508(react-dom@19.0.0-beta-04b058868c-20240508)(react@19.0.0-beta-04b058868c-20240508):
|
||||
resolution: {integrity: sha512-5fc5/BhspeWEwoSDCxvwUCK3MKMSbVDJeHdSYk4FfLFL3uAlUVTYxcFBVbOMaGdRWIKjj0/arI0nL4ZEUV/1ig==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
peerDependencies:
|
||||
react: 19.0.0-beta-4508873393-20240430
|
||||
react-dom: 19.0.0-beta-4508873393-20240430
|
||||
react: 19.0.0-beta-04b058868c-20240508
|
||||
react-dom: 19.0.0-beta-04b058868c-20240508
|
||||
dependencies:
|
||||
acorn-loose: 8.3.0
|
||||
neo-async: 2.6.1
|
||||
react: 19.0.0-beta-4508873393-20240430
|
||||
react-dom: 19.0.0-beta-4508873393-20240430(react@19.0.0-beta-4508873393-20240430)
|
||||
react: 19.0.0-beta-04b058868c-20240508
|
||||
react-dom: 19.0.0-beta-04b058868c-20240508(react@19.0.0-beta-04b058868c-20240508)
|
||||
dev: true
|
||||
|
||||
/react-server-dom-webpack@0.0.0-experimental-4508873393-20240430(react-dom@19.0.0-beta-4508873393-20240430)(react@19.0.0-beta-4508873393-20240430)(webpack@5.90.0):
|
||||
/react-server-dom-webpack@0.0.0-experimental-4508873393-20240430(react-dom@19.0.0-beta-04b058868c-20240508)(react@19.0.0-beta-04b058868c-20240508)(webpack@5.90.0):
|
||||
resolution: {integrity: sha512-RaJGhlOUnHnnOHhN2swOD6DeCNlh/KPPlHRoG7QnkKRjP593tSS68CrP9nnPGvuqZvFSVUP2NpuvOYMJSH+93w==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
peerDependencies:
|
||||
react: 19.0.0-beta-4508873393-20240430
|
||||
react-dom: 19.0.0-beta-4508873393-20240430
|
||||
react: 19.0.0-beta-04b058868c-20240508
|
||||
react-dom: 19.0.0-beta-04b058868c-20240508
|
||||
webpack: 5.90.0
|
||||
dependencies:
|
||||
acorn-loose: 8.3.0
|
||||
neo-async: 2.6.1
|
||||
react: 19.0.0-beta-4508873393-20240430
|
||||
react-dom: 19.0.0-beta-4508873393-20240430(react@19.0.0-beta-4508873393-20240430)
|
||||
react: 19.0.0-beta-04b058868c-20240508
|
||||
react-dom: 19.0.0-beta-04b058868c-20240508(react@19.0.0-beta-04b058868c-20240508)
|
||||
webpack: 5.90.0(@swc/core@1.5.7)
|
||||
dev: true
|
||||
|
||||
/react-server-dom-webpack@19.0.0-beta-4508873393-20240430(react-dom@19.0.0-beta-4508873393-20240430)(react@19.0.0-beta-4508873393-20240430)(webpack@5.90.0):
|
||||
resolution: {integrity: sha512-/rRIMqNoeReqyioWwfLyqu/qUfZ39YLXOfkhLrXOStzG2g7Q2a5DoLD0eZOcCIpvpWg+/QRw1xOGZLm75mK+Aw==}
|
||||
/react-server-dom-webpack@19.0.0-beta-04b058868c-20240508(react-dom@19.0.0-beta-04b058868c-20240508)(react@19.0.0-beta-04b058868c-20240508)(webpack@5.90.0):
|
||||
resolution: {integrity: sha512-xamieQ8brN2RDSSIRDXi7trDvzC0z3u62WmIuftzQ613VX/PxsDw/xj0WBfLFi/NYdypIY8BuCsiw2NbhiOEKQ==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
peerDependencies:
|
||||
react: 19.0.0-beta-4508873393-20240430
|
||||
react-dom: 19.0.0-beta-4508873393-20240430
|
||||
react: 19.0.0-beta-04b058868c-20240508
|
||||
react-dom: 19.0.0-beta-04b058868c-20240508
|
||||
webpack: 5.90.0
|
||||
dependencies:
|
||||
acorn-loose: 8.3.0
|
||||
neo-async: 2.6.1
|
||||
react: 19.0.0-beta-4508873393-20240430
|
||||
react-dom: 19.0.0-beta-4508873393-20240430(react@19.0.0-beta-4508873393-20240430)
|
||||
react: 19.0.0-beta-04b058868c-20240508
|
||||
react-dom: 19.0.0-beta-04b058868c-20240508(react@19.0.0-beta-04b058868c-20240508)
|
||||
webpack: 5.90.0(@swc/core@1.5.7)
|
||||
dev: true
|
||||
|
||||
/react-ssr-prepass@1.0.8(react-is@19.0.0-beta-4508873393-20240430)(react@19.0.0-beta-4508873393-20240430):
|
||||
/react-ssr-prepass@1.0.8(react-is@19.0.0-beta-04b058868c-20240508)(react@19.0.0-beta-04b058868c-20240508):
|
||||
resolution: {integrity: sha512-O0gfRA1SaK+9ITKxqfnXsej2jF+OHGP/+GxD4unROQaM/0/UczGF9fuF+wTboxaQoKdIf4FvS3h/OigWh704VA==}
|
||||
peerDependencies:
|
||||
react: 19.0.0-beta-4508873393-20240430
|
||||
react-is: 19.0.0-beta-4508873393-20240430
|
||||
react: 19.0.0-beta-04b058868c-20240508
|
||||
react-is: 19.0.0-beta-04b058868c-20240508
|
||||
dependencies:
|
||||
object-is: 1.0.2
|
||||
react: 19.0.0-beta-4508873393-20240430
|
||||
react-is: 19.0.0-beta-4508873393-20240430
|
||||
react: 19.0.0-beta-04b058868c-20240508
|
||||
react-is: 19.0.0-beta-04b058868c-20240508
|
||||
dev: true
|
||||
|
||||
/react-virtualized@9.22.3(react-dom@19.0.0-beta-4508873393-20240430)(react@19.0.0-beta-4508873393-20240430):
|
||||
/react-virtualized@9.22.3(react-dom@19.0.0-beta-04b058868c-20240508)(react@19.0.0-beta-04b058868c-20240508):
|
||||
resolution: {integrity: sha512-MKovKMxWTcwPSxE1kK1HcheQTWfuCxAuBoSTf2gwyMM21NdX/PXUhnoP8Uc5dRKd+nKm8v41R36OellhdCpkrw==}
|
||||
peerDependencies:
|
||||
react: 19.0.0-beta-4508873393-20240430
|
||||
react-dom: 19.0.0-beta-4508873393-20240430
|
||||
react: 19.0.0-beta-04b058868c-20240508
|
||||
react-dom: 19.0.0-beta-04b058868c-20240508
|
||||
dependencies:
|
||||
'@babel/runtime': 7.22.5
|
||||
clsx: 1.1.1
|
||||
dom-helpers: 5.2.1
|
||||
loose-envify: 1.4.0
|
||||
prop-types: 15.8.1
|
||||
react: 19.0.0-beta-4508873393-20240430
|
||||
react-dom: 19.0.0-beta-4508873393-20240430(react@19.0.0-beta-4508873393-20240430)
|
||||
react: 19.0.0-beta-04b058868c-20240508
|
||||
react-dom: 19.0.0-beta-04b058868c-20240508(react@19.0.0-beta-04b058868c-20240508)
|
||||
react-lifecycles-compat: 3.0.4
|
||||
dev: true
|
||||
|
||||
|
@ -21465,8 +21462,8 @@ packages:
|
|||
object-assign: 4.1.1
|
||||
dev: true
|
||||
|
||||
/react@19.0.0-beta-4508873393-20240430:
|
||||
resolution: {integrity: sha512-//89udV7fhVq5pEzpNH7vlpmS5D4wDbPn0oif+G7vwDsuSks5yJGdqrE1uzn2CyFNL73FjV3/R3Pjyaxs+xnvg==}
|
||||
/react@19.0.0-beta-04b058868c-20240508:
|
||||
resolution: {integrity: sha512-Mch4EeDejk1ZgH/O3TIH6KtELBUzcJdTZujQGWFA6tz9Y9J+X7ZgY9WS2VhUCS/alOlEcIdCXAz0Cb/JET1QVg==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
/read-cache@1.0.0:
|
||||
|
@ -23475,13 +23472,13 @@ packages:
|
|||
dependencies:
|
||||
inline-style-parser: 0.1.1
|
||||
|
||||
/styled-components@6.0.0-rc.3(react-dom@19.0.0-beta-4508873393-20240430)(react@19.0.0-beta-4508873393-20240430):
|
||||
/styled-components@6.0.0-rc.3(react-dom@19.0.0-beta-04b058868c-20240508)(react@19.0.0-beta-04b058868c-20240508):
|
||||
resolution: {integrity: sha512-5FbCTxynopck99GRwM5Ey0+VRp8pkQq69TwGOJJeYtR7gPvwGjNx8yBPLN7/dfxwwvn9ymOZYB19eQkv2k70wQ==}
|
||||
engines: {node: '>= 16'}
|
||||
peerDependencies:
|
||||
babel-plugin-styled-components: '>= 2'
|
||||
react: 19.0.0-beta-4508873393-20240430
|
||||
react-dom: 19.0.0-beta-4508873393-20240430
|
||||
react: 19.0.0-beta-04b058868c-20240508
|
||||
react-dom: 19.0.0-beta-04b058868c-20240508
|
||||
peerDependenciesMeta:
|
||||
babel-plugin-styled-components:
|
||||
optional: true
|
||||
|
@ -23499,8 +23496,8 @@ packages:
|
|||
'@emotion/unitless': 0.8.1
|
||||
css-to-react-native: 3.2.0
|
||||
postcss: 8.4.31
|
||||
react: 19.0.0-beta-4508873393-20240430
|
||||
react-dom: 19.0.0-beta-4508873393-20240430(react@19.0.0-beta-4508873393-20240430)
|
||||
react: 19.0.0-beta-04b058868c-20240508
|
||||
react-dom: 19.0.0-beta-04b058868c-20240508(react@19.0.0-beta-04b058868c-20240508)
|
||||
shallowequal: 1.1.0
|
||||
stylis: 4.2.0
|
||||
tslib: 2.5.3
|
||||
|
@ -23515,13 +23512,13 @@ packages:
|
|||
postcss-load-plugins: 2.3.0
|
||||
dev: true
|
||||
|
||||
/styled-jsx@5.1.1(@babel/core@7.22.5)(react@19.0.0-beta-4508873393-20240430):
|
||||
/styled-jsx@5.1.1(@babel/core@7.22.5)(react@19.0.0-beta-04b058868c-20240508):
|
||||
resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==}
|
||||
engines: {node: '>= 12.0.0'}
|
||||
peerDependencies:
|
||||
'@babel/core': '*'
|
||||
babel-plugin-macros: '*'
|
||||
react: 19.0.0-beta-4508873393-20240430
|
||||
react: 19.0.0-beta-04b058868c-20240508
|
||||
peerDependenciesMeta:
|
||||
'@babel/core':
|
||||
optional: true
|
||||
|
@ -23530,16 +23527,16 @@ packages:
|
|||
dependencies:
|
||||
'@babel/core': 7.22.5
|
||||
client-only: 0.0.1
|
||||
react: 19.0.0-beta-4508873393-20240430
|
||||
react: 19.0.0-beta-04b058868c-20240508
|
||||
dev: false
|
||||
|
||||
/styled-jsx@5.1.3(@babel/core@7.22.5)(react@19.0.0-beta-4508873393-20240430):
|
||||
/styled-jsx@5.1.3(@babel/core@7.22.5)(react@19.0.0-beta-04b058868c-20240508):
|
||||
resolution: {integrity: sha512-qLRShOWTE/Mf6Bvl72kFeKBl8N2Eq9WIFfoAuvbtP/6tqlnj1SCjv117n2MIjOPpa1jTorYqLJgsHKy5Y3ziww==}
|
||||
engines: {node: '>= 12.0.0'}
|
||||
peerDependencies:
|
||||
'@babel/core': '*'
|
||||
babel-plugin-macros: '*'
|
||||
react: 19.0.0-beta-4508873393-20240430
|
||||
react: 19.0.0-beta-04b058868c-20240508
|
||||
peerDependenciesMeta:
|
||||
'@babel/core':
|
||||
optional: true
|
||||
|
@ -23548,7 +23545,7 @@ packages:
|
|||
dependencies:
|
||||
'@babel/core': 7.22.5
|
||||
client-only: 0.0.1
|
||||
react: 19.0.0-beta-4508873393-20240430
|
||||
react: 19.0.0-beta-04b058868c-20240508
|
||||
|
||||
/stylehacks@4.0.3:
|
||||
resolution: {integrity: sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==}
|
||||
|
@ -23682,14 +23679,14 @@ packages:
|
|||
stable: 0.1.8
|
||||
dev: true
|
||||
|
||||
/swr@2.2.4(react@19.0.0-beta-4508873393-20240430):
|
||||
/swr@2.2.4(react@19.0.0-beta-04b058868c-20240508):
|
||||
resolution: {integrity: sha512-njiZ/4RiIhoOlAaLYDqwz5qH/KZXVilRLvomrx83HjzCWTfa+InyfAjv05PSFxnmLzZkNO9ZfvgoqzAaEI4sGQ==}
|
||||
peerDependencies:
|
||||
react: 19.0.0-beta-4508873393-20240430
|
||||
react: 19.0.0-beta-04b058868c-20240508
|
||||
dependencies:
|
||||
client-only: 0.0.1
|
||||
react: 19.0.0-beta-4508873393-20240430
|
||||
use-sync-external-store: 1.2.0(react@19.0.0-beta-4508873393-20240430)
|
||||
react: 19.0.0-beta-04b058868c-20240508
|
||||
use-sync-external-store: 1.2.0(react@19.0.0-beta-04b058868c-20240508)
|
||||
dev: true
|
||||
|
||||
/symbol-observable@1.0.1:
|
||||
|
@ -24167,7 +24164,6 @@ packages:
|
|||
/trim-right@1.0.1:
|
||||
resolution: {integrity: sha512-WZGXGstmCWgeevgTL54hrCuw1dyMQIzWy7ZfqRJfSmJZBwklI15egmQytFP6bPidmw3M8d5yEowl1niq4vmqZw==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
dev: false
|
||||
|
||||
/trim-trailing-lines@1.1.2:
|
||||
resolution: {integrity: sha512-MUjYItdrqqj2zpcHFTkMa9WAv4JHTI6gnRQGPFLrt5L9a6tRMiDnIqYl8JBvu2d2Tc3lWJKQwlGCp0K8AvCM+Q==}
|
||||
|
@ -24768,7 +24764,7 @@ packages:
|
|||
unist-util-is: 5.2.0
|
||||
unist-util-visit-parents: 5.1.3
|
||||
|
||||
/unistore@3.4.1(react@19.0.0-beta-4508873393-20240430):
|
||||
/unistore@3.4.1(react@19.0.0-beta-04b058868c-20240508):
|
||||
resolution: {integrity: sha512-p2Ej8qqrqcD10Ah0ZUKUU/mhRB8pM4q6gzjxq9kZpgxa8dks7oHT8jDP4CqLhoRof3RXOZLKB9EBV1DTzHiJRw==}
|
||||
peerDependencies:
|
||||
preact: '*'
|
||||
|
@ -24779,7 +24775,7 @@ packages:
|
|||
react:
|
||||
optional: true
|
||||
dependencies:
|
||||
react: 19.0.0-beta-4508873393-20240430
|
||||
react: 19.0.0-beta-04b058868c-20240508
|
||||
dev: true
|
||||
|
||||
/universal-github-app-jwt@1.1.1:
|
||||
|
@ -24934,12 +24930,12 @@ packages:
|
|||
engines: {node: '>= 4'}
|
||||
dev: true
|
||||
|
||||
/use-sync-external-store@1.2.0(react@19.0.0-beta-4508873393-20240430):
|
||||
/use-sync-external-store@1.2.0(react@19.0.0-beta-04b058868c-20240508):
|
||||
resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==}
|
||||
peerDependencies:
|
||||
react: 19.0.0-beta-4508873393-20240430
|
||||
react: 19.0.0-beta-04b058868c-20240508
|
||||
dependencies:
|
||||
react: 19.0.0-beta-4508873393-20240430
|
||||
react: 19.0.0-beta-04b058868c-20240508
|
||||
dev: true
|
||||
|
||||
/use@3.1.1:
|
||||
|
@ -25775,7 +25771,6 @@ packages:
|
|||
zod: ^3.18.0
|
||||
dependencies:
|
||||
zod: 3.23.8
|
||||
dev: false
|
||||
|
||||
/zod@3.22.3:
|
||||
resolution: {integrity: sha512-EjIevzuJRiRPbVH4mGc8nApb/lVLKVpmUhAaR5R5doKGfAnGJ6Gr3CViAVjP+4FWSxCsybeWQdcgCtbX+7oZug==}
|
||||
|
@ -25783,7 +25778,6 @@ packages:
|
|||
|
||||
/zod@3.23.8:
|
||||
resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==}
|
||||
dev: false
|
||||
|
||||
/zwitch@1.0.5:
|
||||
resolution: {integrity: sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==}
|
||||
|
|
|
@ -3,9 +3,9 @@
|
|||
"private": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"next": "19.0.0-beta-4508873393-20240430",
|
||||
"react": "19.0.0-beta-4508873393-20240430",
|
||||
"react-dom": "19.0.0-beta-4508873393-20240430"
|
||||
"next": "19.0.0-beta-04b058868c-20240508",
|
||||
"react": "19.0.0-beta-04b058868c-20240508",
|
||||
"react-dom": "19.0.0-beta-04b058868c-20240508"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18.17.0",
|
||||
|
|
|
@ -8,8 +8,8 @@ describe('ReactRefresh app', () => {
|
|||
const { next } = nextTestSetup({
|
||||
files: new FileRef(path.join(__dirname, 'fixtures', 'default-template')),
|
||||
dependencies: {
|
||||
react: '19.0.0-beta-4508873393-20240430',
|
||||
'react-dom': '19.0.0-beta-4508873393-20240430',
|
||||
react: '19.0.0-beta-04b058868c-20240508',
|
||||
'react-dom': '19.0.0-beta-04b058868c-20240508',
|
||||
},
|
||||
skipStart: true,
|
||||
})
|
||||
|
|
|
@ -9,8 +9,8 @@ describe.each(['default', 'turbo'])('ReactRefreshLogBox app %s', () => {
|
|||
const { next } = nextTestSetup({
|
||||
files: new FileRef(path.join(__dirname, 'fixtures', 'default-template')),
|
||||
dependencies: {
|
||||
react: '19.0.0-beta-4508873393-20240430',
|
||||
'react-dom': '19.0.0-beta-4508873393-20240430',
|
||||
react: '19.0.0-beta-04b058868c-20240508',
|
||||
'react-dom': '19.0.0-beta-04b058868c-20240508',
|
||||
},
|
||||
skipStart: true,
|
||||
})
|
||||
|
|
|
@ -11,8 +11,8 @@ describe.skip('ReactRefreshLogBox scss app', () => {
|
|||
files: new FileRef(path.join(__dirname, 'fixtures', 'default-template')),
|
||||
dependencies: {
|
||||
sass: 'latest',
|
||||
react: '19.0.0-beta-4508873393-20240430',
|
||||
'react-dom': '19.0.0-beta-4508873393-20240430',
|
||||
react: '19.0.0-beta-04b058868c-20240508',
|
||||
'react-dom': '19.0.0-beta-04b058868c-20240508',
|
||||
},
|
||||
skipStart: true,
|
||||
})
|
||||
|
|
|
@ -15,8 +15,8 @@ describe.each(['default', 'turbo'])('ReactRefreshLogBox app %s', () => {
|
|||
const { next } = nextTestSetup({
|
||||
files: new FileRef(path.join(__dirname, 'fixtures', 'default-template')),
|
||||
dependencies: {
|
||||
react: '19.0.0-beta-4508873393-20240430',
|
||||
'react-dom': '19.0.0-beta-4508873393-20240430',
|
||||
react: '19.0.0-beta-04b058868c-20240508',
|
||||
'react-dom': '19.0.0-beta-04b058868c-20240508',
|
||||
},
|
||||
skipStart: true,
|
||||
})
|
||||
|
|
|
@ -9,8 +9,8 @@ describe.skip('ReactRefreshLogBox app', () => {
|
|||
const { next } = nextTestSetup({
|
||||
files: new FileRef(path.join(__dirname, 'fixtures', 'default-template')),
|
||||
dependencies: {
|
||||
react: '19.0.0-beta-4508873393-20240430',
|
||||
'react-dom': '19.0.0-beta-4508873393-20240430',
|
||||
react: '19.0.0-beta-04b058868c-20240508',
|
||||
'react-dom': '19.0.0-beta-04b058868c-20240508',
|
||||
},
|
||||
skipStart: true,
|
||||
})
|
||||
|
|
|
@ -7,8 +7,8 @@ describe('ReactRefreshModule app', () => {
|
|||
const { next } = nextTestSetup({
|
||||
files: new FileRef(path.join(__dirname, 'fixtures', 'default-template')),
|
||||
dependencies: {
|
||||
react: '19.0.0-beta-4508873393-20240430',
|
||||
'react-dom': '19.0.0-beta-4508873393-20240430',
|
||||
react: '19.0.0-beta-04b058868c-20240508',
|
||||
'react-dom': '19.0.0-beta-04b058868c-20240508',
|
||||
},
|
||||
skipStart: true,
|
||||
})
|
||||
|
|
|
@ -12,8 +12,8 @@ describe('ReactRefreshRegression app', () => {
|
|||
'styled-components': '5.1.0',
|
||||
'@next/mdx': 'canary',
|
||||
'@mdx-js/loader': '0.18.0',
|
||||
react: '19.0.0-beta-4508873393-20240430',
|
||||
'react-dom': '19.0.0-beta-4508873393-20240430',
|
||||
react: '19.0.0-beta-04b058868c-20240508',
|
||||
'react-dom': '19.0.0-beta-04b058868c-20240508',
|
||||
},
|
||||
skipStart: true,
|
||||
})
|
||||
|
|
|
@ -8,8 +8,8 @@ describe('ReactRefreshRequire app', () => {
|
|||
const { next } = nextTestSetup({
|
||||
files: new FileRef(path.join(__dirname, 'fixtures', 'default-template')),
|
||||
dependencies: {
|
||||
react: '19.0.0-beta-4508873393-20240430',
|
||||
'react-dom': '19.0.0-beta-4508873393-20240430',
|
||||
react: '19.0.0-beta-04b058868c-20240508',
|
||||
'react-dom': '19.0.0-beta-04b058868c-20240508',
|
||||
},
|
||||
skipStart: true,
|
||||
})
|
||||
|
|
|
@ -29,8 +29,8 @@ describe('Error overlay - editor links', () => {
|
|||
const { next } = nextTestSetup({
|
||||
files: new FileRef(path.join(__dirname, 'fixtures', 'default-template')),
|
||||
dependencies: {
|
||||
react: '19.0.0-beta-4508873393-20240430',
|
||||
'react-dom': '19.0.0-beta-4508873393-20240430',
|
||||
react: '19.0.0-beta-04b058868c-20240508',
|
||||
'react-dom': '19.0.0-beta-04b058868c-20240508',
|
||||
},
|
||||
skipStart: true,
|
||||
})
|
||||
|
|
|
@ -7,8 +7,8 @@ describe('Error overlay - error message urls', () => {
|
|||
const { next } = nextTestSetup({
|
||||
files: new FileRef(path.join(__dirname, 'fixtures', 'default-template')),
|
||||
dependencies: {
|
||||
react: '19.0.0-beta-4508873393-20240430',
|
||||
'react-dom': '19.0.0-beta-4508873393-20240430',
|
||||
react: '19.0.0-beta-04b058868c-20240508',
|
||||
'react-dom': '19.0.0-beta-04b058868c-20240508',
|
||||
},
|
||||
skipStart: true,
|
||||
})
|
||||
|
|
|
@ -9,8 +9,8 @@ describe.each(['default', 'turbo'])('Error recovery app %s', () => {
|
|||
const { next } = nextTestSetup({
|
||||
files: new FileRef(path.join(__dirname, 'fixtures', 'default-template')),
|
||||
dependencies: {
|
||||
react: '19.0.0-beta-4508873393-20240430',
|
||||
'react-dom': '19.0.0-beta-4508873393-20240430',
|
||||
react: '19.0.0-beta-04b058868c-20240508',
|
||||
'react-dom': '19.0.0-beta-04b058868c-20240508',
|
||||
},
|
||||
skipStart: true,
|
||||
})
|
||||
|
|
|
@ -11,8 +11,8 @@ describe('Error overlay for hydration errors', () => {
|
|||
const { next, isTurbopack } = nextTestSetup({
|
||||
files: new FileRef(path.join(__dirname, 'fixtures', 'default-template')),
|
||||
dependencies: {
|
||||
react: '19.0.0-beta-4508873393-20240430',
|
||||
'react-dom': '19.0.0-beta-4508873393-20240430',
|
||||
react: '19.0.0-beta-04b058868c-20240508',
|
||||
'react-dom': '19.0.0-beta-04b058868c-20240508',
|
||||
},
|
||||
skipStart: true,
|
||||
})
|
||||
|
|
|
@ -8,8 +8,8 @@ describe('Error Overlay invalid imports', () => {
|
|||
const { next } = nextTestSetup({
|
||||
files: new FileRef(path.join(__dirname, 'fixtures', 'default-template')),
|
||||
dependencies: {
|
||||
react: '19.0.0-beta-4508873393-20240430',
|
||||
'react-dom': '19.0.0-beta-4508873393-20240430',
|
||||
react: '19.0.0-beta-04b058868c-20240508',
|
||||
'react-dom': '19.0.0-beta-04b058868c-20240508',
|
||||
'server-only': 'latest',
|
||||
'client-only': 'latest',
|
||||
},
|
||||
|
|
|
@ -8,8 +8,8 @@ describe('Error overlay - RSC build errors', () => {
|
|||
const { next, isTurbopack } = nextTestSetup({
|
||||
files: new FileRef(path.join(__dirname, 'fixtures', 'rsc-build-errors')),
|
||||
dependencies: {
|
||||
react: '19.0.0-beta-4508873393-20240430',
|
||||
'react-dom': '19.0.0-beta-4508873393-20240430',
|
||||
react: '19.0.0-beta-04b058868c-20240508',
|
||||
'react-dom': '19.0.0-beta-04b058868c-20240508',
|
||||
},
|
||||
skipStart: true,
|
||||
})
|
||||
|
|
|
@ -9,8 +9,8 @@ describe('Error Overlay for server components', () => {
|
|||
const { next } = nextTestSetup({
|
||||
files: new FileRef(path.join(__dirname, 'fixtures', 'default-template')),
|
||||
dependencies: {
|
||||
react: '19.0.0-beta-4508873393-20240430',
|
||||
'react-dom': '19.0.0-beta-4508873393-20240430',
|
||||
react: '19.0.0-beta-04b058868c-20240508',
|
||||
'react-dom': '19.0.0-beta-04b058868c-20240508',
|
||||
},
|
||||
skipStart: true,
|
||||
})
|
||||
|
|
|
@ -8,8 +8,8 @@ describe('Error overlay for hydration errors', () => {
|
|||
const { next } = nextTestSetup({
|
||||
files: new FileRef(path.join(__dirname, 'fixtures', 'default-template')),
|
||||
dependencies: {
|
||||
react: '19.0.0-beta-4508873393-20240430',
|
||||
'react-dom': '19.0.0-beta-4508873393-20240430',
|
||||
react: '19.0.0-beta-04b058868c-20240508',
|
||||
'react-dom': '19.0.0-beta-04b058868c-20240508',
|
||||
},
|
||||
skipStart: true,
|
||||
})
|
||||
|
|
|
@ -28,8 +28,8 @@ describe('Error Overlay for server components compiler errors in pages', () => {
|
|||
const { next } = nextTestSetup({
|
||||
files: {},
|
||||
dependencies: {
|
||||
react: '19.0.0-beta-4508873393-20240430',
|
||||
'react-dom': '19.0.0-beta-4508873393-20240430',
|
||||
react: '19.0.0-beta-04b058868c-20240508',
|
||||
'react-dom': '19.0.0-beta-04b058868c-20240508',
|
||||
},
|
||||
skipStart: true,
|
||||
})
|
||||
|
|
|
@ -8,8 +8,8 @@ describe('Deprecated @next/font warning', () => {
|
|||
'pages/index.js': '',
|
||||
},
|
||||
dependencies: {
|
||||
react: '19.0.0-beta-4508873393-20240430',
|
||||
'react-dom': '19.0.0-beta-4508873393-20240430',
|
||||
react: '19.0.0-beta-04b058868c-20240508',
|
||||
'react-dom': '19.0.0-beta-04b058868c-20240508',
|
||||
'@next/font': 'canary',
|
||||
},
|
||||
skipStart: true,
|
||||
|
|
|
@ -7,8 +7,8 @@ describe('app-dir action allowed origins', () => {
|
|||
files: join(__dirname, 'safe-origins'),
|
||||
skipDeployment: true,
|
||||
dependencies: {
|
||||
react: '19.0.0-beta-4508873393-20240430',
|
||||
'react-dom': '19.0.0-beta-4508873393-20240430',
|
||||
react: '19.0.0-beta-04b058868c-20240508',
|
||||
'react-dom': '19.0.0-beta-04b058868c-20240508',
|
||||
'server-only': 'latest',
|
||||
},
|
||||
// An arbitrary & random port.
|
||||
|
|
|
@ -7,8 +7,8 @@ describe('app-dir action disallowed origins', () => {
|
|||
files: join(__dirname, 'unsafe-origins'),
|
||||
skipDeployment: true,
|
||||
dependencies: {
|
||||
react: '19.0.0-beta-4508873393-20240430',
|
||||
'react-dom': '19.0.0-beta-4508873393-20240430',
|
||||
react: '19.0.0-beta-04b058868c-20240508',
|
||||
'react-dom': '19.0.0-beta-04b058868c-20240508',
|
||||
'server-only': 'latest',
|
||||
},
|
||||
})
|
||||
|
|
|
@ -6,8 +6,8 @@ describe('app-dir action handling - next export', () => {
|
|||
skipStart: true,
|
||||
skipDeployment: true,
|
||||
dependencies: {
|
||||
react: '19.0.0-beta-4508873393-20240430',
|
||||
'react-dom': '19.0.0-beta-4508873393-20240430',
|
||||
react: '19.0.0-beta-04b058868c-20240508',
|
||||
'react-dom': '19.0.0-beta-04b058868c-20240508',
|
||||
'server-only': 'latest',
|
||||
},
|
||||
})
|
||||
|
|
|
@ -6,8 +6,8 @@ describe('app-dir action useActionState', () => {
|
|||
const { next } = nextTestSetup({
|
||||
files: __dirname,
|
||||
dependencies: {
|
||||
react: '19.0.0-beta-4508873393-20240430',
|
||||
'react-dom': '19.0.0-beta-4508873393-20240430',
|
||||
react: '19.0.0-beta-04b058868c-20240508',
|
||||
'react-dom': '19.0.0-beta-04b058868c-20240508',
|
||||
},
|
||||
})
|
||||
it('should support submitting form state with JS', async () => {
|
||||
|
|
|
@ -7,9 +7,9 @@ describe('app-dir action progressive enhancement', () => {
|
|||
const { next } = nextTestSetup({
|
||||
files: __dirname,
|
||||
dependencies: {
|
||||
react: '19.0.0-beta-4508873393-20240430',
|
||||
react: '19.0.0-beta-04b058868c-20240508',
|
||||
nanoid: 'latest',
|
||||
'react-dom': '19.0.0-beta-4508873393-20240430',
|
||||
'react-dom': '19.0.0-beta-04b058868c-20240508',
|
||||
'server-only': 'latest',
|
||||
},
|
||||
})
|
||||
|
|
|
@ -11,8 +11,8 @@ describe('app-dir action size limit invalid config', () => {
|
|||
skipDeployment: true,
|
||||
skipStart: true,
|
||||
dependencies: {
|
||||
react: '19.0.0-beta-4508873393-20240430',
|
||||
'react-dom': '19.0.0-beta-4508873393-20240430',
|
||||
react: '19.0.0-beta-04b058868c-20240508',
|
||||
'react-dom': '19.0.0-beta-04b058868c-20240508',
|
||||
'server-only': 'latest',
|
||||
},
|
||||
})
|
||||
|
|
|
@ -19,9 +19,9 @@ describe('app-dir action handling', () => {
|
|||
nextTestSetup({
|
||||
files: __dirname,
|
||||
dependencies: {
|
||||
react: '19.0.0-beta-4508873393-20240430',
|
||||
react: '19.0.0-beta-04b058868c-20240508',
|
||||
nanoid: 'latest',
|
||||
'react-dom': '19.0.0-beta-4508873393-20240430',
|
||||
'react-dom': '19.0.0-beta-04b058868c-20240508',
|
||||
'server-only': 'latest',
|
||||
},
|
||||
})
|
||||
|
|
|
@ -6,8 +6,8 @@ describe('app dir - css with pageextensions', () => {
|
|||
skipDeployment: true,
|
||||
dependencies: {
|
||||
'@picocss/pico': '1.5.7',
|
||||
react: '19.0.0-beta-4508873393-20240430',
|
||||
'react-dom': '19.0.0-beta-4508873393-20240430',
|
||||
react: '19.0.0-beta-04b058868c-20240508',
|
||||
'react-dom': '19.0.0-beta-04b058868c-20240508',
|
||||
sass: 'latest',
|
||||
},
|
||||
})
|
||||
|
|
|
@ -7,8 +7,8 @@ describe('app dir - css', () => {
|
|||
skipDeployment: true,
|
||||
dependencies: {
|
||||
'@picocss/pico': '1.5.7',
|
||||
react: '19.0.0-beta-4508873393-20240430',
|
||||
'react-dom': '19.0.0-beta-4508873393-20240430',
|
||||
react: '19.0.0-beta-04b058868c-20240508',
|
||||
'react-dom': '19.0.0-beta-04b058868c-20240508',
|
||||
sass: 'latest',
|
||||
'@next/mdx': 'canary',
|
||||
},
|
||||
|
|
|
@ -5,8 +5,8 @@ describe('referencing a client component in an app route', () => {
|
|||
const { next } = nextTestSetup({
|
||||
files: new FileRef(path.join(__dirname)),
|
||||
dependencies: {
|
||||
react: '19.0.0-beta-4508873393-20240430',
|
||||
'react-dom': '19.0.0-beta-4508873393-20240430',
|
||||
react: '19.0.0-beta-04b058868c-20240508',
|
||||
'react-dom': '19.0.0-beta-04b058868c-20240508',
|
||||
},
|
||||
})
|
||||
|
||||
|
|
|
@ -6,8 +6,8 @@ describe('RSC binary serialization', () => {
|
|||
files: __dirname,
|
||||
skipDeployment: true,
|
||||
dependencies: {
|
||||
react: '19.0.0-beta-4508873393-20240430',
|
||||
'react-dom': '19.0.0-beta-4508873393-20240430',
|
||||
react: '19.0.0-beta-04b058868c-20240508',
|
||||
'react-dom': '19.0.0-beta-04b058868c-20240508',
|
||||
'server-only': 'latest',
|
||||
},
|
||||
})
|
||||
|
|
|
@ -74,8 +74,8 @@ import stripAnsi from 'strip-ansi'
|
|||
),
|
||||
},
|
||||
dependencies: {
|
||||
react: '19.0.0-beta-4508873393-20240430',
|
||||
'react-dom': '19.0.0-beta-4508873393-20240430',
|
||||
react: '19.0.0-beta-04b058868c-20240508',
|
||||
'react-dom': '19.0.0-beta-04b058868c-20240508',
|
||||
},
|
||||
})
|
||||
})
|
||||
|
@ -128,8 +128,8 @@ import stripAnsi from 'strip-ansi'
|
|||
),
|
||||
},
|
||||
dependencies: {
|
||||
react: '19.0.0-beta-4508873393-20240430',
|
||||
'react-dom': '19.0.0-beta-4508873393-20240430',
|
||||
react: '19.0.0-beta-04b058868c-20240508',
|
||||
'react-dom': '19.0.0-beta-04b058868c-20240508',
|
||||
},
|
||||
})
|
||||
})
|
||||
|
@ -237,8 +237,8 @@ import stripAnsi from 'strip-ansi'
|
|||
),
|
||||
},
|
||||
dependencies: {
|
||||
react: '19.0.0-beta-4508873393-20240430',
|
||||
'react-dom': '19.0.0-beta-4508873393-20240430',
|
||||
react: '19.0.0-beta-04b058868c-20240508',
|
||||
'react-dom': '19.0.0-beta-04b058868c-20240508',
|
||||
},
|
||||
})
|
||||
|
||||
|
|
|
@ -9,8 +9,8 @@ describe('navigation between pages and app dir', () => {
|
|||
next = await createNext({
|
||||
files: new FileRef(__dirname),
|
||||
dependencies: {
|
||||
react: '19.0.0-beta-4508873393-20240430',
|
||||
'react-dom': '19.0.0-beta-4508873393-20240430',
|
||||
react: '19.0.0-beta-04b058868c-20240508',
|
||||
'react-dom': '19.0.0-beta-04b058868c-20240508',
|
||||
typescript: 'latest',
|
||||
'@types/react': 'latest',
|
||||
'@types/node': 'latest',
|
||||
|
|
|
@ -4,8 +4,8 @@ describe('redirects and rewrites', () => {
|
|||
const { next } = nextTestSetup({
|
||||
files: __dirname,
|
||||
dependencies: {
|
||||
react: '19.0.0-beta-4508873393-20240430',
|
||||
'react-dom': '19.0.0-beta-4508873393-20240430',
|
||||
react: '19.0.0-beta-04b058868c-20240508',
|
||||
'react-dom': '19.0.0-beta-04b058868c-20240508',
|
||||
typescript: 'latest',
|
||||
'@types/react': 'latest',
|
||||
'@types/node': 'latest',
|
||||
|
|
|
@ -17,8 +17,8 @@ describe('New Link Behavior with <a> child', () => {
|
|||
},
|
||||
dependencies: {
|
||||
next: 'latest',
|
||||
react: '19.0.0-beta-4508873393-20240430',
|
||||
'react-dom': '19.0.0-beta-4508873393-20240430',
|
||||
react: '19.0.0-beta-04b058868c-20240508',
|
||||
'react-dom': '19.0.0-beta-04b058868c-20240508',
|
||||
},
|
||||
})
|
||||
})
|
||||
|
|
|
@ -24,8 +24,8 @@ describe('New Link Behavior with material-ui', () => {
|
|||
'@mui/material': 'latest',
|
||||
next: 'latest',
|
||||
'prop-types': 'latest',
|
||||
react: '19.0.0-beta-4508873393-20240430',
|
||||
'react-dom': '19.0.0-beta-4508873393-20240430',
|
||||
react: '19.0.0-beta-04b058868c-20240508',
|
||||
'react-dom': '19.0.0-beta-04b058868c-20240508',
|
||||
// Use minimum peer dep version instead of v9 of eslint to avoid breaking changes
|
||||
eslint: '8.56.0',
|
||||
'eslint-config-next': 'latest',
|
||||
|
|
|
@ -21,8 +21,8 @@ describe('New Link Behavior with stitches', () => {
|
|||
dependencies: {
|
||||
'@stitches/react': '^1.2.6',
|
||||
next: 'latest',
|
||||
react: '19.0.0-beta-4508873393-20240430',
|
||||
'react-dom': '19.0.0-beta-4508873393-20240430',
|
||||
react: '19.0.0-beta-04b058868c-20240508',
|
||||
'react-dom': '19.0.0-beta-04b058868c-20240508',
|
||||
},
|
||||
})
|
||||
})
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue