@reckona/mreact-server 0.0.81 → 0.0.83
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/boundary.d.ts +39 -0
- package/dist/boundary.d.ts.map +1 -0
- package/dist/boundary.js +249 -0
- package/dist/boundary.js.map +1 -0
- package/dist/html-helpers.d.ts +31 -0
- package/dist/html-helpers.d.ts.map +1 -0
- package/dist/html-helpers.js +259 -0
- package/dist/html-helpers.js.map +1 -0
- package/dist/html-internals.d.ts +5 -0
- package/dist/html-internals.d.ts.map +1 -0
- package/dist/html-internals.js +23 -0
- package/dist/html-internals.js.map +1 -0
- package/dist/index.d.ts +9 -86
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -794
- package/dist/index.js.map +1 -1
- package/dist/sink.d.ts +14 -0
- package/dist/sink.d.ts.map +1 -0
- package/dist/sink.js +54 -0
- package/dist/sink.js.map +1 -0
- package/dist/stream.d.ts +6 -0
- package/dist/stream.d.ts.map +1 -0
- package/dist/stream.js +223 -0
- package/dist/stream.js.map +1 -0
- package/package.json +11 -3
- package/src/boundary.ts +454 -0
- package/src/html-helpers.ts +427 -0
- package/src/html-internals.ts +27 -0
- package/src/index.ts +51 -1229
- package/src/sink.ts +77 -0
- package/src/stream.ts +273 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"html-helpers.js","sourceRoot":"","sources":["../src/html-helpers.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n Fragment,\n Suspense as ReactCompatSuspense,\n isValidElement,\n type ReactCompatElement,\n type ReactCompatNode,\n} from \"@reckona/mreact-compat\";\nimport type { HtmlSink } from \"@reckona/mreact-shared/compiler-contract\";\nimport { escapeHtmlText as escapeHtml } from \"@reckona/mreact-shared/html-escape\";\nimport {\n renderReactSuspenseBoundary,\n renderReactSuspenseOutOfOrderBoundary,\n type HydrationScriptOptions,\n} from \"./boundary.js\";\nimport {\n isDangerousHtmlAttribute,\n isDangerousHtmlOptIn,\n isUnsafeMetaRefreshContent,\n isUnsafeUrlAttribute,\n} from \"./url-safety.js\";\nimport {\n escapeAttribute,\n isPromiseLikeUnknown,\n renderNonceAttribute,\n serializeScriptJson,\n} from \"./html-internals.js\";\nimport { createStringSink, type StreamRender } from \"./sink.js\";\nimport { renderToReadableStream } from \"./stream.js\";\n\nexport interface ScriptAssetOptions {\n src: string;\n nonce?: string;\n integrity?: string;\n crossOrigin?: \"anonymous\" | \"use-credentials\";\n}\n\nexport interface EventHydrationEntry {\n id: string;\n event: string;\n handler: string;\n}\n\nexport interface EventHydrationManifest {\n version: 1;\n events: EventHydrationEntry[];\n}\n\nexport interface HtmlResponseOptions {\n headers?: HeadersInit;\n status?: number;\n statusText?: string;\n}\n\nexport function serializeSsrState(value: unknown): string {\n return serializeScriptJson(value);\n}\n\nexport function renderSsrState(\n sink: HtmlSink,\n value: unknown,\n options: HydrationScriptOptions = {},\n): void {\n sink.append(\n `<script type=\"application/json\" data-mreact-ssr-state${renderNonceAttribute(options.nonce)}>${serializeSsrState(value)}</script>`,\n );\n}\n\nexport function createEventHydrationManifest(\n events: readonly EventHydrationEntry[],\n): EventHydrationManifest {\n return {\n version: 1,\n events: events.map((event) => ({ ...event })),\n };\n}\n\nexport function renderEventHydrationManifest(\n sink: HtmlSink,\n manifest: EventHydrationManifest,\n options: HydrationScriptOptions = {},\n): void {\n sink.append(\n `<script type=\"application/json\" data-mreact-event-manifest${renderNonceAttribute(options.nonce)}>${serializeSsrState(manifest)}</script>`,\n );\n}\n\nexport function renderScriptAsset(sink: HtmlSink, options: ScriptAssetOptions): void {\n const integrityAttribute =\n options.integrity === undefined ? \"\" : ` integrity=\"${escapeAttribute(options.integrity)}\"`;\n const crossOrigin =\n options.integrity === undefined ? options.crossOrigin : (options.crossOrigin ?? \"anonymous\");\n const crossOriginAttribute =\n crossOrigin === undefined ? \"\" : ` crossorigin=\"${escapeAttribute(crossOrigin)}\"`;\n\n sink.append(\n `<script src=\"${escapeAttribute(options.src)}\"${renderNonceAttribute(options.nonce)}${integrityAttribute}${crossOriginAttribute}></script>`,\n );\n}\n\nexport function html(node: unknown, options: HtmlResponseOptions = {}): Response {\n const headers = new Headers(options.headers);\n const responseOptions: ResponseInit = { headers };\n\n if (!headers.has(\"content-type\")) {\n headers.set(\"content-type\", \"text/html; charset=utf-8\");\n }\n\n if (options.status !== undefined) {\n responseOptions.status = options.status;\n }\n\n if (options.statusText !== undefined) {\n responseOptions.statusText = options.statusText;\n }\n\n return new Response(\n renderToReadableStream((sink) => {\n const state: HtmlRenderState = { suspenseId: 0 };\n return appendReactNode(sink, node, state);\n }),\n responseOptions,\n );\n}\n\nexport async function renderToString(render: StreamRender): Promise<string> {\n const sink = createStringSink();\n\n await render(sink);\n await sink.drain();\n\n return sink.toString();\n}\n\ninterface HtmlRenderState {\n suspenseId: number;\n}\n\nfunction appendReactNode(\n sink: HtmlSink,\n node: unknown,\n state: HtmlRenderState,\n): void | PromiseLike<void> {\n if (isPromiseLikeNode(node)) {\n return node.then((resolved) => appendReactNode(sink, resolved, state));\n }\n\n if (node === null || node === undefined || typeof node === \"boolean\") {\n return;\n }\n\n if (typeof node === \"string\" || typeof node === \"number\") {\n sink.append(escapeHtml(node));\n return;\n }\n\n if (Array.isArray(node)) {\n return appendReactNodeList(sink, node, state);\n }\n\n if (!isValidElement(node)) {\n return;\n }\n\n return appendReactElement(sink, node, state);\n}\n\nfunction appendReactNodeList(\n sink: HtmlSink,\n nodes: readonly unknown[],\n state: HtmlRenderState,\n): void | PromiseLike<void> {\n let chain: PromiseLike<void> | undefined;\n\n for (const node of nodes) {\n if (chain !== undefined) {\n chain = chain.then(() => appendReactNode(sink, node, state));\n continue;\n }\n\n const result = appendReactNode(sink, node, state);\n\n if (isPromiseLike(result)) {\n chain = result;\n }\n }\n\n return chain;\n}\n\nfunction appendReactElement(\n sink: HtmlSink,\n element: ReactCompatElement,\n state: HtmlRenderState,\n): void | PromiseLike<void> {\n if (typeof element.type === \"string\") {\n return appendHostElement(sink, element, state);\n }\n\n if (element.type === Fragment) {\n return appendReactNode(sink, element.props.children, state);\n }\n\n if (element.type === ReactCompatSuspense) {\n return appendSuspenseElement(sink, element, state);\n }\n\n if (isClassComponentType(element.type)) {\n const instance = new element.type(element.props);\n return appendReactNode(sink, instance.render(), state);\n }\n\n if (typeof element.type === \"function\") {\n return appendReactNode(sink, element.type(element.props), state);\n }\n}\n\nfunction isClassComponentType(\n value: unknown,\n): value is new (props: Record<string, unknown>) => { render(): ReactCompatNode } {\n return typeof value === \"function\" && value.prototype?.render !== undefined;\n}\n\nfunction appendHostElement(\n sink: HtmlSink,\n element: ReactCompatElement,\n state: HtmlRenderState,\n): void | PromiseLike<void> {\n const tagName = element.type as string;\n const innerHtml = (element.props as { dangerouslySetInnerHTML?: { __html?: unknown } })\n .dangerouslySetInnerHTML;\n sink.append(`<${tagName}${renderHtmlAttributes(element.props)}>`); \n\n if (innerHtml !== undefined) {\n sink.append(String(innerHtml.__html ?? \"\"));\n sink.append(`</${tagName}>`);\n return;\n }\n\n const result = appendReactNode(sink, element.props.children, state);\n\n if (isPromiseLike(result)) {\n return result.then(() => {\n sink.append(`</${tagName}>`);\n });\n }\n\n sink.append(`</${tagName}>`);\n}\n\nfunction appendSuspenseElement(\n sink: HtmlSink,\n element: ReactCompatElement,\n state: HtmlRenderState,\n): void {\n const rendered = renderReactNodeToString(element.props.children, state);\n\n if (!isPromiseLikeString(rendered)) {\n renderReactSuspenseBoundary(sink, (boundarySink) => {\n boundarySink.append(rendered);\n });\n return;\n }\n\n const id = state.suspenseId;\n state.suspenseId += 1;\n renderReactSuspenseOutOfOrderBoundary(\n sink,\n `B:${id}`,\n `S:${id}`,\n rendered,\n (boundarySink, renderedHtml) => {\n boundarySink.append(renderedHtml);\n },\n {\n fallback(boundarySink) {\n const fallback = renderReactNodeToString(\n (element.props as { fallback?: ReactCompatNode }).fallback,\n state,\n );\n\n if (isPromiseLikeString(fallback)) {\n return fallback.then((html) => {\n boundarySink.append(html);\n });\n }\n\n boundarySink.append(fallback);\n },\n },\n );\n}\n\nfunction renderReactNodeToString(\n node: unknown,\n state: HtmlRenderState,\n): string | PromiseLike<string> {\n const sink = createStringSink();\n const result = appendReactNode(sink, node, state);\n\n if (isPromiseLike(result)) {\n return result.then(() => sink.toString());\n }\n\n return sink.toString();\n}\n\nfunction renderHtmlAttributes(props: Record<string, unknown>): string {\n // Issue 078: <meta http-equiv=\"refresh\" content=\"0;url=javascript:...\">\n // is URL-bearing only when http-equiv is \"refresh\", so we need both\n // attributes in scope to make the call. Strip the unsafe content\n // before per-attribute rendering.\n const sanitizedProps = sanitizeMetaRefreshProps(props);\n return Object.entries(sanitizedProps)\n .map(([name, value]) => renderHtmlAttribute(name, value))\n .filter((attribute) => attribute !== \"\")\n .join(\"\");\n}\n\nfunction sanitizeMetaRefreshProps(\n props: Record<string, unknown>,\n): Record<string, unknown> {\n const httpEquiv = props[\"http-equiv\"] ?? props.httpEquiv;\n const content = props[\"content\"];\n if (typeof httpEquiv !== \"string\" || typeof content !== \"string\") return props;\n if (!isUnsafeMetaRefreshContent(httpEquiv, content)) return props;\n // Drop only `content`; keep http-equiv so the developer's intent is\n // still visible in the rendered HTML (debugging hint).\n const sanitized = { ...props };\n delete sanitized[\"content\"];\n return sanitized;\n}\n\n// Mirrors `isAttributeNameSafe` in react-dom: an attribute name must start with\n// an ASCII letter (or underscore) and contain only word chars, dot, hyphen, or\n// colon. Anything else is dropped to prevent SSR XSS via spread props\n// (`<div {...userControlled} />`). See docs/issues/resolved Issue 060.\nconst VALID_ATTRIBUTE_NAME = /^[A-Za-z_][\\w.\\-:]*$/;\n\n// URL scheme allow/block list is shared with the compiler emit paths\n// (Issues 062 / 073). See packages/server/src/url-safety.ts.\n\nfunction renderHtmlAttribute(name: string, value: unknown): string {\n if (\n name === \"children\" ||\n name === \"dangerouslySetInnerHTML\" ||\n name === \"key\" ||\n name === \"ref\" ||\n value === false ||\n value === null ||\n value === undefined ||\n typeof value === \"function\"\n ) {\n return \"\";\n }\n\n const attributeName = toHtmlAttributeName(name);\n\n if (!VALID_ATTRIBUTE_NAME.test(attributeName)) {\n return \"\";\n }\n\n // Issue 077: HTML-bearing attributes (`srcdoc`) require the explicit\n // `{ __html: \"...\" }` opt-in. A plain string value -- even if escaped\n // for the attribute syntax -- decodes back to executable HTML inside\n // the iframe document with the parent's origin.\n if (isDangerousHtmlAttribute(attributeName)) {\n if (!isDangerousHtmlOptIn(value)) {\n return \"\";\n }\n return ` ${attributeName}=\"${escapeAttribute(value.__html)}\"`;\n }\n\n if (value === true) {\n return ` ${attributeName}`;\n }\n\n const stringValue = String(value);\n\n if (isUnsafeUrlAttribute(attributeName, stringValue)) {\n return \"\";\n }\n\n return ` ${attributeName}=\"${escapeAttribute(stringValue)}\"`;\n}\n\nfunction toHtmlAttributeName(name: string): string {\n return HTML_ATTRIBUTE_ALIASES[name] ?? name;\n}\n\nconst HTML_ATTRIBUTE_ALIASES: Record<string, string> = {\n acceptCharset: \"accept-charset\",\n autoFocus: \"autofocus\",\n autoPlay: \"autoplay\",\n charSet: \"charset\",\n className: \"class\",\n colSpan: \"colspan\",\n contentEditable: \"contenteditable\",\n crossOrigin: \"crossorigin\",\n encType: \"enctype\",\n formAction: \"formaction\",\n frameBorder: \"frameborder\",\n htmlFor: \"for\",\n httpEquiv: \"http-equiv\",\n maxLength: \"maxlength\",\n minLength: \"minlength\",\n noValidate: \"novalidate\",\n playsInline: \"playsinline\",\n readOnly: \"readonly\",\n rowSpan: \"rowspan\",\n spellCheck: \"spellcheck\",\n srcDoc: \"srcdoc\",\n srcSet: \"srcset\",\n tabIndex: \"tabindex\",\n useMap: \"usemap\",\n};\n\nfunction isPromiseLikeNode(value: unknown): value is PromiseLike<unknown> {\n return isPromiseLikeUnknown(value);\n}\n\nfunction isPromiseLikeString(value: unknown): value is PromiseLike<string> {\n return isPromiseLikeUnknown(value);\n}\n\nfunction isPromiseLike(value: unknown): value is PromiseLike<void> {\n return isPromiseLikeUnknown(value);\n}\n"]}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare function escapeAttribute(value: string): string;
|
|
2
|
+
export declare function serializeScriptJson(value: unknown): string;
|
|
3
|
+
export declare function renderNonceAttribute(nonce: string | undefined): string;
|
|
4
|
+
export declare function isPromiseLikeUnknown(value: unknown): value is PromiseLike<unknown>;
|
|
5
|
+
//# sourceMappingURL=html-internals.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"html-internals.d.ts","sourceRoot":"","sources":["../src/html-internals.ts"],"names":[],"mappings":"AAAA,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMrD;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAK1D;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAEtE;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,WAAW,CAAC,OAAO,CAAC,CAOlF"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export function escapeAttribute(value) {
|
|
2
|
+
return value
|
|
3
|
+
.replaceAll("&", "&")
|
|
4
|
+
.replaceAll('"', """)
|
|
5
|
+
.replaceAll("<", "<")
|
|
6
|
+
.replaceAll(">", ">");
|
|
7
|
+
}
|
|
8
|
+
export function serializeScriptJson(value) {
|
|
9
|
+
return JSON.stringify(value)
|
|
10
|
+
.replaceAll("<", "\\u003c")
|
|
11
|
+
.replaceAll("\u2028", "\\u2028")
|
|
12
|
+
.replaceAll("\u2029", "\\u2029");
|
|
13
|
+
}
|
|
14
|
+
export function renderNonceAttribute(nonce) {
|
|
15
|
+
return nonce === undefined ? "" : ` nonce="${escapeAttribute(nonce)}"`;
|
|
16
|
+
}
|
|
17
|
+
export function isPromiseLikeUnknown(value) {
|
|
18
|
+
return (typeof value === "object" &&
|
|
19
|
+
value !== null &&
|
|
20
|
+
"then" in value &&
|
|
21
|
+
typeof value.then === "function");
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=html-internals.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"html-internals.js","sourceRoot":"","sources":["../src/html-internals.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,OAAO,KAAK;SACT,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC;SACxB,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC;SACzB,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC;SACvB,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAc;IAChD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;SACzB,UAAU,CAAC,GAAG,EAAE,SAAS,CAAC;SAC1B,UAAU,CAAC,QAAQ,EAAE,SAAS,CAAC;SAC/B,UAAU,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAyB;IAC5D,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAc;IACjD,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,MAAM,IAAI,KAAK;QACf,OAAQ,KAA4B,CAAC,IAAI,KAAK,UAAU,CACzD,CAAC;AACJ,CAAC","sourcesContent":["export function escapeAttribute(value: string): string {\n return value\n .replaceAll(\"&\", \"&\")\n .replaceAll('\"', \""\")\n .replaceAll(\"<\", \"<\")\n .replaceAll(\">\", \">\");\n}\n\nexport function serializeScriptJson(value: unknown): string {\n return JSON.stringify(value)\n .replaceAll(\"<\", \"\\\\u003c\")\n .replaceAll(\"\\u2028\", \"\\\\u2028\")\n .replaceAll(\"\\u2029\", \"\\\\u2029\");\n}\n\nexport function renderNonceAttribute(nonce: string | undefined): string {\n return nonce === undefined ? \"\" : ` nonce=\"${escapeAttribute(nonce)}\"`;\n}\n\nexport function isPromiseLikeUnknown(value: unknown): value is PromiseLike<unknown> {\n return (\n typeof value === \"object\" &&\n value !== null &&\n \"then\" in value &&\n typeof (value as { then?: unknown }).then === \"function\"\n );\n}\n"]}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,96 +1,19 @@
|
|
|
1
1
|
export { Fragment } from "@reckona/mreact-compat";
|
|
2
2
|
export type { ReactCompatNode } from "@reckona/mreact-compat";
|
|
3
|
-
export
|
|
4
|
-
append(chunk: string): void;
|
|
5
|
-
backpressure?(): Promise<void>;
|
|
6
|
-
defer?(task: PromiseLike<void>): void;
|
|
7
|
-
signal?: AbortSignal;
|
|
8
|
-
}
|
|
3
|
+
export type { HtmlSink } from "@reckona/mreact-shared/compiler-contract";
|
|
9
4
|
export { CLIENT_REFERENCE_TYPE, SERVER_REFERENCE_TYPE, createClientReference, createFlightClientManifest, createServerReference, createServerActionHandler, fromReactFlightRows, getReactFlightProtocolCoverage, isClientReference, isServerReference, mergeReactFlightRows, renderFlightPreloadLinks, renderFlightResponseScript, renderToFlightResponse, stringifyFlightResponse, toReactFlightRows, } from "./flight.js";
|
|
10
5
|
export type { ClientReference, FlightClientManifestEntry, FlightClientReference, FlightClientReferenceInput, FlightClientReferenceModel, FlightDataViewModel, FlightElementModel, FlightFormDataModel, FlightIterableModel, FlightModel, FlightResponse, FlightScriptOptions, FlightServerReference, FlightServerReferenceModel, FlightArrayBufferModel, FlightTypedArrayModel, FlightTypedArrayName, ServerAction, ServerActionDescriptor, ServerActionHandlerOptions, ServerActionRegistry, ServerActionReplayStore, ServerActionRequestReference, ServerActionValidationResult, ServerReference, } from "./flight.js";
|
|
11
|
-
export
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
}
|
|
16
|
-
export type
|
|
17
|
-
export
|
|
18
|
-
|
|
19
|
-
arrayJoinThreshold?: number;
|
|
20
|
-
}
|
|
21
|
-
export type StreamRender = (sink: HtmlSink) => void | PromiseLike<void>;
|
|
22
|
-
export interface RenderToReadableStreamOptions {
|
|
23
|
-
logAbortedDeferredErrors?: boolean;
|
|
24
|
-
}
|
|
25
|
-
export interface AsyncBoundaryOptions {
|
|
26
|
-
catch?: (sink: HtmlSink, error: unknown) => void | PromiseLike<void>;
|
|
27
|
-
hydrationAwaitId?: string;
|
|
28
|
-
}
|
|
29
|
-
export interface OutOfOrderBoundaryOptions extends AsyncBoundaryOptions {
|
|
30
|
-
hydration?: boolean;
|
|
31
|
-
placeholder?: (sink: HtmlSink) => void | PromiseLike<void>;
|
|
32
|
-
placeholderTag?: string;
|
|
33
|
-
}
|
|
34
|
-
export interface OutOfOrderReorderScriptOptions {
|
|
35
|
-
nonce?: string;
|
|
36
|
-
src?: string;
|
|
37
|
-
}
|
|
38
|
-
export interface HydrationScriptOptions {
|
|
39
|
-
nonce?: string;
|
|
40
|
-
}
|
|
41
|
-
export interface ReactSuspenseScriptOptions {
|
|
42
|
-
nonce?: string;
|
|
43
|
-
src?: string;
|
|
44
|
-
}
|
|
45
|
-
export interface ReactSuspenseBoundaryOptions extends AsyncBoundaryOptions {
|
|
46
|
-
fallback?: (sink: HtmlSink) => void | PromiseLike<void>;
|
|
47
|
-
nonce?: string;
|
|
48
|
-
}
|
|
49
|
-
export interface ReactSuspenseClientRenderOptions {
|
|
50
|
-
message?: string;
|
|
51
|
-
stack?: string;
|
|
52
|
-
}
|
|
53
|
-
export interface ScriptAssetOptions {
|
|
54
|
-
src: string;
|
|
55
|
-
nonce?: string;
|
|
56
|
-
integrity?: string;
|
|
57
|
-
crossOrigin?: "anonymous" | "use-credentials";
|
|
58
|
-
}
|
|
59
|
-
export interface EventHydrationEntry {
|
|
60
|
-
id: string;
|
|
61
|
-
event: string;
|
|
62
|
-
handler: string;
|
|
63
|
-
}
|
|
64
|
-
export interface EventHydrationManifest {
|
|
65
|
-
version: 1;
|
|
66
|
-
events: EventHydrationEntry[];
|
|
67
|
-
}
|
|
68
|
-
export interface HtmlResponseOptions {
|
|
69
|
-
headers?: HeadersInit;
|
|
70
|
-
status?: number;
|
|
71
|
-
statusText?: string;
|
|
72
|
-
}
|
|
6
|
+
export { createStringSink, } from "./sink.js";
|
|
7
|
+
export type { StreamRender, StringHtmlSink, StringSinkBufferStrategy, StringSinkOptions, } from "./sink.js";
|
|
8
|
+
export { renderToReadableStream, } from "./stream.js";
|
|
9
|
+
export type { RenderToReadableStreamOptions, } from "./stream.js";
|
|
10
|
+
export { reactSuspenseRevealExternalScript, renderAsyncBoundary, renderHydrationBoundary, renderOutOfOrderBoundary, renderOutOfOrderReorderScript, renderReactSuspenseBoundary, renderReactSuspenseClientRenderBoundary, renderReactSuspenseOutOfOrderBoundary, } from "./boundary.js";
|
|
11
|
+
export type { AsyncBoundaryOptions, AsyncBoundaryRender, HydrationScriptOptions, OutOfOrderBoundaryOptions, OutOfOrderReorderScriptOptions, ReactSuspenseBoundaryOptions, ReactSuspenseClientRenderOptions, ReactSuspenseScriptOptions, } from "./boundary.js";
|
|
12
|
+
export { createEventHydrationManifest, html, renderEventHydrationManifest, renderScriptAsset, renderSsrState, renderToString, serializeSsrState, } from "./html-helpers.js";
|
|
13
|
+
export type { EventHydrationEntry, EventHydrationManifest, HtmlResponseOptions, ScriptAssetOptions, } from "./html-helpers.js";
|
|
73
14
|
export interface SuspenseProps extends Record<string, unknown> {
|
|
74
15
|
fallback?: unknown;
|
|
75
16
|
children?: unknown;
|
|
76
17
|
}
|
|
77
|
-
export type AsyncBoundaryRender<T> = (sink: HtmlSink, value: Awaited<T>) => void | PromiseLike<void>;
|
|
78
18
|
export declare function Suspense(props: SuspenseProps): never;
|
|
79
|
-
export declare function createStringSink(options?: StringSinkOptions): StringHtmlSink;
|
|
80
|
-
export declare function renderAsyncBoundary<T>(sink: HtmlSink, value: T, render: AsyncBoundaryRender<T>, options?: AsyncBoundaryOptions): Promise<void>;
|
|
81
|
-
export declare function renderOutOfOrderBoundary<T>(sink: HtmlSink, id: string, value: T, render: AsyncBoundaryRender<T>, options?: OutOfOrderBoundaryOptions): void;
|
|
82
|
-
export declare function renderOutOfOrderReorderScript(sink: HtmlSink, options?: OutOfOrderReorderScriptOptions): void;
|
|
83
|
-
export declare function renderReactSuspenseBoundary(sink: HtmlSink, render: (sink: HtmlSink) => void | PromiseLike<void>): void | PromiseLike<void>;
|
|
84
|
-
export declare function renderReactSuspenseOutOfOrderBoundary<T>(sink: HtmlSink, boundaryId: string, segmentId: string, value: T, render: AsyncBoundaryRender<T>, options?: ReactSuspenseBoundaryOptions): void;
|
|
85
|
-
export declare function renderReactSuspenseClientRenderBoundary(sink: HtmlSink, fallback: (sink: HtmlSink) => void | PromiseLike<void>, options?: ReactSuspenseClientRenderOptions): void | PromiseLike<void>;
|
|
86
|
-
export declare function renderHydrationBoundary(sink: HtmlSink, id: string, render: (sink: HtmlSink) => void | PromiseLike<void>): void | PromiseLike<void>;
|
|
87
|
-
export declare function serializeSsrState(value: unknown): string;
|
|
88
|
-
export declare function renderSsrState(sink: HtmlSink, value: unknown, options?: HydrationScriptOptions): void;
|
|
89
|
-
export declare function createEventHydrationManifest(events: readonly EventHydrationEntry[]): EventHydrationManifest;
|
|
90
|
-
export declare function renderEventHydrationManifest(sink: HtmlSink, manifest: EventHydrationManifest, options?: HydrationScriptOptions): void;
|
|
91
|
-
export declare function renderScriptAsset(sink: HtmlSink, options: ScriptAssetOptions): void;
|
|
92
|
-
export declare function html(node: unknown, options?: HtmlResponseOptions): Response;
|
|
93
|
-
export declare function renderToString(render: StreamRender): Promise<string>;
|
|
94
|
-
export declare function renderToReadableStream(render: StreamRender, options?: RenderToReadableStreamOptions): ReadableStream<Uint8Array>;
|
|
95
|
-
export declare const reactSuspenseRevealExternalScript = "(()=>{(self.$RC=self.$RC||function(bid,sid){var b=document.getElementById(bid);var s=document.getElementById(sid);if(!b||!s)return;var p=b.parentNode;var e=b.nextSibling;var d=0;var r=[];for(var n=e;n;n=n.nextSibling){if(n.nodeType===8){if(n.data===\"$\"||n.data===\"$?\"||n.data===\"$!\")d++;else if(n.data===\"/$\"){if(d===0){e=n;break;}d--;}}r.push(n);}for(var i=0;r[i];i++)p.removeChild(r[i]);while(s.firstChild)p.insertBefore(s.firstChild,e);s.remove();b.data=\"$\";});var s=document.currentScript;if(!s)return;var b=s.getAttribute(\"data-boundary-id\");var seg=s.getAttribute(\"data-segment-id\");if(b!==null&&seg!==null)self.$RC(b,seg);})();";
|
|
96
19
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,YAAY,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,YAAY,EAAE,QAAQ,EAAE,MAAM,0CAA0C,CAAC;AAEzE,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,0BAA0B,EAC1B,qBAAqB,EACrB,yBAAyB,EACzB,mBAAmB,EACnB,8BAA8B,EAC9B,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,wBAAwB,EACxB,0BAA0B,EAC1B,sBAAsB,EACtB,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,eAAe,EACf,yBAAyB,EACzB,qBAAqB,EACrB,0BAA0B,EAC1B,0BAA0B,EAC1B,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,EACX,cAAc,EACd,mBAAmB,EACnB,qBAAqB,EACrB,0BAA0B,EAC1B,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,EACpB,YAAY,EACZ,sBAAsB,EACtB,0BAA0B,EAC1B,oBAAoB,EACpB,uBAAuB,EACvB,4BAA4B,EAC5B,4BAA4B,EAC5B,eAAe,GAChB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,gBAAgB,GACjB,MAAM,WAAW,CAAC;AACnB,YAAY,EACV,YAAY,EACZ,cAAc,EACd,wBAAwB,EACxB,iBAAiB,GAClB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,sBAAsB,GACvB,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,6BAA6B,GAC9B,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,iCAAiC,EACjC,mBAAmB,EACnB,uBAAuB,EACvB,wBAAwB,EACxB,6BAA6B,EAC7B,2BAA2B,EAC3B,uCAAuC,EACvC,qCAAqC,GACtC,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,EACtB,yBAAyB,EACzB,8BAA8B,EAC9B,4BAA4B,EAC5B,gCAAgC,EAChC,0BAA0B,GAC3B,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,4BAA4B,EAC5B,IAAI,EACJ,4BAA4B,EAC5B,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,WAAW,aAAc,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC5D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,KAAK,CAYpD"}
|