UNPKG

next

Version:

The React Framework

1,557 lines (1,555 loc) • 58.8 kB
/** * @license React * react-server-dom-webpack-client.edge.production.js * * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ "use strict"; var ReactDOM = require("react-dom"), decoderOptions = { stream: !0 }; function resolveClientReference(bundlerConfig, metadata) { if (bundlerConfig) { var moduleExports = bundlerConfig[metadata[0]]; if ((bundlerConfig = moduleExports && moduleExports[metadata[2]])) moduleExports = bundlerConfig.name; else { bundlerConfig = moduleExports && moduleExports["*"]; if (!bundlerConfig) throw Error( 'Could not find the module "' + metadata[0] + '" in the React Server Consumer Manifest. This is probably a bug in the React Server Components bundler.' ); moduleExports = metadata[2]; } return 4 === metadata.length ? [bundlerConfig.id, bundlerConfig.chunks, moduleExports, 1] : [bundlerConfig.id, bundlerConfig.chunks, moduleExports]; } return metadata; } function resolveServerReference(bundlerConfig, id) { var name = "", resolvedModuleData = bundlerConfig[id]; if (resolvedModuleData) name = resolvedModuleData.name; else { var idx = id.lastIndexOf("#"); -1 !== idx && ((name = id.slice(idx + 1)), (resolvedModuleData = bundlerConfig[id.slice(0, idx)])); if (!resolvedModuleData) throw Error( 'Could not find the module "' + id + '" in the React Server Manifest. This is probably a bug in the React Server Components bundler.' ); } return resolvedModuleData.async ? [resolvedModuleData.id, resolvedModuleData.chunks, name, 1] : [resolvedModuleData.id, resolvedModuleData.chunks, name]; } var chunkCache = new Map(); function requireAsyncModule(id) { var promise = globalThis.__next_require__(id); if ("function" !== typeof promise.then || "fulfilled" === promise.status) return null; promise.then( function (value) { promise.status = "fulfilled"; promise.value = value; }, function (reason) { promise.status = "rejected"; promise.reason = reason; } ); return promise; } function ignoreReject() {} function preloadModule(metadata) { for (var chunks = metadata[1], promises = [], i = 0; i < chunks.length; ) { var chunkId = chunks[i++]; chunks[i++]; var entry = chunkCache.get(chunkId); if (void 0 === entry) { entry = __webpack_chunk_load__(chunkId); promises.push(entry); var resolve = chunkCache.set.bind(chunkCache, chunkId, null); entry.then(resolve, ignoreReject); chunkCache.set(chunkId, entry); } else null !== entry && promises.push(entry); } return 4 === metadata.length ? 0 === promises.length ? requireAsyncModule(metadata[0]) : Promise.all(promises).then(function () { return requireAsyncModule(metadata[0]); }) : 0 < promises.length ? Promise.all(promises) : null; } function requireModule(metadata) { var moduleExports = globalThis.__next_require__(metadata[0]); if (4 === metadata.length && "function" === typeof moduleExports.then) if ("fulfilled" === moduleExports.status) moduleExports = moduleExports.value; else throw moduleExports.reason; return "*" === metadata[2] ? moduleExports : "" === metadata[2] ? moduleExports.__esModule ? moduleExports.default : moduleExports : moduleExports[metadata[2]]; } function prepareDestinationWithChunks(moduleLoading, chunks, nonce$jscomp$0) { if (null !== moduleLoading) for (var i = 1; i < chunks.length; i += 2) { var nonce = nonce$jscomp$0, JSCompiler_temp_const = ReactDOMSharedInternals.d, JSCompiler_temp_const$jscomp$0 = JSCompiler_temp_const.X, JSCompiler_temp_const$jscomp$1 = moduleLoading.prefix + chunks[i]; var JSCompiler_inline_result = moduleLoading.crossOrigin; JSCompiler_inline_result = "string" === typeof JSCompiler_inline_result ? "use-credentials" === JSCompiler_inline_result ? JSCompiler_inline_result : "" : void 0; JSCompiler_temp_const$jscomp$0.call( JSCompiler_temp_const, JSCompiler_temp_const$jscomp$1, { crossOrigin: JSCompiler_inline_result, nonce: nonce } ); } } var ReactDOMSharedInternals = ReactDOM.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), REACT_LAZY_TYPE = Symbol.for("react.lazy"), MAYBE_ITERATOR_SYMBOL = Symbol.iterator; function getIteratorFn(maybeIterable) { if (null === maybeIterable || "object" !== typeof maybeIterable) return null; maybeIterable = (MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL]) || maybeIterable["@@iterator"]; return "function" === typeof maybeIterable ? maybeIterable : null; } var ASYNC_ITERATOR = Symbol.asyncIterator, isArrayImpl = Array.isArray, getPrototypeOf = Object.getPrototypeOf, ObjectPrototype = Object.prototype, knownServerReferences = new WeakMap(); function serializeNumber(number) { return Number.isFinite(number) ? 0 === number && -Infinity === 1 / number ? "$-0" : number : Infinity === number ? "$Infinity" : -Infinity === number ? "$-Infinity" : "$NaN"; } function processReply( root, formFieldPrefix, temporaryReferences, resolve, reject ) { function serializeTypedArray(tag, typedArray) { typedArray = new Blob([ new Uint8Array( typedArray.buffer, typedArray.byteOffset, typedArray.byteLength ) ]); var blobId = nextPartId++; null === formData && (formData = new FormData()); formData.append(formFieldPrefix + blobId, typedArray); return "$" + tag + blobId.toString(16); } function serializeBinaryReader(reader) { function progress(entry) { entry.done ? ((entry = nextPartId++), data.append(formFieldPrefix + entry, new Blob(buffer)), data.append( formFieldPrefix + streamId, '"$o' + entry.toString(16) + '"' ), data.append(formFieldPrefix + streamId, "C"), pendingParts--, 0 === pendingParts && resolve(data)) : (buffer.push(entry.value), reader.read(new Uint8Array(1024)).then(progress, reject)); } null === formData && (formData = new FormData()); var data = formData; pendingParts++; var streamId = nextPartId++, buffer = []; reader.read(new Uint8Array(1024)).then(progress, reject); return "$r" + streamId.toString(16); } function serializeReader(reader) { function progress(entry) { if (entry.done) data.append(formFieldPrefix + streamId, "C"), pendingParts--, 0 === pendingParts && resolve(data); else try { var partJSON = JSON.stringify(entry.value, resolveToJSON); data.append(formFieldPrefix + streamId, partJSON); reader.read().then(progress, reject); } catch (x) { reject(x); } } null === formData && (formData = new FormData()); var data = formData; pendingParts++; var streamId = nextPartId++; reader.read().then(progress, reject); return "$R" + streamId.toString(16); } function serializeReadableStream(stream) { try { var binaryReader = stream.getReader({ mode: "byob" }); } catch (x) { return serializeReader(stream.getReader()); } return serializeBinaryReader(binaryReader); } function serializeAsyncIterable(iterable, iterator) { function progress(entry) { if (entry.done) { if (void 0 === entry.value) data.append(formFieldPrefix + streamId, "C"); else try { var partJSON = JSON.stringify(entry.value, resolveToJSON); data.append(formFieldPrefix + streamId, "C" + partJSON); } catch (x) { reject(x); return; } pendingParts--; 0 === pendingParts && resolve(data); } else try { var partJSON$22 = JSON.stringify(entry.value, resolveToJSON); data.append(formFieldPrefix + streamId, partJSON$22); iterator.next().then(progress, reject); } catch (x$23) { reject(x$23); } } null === formData && (formData = new FormData()); var data = formData; pendingParts++; var streamId = nextPartId++; iterable = iterable === iterator; iterator.next().then(progress, reject); return "$" + (iterable ? "x" : "X") + streamId.toString(16); } function resolveToJSON(key, value) { if (null === value) return null; if ("object" === typeof value) { switch (value.$$typeof) { case REACT_ELEMENT_TYPE: if (void 0 !== temporaryReferences && -1 === key.indexOf(":")) { var parentReference = writtenObjects.get(this); if (void 0 !== parentReference) return ( temporaryReferences.set(parentReference + ":" + key, value), "$T" ); } throw Error( "React Element cannot be passed to Server Functions from the Client without a temporary reference set. Pass a TemporaryReferenceSet to the options." ); case REACT_LAZY_TYPE: parentReference = value._payload; var init = value._init; null === formData && (formData = new FormData()); pendingParts++; try { var resolvedModel = init(parentReference), lazyId = nextPartId++, partJSON = serializeModel(resolvedModel, lazyId); formData.append(formFieldPrefix + lazyId, partJSON); return "$" + lazyId.toString(16); } catch (x) { if ( "object" === typeof x && null !== x && "function" === typeof x.then ) { pendingParts++; var lazyId$24 = nextPartId++; parentReference = function () { try { var partJSON$25 = serializeModel(value, lazyId$24), data$26 = formData; data$26.append(formFieldPrefix + lazyId$24, partJSON$25); pendingParts--; 0 === pendingParts && resolve(data$26); } catch (reason) { reject(reason); } }; x.then(parentReference, parentReference); return "$" + lazyId$24.toString(16); } reject(x); return null; } finally { pendingParts--; } } if ("function" === typeof value.then) { null === formData && (formData = new FormData()); pendingParts++; var promiseId = nextPartId++; value.then(function (partValue) { try { var partJSON$28 = serializeModel(partValue, promiseId); partValue = formData; partValue.append(formFieldPrefix + promiseId, partJSON$28); pendingParts--; 0 === pendingParts && resolve(partValue); } catch (reason) { reject(reason); } }, reject); return "$@" + promiseId.toString(16); } parentReference = writtenObjects.get(value); if (void 0 !== parentReference) if (modelRoot === value) modelRoot = null; else return parentReference; else -1 === key.indexOf(":") && ((parentReference = writtenObjects.get(this)), void 0 !== parentReference && ((key = parentReference + ":" + key), writtenObjects.set(value, key), void 0 !== temporaryReferences && temporaryReferences.set(key, value))); if (isArrayImpl(value)) return value; if (value instanceof FormData) { null === formData && (formData = new FormData()); var data$32 = formData; key = nextPartId++; var prefix = formFieldPrefix + key + "_"; value.forEach(function (originalValue, originalKey) { data$32.append(prefix + originalKey, originalValue); }); return "$K" + key.toString(16); } if (value instanceof Map) return ( (key = nextPartId++), (parentReference = serializeModel(Array.from(value), key)), null === formData && (formData = new FormData()), formData.append(formFieldPrefix + key, parentReference), "$Q" + key.toString(16) ); if (value instanceof Set) return ( (key = nextPartId++), (parentReference = serializeModel(Array.from(value), key)), null === formData && (formData = new FormData()), formData.append(formFieldPrefix + key, parentReference), "$W" + key.toString(16) ); if (value instanceof ArrayBuffer) return ( (key = new Blob([value])), (parentReference = nextPartId++), null === formData && (formData = new FormData()), formData.append(formFieldPrefix + parentReference, key), "$A" + parentReference.toString(16) ); if (value instanceof Int8Array) return serializeTypedArray("O", value); if (value instanceof Uint8Array) return serializeTypedArray("o", value); if (value instanceof Uint8ClampedArray) return serializeTypedArray("U", value); if (value instanceof Int16Array) return serializeTypedArray("S", value); if (value instanceof Uint16Array) return serializeTypedArray("s", value); if (value instanceof Int32Array) return serializeTypedArray("L", value); if (value instanceof Uint32Array) return serializeTypedArray("l", value); if (value instanceof Float32Array) return serializeTypedArray("G", value); if (value instanceof Float64Array) return serializeTypedArray("g", value); if (value instanceof BigInt64Array) return serializeTypedArray("M", value); if (value instanceof BigUint64Array) return serializeTypedArray("m", value); if (value instanceof DataView) return serializeTypedArray("V", value); if ("function" === typeof Blob && value instanceof Blob) return ( null === formData && (formData = new FormData()), (key = nextPartId++), formData.append(formFieldPrefix + key, value), "$B" + key.toString(16) ); if ((key = getIteratorFn(value))) return ( (parentReference = key.call(value)), parentReference === value ? ((key = nextPartId++), (parentReference = serializeModel( Array.from(parentReference), key )), null === formData && (formData = new FormData()), formData.append(formFieldPrefix + key, parentReference), "$i" + key.toString(16)) : Array.from(parentReference) ); if ( "function" === typeof ReadableStream && value instanceof ReadableStream ) return serializeReadableStream(value); key = value[ASYNC_ITERATOR]; if ("function" === typeof key) return serializeAsyncIterable(value, key.call(value)); key = getPrototypeOf(value); if ( key !== ObjectPrototype && (null === key || null !== getPrototypeOf(key)) ) { if (void 0 === temporaryReferences) throw Error( "Only plain objects, and a few built-ins, can be passed to Server Functions. Classes or null prototypes are not supported." ); return "$T"; } return value; } if ("string" === typeof value) { if ("Z" === value[value.length - 1] && this[key] instanceof Date) return "$D" + value; key = "$" === value[0] ? "$" + value : value; return key; } if ("boolean" === typeof value) return value; if ("number" === typeof value) return serializeNumber(value); if ("undefined" === typeof value) return "$undefined"; if ("function" === typeof value) { parentReference = knownServerReferences.get(value); if (void 0 !== parentReference) return ( (key = JSON.stringify(parentReference, resolveToJSON)), null === formData && (formData = new FormData()), (parentReference = nextPartId++), formData.set(formFieldPrefix + parentReference, key), "$F" + parentReference.toString(16) ); if ( void 0 !== temporaryReferences && -1 === key.indexOf(":") && ((parentReference = writtenObjects.get(this)), void 0 !== parentReference) ) return ( temporaryReferences.set(parentReference + ":" + key, value), "$T" ); throw Error( "Client Functions cannot be passed directly to Server Functions. Only Functions passed from the Server can be passed back again." ); } if ("symbol" === typeof value) { if ( void 0 !== temporaryReferences && -1 === key.indexOf(":") && ((parentReference = writtenObjects.get(this)), void 0 !== parentReference) ) return ( temporaryReferences.set(parentReference + ":" + key, value), "$T" ); throw Error( "Symbols cannot be passed to a Server Function without a temporary reference set. Pass a TemporaryReferenceSet to the options." ); } if ("bigint" === typeof value) return "$n" + value.toString(10); throw Error( "Type " + typeof value + " is not supported as an argument to a Server Function." ); } function serializeModel(model, id) { "object" === typeof model && null !== model && ((id = "$" + id.toString(16)), writtenObjects.set(model, id), void 0 !== temporaryReferences && temporaryReferences.set(id, model)); modelRoot = model; return JSON.stringify(model, resolveToJSON); } var nextPartId = 1, pendingParts = 0, formData = null, writtenObjects = new WeakMap(), modelRoot = root, json = serializeModel(root, 0); null === formData ? resolve(json) : (formData.set(formFieldPrefix + "0", json), 0 === pendingParts && resolve(formData)); return function () { 0 < pendingParts && ((pendingParts = 0), null === formData ? resolve(json) : resolve(formData)); }; } var boundCache = new WeakMap(); function encodeFormData(reference) { var resolve, reject, thenable = new Promise(function (res, rej) { resolve = res; reject = rej; }); processReply( reference, "", void 0, function (body) { if ("string" === typeof body) { var data = new FormData(); data.append("0", body); body = data; } thenable.status = "fulfilled"; thenable.value = body; resolve(body); }, function (e) { thenable.status = "rejected"; thenable.reason = e; reject(e); } ); return thenable; } function defaultEncodeFormAction(identifierPrefix) { var reference = knownServerReferences.get(this); if (!reference) throw Error( "Tried to encode a Server Action from a different instance than the encoder is from. This is a bug in React." ); var data = null; if (null !== reference.bound) { data = boundCache.get(reference); data || ((data = encodeFormData(reference)), boundCache.set(reference, data)); if ("rejected" === data.status) throw data.reason; if ("fulfilled" !== data.status) throw data; reference = data.value; var prefixedData = new FormData(); reference.forEach(function (value, key) { prefixedData.append("$ACTION_" + identifierPrefix + ":" + key, value); }); data = prefixedData; reference = "$ACTION_REF_" + identifierPrefix; } else reference = "$ACTION_ID_" + reference.id; return { name: reference, method: "POST", encType: "multipart/form-data", data: data }; } function isSignatureEqual(referenceId, numberOfBoundArgs) { var reference = knownServerReferences.get(this); if (!reference) throw Error( "Tried to encode a Server Action from a different instance than the encoder is from. This is a bug in React." ); if (reference.id !== referenceId) return !1; var boundPromise = reference.bound; if (null === boundPromise) return 0 === numberOfBoundArgs; switch (boundPromise.status) { case "fulfilled": return boundPromise.value.length === numberOfBoundArgs; case "pending": throw boundPromise; case "rejected": throw boundPromise.reason; default: throw ( ("string" !== typeof boundPromise.status && ((boundPromise.status = "pending"), boundPromise.then( function (boundArgs) { boundPromise.status = "fulfilled"; boundPromise.value = boundArgs; }, function (error) { boundPromise.status = "rejected"; boundPromise.reason = error; } )), boundPromise) ); } } function registerBoundServerReference( reference$jscomp$0, id, bound, encodeFormAction ) { Object.defineProperties(reference$jscomp$0, { $$FORM_ACTION: { value: void 0 === encodeFormAction ? defaultEncodeFormAction : function () { var reference = knownServerReferences.get(this); if (!reference) throw Error( "Tried to encode a Server Action from a different instance than the encoder is from. This is a bug in React." ); var boundPromise = reference.bound; null === boundPromise && (boundPromise = Promise.resolve([])); return encodeFormAction(reference.id, boundPromise); } }, $$IS_SIGNATURE_EQUAL: { value: isSignatureEqual }, bind: { value: bind } }); knownServerReferences.set(reference$jscomp$0, { id: id, bound: bound }); } var FunctionBind = Function.prototype.bind, ArraySlice = Array.prototype.slice; function bind() { var newFn = FunctionBind.apply(this, arguments), reference = knownServerReferences.get(this); if (reference) { var args = ArraySlice.call(arguments, 1), boundPromise = null; boundPromise = null !== reference.bound ? Promise.resolve(reference.bound).then(function (boundArgs) { return boundArgs.concat(args); }) : Promise.resolve(args); Object.defineProperties(newFn, { $$FORM_ACTION: { value: this.$$FORM_ACTION }, $$IS_SIGNATURE_EQUAL: { value: isSignatureEqual }, bind: { value: bind } }); knownServerReferences.set(newFn, { id: reference.id, bound: boundPromise }); } return newFn; } function createBoundServerReference(metaData, callServer, encodeFormAction) { function action() { var args = Array.prototype.slice.call(arguments); return bound ? "fulfilled" === bound.status ? callServer(id, bound.value.concat(args)) : Promise.resolve(bound).then(function (boundArgs) { return callServer(id, boundArgs.concat(args)); }) : callServer(id, args); } var id = metaData.id, bound = metaData.bound; registerBoundServerReference(action, id, bound, encodeFormAction); return action; } function createServerReference$1(id, callServer, encodeFormAction) { function action() { var args = Array.prototype.slice.call(arguments); return callServer(id, args); } registerBoundServerReference(action, id, null, encodeFormAction); return action; } function ReactPromise(status, value, reason, response) { this.status = status; this.value = value; this.reason = reason; this._response = response; } ReactPromise.prototype = Object.create(Promise.prototype); ReactPromise.prototype.then = function (resolve, reject) { switch (this.status) { case "resolved_model": initializeModelChunk(this); break; case "resolved_module": initializeModuleChunk(this); } switch (this.status) { case "fulfilled": resolve(this.value); break; case "pending": case "blocked": resolve && (null === this.value && (this.value = []), this.value.push(resolve)); reject && (null === this.reason && (this.reason = []), this.reason.push(reject)); break; default: reject && reject(this.reason); } }; function readChunk(chunk) { switch (chunk.status) { case "resolved_model": initializeModelChunk(chunk); break; case "resolved_module": initializeModuleChunk(chunk); } switch (chunk.status) { case "fulfilled": return chunk.value; case "pending": case "blocked": throw chunk; default: throw chunk.reason; } } function createPendingChunk(response) { return new ReactPromise("pending", null, null, response); } function wakeChunk(listeners, value) { for (var i = 0; i < listeners.length; i++) (0, listeners[i])(value); } function wakeChunkIfInitialized(chunk, resolveListeners, rejectListeners) { switch (chunk.status) { case "fulfilled": wakeChunk(resolveListeners, chunk.value); break; case "pending": case "blocked": if (chunk.value) for (var i = 0; i < resolveListeners.length; i++) chunk.value.push(resolveListeners[i]); else chunk.value = resolveListeners; if (chunk.reason) { if (rejectListeners) for ( resolveListeners = 0; resolveListeners < rejectListeners.length; resolveListeners++ ) chunk.reason.push(rejectListeners[resolveListeners]); } else chunk.reason = rejectListeners; break; case "rejected": rejectListeners && wakeChunk(rejectListeners, chunk.reason); } } function triggerErrorOnChunk(chunk, error) { if ("pending" !== chunk.status && "blocked" !== chunk.status) chunk.reason.error(error); else { var listeners = chunk.reason; chunk.status = "rejected"; chunk.reason = error; null !== listeners && wakeChunk(listeners, error); } } function createResolvedIteratorResultChunk(response, value, done) { return new ReactPromise( "resolved_model", (done ? '{"done":true,"value":' : '{"done":false,"value":') + value + "}", null, response ); } function resolveIteratorResultChunk(chunk, value, done) { resolveModelChunk( chunk, (done ? '{"done":true,"value":' : '{"done":false,"value":') + value + "}" ); } function resolveModelChunk(chunk, value) { if ("pending" !== chunk.status) chunk.reason.enqueueModel(value); else { var resolveListeners = chunk.value, rejectListeners = chunk.reason; chunk.status = "resolved_model"; chunk.value = value; null !== resolveListeners && (initializeModelChunk(chunk), wakeChunkIfInitialized(chunk, resolveListeners, rejectListeners)); } } function resolveModuleChunk(chunk, value) { if ("pending" === chunk.status || "blocked" === chunk.status) { var resolveListeners = chunk.value, rejectListeners = chunk.reason; chunk.status = "resolved_module"; chunk.value = value; null !== resolveListeners && (initializeModuleChunk(chunk), wakeChunkIfInitialized(chunk, resolveListeners, rejectListeners)); } } var initializingHandler = null; function initializeModelChunk(chunk) { var prevHandler = initializingHandler; initializingHandler = null; var resolvedModel = chunk.value; chunk.status = "blocked"; chunk.value = null; chunk.reason = null; try { var value = JSON.parse(resolvedModel, chunk._response._fromJSON), resolveListeners = chunk.value; null !== resolveListeners && ((chunk.value = null), (chunk.reason = null), wakeChunk(resolveListeners, value)); if (null !== initializingHandler) { if (initializingHandler.errored) throw initializingHandler.value; if (0 < initializingHandler.deps) { initializingHandler.value = value; initializingHandler.chunk = chunk; return; } } chunk.status = "fulfilled"; chunk.value = value; } catch (error) { (chunk.status = "rejected"), (chunk.reason = error); } finally { initializingHandler = prevHandler; } } function initializeModuleChunk(chunk) { try { var value = requireModule(chunk.value); chunk.status = "fulfilled"; chunk.value = value; } catch (error) { (chunk.status = "rejected"), (chunk.reason = error); } } function reportGlobalError(response, error) { response._closed = !0; response._closedReason = error; response._chunks.forEach(function (chunk) { "pending" === chunk.status && triggerErrorOnChunk(chunk, error); }); } function createLazyChunkWrapper(chunk) { return { $$typeof: REACT_LAZY_TYPE, _payload: chunk, _init: readChunk }; } function getChunk(response, id) { var chunks = response._chunks, chunk = chunks.get(id); chunk || ((chunk = response._closed ? new ReactPromise("rejected", null, response._closedReason, response) : createPendingChunk(response)), chunks.set(id, chunk)); return chunk; } function waitForReference( referencedChunk, parentObject, key, response, map, path ) { function fulfill(value) { for (var i = 1; i < path.length; i++) { for (; value.$$typeof === REACT_LAZY_TYPE; ) if (((value = value._payload), value === handler.chunk)) value = handler.value; else if ("fulfilled" === value.status) value = value.value; else { path.splice(0, i - 1); value.then(fulfill, reject); return; } value = value[path[i]]; } i = map(response, value, parentObject, key); parentObject[key] = i; "" === key && null === handler.value && (handler.value = i); if ( parentObject[0] === REACT_ELEMENT_TYPE && "object" === typeof handler.value && null !== handler.value && handler.value.$$typeof === REACT_ELEMENT_TYPE ) switch (((value = handler.value), key)) { case "3": value.props = i; } handler.deps--; 0 === handler.deps && ((i = handler.chunk), null !== i && "blocked" === i.status && ((value = i.value), (i.status = "fulfilled"), (i.value = handler.value), null !== value && wakeChunk(value, handler.value))); } function reject(error) { if (!handler.errored) { handler.errored = !0; handler.value = error; var chunk = handler.chunk; null !== chunk && "blocked" === chunk.status && triggerErrorOnChunk(chunk, error); } } if (initializingHandler) { var handler = initializingHandler; handler.deps++; } else handler = initializingHandler = { parent: null, chunk: null, value: null, deps: 1, errored: !1 }; referencedChunk.then(fulfill, reject); return null; } function loadServerReference(response, metaData, parentObject, key) { if (!response._serverReferenceConfig) return createBoundServerReference( metaData, response._callServer, response._encodeFormAction ); var serverReference = resolveServerReference( response._serverReferenceConfig, metaData.id ), promise = preloadModule(serverReference); if (promise) metaData.bound && (promise = Promise.all([promise, metaData.bound])); else if (metaData.bound) promise = Promise.resolve(metaData.bound); else return ( (promise = requireModule(serverReference)), registerBoundServerReference( promise, metaData.id, metaData.bound, response._encodeFormAction ), promise ); if (initializingHandler) { var handler = initializingHandler; handler.deps++; } else handler = initializingHandler = { parent: null, chunk: null, value: null, deps: 1, errored: !1 }; promise.then( function () { var resolvedValue = requireModule(serverReference); if (metaData.bound) { var boundArgs = metaData.bound.value.slice(0); boundArgs.unshift(null); resolvedValue = resolvedValue.bind.apply(resolvedValue, boundArgs); } registerBoundServerReference( resolvedValue, metaData.id, metaData.bound, response._encodeFormAction ); parentObject[key] = resolvedValue; "" === key && null === handler.value && (handler.value = resolvedValue); if ( parentObject[0] === REACT_ELEMENT_TYPE && "object" === typeof handler.value && null !== handler.value && handler.value.$$typeof === REACT_ELEMENT_TYPE ) switch (((boundArgs = handler.value), key)) { case "3": boundArgs.props = resolvedValue; } handler.deps--; 0 === handler.deps && ((resolvedValue = handler.chunk), null !== resolvedValue && "blocked" === resolvedValue.status && ((boundArgs = resolvedValue.value), (resolvedValue.status = "fulfilled"), (resolvedValue.value = handler.value), null !== boundArgs && wakeChunk(boundArgs, handler.value))); }, function (error) { if (!handler.errored) { handler.errored = !0; handler.value = error; var chunk = handler.chunk; null !== chunk && "blocked" === chunk.status && triggerErrorOnChunk(chunk, error); } } ); return null; } function getOutlinedModel(response, reference, parentObject, key, map) { reference = reference.split(":"); var id = parseInt(reference[0], 16); id = getChunk(response, id); switch (id.status) { case "resolved_model": initializeModelChunk(id); break; case "resolved_module": initializeModuleChunk(id); } switch (id.status) { case "fulfilled": var value = id.value; for (id = 1; id < reference.length; id++) { for (; value.$$typeof === REACT_LAZY_TYPE; ) if (((value = value._payload), "fulfilled" === value.status)) value = value.value; else return waitForReference( value, parentObject, key, response, map, reference.slice(id - 1) ); value = value[reference[id]]; } return map(response, value, parentObject, key); case "pending": case "blocked": return waitForReference(id, parentObject, key, response, map, reference); default: return ( initializingHandler ? ((initializingHandler.errored = !0), (initializingHandler.value = id.reason)) : (initializingHandler = { parent: null, chunk: null, value: id.reason, deps: 0, errored: !0 }), null ); } } function createMap(response, model) { return new Map(model); } function createSet(response, model) { return new Set(model); } function createBlob(response, model) { return new Blob(model.slice(1), { type: model[0] }); } function createFormData(response, model) { response = new FormData(); for (var i = 0; i < model.length; i++) response.append(model[i][0], model[i][1]); return response; } function extractIterator(response, model) { return model[Symbol.iterator](); } function createModel(response, model) { return model; } function parseModelString(response, parentObject, key, value) { if ("$" === value[0]) { if ("$" === value) return ( null !== initializingHandler && "0" === key && (initializingHandler = { parent: initializingHandler, chunk: null, value: null, deps: 0, errored: !1 }), REACT_ELEMENT_TYPE ); switch (value[1]) { case "$": return value.slice(1); case "L": return ( (parentObject = parseInt(value.slice(2), 16)), (response = getChunk(response, parentObject)), createLazyChunkWrapper(response) ); case "@": if (2 === value.length) return new Promise(function () {}); parentObject = parseInt(value.slice(2), 16); return getChunk(response, parentObject); case "S": return Symbol.for(value.slice(2)); case "F": return ( (value = value.slice(2)), getOutlinedModel( response, value, parentObject, key, loadServerReference ) ); case "T": parentObject = "$" + value.slice(2); response = response._tempRefs; if (null == response) throw Error( "Missing a temporary reference set but the RSC response returned a temporary reference. Pass a temporaryReference option with the set that was used with the reply." ); return response.get(parentObject); case "Q": return ( (value = value.slice(2)), getOutlinedModel(response, value, parentObject, key, createMap) ); case "W": return ( (value = value.slice(2)), getOutlinedModel(response, value, parentObject, key, createSet) ); case "B": return ( (value = value.slice(2)), getOutlinedModel(response, value, parentObject, key, createBlob) ); case "K": return ( (value = value.slice(2)), getOutlinedModel(response, value, parentObject, key, createFormData) ); case "Z": return resolveErrorProd(); case "i": return ( (value = value.slice(2)), getOutlinedModel(response, value, parentObject, key, extractIterator) ); case "I": return Infinity; case "-": return "$-0" === value ? -0 : -Infinity; case "N": return NaN; case "u": return; case "D": return new Date(Date.parse(value.slice(2))); case "n": return BigInt(value.slice(2)); default: return ( (value = value.slice(1)), getOutlinedModel(response, value, parentObject, key, createModel) ); } } return value; } function missingCall() { throw Error( 'Trying to call a function from "use server" but the callServer option was not implemented in your router runtime.' ); } function ResponseInstance( bundlerConfig, serverReferenceConfig, moduleLoading, callServer, encodeFormAction, nonce, temporaryReferences ) { var chunks = new Map(); this._bundlerConfig = bundlerConfig; this._serverReferenceConfig = serverReferenceConfig; this._moduleLoading = moduleLoading; this._callServer = void 0 !== callServer ? callServer : missingCall; this._encodeFormAction = encodeFormAction; this._nonce = nonce; this._chunks = chunks; this._stringDecoder = new TextDecoder(); this._fromJSON = null; this._rowLength = this._rowTag = this._rowID = this._rowState = 0; this._buffer = []; this._closed = !1; this._closedReason = null; this._tempRefs = temporaryReferences; this._fromJSON = createFromJSONCallback(this); } function resolveBuffer(response, id, buffer) { var chunks = response._chunks, chunk = chunks.get(id); chunk && "pending" !== chunk.status ? chunk.reason.enqueueValue(buffer) : chunks.set(id, new ReactPromise("fulfilled", buffer, null, response)); } function resolveModule(response, id, model) { var chunks = response._chunks, chunk = chunks.get(id); model = JSON.parse(model, response._fromJSON); var clientReference = resolveClientReference(response._bundlerConfig, model); prepareDestinationWithChunks( response._moduleLoading, model[1], response._nonce ); if ((model = preloadModule(clientReference))) { if (chunk) { var blockedChunk = chunk; blockedChunk.status = "blocked"; } else (blockedChunk = new ReactPromise("blocked", null, null, response)), chunks.set(id, blockedChunk); model.then( function () { return resolveModuleChunk(blockedChunk, clientReference); }, function (error) { return triggerErrorOnChunk(blockedChunk, error); } ); } else chunk ? resolveModuleChunk(chunk, clientReference) : chunks.set( id, new ReactPromise("resolved_module", clientReference, null, response) ); } function resolveStream(response, id, stream, controller) { var chunks = response._chunks, chunk = chunks.get(id); chunk ? "pending" === chunk.status && ((response = chunk.value), (chunk.status = "fulfilled"), (chunk.value = stream), (chunk.reason = controller), null !== response && wakeChunk(response, chunk.value)) : chunks.set( id, new ReactPromise("fulfilled", stream, controller, response) ); } function startReadableStream(response, id, type) { var controller = null; type = new ReadableStream({ type: type, start: function (c) { controller = c; } }); var previousBlockedChunk = null; resolveStream(response, id, type, { enqueueValue: function (value) { null === previousBlockedChunk ? controller.enqueue(value) : previousBlockedChunk.then(function () { controller.enqueue(value); }); }, enqueueModel: function (json) { if (null === previousBlockedChunk) { var chunk = new ReactPromise("resolved_model", json, null, response); initializeModelChunk(chunk); "fulfilled" === chunk.status ? controller.enqueue(chunk.value) : (chunk.then( function (v) { return controller.enqueue(v); }, function (e) { return controller.error(e); } ), (previousBlockedChunk = chunk)); } else { chunk = previousBlockedChunk; var chunk$52 = createPendingChunk(response); chunk$52.then( function (v) { return controller.enqueue(v); }, function (e) { return controller.error(e); } ); previousBlockedChunk = chunk$52; chunk.then(function () { previousBlockedChunk === chunk$52 && (previousBlockedChunk = null); resolveModelChunk(chunk$52, json); }); } }, close: function () { if (null === previousBlockedChunk) controller.close(); else { var blockedChunk = previousBlockedChunk; previousBlockedChunk = null; blockedChunk.then(function () { return controller.close(); }); } }, error: function (error) { if (null === previousBlockedChunk) controller.error(error); else { var blockedChunk = previousBlockedChunk; previousBlockedChunk = null; blockedChunk.then(function () { return controller.error(error); }); } } }); } function asyncIterator() { return this; } function createIterator(next) { next = { next: next }; next[ASYNC_ITERATOR] = asyncIterator; return next; } function startAsyncIterable(response, id, iterator) { var buffer = [], closed = !1, nextWriteIndex = 0, $jscomp$compprop0 = {}; $jscomp$compprop0 = (($jscomp$compprop0[ASYNC_ITERATOR] = function () { var nextReadIndex = 0; return createIterator(function (arg) { if (void 0 !== arg) throw Error( "Values cannot be passed to next() of AsyncIterables passed to Client Components." ); if (nextReadIndex === buffer.length) { if (closed) return new ReactPromise( "fulfilled", { done: !0, value: void 0 }, null, response ); buffer[nextReadIndex] = createPendingChunk(response); } return buffer[nextReadIndex++]; }); }), $jscomp$compprop0); resolveStream( response, id, iterator ? $jscomp$compprop0[ASYNC_ITERATOR]() : $jscomp$compprop0, { enqueueValue: function (value) { if (nextWriteIndex === buffer.length) buffer[nextWriteIndex] = new ReactPromise( "fulfilled", { done: !1, value: value }, null, response ); else { var chunk = buffer[nextWriteIndex], resolveListeners = chunk.value, rejectListeners = chunk.reason; chunk.status = "fulfilled"; chunk.value = { done: !1, value: value }; null !== resolveListeners && wakeChunkIfInitialized(chunk, resolveListeners, rejectListeners); } nextWriteIndex++; }, enqueueModel: function (value) { nextWriteIndex === buffer.length ? (buffer[nextWriteIndex] = createResolvedIteratorResultChunk( response, value, !1 )) : resolveIteratorResultChunk(buffer[nextWriteIndex], value, !1); nextWriteIndex++; }, close: function (value) { closed = !0; nextWriteIndex === buffer.length ? (buffer[nextWriteIndex] = createResolvedIteratorResultChunk( response, value, !0 )) : resolveIteratorResultChunk(buffer[nextWriteIndex], value, !0); for (nextWriteIndex++; nextWriteIndex < buffer.length; ) resolveIteratorResultChunk( buffer[nextWriteIndex++], '"$undefined"', !0 ); }, error: function (error) { closed = !0; for ( nextWriteIndex === buffer.length && (buffer[nextWriteIndex] = createPendingChunk(response)); nextWriteIndex < buffer.length; ) triggerErrorOnChunk(buffer[nextWriteIndex++], error); } } ); } function resolveErrorProd() { var error = Error( "An error occurred in the Server Components render. The specific message is omitted in production builds to avoid leaking sensitive details. A digest property is included on this error instance which may provide additional details about the nature of the error." ); error.stack = "Error: " + error.message; return error; } function mergeBuffer(buffer, lastChunk) { for (var l = buffer.length, byteLength = lastChunk.length, i = 0; i < l; i++) byteLength += buffer[i].byteLength; byteLength = new Uint8Array(byteLength); for (var i$53 = (i = 0); i$53 < l; i$53++) { var chunk = buffer[i$53]; byteLength.set(chunk, i); i += chunk.byteLength; } byteLength.set(lastChunk, i); return byteLength; } function resolveTypedArray( response, id, buffer, lastChunk, constructor, bytesPerElement ) { buffer = 0 === buffer.length && 0 === lastChunk.byteOffset % bytesPerElement ? lastChunk : mergeBuffer(buffer, lastChunk); constructor = new constructor( buffer.buffer, buffer.byteOffset, buffer.byteLength / bytesPerElement ); resolveBuffer(response, id, constructor); } function processFullBinaryRow(response, id, tag, buffer, chunk) { switch (tag) { case 65: resolveBuffer(response, id, mergeBuffer(buffer, chunk).buffer); return; case 79: resolveTypedArray(response, id, buffer, chunk, Int8Array, 1); return; case 111: resolveBuffer( response, id, 0 === buffer.length ? chunk : mergeBuffer(buffer, chunk) ); return; case 85: resolveTypedArray(response, id, buffer, chunk, Uint8ClampedArray, 1); return; case 83: resolveTypedArray(response, id, buffer, chunk, Int16Array, 2); return; case 115: resolveTypedArray(response, id, buffer, chunk, Uint16Array, 2); return; case 76: resolveTypedArray(response, id, buffer, chunk, Int32Array, 4); return; case 108: resolveTypedArray(response, id, buffer, chunk, Uint32Array, 4); return; case 71: resolveTypedArray(response, id, buffer, chunk, Float32Array, 4); return; case 103: resolveTypedArray(response, id, buffer, chunk, Float64Array, 8); return; case 77: resolveTypedArray(response, id, buffer, chunk, BigInt64Array, 8); return; case 109: resolveTypedArray(response, id, buffer, chunk, BigUint64Array, 8); return; case 86: resolveTypedArray(response, id, buffer, chunk, DataView, 1); return; } for ( var stringDecoder = response._stringDecoder, row = "", i = 0; i < buffer.length; i++ ) row += stringDecoder.decode(buffer[i], decoderOptions); buffer = row += stringDecoder.decode(chunk); switch (tag) { case 73: resolveModule(response, id, buffer); break; case 72: id = buffer[0]; buffer = buffer.slice(1); response = JSON.parse(buffer, response._fromJSON); buffer = ReactDOMSharedInternals.d; switch (id) { case "D": buffer.D(response); break; case "C": "string" === typeof response ? buffer.C(response) : buffer.C(response[0], response[1]); break; case "L": id = respo