vike 0.4.267-commit-b005535 → 0.4.267-commit-7884d91

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 (138) hide show
  1. package/dist/client/runtime-client-routing/createPageContextClient.d.ts +4 -0
  2. package/dist/client/runtime-client-routing/getGlobalContextClientInternal.d.ts +4 -0
  3. package/dist/client/runtime-client-routing/getPageContextFromHooks.d.ts +22 -2
  4. package/dist/client/runtime-client-routing/getPageContextFromHooks.js +4 -5
  5. package/dist/client/runtime-client-routing/renderPageClient.d.ts +472 -9
  6. package/dist/client/runtime-client-routing/renderPageClient.js +11 -5
  7. package/dist/client/runtime-client-routing/streamedValues.d.ts +5 -0
  8. package/dist/client/runtime-client-routing/streamedValues.js +23 -0
  9. package/dist/client/runtime-server-routing/createPageContextClient.d.ts +4 -0
  10. package/dist/client/runtime-server-routing/entry.js +1 -1
  11. package/dist/client/runtime-server-routing/getGlobalContextClientInternal.d.ts +4 -0
  12. package/dist/client/shared/getGlobalContextClientInternalShared.d.ts +4 -0
  13. package/dist/client/shared/getJsonSerializedInHtml.d.ts +2 -2
  14. package/dist/client/shared/getJsonSerializedInHtml.js +9 -6
  15. package/dist/client/shared/streamedValues/asyncIterable.d.ts +4 -0
  16. package/dist/client/shared/streamedValues/asyncIterable.js +26 -0
  17. package/dist/client/shared/streamedValues/lines.d.ts +11 -0
  18. package/dist/client/shared/streamedValues/lines.js +19 -0
  19. package/dist/client/shared/streamedValues/promise.d.ts +4 -0
  20. package/dist/client/shared/streamedValues/promise.js +19 -0
  21. package/dist/client/shared/streamedValues/readableStream.d.ts +4 -0
  22. package/dist/client/shared/streamedValues/readableStream.js +44 -0
  23. package/dist/client/shared/streamedValues/registry.d.ts +21 -0
  24. package/dist/client/shared/streamedValues/registry.js +40 -0
  25. package/dist/client/shared/streamedValues.d.ts +7 -0
  26. package/dist/client/shared/streamedValues.js +82 -0
  27. package/dist/node/api/resolveViteConfigUser.js +2 -2
  28. package/dist/node/prerender/runPrerender.d.ts +12 -4
  29. package/dist/node/prerender/runPrerender.js +60 -15
  30. package/dist/node/vite/assertEnvVite.js +1 -1
  31. package/dist/node/vite/index.js +2 -0
  32. package/dist/node/vite/plugins/build/handleAssetsManifest.js +6 -2
  33. package/dist/node/vite/plugins/build/pluginBuildApp.js +25 -26
  34. package/dist/node/vite/plugins/build/pluginBuildConfig.d.ts +2 -2
  35. package/dist/node/vite/plugins/build/pluginBuildConfig.js +24 -16
  36. package/dist/node/vite/plugins/build/pluginDistFileNames.js +70 -50
  37. package/dist/node/vite/plugins/build/pluginEnvironmentEntries.d.ts +6 -0
  38. package/dist/node/vite/plugins/build/pluginEnvironmentEntries.js +71 -0
  39. package/dist/node/vite/plugins/build/pluginSuppressRollupWarning.js +19 -17
  40. package/dist/node/vite/plugins/pluginCommon.js +9 -6
  41. package/dist/node/vite/plugins/pluginDev/optimizeDeps.js +1 -1
  42. package/dist/node/vite/plugins/pluginReplaceConstantsGlobalThis.js +6 -4
  43. package/dist/node/vite/plugins/pluginVirtualFiles/generateVirtualFileGlobalEntry.d.ts +2 -1
  44. package/dist/node/vite/plugins/pluginVirtualFiles/generateVirtualFileGlobalEntry.js +29 -12
  45. package/dist/node/vite/plugins/pluginVirtualFiles/generateVirtualFileGlobalEntryWithOldDesign.js +3 -2
  46. package/dist/node/vite/plugins/pluginVirtualFiles/generateVirtualFilePageEntry.js +7 -7
  47. package/dist/node/vite/plugins/pluginVirtualFiles/getConfigValueSourcesRelevant.d.ts +7 -5
  48. package/dist/node/vite/plugins/pluginVirtualFiles/getConfigValueSourcesRelevant.js +4 -10
  49. package/dist/node/vite/plugins/pluginVirtualFiles.js +20 -0
  50. package/dist/node/vite/shared/addSsrMiddleware.js +13 -1
  51. package/dist/node/vite/shared/getAssetsDir.d.ts +3 -2
  52. package/dist/node/vite/shared/getAssetsDir.js +3 -3
  53. package/dist/node/vite/shared/isViteCli.d.ts +3 -3
  54. package/dist/node/vite/shared/isViteCli.js +80 -84
  55. package/dist/node/vite/shared/isViteServerSide.js +2 -7
  56. package/dist/node/vite/shared/resolveVikeConfigInternal/metaBuiltIn.d.ts +1 -1
  57. package/dist/node/vite/shared/resolveVikeConfigInternal/metaBuiltIn.js +8 -6
  58. package/dist/node/vite/shared/resolveVikeConfigInternal.d.ts +4 -1
  59. package/dist/node/vite/shared/resolveVikeConfigInternal.js +82 -11
  60. package/dist/server/runtime/globalContext.d.ts +20 -0
  61. package/dist/server/runtime/renderPageServer/analyzePage.js +3 -3
  62. package/dist/server/runtime/renderPageServer/createHttpResponse.d.ts +20 -7
  63. package/dist/server/runtime/renderPageServer/createHttpResponse.js +34 -15
  64. package/dist/server/runtime/renderPageServer/createPageContextServer.d.ts +4 -0
  65. package/dist/server/runtime/renderPageServer/execHookOnError.js +1 -1
  66. package/dist/server/runtime/renderPageServer/execHookOnRenderHtml.d.ts +9 -0
  67. package/dist/server/runtime/renderPageServer/execHookOnRenderHtml.js +17 -5
  68. package/dist/server/runtime/renderPageServer/getHttpResponseBody.d.ts +2 -2
  69. package/dist/server/runtime/renderPageServer/getHttpResponseBody.js +17 -2
  70. package/dist/server/runtime/renderPageServer/getPageContextJson.d.ts +8 -0
  71. package/dist/server/runtime/renderPageServer/getPageContextJson.js +47 -0
  72. package/dist/server/runtime/renderPageServer/handleErrorWithoutErrorPage.d.ts +2 -0
  73. package/dist/server/runtime/renderPageServer/handleErrorWithoutErrorPage.js +1 -1
  74. package/dist/server/runtime/renderPageServer/headersResponse.d.ts +11 -2
  75. package/dist/server/runtime/renderPageServer/headersResponse.js +20 -1
  76. package/dist/server/runtime/renderPageServer/html/injectAssets/getHtmlTags.js +5 -4
  77. package/dist/server/runtime/renderPageServer/html/injectAssets.d.ts +3 -2
  78. package/dist/server/runtime/renderPageServer/html/injectAssets.js +7 -1
  79. package/dist/server/runtime/renderPageServer/html/renderHtml.js +4 -2
  80. package/dist/server/runtime/renderPageServer/html/serializeContext.d.ts +5 -1
  81. package/dist/server/runtime/renderPageServer/html/serializeContext.js +12 -9
  82. package/dist/server/runtime/renderPageServer/html/stream.d.ts +13 -6
  83. package/dist/server/runtime/renderPageServer/html/stream.js +121 -31
  84. package/dist/server/runtime/renderPageServer/html/streamedValuesHtml.d.ts +30 -0
  85. package/dist/server/runtime/renderPageServer/html/streamedValuesHtml.js +92 -0
  86. package/dist/server/runtime/renderPageServer/loadPageConfigsLazyServerSide.d.ts +4 -0
  87. package/dist/server/runtime/renderPageServer/loadPageConfigsLazyServerSide.js +5 -1
  88. package/dist/server/runtime/renderPageServer/loadPageContextEnvironments.d.ts +15 -0
  89. package/dist/server/runtime/renderPageServer/loadPageContextEnvironments.js +61 -0
  90. package/dist/server/runtime/renderPageServer/renderPageServerAfterRoute.d.ts +314 -1
  91. package/dist/server/runtime/renderPageServer/renderPageServerAfterRoute.js +21 -12
  92. package/dist/server/runtime/renderPageServer/streamedValues/asyncIterable.d.ts +4 -0
  93. package/dist/server/runtime/renderPageServer/streamedValues/asyncIterable.js +12 -0
  94. package/dist/server/runtime/renderPageServer/streamedValues/lines.d.ts +10 -0
  95. package/dist/server/runtime/renderPageServer/streamedValues/lines.js +49 -0
  96. package/dist/server/runtime/renderPageServer/streamedValues/promise.d.ts +4 -0
  97. package/dist/server/runtime/renderPageServer/streamedValues/promise.js +14 -0
  98. package/dist/server/runtime/renderPageServer/streamedValues/pump.d.ts +10 -0
  99. package/dist/server/runtime/renderPageServer/streamedValues/pump.js +67 -0
  100. package/dist/server/runtime/renderPageServer/streamedValues/readableStream.d.ts +4 -0
  101. package/dist/server/runtime/renderPageServer/streamedValues/readableStream.js +12 -0
  102. package/dist/server/runtime/renderPageServer/streamedValues/registry.d.ts +28 -0
  103. package/dist/server/runtime/renderPageServer/streamedValues/registry.js +33 -0
  104. package/dist/server/runtime/renderPageServer.d.ts +4 -0
  105. package/dist/server/runtime/renderPageServer.js +17 -8
  106. package/dist/shared-server-client/createGlobalContextShared.d.ts +8 -0
  107. package/dist/shared-server-client/createGlobalContextShared.js +2 -1
  108. package/dist/shared-server-client/getPageContextPublicShared.js +0 -2
  109. package/dist/shared-server-client/getPageFiles/parseVirtualFileExportsGlobalEntry.d.ts +8 -0
  110. package/dist/shared-server-client/getPageFiles/parseVirtualFileExportsGlobalEntry.js +17 -7
  111. package/dist/shared-server-client/hooks/execHook.d.ts +1 -1
  112. package/dist/shared-server-client/hooks/execHook.js +2 -2
  113. package/dist/shared-server-client/route/abort.d.ts +1 -1
  114. package/dist/shared-server-client/route/abort.js +4 -2
  115. package/dist/shared-server-client/streamedValues.d.ts +22 -0
  116. package/dist/shared-server-client/streamedValues.js +24 -0
  117. package/dist/shared-server-node/vike-environments.d.ts +4 -0
  118. package/dist/shared-server-node/vike-environments.js +10 -0
  119. package/dist/shared-server-node/virtualFileId.d.ts +7 -5
  120. package/dist/shared-server-node/virtualFileId.js +42 -42
  121. package/dist/types/Config.d.ts +1 -1
  122. package/dist/types/PageConfig.d.ts +13 -5
  123. package/dist/types/PageContext.d.ts +18 -1
  124. package/dist/utils/PROJECT_VERSION.d.ts +1 -1
  125. package/dist/utils/PROJECT_VERSION.js +1 -1
  126. package/dist/utils/assertViteVersion.d.ts +1 -3
  127. package/dist/utils/assertViteVersion.js +6 -9
  128. package/dist/utils/deepEqual.d.ts +2 -1
  129. package/dist/utils/deepEqual.js +21 -6
  130. package/dist/utils/getContentTypeFromUrl.d.ts +2 -0
  131. package/dist/utils/getContentTypeFromUrl.js +39 -0
  132. package/dist/utils/injectRollupInputs.d.ts +2 -2
  133. package/dist/utils/injectRollupInputs.js +2 -2
  134. package/dist/utils/isDev.js +2 -7
  135. package/dist/utils/parseUrl-extras.js +4 -0
  136. package/package.json +6 -6
  137. package/dist/shared-server-client/addIs404ToPageProps.d.ts +0 -2
  138. package/dist/shared-server-client/addIs404ToPageProps.js +0 -17
@@ -4,18 +4,13 @@ export { disableClientRouting };
4
4
  export { getPageContextClient };
5
5
  export type { PageContextBegin };
6
6
  export type { PageContextInternalClientAfterRender };
7
- import { type PageContextCreatedClient } from './createPageContextClient.js';
8
7
  import { type PageContextAbort, type PageContextAborted } from '../../shared-server-client/route/abort.js';
9
8
  import { type ScrollTarget } from './setScrollPosition.js';
10
9
  import type { PageContextConfig } from '../../shared-server-client/getPageFiles.js';
11
10
  import type { PageContextClient } from '../../types/PageContext.js';
12
- import { type PageContextPublicClient } from './getPageContextPublicClient.js';
13
11
  import type { VikeGlobalInternal } from '../../types/VikeGlobalInternal.js';
14
12
  import '../assertEnvClient.js';
15
13
  type PageContextInternalClientAfterRender = NonNullable<Awaited<ReturnType<typeof renderPageClient>>>;
16
- type PreviousPageContext = {
17
- pageId: string;
18
- } & PageContextConfig & PageContextRouted & PageContextCreatedClient & PageContextPublicClient;
19
14
  type PageContextRouted = {
20
15
  pageId: string;
21
16
  routeParams: Record<string, string>;
@@ -76,6 +71,10 @@ declare function renderPageClient(renderArgs: RenderArgs): Promise<({
76
71
  _pageFilesAll: import("../../shared-server-client/getPageFiles.js").PageFile[];
77
72
  _pageConfigs: import("../../types/PageConfig.js").PageConfigRuntime[];
78
73
  _pageConfigGlobal: import("../../types/PageConfig.js").PageConfigGlobalRuntime;
74
+ _environmentEntries: Record<string, {
75
+ pageConfigs: import("../../types/PageConfig.js").PageConfigRuntime[];
76
+ pageConfigGlobal: import("../../types/PageConfig.js").PageConfigGlobalRuntime;
77
+ } | null>;
79
78
  _allPageIds: string[];
80
79
  } & {
81
80
  isClientSide: true;
@@ -89,7 +88,120 @@ declare function renderPageClient(renderArgs: RenderArgs): Promise<({
89
88
  isHistoryNavigation: boolean;
90
89
  isClientSideNavigation: boolean;
91
90
  isHydration: boolean;
92
- previousPageContext: PreviousPageContext | null;
91
+ previousPageContext: ({
92
+ pageId: string;
93
+ } & PageContextConfig & PageContextRouted & {
94
+ _isOriginalObject: true;
95
+ isPageContext: true;
96
+ } & {
97
+ isClientSide: true;
98
+ isPrerendering: false;
99
+ urlOriginal: string;
100
+ _urlHandler: null;
101
+ } & {
102
+ _baseServer: string;
103
+ } & {
104
+ urlParsed: import("../../utils/parseUrl.js").UrlPublic;
105
+ urlPathname: string;
106
+ url: string;
107
+ } & {
108
+ _globalContext: {
109
+ config: import("../../types/index.js").ConfigResolved;
110
+ _source: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Source;
111
+ _sources: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Sources;
112
+ _from: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").From;
113
+ pages: {
114
+ [k: string]: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").PageConfigPublicWithRoute;
115
+ };
116
+ _globalConfigPublic: {
117
+ config: import("../../types/index.js").ConfigResolved;
118
+ _source: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Source;
119
+ _sources: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Sources;
120
+ _from: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").From;
121
+ pages: {
122
+ [k: string]: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").PageConfigPublicWithRoute;
123
+ };
124
+ };
125
+ isGlobalContext: true;
126
+ _isOriginalObject: true;
127
+ _virtualFileExportsGlobalEntry: unknown;
128
+ _pageFilesAll: import("../../shared-server-client/getPageFiles.js").PageFile[];
129
+ _pageConfigs: import("../../types/PageConfig.js").PageConfigRuntime[];
130
+ _pageConfigGlobal: import("../../types/PageConfig.js").PageConfigGlobalRuntime;
131
+ _environmentEntries: Record<string, {
132
+ pageConfigs: import("../../types/PageConfig.js").PageConfigRuntime[];
133
+ pageConfigGlobal: import("../../types/PageConfig.js").PageConfigGlobalRuntime;
134
+ } | null>;
135
+ _allPageIds: string[];
136
+ } & {
137
+ isClientSide: true;
138
+ } & {
139
+ _pageRoutes: import("../../shared-server-client/route/loadPageRoutes.js").PageRoutes;
140
+ _onBeforeRouteHook: import("../../shared-server-client/hooks/getHook.js").HookInternal | null;
141
+ };
142
+ _pageFilesAll: import("../../shared-server-client/getPageFiles.js").PageFile[];
143
+ } & import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").GlobalConfigPublic & import("../../shared-server-client/createPageContextShared.js").PageContextCreated & Omit<Partial<PageContextConfig & {
144
+ isPageContext: true;
145
+ Page: import("../../types/Config.js").Config['Page'];
146
+ routeParams: Record<string, string>;
147
+ data: unknown;
148
+ headersResponse: Headers;
149
+ is404: boolean | null;
150
+ isClientSideNavigation: boolean;
151
+ abortReason?: unknown;
152
+ abortStatusCode?: import("../../shared-server-client/route/abort.js").AbortStatusCode;
153
+ errorWhileRendering?: unknown;
154
+ pageId: string | null;
155
+ from: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").From;
156
+ source: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Source;
157
+ sources: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Sources;
158
+ pageExports: Record<string, unknown>;
159
+ isBaseMissing?: true;
160
+ }> & Pick<PageContextConfig & {
161
+ isPageContext: true;
162
+ Page: import("../../types/Config.js").Config['Page'];
163
+ routeParams: Record<string, string>;
164
+ data: unknown;
165
+ headersResponse: Headers;
166
+ is404: boolean | null;
167
+ isClientSideNavigation: boolean;
168
+ abortReason?: unknown;
169
+ abortStatusCode?: import("../../shared-server-client/route/abort.js").AbortStatusCode;
170
+ errorWhileRendering?: unknown;
171
+ pageId: string | null;
172
+ from: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").From;
173
+ source: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Source;
174
+ sources: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Sources;
175
+ pageExports: Record<string, unknown>;
176
+ isBaseMissing?: true;
177
+ }, "Page" | "abortReason" | "config" | "configEntries" | "data" | "exports" | "exportsAll" | "from" | "pageExports" | "pageId" | "routeParams" | "source" | "sources"> & {
178
+ isClientSide: true;
179
+ isPrerendering: false;
180
+ cspNonce?: undefined;
181
+ headers?: undefined;
182
+ } & {
183
+ urlOriginal: string;
184
+ isHydration: boolean;
185
+ isBackwardNavigation: boolean | null;
186
+ isHistoryNavigation: boolean;
187
+ previousPageContext: PageContextClient<unknown> | null;
188
+ pageContextsAborted: Partial<PageContextClient<unknown>>[];
189
+ globalContext: import("../../types/GlobalContext.js").GlobalContextClient;
190
+ } & {
191
+ urlOriginal: string;
192
+ } & {
193
+ urlParsed: import("../../utils/parseUrl.js").UrlPublic;
194
+ urlPathname: string;
195
+ url: string;
196
+ }, "pageContextsAborted" | "previousPageContext" | ("Page" | "data" | "globalContext")> & {
197
+ previousPageContext: {
198
+ pageId: string;
199
+ } | null;
200
+ } & {
201
+ urlOriginal: string;
202
+ } & {
203
+ Page: unknown;
204
+ }) | null;
93
205
  pageContextsAborted: PageContextAborted[];
94
206
  } & {
95
207
  _abortCall: "RenderErrorPage()" | `redirect(${string})` | `render(${string})`;
@@ -149,6 +261,10 @@ declare function renderPageClient(renderArgs: RenderArgs): Promise<({
149
261
  _pageFilesAll: import("../../shared-server-client/getPageFiles.js").PageFile[];
150
262
  _pageConfigs: import("../../types/PageConfig.js").PageConfigRuntime[];
151
263
  _pageConfigGlobal: import("../../types/PageConfig.js").PageConfigGlobalRuntime;
264
+ _environmentEntries: Record<string, {
265
+ pageConfigs: import("../../types/PageConfig.js").PageConfigRuntime[];
266
+ pageConfigGlobal: import("../../types/PageConfig.js").PageConfigGlobalRuntime;
267
+ } | null>;
152
268
  _allPageIds: string[];
153
269
  } & {
154
270
  isClientSide: true;
@@ -162,7 +278,120 @@ declare function renderPageClient(renderArgs: RenderArgs): Promise<({
162
278
  isHistoryNavigation: boolean;
163
279
  isClientSideNavigation: boolean;
164
280
  isHydration: boolean;
165
- previousPageContext: PreviousPageContext | null;
281
+ previousPageContext: ({
282
+ pageId: string;
283
+ } & PageContextConfig & PageContextRouted & {
284
+ _isOriginalObject: true;
285
+ isPageContext: true;
286
+ } & {
287
+ isClientSide: true;
288
+ isPrerendering: false;
289
+ urlOriginal: string;
290
+ _urlHandler: null;
291
+ } & {
292
+ _baseServer: string;
293
+ } & {
294
+ urlParsed: import("../../utils/parseUrl.js").UrlPublic;
295
+ urlPathname: string;
296
+ url: string;
297
+ } & {
298
+ _globalContext: {
299
+ config: import("../../types/index.js").ConfigResolved;
300
+ _source: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Source;
301
+ _sources: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Sources;
302
+ _from: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").From;
303
+ pages: {
304
+ [k: string]: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").PageConfigPublicWithRoute;
305
+ };
306
+ _globalConfigPublic: {
307
+ config: import("../../types/index.js").ConfigResolved;
308
+ _source: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Source;
309
+ _sources: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Sources;
310
+ _from: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").From;
311
+ pages: {
312
+ [k: string]: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").PageConfigPublicWithRoute;
313
+ };
314
+ };
315
+ isGlobalContext: true;
316
+ _isOriginalObject: true;
317
+ _virtualFileExportsGlobalEntry: unknown;
318
+ _pageFilesAll: import("../../shared-server-client/getPageFiles.js").PageFile[];
319
+ _pageConfigs: import("../../types/PageConfig.js").PageConfigRuntime[];
320
+ _pageConfigGlobal: import("../../types/PageConfig.js").PageConfigGlobalRuntime;
321
+ _environmentEntries: Record<string, {
322
+ pageConfigs: import("../../types/PageConfig.js").PageConfigRuntime[];
323
+ pageConfigGlobal: import("../../types/PageConfig.js").PageConfigGlobalRuntime;
324
+ } | null>;
325
+ _allPageIds: string[];
326
+ } & {
327
+ isClientSide: true;
328
+ } & {
329
+ _pageRoutes: import("../../shared-server-client/route/loadPageRoutes.js").PageRoutes;
330
+ _onBeforeRouteHook: import("../../shared-server-client/hooks/getHook.js").HookInternal | null;
331
+ };
332
+ _pageFilesAll: import("../../shared-server-client/getPageFiles.js").PageFile[];
333
+ } & import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").GlobalConfigPublic & import("../../shared-server-client/createPageContextShared.js").PageContextCreated & Omit<Partial<PageContextConfig & {
334
+ isPageContext: true;
335
+ Page: import("../../types/Config.js").Config['Page'];
336
+ routeParams: Record<string, string>;
337
+ data: unknown;
338
+ headersResponse: Headers;
339
+ is404: boolean | null;
340
+ isClientSideNavigation: boolean;
341
+ abortReason?: unknown;
342
+ abortStatusCode?: import("../../shared-server-client/route/abort.js").AbortStatusCode;
343
+ errorWhileRendering?: unknown;
344
+ pageId: string | null;
345
+ from: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").From;
346
+ source: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Source;
347
+ sources: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Sources;
348
+ pageExports: Record<string, unknown>;
349
+ isBaseMissing?: true;
350
+ }> & Pick<PageContextConfig & {
351
+ isPageContext: true;
352
+ Page: import("../../types/Config.js").Config['Page'];
353
+ routeParams: Record<string, string>;
354
+ data: unknown;
355
+ headersResponse: Headers;
356
+ is404: boolean | null;
357
+ isClientSideNavigation: boolean;
358
+ abortReason?: unknown;
359
+ abortStatusCode?: import("../../shared-server-client/route/abort.js").AbortStatusCode;
360
+ errorWhileRendering?: unknown;
361
+ pageId: string | null;
362
+ from: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").From;
363
+ source: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Source;
364
+ sources: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Sources;
365
+ pageExports: Record<string, unknown>;
366
+ isBaseMissing?: true;
367
+ }, "Page" | "abortReason" | "config" | "configEntries" | "data" | "exports" | "exportsAll" | "from" | "pageExports" | "pageId" | "routeParams" | "source" | "sources"> & {
368
+ isClientSide: true;
369
+ isPrerendering: false;
370
+ cspNonce?: undefined;
371
+ headers?: undefined;
372
+ } & {
373
+ urlOriginal: string;
374
+ isHydration: boolean;
375
+ isBackwardNavigation: boolean | null;
376
+ isHistoryNavigation: boolean;
377
+ previousPageContext: PageContextClient<unknown> | null;
378
+ pageContextsAborted: Partial<PageContextClient<unknown>>[];
379
+ globalContext: import("../../types/GlobalContext.js").GlobalContextClient;
380
+ } & {
381
+ urlOriginal: string;
382
+ } & {
383
+ urlParsed: import("../../utils/parseUrl.js").UrlPublic;
384
+ urlPathname: string;
385
+ url: string;
386
+ }, "pageContextsAborted" | "previousPageContext" | ("Page" | "data" | "globalContext")> & {
387
+ previousPageContext: {
388
+ pageId: string;
389
+ } | null;
390
+ } & {
391
+ urlOriginal: string;
392
+ } & {
393
+ Page: unknown;
394
+ }) | null;
166
395
  pageContextsAborted: PageContextAborted[];
167
396
  } & {
168
397
  _abortCall: "RenderErrorPage()" | `redirect(${string})` | `render(${string})`;
@@ -223,6 +452,10 @@ declare function renderPageClient(renderArgs: RenderArgs): Promise<({
223
452
  _pageFilesAll: import("../../shared-server-client/getPageFiles.js").PageFile[];
224
453
  _pageConfigs: import("../../types/PageConfig.js").PageConfigRuntime[];
225
454
  _pageConfigGlobal: import("../../types/PageConfig.js").PageConfigGlobalRuntime;
455
+ _environmentEntries: Record<string, {
456
+ pageConfigs: import("../../types/PageConfig.js").PageConfigRuntime[];
457
+ pageConfigGlobal: import("../../types/PageConfig.js").PageConfigGlobalRuntime;
458
+ } | null>;
226
459
  _allPageIds: string[];
227
460
  } & {
228
461
  isClientSide: true;
@@ -236,7 +469,120 @@ declare function renderPageClient(renderArgs: RenderArgs): Promise<({
236
469
  isHistoryNavigation: boolean;
237
470
  isClientSideNavigation: boolean;
238
471
  isHydration: boolean;
239
- previousPageContext: PreviousPageContext | null;
472
+ previousPageContext: ({
473
+ pageId: string;
474
+ } & PageContextConfig & PageContextRouted & {
475
+ _isOriginalObject: true;
476
+ isPageContext: true;
477
+ } & {
478
+ isClientSide: true;
479
+ isPrerendering: false;
480
+ urlOriginal: string;
481
+ _urlHandler: null;
482
+ } & {
483
+ _baseServer: string;
484
+ } & {
485
+ urlParsed: import("../../utils/parseUrl.js").UrlPublic;
486
+ urlPathname: string;
487
+ url: string;
488
+ } & {
489
+ _globalContext: {
490
+ config: import("../../types/index.js").ConfigResolved;
491
+ _source: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Source;
492
+ _sources: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Sources;
493
+ _from: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").From;
494
+ pages: {
495
+ [k: string]: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").PageConfigPublicWithRoute;
496
+ };
497
+ _globalConfigPublic: {
498
+ config: import("../../types/index.js").ConfigResolved;
499
+ _source: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Source;
500
+ _sources: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Sources;
501
+ _from: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").From;
502
+ pages: {
503
+ [k: string]: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").PageConfigPublicWithRoute;
504
+ };
505
+ };
506
+ isGlobalContext: true;
507
+ _isOriginalObject: true;
508
+ _virtualFileExportsGlobalEntry: unknown;
509
+ _pageFilesAll: import("../../shared-server-client/getPageFiles.js").PageFile[];
510
+ _pageConfigs: import("../../types/PageConfig.js").PageConfigRuntime[];
511
+ _pageConfigGlobal: import("../../types/PageConfig.js").PageConfigGlobalRuntime;
512
+ _environmentEntries: Record<string, {
513
+ pageConfigs: import("../../types/PageConfig.js").PageConfigRuntime[];
514
+ pageConfigGlobal: import("../../types/PageConfig.js").PageConfigGlobalRuntime;
515
+ } | null>;
516
+ _allPageIds: string[];
517
+ } & {
518
+ isClientSide: true;
519
+ } & {
520
+ _pageRoutes: import("../../shared-server-client/route/loadPageRoutes.js").PageRoutes;
521
+ _onBeforeRouteHook: import("../../shared-server-client/hooks/getHook.js").HookInternal | null;
522
+ };
523
+ _pageFilesAll: import("../../shared-server-client/getPageFiles.js").PageFile[];
524
+ } & import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").GlobalConfigPublic & import("../../shared-server-client/createPageContextShared.js").PageContextCreated & Omit<Partial<PageContextConfig & {
525
+ isPageContext: true;
526
+ Page: import("../../types/Config.js").Config['Page'];
527
+ routeParams: Record<string, string>;
528
+ data: unknown;
529
+ headersResponse: Headers;
530
+ is404: boolean | null;
531
+ isClientSideNavigation: boolean;
532
+ abortReason?: unknown;
533
+ abortStatusCode?: import("../../shared-server-client/route/abort.js").AbortStatusCode;
534
+ errorWhileRendering?: unknown;
535
+ pageId: string | null;
536
+ from: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").From;
537
+ source: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Source;
538
+ sources: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Sources;
539
+ pageExports: Record<string, unknown>;
540
+ isBaseMissing?: true;
541
+ }> & Pick<PageContextConfig & {
542
+ isPageContext: true;
543
+ Page: import("../../types/Config.js").Config['Page'];
544
+ routeParams: Record<string, string>;
545
+ data: unknown;
546
+ headersResponse: Headers;
547
+ is404: boolean | null;
548
+ isClientSideNavigation: boolean;
549
+ abortReason?: unknown;
550
+ abortStatusCode?: import("../../shared-server-client/route/abort.js").AbortStatusCode;
551
+ errorWhileRendering?: unknown;
552
+ pageId: string | null;
553
+ from: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").From;
554
+ source: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Source;
555
+ sources: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Sources;
556
+ pageExports: Record<string, unknown>;
557
+ isBaseMissing?: true;
558
+ }, "Page" | "abortReason" | "config" | "configEntries" | "data" | "exports" | "exportsAll" | "from" | "pageExports" | "pageId" | "routeParams" | "source" | "sources"> & {
559
+ isClientSide: true;
560
+ isPrerendering: false;
561
+ cspNonce?: undefined;
562
+ headers?: undefined;
563
+ } & {
564
+ urlOriginal: string;
565
+ isHydration: boolean;
566
+ isBackwardNavigation: boolean | null;
567
+ isHistoryNavigation: boolean;
568
+ previousPageContext: PageContextClient<unknown> | null;
569
+ pageContextsAborted: Partial<PageContextClient<unknown>>[];
570
+ globalContext: import("../../types/GlobalContext.js").GlobalContextClient;
571
+ } & {
572
+ urlOriginal: string;
573
+ } & {
574
+ urlParsed: import("../../utils/parseUrl.js").UrlPublic;
575
+ urlPathname: string;
576
+ url: string;
577
+ }, "pageContextsAborted" | "previousPageContext" | ("Page" | "data" | "globalContext")> & {
578
+ previousPageContext: {
579
+ pageId: string;
580
+ } | null;
581
+ } & {
582
+ urlOriginal: string;
583
+ } & {
584
+ Page: unknown;
585
+ }) | null;
240
586
  pageContextsAborted: PageContextAborted[];
241
587
  } & {
242
588
  _abortCall: "RenderErrorPage()" | `redirect(${string})` | `render(${string})`;
@@ -300,6 +646,10 @@ declare function getPageContextBegin(isForErrorPage: boolean, { urlOriginal, isB
300
646
  _pageFilesAll: import("../../shared-server-client/getPageFiles.js").PageFile[];
301
647
  _pageConfigs: import("../../types/PageConfig.js").PageConfigRuntime[];
302
648
  _pageConfigGlobal: import("../../types/PageConfig.js").PageConfigGlobalRuntime;
649
+ _environmentEntries: Record<string, {
650
+ pageConfigs: import("../../types/PageConfig.js").PageConfigRuntime[];
651
+ pageConfigGlobal: import("../../types/PageConfig.js").PageConfigGlobalRuntime;
652
+ } | null>;
303
653
  _allPageIds: string[];
304
654
  } & {
305
655
  isClientSide: true;
@@ -313,7 +663,120 @@ declare function getPageContextBegin(isForErrorPage: boolean, { urlOriginal, isB
313
663
  isHistoryNavigation: boolean;
314
664
  isClientSideNavigation: boolean;
315
665
  isHydration: boolean;
316
- previousPageContext: PreviousPageContext | null;
666
+ previousPageContext: ({
667
+ pageId: string;
668
+ } & PageContextConfig & PageContextRouted & {
669
+ _isOriginalObject: true;
670
+ isPageContext: true;
671
+ } & {
672
+ isClientSide: true;
673
+ isPrerendering: false;
674
+ urlOriginal: string;
675
+ _urlHandler: null;
676
+ } & {
677
+ _baseServer: string;
678
+ } & {
679
+ urlParsed: import("../../utils/parseUrl.js").UrlPublic;
680
+ urlPathname: string;
681
+ url: string;
682
+ } & {
683
+ _globalContext: {
684
+ config: import("../../types/index.js").ConfigResolved;
685
+ _source: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Source;
686
+ _sources: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Sources;
687
+ _from: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").From;
688
+ pages: {
689
+ [k: string]: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").PageConfigPublicWithRoute;
690
+ };
691
+ _globalConfigPublic: {
692
+ config: import("../../types/index.js").ConfigResolved;
693
+ _source: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Source;
694
+ _sources: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Sources;
695
+ _from: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").From;
696
+ pages: {
697
+ [k: string]: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").PageConfigPublicWithRoute;
698
+ };
699
+ };
700
+ isGlobalContext: true;
701
+ _isOriginalObject: true;
702
+ _virtualFileExportsGlobalEntry: unknown;
703
+ _pageFilesAll: import("../../shared-server-client/getPageFiles.js").PageFile[];
704
+ _pageConfigs: import("../../types/PageConfig.js").PageConfigRuntime[];
705
+ _pageConfigGlobal: import("../../types/PageConfig.js").PageConfigGlobalRuntime;
706
+ _environmentEntries: Record<string, {
707
+ pageConfigs: import("../../types/PageConfig.js").PageConfigRuntime[];
708
+ pageConfigGlobal: import("../../types/PageConfig.js").PageConfigGlobalRuntime;
709
+ } | null>;
710
+ _allPageIds: string[];
711
+ } & {
712
+ isClientSide: true;
713
+ } & {
714
+ _pageRoutes: import("../../shared-server-client/route/loadPageRoutes.js").PageRoutes;
715
+ _onBeforeRouteHook: import("../../shared-server-client/hooks/getHook.js").HookInternal | null;
716
+ };
717
+ _pageFilesAll: import("../../shared-server-client/getPageFiles.js").PageFile[];
718
+ } & import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").GlobalConfigPublic & import("../../shared-server-client/createPageContextShared.js").PageContextCreated & Omit<Partial<PageContextConfig & {
719
+ isPageContext: true;
720
+ Page: import("../../types/Config.js").Config['Page'];
721
+ routeParams: Record<string, string>;
722
+ data: unknown;
723
+ headersResponse: Headers;
724
+ is404: boolean | null;
725
+ isClientSideNavigation: boolean;
726
+ abortReason?: unknown;
727
+ abortStatusCode?: import("../../shared-server-client/route/abort.js").AbortStatusCode;
728
+ errorWhileRendering?: unknown;
729
+ pageId: string | null;
730
+ from: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").From;
731
+ source: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Source;
732
+ sources: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Sources;
733
+ pageExports: Record<string, unknown>;
734
+ isBaseMissing?: true;
735
+ }> & Pick<PageContextConfig & {
736
+ isPageContext: true;
737
+ Page: import("../../types/Config.js").Config['Page'];
738
+ routeParams: Record<string, string>;
739
+ data: unknown;
740
+ headersResponse: Headers;
741
+ is404: boolean | null;
742
+ isClientSideNavigation: boolean;
743
+ abortReason?: unknown;
744
+ abortStatusCode?: import("../../shared-server-client/route/abort.js").AbortStatusCode;
745
+ errorWhileRendering?: unknown;
746
+ pageId: string | null;
747
+ from: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").From;
748
+ source: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Source;
749
+ sources: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Sources;
750
+ pageExports: Record<string, unknown>;
751
+ isBaseMissing?: true;
752
+ }, "Page" | "abortReason" | "config" | "configEntries" | "data" | "exports" | "exportsAll" | "from" | "pageExports" | "pageId" | "routeParams" | "source" | "sources"> & {
753
+ isClientSide: true;
754
+ isPrerendering: false;
755
+ cspNonce?: undefined;
756
+ headers?: undefined;
757
+ } & {
758
+ urlOriginal: string;
759
+ isHydration: boolean;
760
+ isBackwardNavigation: boolean | null;
761
+ isHistoryNavigation: boolean;
762
+ previousPageContext: PageContextClient<unknown> | null;
763
+ pageContextsAborted: Partial<PageContextClient<unknown>>[];
764
+ globalContext: import("../../types/GlobalContext.js").GlobalContextClient;
765
+ } & {
766
+ urlOriginal: string;
767
+ } & {
768
+ urlParsed: import("../../utils/parseUrl.js").UrlPublic;
769
+ urlPathname: string;
770
+ url: string;
771
+ }, "pageContextsAborted" | "previousPageContext" | ("Page" | "data" | "globalContext")> & {
772
+ previousPageContext: {
773
+ pageId: string;
774
+ } | null;
775
+ } & {
776
+ urlOriginal: string;
777
+ } & {
778
+ Page: unknown;
779
+ }) | null;
317
780
  pageContextsAborted: PageContextAborted[];
318
781
  } & (PageContextAbort | null)>;
319
782
  declare global {
@@ -13,6 +13,7 @@ import { objectAssign } from '../../utils/objectAssign.js';
13
13
  import { redirectHard } from '../../utils/redirectHard.js';
14
14
  import { updateType } from '../../utils/updateType.js';
15
15
  import { getPageContextFromHooksClient, getPageContextFromHooksServer, getPageContextFromHooksClient_firstRender, getPageContextFromHooksServer_firstRender, setPageContextInitIsPassedToClient, } from './getPageContextFromHooks.js';
16
+ import { cancelStreamedValues } from './streamedValues.js';
16
17
  import { createPageContextClient } from './createPageContextClient.js';
17
18
  import { addLinkPrefetchHandlers, addLinkPrefetchHandlers_unwatch, addLinkPrefetchHandlers_watch, getPageContextPrefetched, populatePageContextPrefetchCache, } from './prefetch.js';
18
19
  import { execHookOnRenderClient } from '../shared/execHookOnRenderClient.js';
@@ -101,7 +102,7 @@ async function renderPageClient(renderArgs) {
101
102
  }
102
103
  // Get pageContext serialized in <script id="vike_pageContext" type="application/json">
103
104
  if (isFirstRender) {
104
- const pageContextSerialized = getPageContextFromHooksServer_firstRender();
105
+ const pageContextSerialized = await getPageContextFromHooksServer_firstRender();
105
106
  // TO-DO/eventually: create helper assertPageContextFromHook()
106
107
  assert(!('urlOriginal' in pageContextSerialized));
107
108
  objectAssign(pageContext, pageContextSerialized);
@@ -226,8 +227,10 @@ async function renderPageClient(renderArgs) {
226
227
  return;
227
228
  }
228
229
  }
229
- if (isRenderOutdated())
230
+ if (isRenderOutdated()) {
231
+ cancelStreamedValues(pageContextFromHooksServer, false);
230
232
  return;
233
+ }
231
234
  // TO-DO/eventually: create helper assertPageContextFromHook()
232
235
  assert(!('urlOriginal' in pageContextFromHooksServer));
233
236
  objectAssign(pageContext, pageContextFromHooksServer);
@@ -363,7 +366,7 @@ async function renderPageClient(renderArgs) {
363
366
  const errAbort = err;
364
367
  logAbort(err, !import.meta.env.DEV, pageContext);
365
368
  const pageContextAbort = errAbort._pageContextAbort;
366
- addNewPageContextAborted(pageContextsAborted, pageContext, pageContextAbort);
369
+ addNewPageContextAborted(pageContextsAborted, pageContext, pageContextAbort, getPageContextPublicClientMinimal);
367
370
  // throw render('/some-url')
368
371
  if (pageContextAbort._urlRewrite) {
369
372
  await renderPageClient({
@@ -447,6 +450,7 @@ async function renderPageClient(renderArgs) {
447
450
  // We purposely abort *after* onHydrationEnd() is called (see comment above).
448
451
  if (isRenderOutdated(true))
449
452
  return;
453
+ cancelStreamedValues(pageContext, true);
450
454
  // onPageTransitionEnd()
451
455
  if (globalObject.isTransitioning) {
452
456
  globalObject.isTransitioning = undefined;
@@ -491,7 +495,9 @@ async function renderPageClient(renderArgs) {
491
495
  }
492
496
  }
493
497
  async function getPageContextBegin(isForErrorPage, { urlOriginal, isBackwardNavigation, isHistoryNavigation, pageContextsAborted, isClientSideNavigation, pageContextInitClient, isFirstRender, }) {
494
- const previousPageContext = globalObject.previousPageContext ?? null;
498
+ const previousPageContext = globalObject.previousPageContext
499
+ ? getPageContextPublicClient(globalObject.previousPageContext)
500
+ : null;
495
501
  const pageContext = await createPageContextClient(urlOriginal);
496
502
  objectAssign(pageContext, {
497
503
  isBackwardNavigation,
@@ -581,7 +587,7 @@ function getKeepScrollPositionSetting(pageContext) {
581
587
  assert(configDefinedAt);
582
588
  const routeParameterList = getRouteStringParameterList(configDefinedAt);
583
589
  if (isCallable(val))
584
- val = val(pageContext, {
590
+ val = val(getPageContextPublicClient(pageContext), {
585
591
  configDefinedAt: c.definedAt,
586
592
  /* We don't pass routeParameterList because it's useless: the user knows the parameter list.
587
593
  routeParameterList
@@ -0,0 +1,5 @@
1
+ export { readPageContextJson };
2
+ export { cancelStreamedValues };
3
+ import '../assertEnvClient.js';
4
+ declare function readPageContextJson(response: Response): Promise<unknown>;
5
+ declare function cancelStreamedValues(pageContext: object, isRendered: boolean): void;
@@ -0,0 +1,23 @@
1
+ // Streamed pageContext values https://vike.dev/passToClient#streaming, upon client-side navigation: the decoder
2
+ // (../shared/streamedValues.ts) is loaded only if the `.pageContext.json` response is a JSON array (see
3
+ // server/runtime/renderPageServer/getPageContextJson.ts).
4
+ export { readPageContextJson };
5
+ export { cancelStreamedValues };
6
+ import { parse } from '@brillout/json-serializer/parse';
7
+ import '../assertEnvClient.js';
8
+ let decoder;
9
+ async function readPageContextJson(response) {
10
+ const reader = response.clone().body.getReader();
11
+ let chunk = await reader.read();
12
+ while (!chunk.done && !chunk.value.length)
13
+ chunk = await reader.read();
14
+ reader.cancel();
15
+ // A pageContext always serializes as `{…}`, so an array (`[` is 91) means streamed values
16
+ if (chunk.value?.[0] !== 91)
17
+ return parse(await response.text());
18
+ decoder ?? (decoder = await import('../shared/streamedValues.js'));
19
+ return decoder.readPageContextJsonStreamed(response);
20
+ }
21
+ function cancelStreamedValues(pageContext, isRendered) {
22
+ decoder?.cancelStreamedValues(pageContext, isRendered);
23
+ }
@@ -35,6 +35,10 @@ declare function createPageContextClient(): Promise<{
35
35
  _pageFilesAll: import("../../shared-server-client/getPageFiles.js").PageFile[];
36
36
  _pageConfigs: import("../../types/PageConfig.js").PageConfigRuntime[];
37
37
  _pageConfigGlobal: import("../../types/PageConfig.js").PageConfigGlobalRuntime;
38
+ _environmentEntries: Record<string, {
39
+ pageConfigs: import("../../types/PageConfig.js").PageConfigRuntime[];
40
+ pageConfigGlobal: import("../../types/PageConfig.js").PageConfigGlobalRuntime;
41
+ } | null>;
38
42
  _allPageIds: string[];
39
43
  } & {
40
44
  isClientSide: true;