This commit is contained in:
2026-04-12 01:02:14 +08:00
parent 509487f155
commit 9b053e302b
14085 changed files with 2680009 additions and 12 deletions

View File

@@ -0,0 +1,4 @@
import type { StreamingMetadataResolvedState } from './types';
export declare function AsyncMetadataOutlet({ promise, }: {
promise: Promise<StreamingMetadataResolvedState>;
}): import("react/jsx-runtime").JSX.Element;

View File

@@ -0,0 +1,44 @@
'use client';
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "AsyncMetadataOutlet", {
enumerable: true,
get: function() {
return AsyncMetadataOutlet;
}
});
const _jsxruntime = require("react/jsx-runtime");
const _react = require("react");
function MetadataOutlet(param) {
let { promise } = param;
const { error, digest } = (0, _react.use)(promise);
if (error) {
if (digest) {
// The error will lose its original digest after passing from server layer to client layer
// We recover the digest property here to override the React created one if original digest exists.
;
error.digest = digest;
}
throw error;
}
return null;
}
function AsyncMetadataOutlet(param) {
let { promise } = param;
return /*#__PURE__*/ (0, _jsxruntime.jsx)(_react.Suspense, {
fallback: null,
children: /*#__PURE__*/ (0, _jsxruntime.jsx)(MetadataOutlet, {
promise: promise
})
});
}
if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
Object.defineProperty(exports.default, '__esModule', { value: true });
Object.assign(exports.default, exports);
module.exports = exports.default;
}
//# sourceMappingURL=async-metadata.js.map

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../../../../src/client/components/metadata/async-metadata.tsx"],"sourcesContent":["'use client'\n\nimport { Suspense, use } from 'react'\nimport type { StreamingMetadataResolvedState } from './types'\n\nfunction MetadataOutlet({\n promise,\n}: {\n promise: Promise<StreamingMetadataResolvedState>\n}) {\n const { error, digest } = use(promise)\n if (error) {\n if (digest) {\n // The error will lose its original digest after passing from server layer to client layer\n // We recover the digest property here to override the React created one if original digest exists.\n ;(error as any).digest = digest\n }\n throw error\n }\n return null\n}\n\nexport function AsyncMetadataOutlet({\n promise,\n}: {\n promise: Promise<StreamingMetadataResolvedState>\n}) {\n return (\n <Suspense fallback={null}>\n <MetadataOutlet promise={promise} />\n </Suspense>\n )\n}\n"],"names":["AsyncMetadataOutlet","MetadataOutlet","promise","error","digest","use","Suspense","fallback"],"mappings":"AAAA;;;;;+BAsBgBA;;;eAAAA;;;;uBApBc;AAG9B,SAASC,eAAe,KAIvB;IAJuB,IAAA,EACtBC,OAAO,EAGR,GAJuB;IAKtB,MAAM,EAAEC,KAAK,EAAEC,MAAM,EAAE,GAAGC,IAAAA,UAAG,EAACH;IAC9B,IAAIC,OAAO;QACT,IAAIC,QAAQ;YACV,2FAA2F;YAC3F,mGAAmG;;YACjGD,MAAcC,MAAM,GAAGA;QAC3B;QACA,MAAMD;IACR;IACA,OAAO;AACT;AAEO,SAASH,oBAAoB,KAInC;IAJmC,IAAA,EAClCE,OAAO,EAGR,GAJmC;IAKlC,qBACE,qBAACI,eAAQ;QAACC,UAAU;kBAClB,cAAA,qBAACN;YAAeC,SAASA;;;AAG/B","ignoreList":[0]}

View File

@@ -0,0 +1,5 @@
export type StreamingMetadataResolvedState = {
metadata: React.ReactNode;
error: unknown | null;
digest: string | undefined;
};

View File

@@ -0,0 +1,12 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
Object.defineProperty(exports.default, '__esModule', { value: true });
Object.assign(exports.default, exports);
module.exports = exports.default;
}
//# sourceMappingURL=types.js.map

View File

@@ -0,0 +1 @@
{"version":3,"sources":[],"names":[],"mappings":"","ignoreList":[]}