houdini-react 1.2.24 → 1.2.26

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.
Files changed (128) hide show
  1. package/build/plugin-cjs/index.js +1308 -1407
  2. package/build/plugin-esm/index.js +1308 -1407
  3. package/build/runtime/index.d.ts +2 -1
  4. package/build/runtime/routing/Router.d.ts +2 -1
  5. package/build/runtime/server/index.d.ts +17 -0
  6. package/build/runtime/server/renderToStream/createBuffer.d.ts +17 -0
  7. package/build/runtime/server/renderToStream/createPipeWrapper.d.ts +12 -0
  8. package/build/runtime/server/renderToStream/createReadableWrapper.d.ts +6 -0
  9. package/build/runtime/server/renderToStream/loadNodeStreamModule.d.ts +10 -0
  10. package/build/runtime/server/renderToStream/resolveSeoStrategy.d.ts +9 -0
  11. package/build/runtime/server/renderToStream.d.ts +28 -0
  12. package/build/runtime/server/shared/initData.d.ts +8 -0
  13. package/build/runtime/server/shared/key.d.ts +4 -0
  14. package/build/runtime/server/shared/utils.d.ts +3 -0
  15. package/build/runtime/server/useStream.d.ts +9 -0
  16. package/build/runtime/server/utils/assert.d.ts +15 -0
  17. package/build/runtime/server/utils/createErrorWithCleanStackTrace.d.ts +2 -0
  18. package/build/runtime/server/utils/debug.d.ts +14 -0
  19. package/build/runtime/server/utils/getGlobalVariable.d.ts +4 -0
  20. package/build/runtime/server/utils/isBrowser.d.ts +2 -0
  21. package/build/runtime/server/utils/isCallable.d.ts +2 -0
  22. package/build/runtime/server/utils/isClientSide.d.ts +2 -0
  23. package/build/runtime/server/utils/isPromise.d.ts +1 -0
  24. package/build/runtime/server/utils/isServerSide.d.ts +2 -0
  25. package/build/runtime/server/utils/objectAssign.d.ts +2 -0
  26. package/build/runtime/server/utils/projectInfo.d.ts +10 -0
  27. package/build/runtime/server/utils.d.ts +4 -0
  28. package/build/runtime-cjs/index.d.ts +2 -1
  29. package/build/runtime-cjs/index.js +11 -2
  30. package/build/runtime-cjs/routing/Router.d.ts +2 -1
  31. package/build/runtime-cjs/routing/Router.js +8 -7
  32. package/build/runtime-cjs/server/index.d.ts +17 -0
  33. package/build/runtime-cjs/server/index.js +28 -0
  34. package/build/runtime-cjs/server/renderToStream/createBuffer.d.ts +17 -0
  35. package/build/runtime-cjs/server/renderToStream/createBuffer.js +101 -0
  36. package/build/runtime-cjs/server/renderToStream/createPipeWrapper.d.ts +12 -0
  37. package/build/runtime-cjs/server/renderToStream/createPipeWrapper.js +90 -0
  38. package/build/runtime-cjs/server/renderToStream/createReadableWrapper.d.ts +6 -0
  39. package/build/runtime-cjs/server/renderToStream/createReadableWrapper.js +85 -0
  40. package/build/runtime-cjs/server/renderToStream/loadNodeStreamModule.d.ts +10 -0
  41. package/build/runtime-cjs/server/renderToStream/loadNodeStreamModule.js +51 -0
  42. package/build/runtime-cjs/server/renderToStream/resolveSeoStrategy.d.ts +9 -0
  43. package/build/runtime-cjs/server/renderToStream/resolveSeoStrategy.js +44 -0
  44. package/build/runtime-cjs/server/renderToStream.d.ts +28 -0
  45. package/build/runtime-cjs/server/renderToStream.js +183 -0
  46. package/build/runtime-cjs/server/shared/initData.d.ts +8 -0
  47. package/build/runtime-cjs/server/shared/initData.js +28 -0
  48. package/build/runtime-cjs/server/shared/key.d.ts +4 -0
  49. package/build/runtime-cjs/server/shared/key.js +45 -0
  50. package/build/runtime-cjs/server/shared/utils.d.ts +3 -0
  51. package/build/runtime-cjs/server/shared/utils.js +20 -0
  52. package/build/runtime-cjs/server/useStream.d.ts +9 -0
  53. package/build/runtime-cjs/server/useStream.js +44 -0
  54. package/build/runtime-cjs/server/utils/assert.d.ts +15 -0
  55. package/build/runtime-cjs/server/utils/assert.js +119 -0
  56. package/build/runtime-cjs/server/utils/createErrorWithCleanStackTrace.d.ts +2 -0
  57. package/build/runtime-cjs/server/utils/createErrorWithCleanStackTrace.js +62 -0
  58. package/build/runtime-cjs/server/utils/debug.d.ts +14 -0
  59. package/build/runtime-cjs/server/utils/debug.js +112 -0
  60. package/build/runtime-cjs/server/utils/getGlobalVariable.d.ts +4 -0
  61. package/build/runtime-cjs/server/utils/getGlobalVariable.js +32 -0
  62. package/build/runtime-cjs/server/utils/isBrowser.d.ts +2 -0
  63. package/build/runtime-cjs/server/utils/isBrowser.js +30 -0
  64. package/build/runtime-cjs/server/utils/isCallable.d.ts +2 -0
  65. package/build/runtime-cjs/server/utils/isCallable.js +30 -0
  66. package/build/runtime-cjs/server/utils/isClientSide.d.ts +2 -0
  67. package/build/runtime-cjs/server/utils/isClientSide.js +30 -0
  68. package/build/runtime-cjs/server/utils/isPromise.d.ts +1 -0
  69. package/build/runtime-cjs/server/utils/isPromise.js +31 -0
  70. package/build/runtime-cjs/server/utils/isServerSide.d.ts +2 -0
  71. package/build/runtime-cjs/server/utils/isServerSide.js +31 -0
  72. package/build/runtime-cjs/server/utils/objectAssign.d.ts +2 -0
  73. package/build/runtime-cjs/server/utils/objectAssign.js +30 -0
  74. package/build/runtime-cjs/server/utils/projectInfo.d.ts +10 -0
  75. package/build/runtime-cjs/server/utils/projectInfo.js +37 -0
  76. package/build/runtime-cjs/server/utils.d.ts +4 -0
  77. package/build/runtime-cjs/server/utils.js +21 -0
  78. package/build/runtime-esm/index.d.ts +2 -1
  79. package/build/runtime-esm/index.js +11 -2
  80. package/build/runtime-esm/routing/Router.d.ts +2 -1
  81. package/build/runtime-esm/routing/Router.js +8 -7
  82. package/build/runtime-esm/server/index.d.ts +17 -0
  83. package/build/runtime-esm/server/index.js +4 -0
  84. package/build/runtime-esm/server/renderToStream/createBuffer.d.ts +17 -0
  85. package/build/runtime-esm/server/renderToStream/createBuffer.js +77 -0
  86. package/build/runtime-esm/server/renderToStream/createPipeWrapper.d.ts +12 -0
  87. package/build/runtime-esm/server/renderToStream/createPipeWrapper.js +66 -0
  88. package/build/runtime-esm/server/renderToStream/createReadableWrapper.d.ts +6 -0
  89. package/build/runtime-esm/server/renderToStream/createReadableWrapper.js +61 -0
  90. package/build/runtime-esm/server/renderToStream/loadNodeStreamModule.d.ts +10 -0
  91. package/build/runtime-esm/server/renderToStream/loadNodeStreamModule.js +20 -0
  92. package/build/runtime-esm/server/renderToStream/resolveSeoStrategy.d.ts +9 -0
  93. package/build/runtime-esm/server/renderToStream/resolveSeoStrategy.js +20 -0
  94. package/build/runtime-esm/server/renderToStream.d.ts +28 -0
  95. package/build/runtime-esm/server/renderToStream.js +152 -0
  96. package/build/runtime-esm/server/shared/initData.d.ts +8 -0
  97. package/build/runtime-esm/server/shared/initData.js +4 -0
  98. package/build/runtime-esm/server/shared/key.d.ts +4 -0
  99. package/build/runtime-esm/server/shared/key.js +20 -0
  100. package/build/runtime-esm/server/shared/utils.d.ts +3 -0
  101. package/build/runtime-esm/server/shared/utils.js +3 -0
  102. package/build/runtime-esm/server/useStream.d.ts +9 -0
  103. package/build/runtime-esm/server/useStream.js +13 -0
  104. package/build/runtime-esm/server/utils/assert.d.ts +15 -0
  105. package/build/runtime-esm/server/utils/assert.js +91 -0
  106. package/build/runtime-esm/server/utils/createErrorWithCleanStackTrace.d.ts +2 -0
  107. package/build/runtime-esm/server/utils/createErrorWithCleanStackTrace.js +38 -0
  108. package/build/runtime-esm/server/utils/debug.d.ts +14 -0
  109. package/build/runtime-esm/server/utils/debug.js +87 -0
  110. package/build/runtime-esm/server/utils/getGlobalVariable.d.ts +4 -0
  111. package/build/runtime-esm/server/utils/getGlobalVariable.js +8 -0
  112. package/build/runtime-esm/server/utils/isBrowser.d.ts +2 -0
  113. package/build/runtime-esm/server/utils/isBrowser.js +6 -0
  114. package/build/runtime-esm/server/utils/isCallable.d.ts +2 -0
  115. package/build/runtime-esm/server/utils/isCallable.js +6 -0
  116. package/build/runtime-esm/server/utils/isClientSide.d.ts +2 -0
  117. package/build/runtime-esm/server/utils/isClientSide.js +6 -0
  118. package/build/runtime-esm/server/utils/isPromise.d.ts +1 -0
  119. package/build/runtime-esm/server/utils/isPromise.js +7 -0
  120. package/build/runtime-esm/server/utils/isServerSide.d.ts +2 -0
  121. package/build/runtime-esm/server/utils/isServerSide.js +7 -0
  122. package/build/runtime-esm/server/utils/objectAssign.d.ts +2 -0
  123. package/build/runtime-esm/server/utils/objectAssign.js +6 -0
  124. package/build/runtime-esm/server/utils/projectInfo.d.ts +10 -0
  125. package/build/runtime-esm/server/utils/projectInfo.js +13 -0
  126. package/build/runtime-esm/server/utils.d.ts +4 -0
  127. package/build/runtime-esm/server/utils.js +4 -0
  128. package/package.json +4 -4
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var createReadableWrapper_exports = {};
20
+ __export(createReadableWrapper_exports, {
21
+ createReadableWrapper: () => createReadableWrapper
22
+ });
23
+ module.exports = __toCommonJS(createReadableWrapper_exports);
24
+ var import_createBuffer = require("./createBuffer");
25
+ function createReadableWrapper(readableFromReact) {
26
+ const streamOperations = {
27
+ operations: null
28
+ };
29
+ let controllerOfUserStream;
30
+ let onEnded;
31
+ const streamEnd = new Promise((r) => {
32
+ onEnded = () => r();
33
+ });
34
+ const readableForUser = new ReadableStream({
35
+ start(controller) {
36
+ controllerOfUserStream = controller;
37
+ onReady(onEnded);
38
+ }
39
+ });
40
+ const { injectToStream, onBeforeWrite, onBeforeEnd } = (0, import_createBuffer.createBuffer)(streamOperations);
41
+ return { readableForUser, streamEnd, injectToStream };
42
+ async function onReady(onEnded2) {
43
+ streamOperations.operations = {
44
+ writeChunk(chunk) {
45
+ controllerOfUserStream.enqueue(encodeForWebStream(chunk));
46
+ },
47
+ flush: null
48
+ };
49
+ const reader = readableFromReact.getReader();
50
+ while (true) {
51
+ let result;
52
+ try {
53
+ result = await reader.read();
54
+ } catch (err) {
55
+ controllerOfUserStream.close();
56
+ throw err;
57
+ }
58
+ const { value, done } = result;
59
+ if (done) {
60
+ break;
61
+ }
62
+ onBeforeWrite(value);
63
+ streamOperations.operations.writeChunk(value);
64
+ }
65
+ setTimeout(() => {
66
+ onBeforeEnd();
67
+ controllerOfUserStream.close();
68
+ onEnded2();
69
+ }, 0);
70
+ }
71
+ }
72
+ let encoder;
73
+ function encodeForWebStream(thing) {
74
+ if (!encoder) {
75
+ encoder = new TextEncoder();
76
+ }
77
+ if (typeof thing === "string") {
78
+ return encoder.encode(thing);
79
+ }
80
+ return thing;
81
+ }
82
+ // Annotate the CommonJS export names for ESM import in node:
83
+ 0 && (module.exports = {
84
+ createReadableWrapper
85
+ });
@@ -0,0 +1,10 @@
1
+ /// <reference types="node" />
2
+ import type { Readable as StreamNodeReadable, Writable as StreamNodeWritable } from 'stream';
3
+ export { loadNodeStreamModule };
4
+ export { nodeStreamModuleIsAvailable };
5
+ type StreamModule = {
6
+ Readable: typeof StreamNodeReadable;
7
+ Writable: typeof StreamNodeWritable;
8
+ };
9
+ declare function loadNodeStreamModule(): Promise<StreamModule>;
10
+ declare function nodeStreamModuleIsAvailable(): Promise<boolean>;
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
+ mod
23
+ ));
24
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
25
+ var loadNodeStreamModule_exports = {};
26
+ __export(loadNodeStreamModule_exports, {
27
+ loadNodeStreamModule: () => loadNodeStreamModule,
28
+ nodeStreamModuleIsAvailable: () => nodeStreamModuleIsAvailable
29
+ });
30
+ module.exports = __toCommonJS(loadNodeStreamModule_exports);
31
+ async function loadNodeStreamModule() {
32
+ const streamModule = await loadModule();
33
+ const { Readable, Writable } = streamModule;
34
+ return { Readable, Writable };
35
+ }
36
+ async function nodeStreamModuleIsAvailable() {
37
+ try {
38
+ await loadModule();
39
+ return true;
40
+ } catch (err) {
41
+ return false;
42
+ }
43
+ }
44
+ function loadModule() {
45
+ return import("stream");
46
+ }
47
+ // Annotate the CommonJS export names for ESM import in node:
48
+ 0 && (module.exports = {
49
+ loadNodeStreamModule,
50
+ nodeStreamModuleIsAvailable
51
+ });
@@ -0,0 +1,9 @@
1
+ export { resolveSeoStrategy };
2
+ export type { SeoStrategy };
3
+ type SeoStrategy = 'conservative' | 'google-speed';
4
+ declare function resolveSeoStrategy(options?: {
5
+ seoStrategy?: SeoStrategy;
6
+ userAgent?: string;
7
+ }): {
8
+ disableStream: boolean;
9
+ };
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var resolveSeoStrategy_exports = {};
20
+ __export(resolveSeoStrategy_exports, {
21
+ resolveSeoStrategy: () => resolveSeoStrategy
22
+ });
23
+ module.exports = __toCommonJS(resolveSeoStrategy_exports);
24
+ var import_utils = require("../utils");
25
+ function resolveSeoStrategy(options = {}) {
26
+ const seoStrategy = options.seoStrategy || "conservative";
27
+ if (!options.userAgent) {
28
+ (0, import_utils.assertWarning)(
29
+ false,
30
+ "Streaming disabled. Provide `options.userAgent` to enable streaming. (react-streaming needs the User Agent string in order to be able to disable streaming for bots, e.g. for Google Bot.) Or set `options.disable` to `true` to get rid of this warning.",
31
+ { onlyOnce: true }
32
+ );
33
+ return { disableStream: true };
34
+ }
35
+ const isGoogleBot = options.userAgent.toLowerCase().includes("googlebot");
36
+ if (seoStrategy === "google-speed" && isGoogleBot) {
37
+ return { disableStream: false };
38
+ }
39
+ return { disableStream: true };
40
+ }
41
+ // Annotate the CommonJS export names for ESM import in node:
42
+ 0 && (module.exports = {
43
+ resolveSeoStrategy
44
+ });
@@ -0,0 +1,28 @@
1
+ import React from 'react';
2
+ import type { renderToPipeableStream as RenderToPipeableStream, renderToReadableStream as RenderToReadableStream } from 'react-dom/server';
3
+ import { Pipe } from './renderToStream/createPipeWrapper';
4
+ import { SeoStrategy } from './renderToStream/resolveSeoStrategy';
5
+ export { renderToStream };
6
+ export { disable };
7
+ type Options = {
8
+ webStream?: boolean;
9
+ disable?: boolean;
10
+ seoStrategy?: SeoStrategy;
11
+ userAgent?: string;
12
+ onBoundaryError?: (err: unknown) => void;
13
+ renderToReadableStream?: typeof RenderToReadableStream;
14
+ renderToPipeableStream?: typeof RenderToPipeableStream;
15
+ };
16
+ type Result = ({
17
+ pipe: Pipe;
18
+ readable: null;
19
+ } | {
20
+ pipe: null;
21
+ readable: ReadableStream;
22
+ }) & {
23
+ streamEnd: Promise<boolean>;
24
+ disabled: boolean;
25
+ injectToStream: (chunk: unknown) => void;
26
+ };
27
+ declare function disable(): void;
28
+ declare function renderToStream(element: React.ReactNode, options?: Options): Promise<Result>;
@@ -0,0 +1,183 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
+ mod
23
+ ));
24
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
25
+ var renderToStream_exports = {};
26
+ __export(renderToStream_exports, {
27
+ disable: () => disable,
28
+ renderToStream: () => renderToStream
29
+ });
30
+ module.exports = __toCommonJS(renderToStream_exports);
31
+ var import_react = __toESM(require("react"));
32
+ var import_createPipeWrapper = require("./renderToStream/createPipeWrapper");
33
+ var import_createReadableWrapper = require("./renderToStream/createReadableWrapper");
34
+ var import_loadNodeStreamModule = require("./renderToStream/loadNodeStreamModule");
35
+ var import_resolveSeoStrategy = require("./renderToStream/resolveSeoStrategy");
36
+ var import_utils = require("./utils");
37
+ const debug = (0, import_utils.createDebugger)("react-streaming:flow");
38
+ const globalConfig = globalThis.__react_streaming = globalThis.__react_streaming || {
39
+ disable: false
40
+ };
41
+ function disable() {
42
+ globalConfig.disable = true;
43
+ }
44
+ async function renderToStream(element, options = {}) {
45
+ const buffer = [];
46
+ let injectToStream = (chunk) => buffer.push(chunk);
47
+ element = import_react.default.cloneElement(element, { injectToStream });
48
+ const disable2 = globalConfig.disable || (options.disable ?? (0, import_resolveSeoStrategy.resolveSeoStrategy)(options).disableStream);
49
+ const webStream = options.webStream ?? !await (0, import_loadNodeStreamModule.nodeStreamModuleIsAvailable)();
50
+ debug(`disable === ${disable2} && webStream === ${webStream}`);
51
+ let result;
52
+ const resultPartial = { disabled: disable2 };
53
+ if (!webStream) {
54
+ result = { ...resultPartial, ...await renderToNodeStream(element, disable2, options) };
55
+ } else {
56
+ result = { ...resultPartial, ...await renderToWebStream(element, disable2, options) };
57
+ }
58
+ injectToStream = result.injectToStream;
59
+ buffer.forEach((chunk) => injectToStream(chunk));
60
+ buffer.length = 0;
61
+ debug("promise `await renderToStream()` resolved");
62
+ return result;
63
+ }
64
+ async function renderToNodeStream(element, disable2, options) {
65
+ debug("creating Node.js Stream Pipe");
66
+ let onAllReady;
67
+ const allReady = new Promise((r) => {
68
+ onAllReady = () => r();
69
+ });
70
+ let onShellReady;
71
+ const shellReady = new Promise((r) => {
72
+ onShellReady = () => r();
73
+ });
74
+ let didError = false;
75
+ let firstErr = null;
76
+ let reactBug = null;
77
+ const onError = (err) => {
78
+ debug("[react] onError() / onShellError()");
79
+ didError = true;
80
+ firstErr ??= err;
81
+ onShellReady();
82
+ afterReactBugCatch(() => {
83
+ if (err !== reactBug) {
84
+ options.onBoundaryError?.(err);
85
+ }
86
+ });
87
+ };
88
+ const renderToPipeableStream = options.renderToPipeableStream ?? (await import("react-dom/server.node")).renderToPipeableStream;
89
+ const { pipe: pipeOriginal } = renderToPipeableStream(element, {
90
+ onShellReady() {
91
+ debug("[react] onShellReady()");
92
+ onShellReady();
93
+ },
94
+ onAllReady() {
95
+ debug("[react] onAllReady()");
96
+ onShellReady();
97
+ onAllReady();
98
+ },
99
+ onShellError: onError,
100
+ onError
101
+ });
102
+ let promiseResolved = false;
103
+ const { pipeForUser, injectToStream, streamEnd } = await (0, import_createPipeWrapper.createPipeWrapper)(pipeOriginal, {
104
+ onReactBug(err) {
105
+ debug("react bug");
106
+ didError = true;
107
+ firstErr ??= err;
108
+ reactBug = err;
109
+ if (reactBug !== firstErr || promiseResolved) {
110
+ console.error(reactBug);
111
+ }
112
+ }
113
+ });
114
+ await shellReady;
115
+ if (didError)
116
+ throw firstErr;
117
+ if (disable2)
118
+ await allReady;
119
+ if (didError)
120
+ throw firstErr;
121
+ promiseResolved = true;
122
+ return {
123
+ pipe: pipeForUser,
124
+ readable: null,
125
+ streamEnd: wrapStreamEnd(streamEnd, didError),
126
+ injectToStream
127
+ };
128
+ }
129
+ async function renderToWebStream(element, disable2, options) {
130
+ debug("creating Web Stream Pipe");
131
+ let didError = false;
132
+ let firstErr = null;
133
+ let reactBug = null;
134
+ const onError = (err) => {
135
+ didError = true;
136
+ firstErr = firstErr || err;
137
+ afterReactBugCatch(() => {
138
+ if (err !== reactBug) {
139
+ options.onBoundaryError?.(err);
140
+ }
141
+ });
142
+ };
143
+ const renderToReadableStream = options.renderToReadableStream ?? (await import("react-dom/server.browser")).renderToReadableStream;
144
+ const readableOriginal = await renderToReadableStream(element, { onError });
145
+ const { allReady } = readableOriginal;
146
+ let promiseResolved = false;
147
+ allReady.catch((err) => {
148
+ debug("react bug");
149
+ didError = true;
150
+ firstErr = firstErr || err;
151
+ reactBug = err;
152
+ if (reactBug !== firstErr || promiseResolved) {
153
+ console.error(reactBug);
154
+ }
155
+ });
156
+ if (didError)
157
+ throw firstErr;
158
+ if (disable2)
159
+ await allReady;
160
+ if (didError)
161
+ throw firstErr;
162
+ const { readableForUser, streamEnd, injectToStream } = (0, import_createReadableWrapper.createReadableWrapper)(readableOriginal);
163
+ promiseResolved = true;
164
+ return {
165
+ readable: readableForUser,
166
+ pipe: null,
167
+ streamEnd: wrapStreamEnd(streamEnd, didError),
168
+ injectToStream
169
+ };
170
+ }
171
+ function afterReactBugCatch(fn) {
172
+ setTimeout(() => {
173
+ fn();
174
+ }, 0);
175
+ }
176
+ function wrapStreamEnd(streamEnd, didError) {
177
+ return streamEnd.then(() => new Promise((r) => setTimeout(r, 0))).then(() => !didError);
178
+ }
179
+ // Annotate the CommonJS export names for ESM import in node:
180
+ 0 && (module.exports = {
181
+ disable,
182
+ renderToStream
183
+ });
@@ -0,0 +1,8 @@
1
+ export type { InitData };
2
+ export { initDataHtmlClass };
3
+ type InitData = {
4
+ value: unknown;
5
+ key: string;
6
+ elementId: string;
7
+ };
8
+ declare const initDataHtmlClass = "react-streaming_initData";
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var initData_exports = {};
20
+ __export(initData_exports, {
21
+ initDataHtmlClass: () => initDataHtmlClass
22
+ });
23
+ module.exports = __toCommonJS(initData_exports);
24
+ const initDataHtmlClass = "react-streaming_initData";
25
+ // Annotate the CommonJS export names for ESM import in node:
26
+ 0 && (module.exports = {
27
+ initDataHtmlClass
28
+ });
@@ -0,0 +1,4 @@
1
+ export { stringifyKey };
2
+ export { assertKey };
3
+ declare function stringifyKey(key: unknown): string;
4
+ declare function assertKey(keyValue: unknown): void;
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var key_exports = {};
20
+ __export(key_exports, {
21
+ assertKey: () => assertKey,
22
+ stringifyKey: () => stringifyKey
23
+ });
24
+ module.exports = __toCommonJS(key_exports);
25
+ var import_isCallable = require("../utils/isCallable");
26
+ var import_utils = require("./utils");
27
+ function stringifyKey(key) {
28
+ const keyString = JSON.stringify(key);
29
+ return keyString;
30
+ }
31
+ function assertKey(keyValue) {
32
+ (0, import_utils.assertUsage)(
33
+ keyValue,
34
+ `[useAsync(key, asyncFn)] You provided a \`key\` with the value \`${keyValue}\` which is forbidden.`
35
+ );
36
+ (0, import_utils.assertUsage)(
37
+ !(0, import_isCallable.isCallable)(keyValue),
38
+ `[useAsync(key, asyncFn)] You provided a \`key\` that is a function which is forbidden.`
39
+ );
40
+ }
41
+ // Annotate the CommonJS export names for ESM import in node:
42
+ 0 && (module.exports = {
43
+ assertKey,
44
+ stringifyKey
45
+ });
@@ -0,0 +1,3 @@
1
+ export * from '../utils/assert';
2
+ export * from '../utils/getGlobalVariable';
3
+ export * from '../utils/isPromise';
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
15
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
16
+ var utils_exports = {};
17
+ module.exports = __toCommonJS(utils_exports);
18
+ __reExport(utils_exports, require("../utils/assert"), module.exports);
19
+ __reExport(utils_exports, require("../utils/getGlobalVariable"), module.exports);
20
+ __reExport(utils_exports, require("../utils/isPromise"), module.exports);
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ export { useStream };
3
+ export { StreamProvider };
4
+ export type { StreamUtils };
5
+ type StreamUtils = {
6
+ injectToStream: (htmlChunk: string) => void;
7
+ };
8
+ declare const StreamProvider: React.Provider<StreamUtils | null>;
9
+ declare function useStream(): StreamUtils | null;
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
+ mod
23
+ ));
24
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
25
+ var useStream_exports = {};
26
+ __export(useStream_exports, {
27
+ StreamProvider: () => StreamProvider,
28
+ useStream: () => useStream
29
+ });
30
+ module.exports = __toCommonJS(useStream_exports);
31
+ var import_react = __toESM(require("react"));
32
+ var import_utils = require("./utils");
33
+ const StreamContext = import_react.default.createContext(null);
34
+ const StreamProvider = StreamContext.Provider;
35
+ function useStream() {
36
+ const streamUtils = (0, import_react.useContext)(StreamContext);
37
+ (0, import_utils.assert)(streamUtils);
38
+ return streamUtils;
39
+ }
40
+ // Annotate the CommonJS export names for ESM import in node:
41
+ 0 && (module.exports = {
42
+ StreamProvider,
43
+ useStream
44
+ });
@@ -0,0 +1,15 @@
1
+ export { assert };
2
+ export { assertUsage };
3
+ export { assertWarning };
4
+ export { assertInfo };
5
+ export { getProjectError };
6
+ declare function assert(condition: unknown, debugInfo?: unknown): asserts condition;
7
+ declare function assertUsage(condition: unknown, errorMessage: string): asserts condition;
8
+ declare function getProjectError(errorMessage: string): Error;
9
+ declare function assertWarning(condition: unknown, errorMessage: string, { onlyOnce, showStackTrace }: {
10
+ onlyOnce: boolean | string;
11
+ showStackTrace?: true;
12
+ }): void;
13
+ declare function assertInfo(condition: unknown, errorMessage: string, { onlyOnce }: {
14
+ onlyOnce: boolean;
15
+ }): void;