@payloadcms/tanstack-start 4.0.0-internal.e7d4ebc → 4.0.0-internal.ee5d8bd

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 (242) hide show
  1. package/dist/adapters/handleServerFunctions.d.ts +3 -0
  2. package/dist/adapters/handleServerFunctions.d.ts.map +1 -0
  3. package/dist/adapters/handleServerFunctions.js +17 -0
  4. package/dist/adapters/handleServerFunctions.js.map +1 -0
  5. package/dist/adapters/layout/RootProviders/index.d.ts +9 -0
  6. package/dist/adapters/layout/RootProviders/index.d.ts.map +1 -0
  7. package/dist/adapters/layout/RootProviders/index.js +21 -0
  8. package/dist/adapters/layout/RootProviders/index.js.map +1 -0
  9. package/dist/{layouts/Root/withPayloadRoot.d.ts → adapters/layout/index.d.ts} +32 -4
  10. package/dist/adapters/layout/index.d.ts.map +1 -0
  11. package/dist/adapters/layout/index.js +107 -0
  12. package/dist/adapters/layout/index.js.map +1 -0
  13. package/dist/adapters/layout/lazy.d.ts +7 -0
  14. package/dist/adapters/layout/lazy.d.ts.map +1 -0
  15. package/dist/adapters/layout/lazy.js +17 -0
  16. package/dist/adapters/layout/lazy.js.map +1 -0
  17. package/dist/adapters/layout/outlet.d.ts +4 -0
  18. package/dist/adapters/layout/outlet.d.ts.map +1 -0
  19. package/dist/adapters/layout/outlet.js +9 -0
  20. package/dist/adapters/layout/outlet.js.map +1 -0
  21. package/dist/adapters/layout/server.d.ts +23 -0
  22. package/dist/adapters/layout/server.d.ts.map +1 -0
  23. package/dist/adapters/layout/server.js +65 -0
  24. package/dist/adapters/layout/server.js.map +1 -0
  25. package/dist/{utilities/meta.d.ts → adapters/metadata.d.ts} +10 -1
  26. package/dist/adapters/metadata.d.ts.map +1 -0
  27. package/dist/{utilities/meta.js → adapters/metadata.js} +60 -1
  28. package/dist/adapters/metadata.js.map +1 -0
  29. package/dist/{elements/RouterAdapter/index.d.ts → adapters/router.d.ts} +1 -1
  30. package/dist/adapters/router.d.ts.map +1 -0
  31. package/dist/{elements/RouterAdapter/index.js → adapters/router.js} +43 -17
  32. package/dist/adapters/router.js.map +1 -0
  33. package/dist/{utilities/serverAdapter.server.d.ts → adapters/server.d.ts} +1 -1
  34. package/dist/adapters/server.d.ts.map +1 -0
  35. package/dist/{utilities/serverAdapter.server.js → adapters/server.js} +3 -30
  36. package/dist/adapters/server.js.map +1 -0
  37. package/dist/{routes/adminRoutes.d.ts → adapters/views/index.d.ts} +15 -19
  38. package/dist/adapters/views/index.d.ts.map +1 -0
  39. package/dist/adapters/views/index.js +101 -0
  40. package/dist/adapters/views/index.js.map +1 -0
  41. package/dist/adapters/views/lazy.d.ts +4 -0
  42. package/dist/adapters/views/lazy.d.ts.map +1 -0
  43. package/dist/adapters/views/lazy.js +44 -0
  44. package/dist/adapters/views/lazy.js.map +1 -0
  45. package/dist/{utilities/loadAdminPage.d.ts → adapters/views/server.d.ts} +12 -6
  46. package/dist/adapters/views/server.d.ts.map +1 -0
  47. package/dist/{utilities/loadAdminPage.js → adapters/views/server.js} +27 -89
  48. package/dist/adapters/views/server.js.map +1 -0
  49. package/dist/auth/login.d.ts +3 -16
  50. package/dist/auth/login.d.ts.map +1 -1
  51. package/dist/auth/login.js +6 -46
  52. package/dist/auth/login.js.map +1 -1
  53. package/dist/auth/logout.d.ts +2 -5
  54. package/dist/auth/logout.d.ts.map +1 -1
  55. package/dist/auth/logout.js +6 -47
  56. package/dist/auth/logout.js.map +1 -1
  57. package/dist/auth/refresh.d.ts +2 -4
  58. package/dist/auth/refresh.d.ts.map +1 -1
  59. package/dist/auth/refresh.js +6 -49
  60. package/dist/auth/refresh.js.map +1 -1
  61. package/dist/exports/client/layout.d.ts +2 -0
  62. package/dist/exports/client/layout.d.ts.map +1 -0
  63. package/dist/exports/client/layout.js +4 -0
  64. package/dist/exports/client/layout.js.map +1 -0
  65. package/dist/exports/client.d.ts +3 -7
  66. package/dist/exports/client.d.ts.map +1 -1
  67. package/dist/exports/client.js +3 -7
  68. package/dist/exports/client.js.map +1 -1
  69. package/dist/exports/layouts.d.ts +2 -5
  70. package/dist/exports/layouts.d.ts.map +1 -1
  71. package/dist/exports/layouts.js +1 -3
  72. package/dist/exports/layouts.js.map +1 -1
  73. package/dist/exports/routes.d.ts +2 -0
  74. package/dist/exports/routes.d.ts.map +1 -0
  75. package/dist/exports/routes.js +3 -0
  76. package/dist/exports/routes.js.map +1 -0
  77. package/dist/exports/rsc.browser.d.ts +4 -1
  78. package/dist/exports/rsc.browser.d.ts.map +1 -1
  79. package/dist/exports/rsc.browser.js +4 -1
  80. package/dist/exports/rsc.browser.js.map +1 -1
  81. package/dist/exports/rsc.d.ts +0 -1
  82. package/dist/exports/rsc.d.ts.map +1 -1
  83. package/dist/exports/rsc.js +0 -1
  84. package/dist/exports/rsc.js.map +1 -1
  85. package/dist/exports/server.d.ts +6 -12
  86. package/dist/exports/server.d.ts.map +1 -1
  87. package/dist/exports/server.js +6 -12
  88. package/dist/exports/server.js.map +1 -1
  89. package/dist/{utilities/graphqlHandler.server.d.ts → routes/graphql/handler.server.d.ts} +1 -3
  90. package/dist/routes/graphql/handler.server.d.ts.map +1 -0
  91. package/dist/{utilities/graphqlHandler.server.js → routes/graphql/handler.server.js} +9 -6
  92. package/dist/routes/graphql/handler.server.js.map +1 -0
  93. package/dist/routes/rest/handler.server.d.ts +11 -0
  94. package/dist/routes/rest/handler.server.d.ts.map +1 -0
  95. package/dist/routes/rest/handler.server.js +14 -0
  96. package/dist/routes/rest/handler.server.js.map +1 -0
  97. package/dist/routes/{apiRoute.d.ts → rest/index.d.ts} +5 -4
  98. package/dist/routes/rest/index.d.ts.map +1 -0
  99. package/dist/routes/{apiRoute.js → rest/index.js} +6 -5
  100. package/dist/routes/rest/index.js.map +1 -0
  101. package/dist/rsc/CollectionCards.js +1 -1
  102. package/dist/rsc/CollectionCards.js.map +1 -1
  103. package/dist/utilities/devConfigReload.server.d.ts +2 -0
  104. package/dist/utilities/devConfigReload.server.d.ts.map +1 -0
  105. package/dist/utilities/devConfigReload.server.js +61 -0
  106. package/dist/utilities/devConfigReload.server.js.map +1 -0
  107. package/dist/utilities/devConfigReloadEvent.d.ts +9 -0
  108. package/dist/utilities/devConfigReloadEvent.d.ts.map +1 -0
  109. package/dist/utilities/devConfigReloadEvent.js +9 -0
  110. package/dist/utilities/devConfigReloadEvent.js.map +1 -0
  111. package/dist/utilities/getRequestI18n.server.d.ts +1 -1
  112. package/dist/utilities/getRequestI18n.server.js +1 -1
  113. package/dist/utilities/getRequestI18n.server.js.map +1 -1
  114. package/dist/utilities/initAdminContext.server.d.ts +9 -0
  115. package/dist/utilities/initAdminContext.server.d.ts.map +1 -0
  116. package/dist/utilities/initAdminContext.server.js +13 -0
  117. package/dist/utilities/initAdminContext.server.js.map +1 -0
  118. package/dist/utilities/serverFunctionClient.d.ts +2 -23
  119. package/dist/utilities/serverFunctionClient.d.ts.map +1 -1
  120. package/dist/utilities/serverFunctionClient.js +12 -101
  121. package/dist/utilities/serverFunctionClient.js.map +1 -1
  122. package/dist/withPayload/config/external.d.ts +19 -21
  123. package/dist/withPayload/config/external.d.ts.map +1 -1
  124. package/dist/withPayload/config/external.js +38 -32
  125. package/dist/withPayload/config/external.js.map +1 -1
  126. package/dist/withPayload/config/optimizeDeps.d.ts.map +1 -1
  127. package/dist/withPayload/config/optimizeDeps.js +44 -7
  128. package/dist/withPayload/config/optimizeDeps.js.map +1 -1
  129. package/dist/withPayload/devConfigReload.d.ts +14 -0
  130. package/dist/withPayload/devConfigReload.d.ts.map +1 -0
  131. package/dist/withPayload/devConfigReload.js +84 -0
  132. package/dist/withPayload/devConfigReload.js.map +1 -0
  133. package/dist/withPayload/importProtection.d.ts.map +1 -1
  134. package/dist/withPayload/importProtection.js +2 -2
  135. package/dist/withPayload/importProtection.js.map +1 -1
  136. package/dist/withPayload/index.d.ts +24 -11
  137. package/dist/withPayload/index.d.ts.map +1 -1
  138. package/dist/withPayload/index.js +50 -19
  139. package/dist/withPayload/index.js.map +1 -1
  140. package/dist/withPayload/workarounds/stripDistStyleImports.js +2 -2
  141. package/dist/withPayload/workarounds/stripDistStyleImports.js.map +1 -1
  142. package/package.json +35 -29
  143. package/dist/elements/DocumentHeaderClient/index.d.ts +0 -16
  144. package/dist/elements/DocumentHeaderClient/index.d.ts.map +0 -1
  145. package/dist/elements/DocumentHeaderClient/index.js +0 -116
  146. package/dist/elements/DocumentHeaderClient/index.js.map +0 -1
  147. package/dist/elements/RenderComponent/index.d.ts +0 -10
  148. package/dist/elements/RenderComponent/index.d.ts.map +0 -1
  149. package/dist/elements/RenderComponent/index.js +0 -12
  150. package/dist/elements/RenderComponent/index.js.map +0 -1
  151. package/dist/elements/RouterAdapter/index.d.ts.map +0 -1
  152. package/dist/elements/RouterAdapter/index.js.map +0 -1
  153. package/dist/layouts/Root/getLayoutData.d.ts +0 -12
  154. package/dist/layouts/Root/getLayoutData.d.ts.map +0 -1
  155. package/dist/layouts/Root/getLayoutData.js +0 -91
  156. package/dist/layouts/Root/getLayoutData.js.map +0 -1
  157. package/dist/layouts/Root/index.d.ts +0 -32
  158. package/dist/layouts/Root/index.d.ts.map +0 -1
  159. package/dist/layouts/Root/index.js +0 -53
  160. package/dist/layouts/Root/index.js.map +0 -1
  161. package/dist/layouts/Root/withPayloadRoot.d.ts.map +0 -1
  162. package/dist/layouts/Root/withPayloadRoot.js +0 -91
  163. package/dist/layouts/Root/withPayloadRoot.js.map +0 -1
  164. package/dist/node/cssLoader.d.mts +0 -25
  165. package/dist/node/cssLoader.d.mts.map +0 -1
  166. package/dist/node/cssLoader.js +0 -70
  167. package/dist/node/cssLoader.js.map +0 -1
  168. package/dist/node/cssLoader.mjs +0 -75
  169. package/dist/node/registerCssLoader.d.mts +0 -2
  170. package/dist/node/registerCssLoader.d.mts.map +0 -1
  171. package/dist/node/registerCssLoader.js +0 -10
  172. package/dist/node/registerCssLoader.js.map +0 -1
  173. package/dist/node/registerCssLoader.mjs +0 -10
  174. package/dist/routes/adminRoutes.d.ts.map +0 -1
  175. package/dist/routes/adminRoutes.js +0 -105
  176. package/dist/routes/adminRoutes.js.map +0 -1
  177. package/dist/routes/apiRoute.d.ts.map +0 -1
  178. package/dist/routes/apiRoute.js.map +0 -1
  179. package/dist/routes/layoutRoute.d.ts +0 -26
  180. package/dist/routes/layoutRoute.d.ts.map +0 -1
  181. package/dist/routes/layoutRoute.js +0 -57
  182. package/dist/routes/layoutRoute.js.map +0 -1
  183. package/dist/rsc/renderPayloadRSC.d.ts +0 -6
  184. package/dist/rsc/renderPayloadRSC.d.ts.map +0 -1
  185. package/dist/rsc/renderPayloadRSC.js +0 -6
  186. package/dist/rsc/renderPayloadRSC.js.map +0 -1
  187. package/dist/utilities/devReloadStrategy.d.ts +0 -10
  188. package/dist/utilities/devReloadStrategy.d.ts.map +0 -1
  189. package/dist/utilities/devReloadStrategy.js +0 -27
  190. package/dist/utilities/devReloadStrategy.js.map +0 -1
  191. package/dist/utilities/getExistingAuthToken.d.ts +0 -7
  192. package/dist/utilities/getExistingAuthToken.d.ts.map +0 -1
  193. package/dist/utilities/getExistingAuthToken.js +0 -18
  194. package/dist/utilities/getExistingAuthToken.js.map +0 -1
  195. package/dist/utilities/getPreferences.d.ts +0 -10
  196. package/dist/utilities/getPreferences.d.ts.map +0 -1
  197. package/dist/utilities/getPreferences.js +0 -33
  198. package/dist/utilities/getPreferences.js.map +0 -1
  199. package/dist/utilities/getRequestLocale.d.ts +0 -7
  200. package/dist/utilities/getRequestLocale.d.ts.map +0 -1
  201. package/dist/utilities/getRequestLocale.js +0 -20
  202. package/dist/utilities/getRequestLocale.js.map +0 -1
  203. package/dist/utilities/graphqlHandler.server.d.ts.map +0 -1
  204. package/dist/utilities/graphqlHandler.server.js.map +0 -1
  205. package/dist/utilities/handleAPIRoute.server.d.ts +0 -11
  206. package/dist/utilities/handleAPIRoute.server.d.ts.map +0 -1
  207. package/dist/utilities/handleAPIRoute.server.js +0 -17
  208. package/dist/utilities/handleAPIRoute.server.js.map +0 -1
  209. package/dist/utilities/handleServerFunctions.d.ts +0 -2
  210. package/dist/utilities/handleServerFunctions.d.ts.map +0 -1
  211. package/dist/utilities/handleServerFunctions.js +0 -12
  212. package/dist/utilities/handleServerFunctions.js.map +0 -1
  213. package/dist/utilities/importMap.server.d.ts +0 -8
  214. package/dist/utilities/importMap.server.d.ts.map +0 -1
  215. package/dist/utilities/importMap.server.js +0 -11
  216. package/dist/utilities/importMap.server.js.map +0 -1
  217. package/dist/utilities/initReq.server.d.ts +0 -19
  218. package/dist/utilities/initReq.server.d.ts.map +0 -1
  219. package/dist/utilities/initReq.server.js +0 -87
  220. package/dist/utilities/initReq.server.js.map +0 -1
  221. package/dist/utilities/loadAdminPage.d.ts.map +0 -1
  222. package/dist/utilities/loadAdminPage.js.map +0 -1
  223. package/dist/utilities/loadLayoutData.d.ts +0 -15
  224. package/dist/utilities/loadLayoutData.d.ts.map +0 -1
  225. package/dist/utilities/loadLayoutData.js +0 -23
  226. package/dist/utilities/loadLayoutData.js.map +0 -1
  227. package/dist/utilities/meta.d.ts.map +0 -1
  228. package/dist/utilities/meta.js.map +0 -1
  229. package/dist/utilities/serializeForRsc.d.ts +0 -26
  230. package/dist/utilities/serializeForRsc.d.ts.map +0 -1
  231. package/dist/utilities/serializeForRsc.js +0 -122
  232. package/dist/utilities/serializeForRsc.js.map +0 -1
  233. package/dist/utilities/serverAdapter.server.d.ts.map +0 -1
  234. package/dist/utilities/serverAdapter.server.js.map +0 -1
  235. package/dist/utilities/setPayloadAuthCookie.d.ts +0 -9
  236. package/dist/utilities/setPayloadAuthCookie.d.ts.map +0 -1
  237. package/dist/utilities/setPayloadAuthCookie.js +0 -31
  238. package/dist/utilities/setPayloadAuthCookie.js.map +0 -1
  239. package/dist/utilities/toSerializable.d.ts +0 -2
  240. package/dist/utilities/toSerializable.d.ts.map +0 -1
  241. package/dist/utilities/toSerializable.js +0 -111
  242. package/dist/utilities/toSerializable.js.map +0 -1
@@ -1,9 +0,0 @@
1
- import type { Auth } from 'payload';
2
- type SetPayloadAuthCookieArgs = {
3
- authConfig: Auth;
4
- cookiePrefix: string;
5
- token: string;
6
- };
7
- export declare function setPayloadAuthCookie({ authConfig, cookiePrefix, token, }: SetPayloadAuthCookieArgs): void;
8
- export {};
9
- //# sourceMappingURL=setPayloadAuthCookie.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"setPayloadAuthCookie.d.ts","sourceRoot":"","sources":["../../src/utilities/setPayloadAuthCookie.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAKnC,KAAK,wBAAwB,GAAG;IAC9B,UAAU,EAAE,IAAI,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,wBAAgB,oBAAoB,CAAC,EACnC,UAAU,EACV,YAAY,EACZ,KAAK,GACN,EAAE,wBAAwB,GAAG,IAAI,CAoCjC"}
@@ -1,31 +0,0 @@
1
- import { setResponseHeader } from '@tanstack/react-start/server';
2
- import { generatePayloadCookie } from 'payload';
3
- export function setPayloadAuthCookie({ authConfig, cookiePrefix, token }) {
4
- const cookieExpiration = authConfig.tokenExpiration ? new Date(Date.now() + authConfig.tokenExpiration) : undefined;
5
- const payloadCookie = generatePayloadCookie({
6
- collectionAuthConfig: authConfig,
7
- cookiePrefix,
8
- expires: cookieExpiration,
9
- returnCookieAsObject: true,
10
- token
11
- });
12
- if (payloadCookie.value) {
13
- const sameSite = typeof authConfig.cookies.sameSite === 'string' ? authConfig.cookies.sameSite : 'Lax';
14
- let cookie = `${encodeURIComponent(payloadCookie.name)}=${encodeURIComponent(payloadCookie.value)}`;
15
- cookie += '; HttpOnly';
16
- cookie += `; SameSite=${sameSite}`;
17
- cookie += '; Path=/';
18
- if (authConfig.cookies.secure) {
19
- cookie += '; Secure';
20
- }
21
- if (authConfig.cookies.domain) {
22
- cookie += `; Domain=${authConfig.cookies.domain}`;
23
- }
24
- if (payloadCookie.expires) {
25
- cookie += `; Expires=${new Date(payloadCookie.expires).toUTCString()}`;
26
- }
27
- setResponseHeader('Set-Cookie', cookie);
28
- }
29
- }
30
-
31
- //# sourceMappingURL=setPayloadAuthCookie.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/utilities/setPayloadAuthCookie.ts"],"sourcesContent":["import type { Auth } from 'payload'\n\nimport { setResponseHeader } from '@tanstack/react-start/server'\nimport { generatePayloadCookie } from 'payload'\n\ntype SetPayloadAuthCookieArgs = {\n authConfig: Auth\n cookiePrefix: string\n token: string\n}\n\nexport function setPayloadAuthCookie({\n authConfig,\n cookiePrefix,\n token,\n}: SetPayloadAuthCookieArgs): void {\n const cookieExpiration = authConfig.tokenExpiration\n ? new Date(Date.now() + authConfig.tokenExpiration)\n : undefined\n\n const payloadCookie = generatePayloadCookie({\n collectionAuthConfig: authConfig,\n cookiePrefix,\n expires: cookieExpiration,\n returnCookieAsObject: true,\n token,\n })\n\n if (payloadCookie.value) {\n const sameSite =\n typeof authConfig.cookies.sameSite === 'string' ? authConfig.cookies.sameSite : 'Lax'\n\n let cookie = `${encodeURIComponent(payloadCookie.name)}=${encodeURIComponent(payloadCookie.value)}`\n cookie += '; HttpOnly'\n cookie += `; SameSite=${sameSite}`\n cookie += '; Path=/'\n\n if (authConfig.cookies.secure) {\n cookie += '; Secure'\n }\n\n if (authConfig.cookies.domain) {\n cookie += `; Domain=${authConfig.cookies.domain}`\n }\n\n if (payloadCookie.expires) {\n cookie += `; Expires=${new Date(payloadCookie.expires).toUTCString()}`\n }\n\n setResponseHeader('Set-Cookie', cookie)\n }\n}\n"],"names":["setResponseHeader","generatePayloadCookie","setPayloadAuthCookie","authConfig","cookiePrefix","token","cookieExpiration","tokenExpiration","Date","now","undefined","payloadCookie","collectionAuthConfig","expires","returnCookieAsObject","value","sameSite","cookies","cookie","encodeURIComponent","name","secure","domain","toUTCString"],"mappings":"AAEA,SAASA,iBAAiB,QAAQ,+BAA8B;AAChE,SAASC,qBAAqB,QAAQ,UAAS;AAQ/C,OAAO,SAASC,qBAAqB,EACnCC,UAAU,EACVC,YAAY,EACZC,KAAK,EACoB;IACzB,MAAMC,mBAAmBH,WAAWI,eAAe,GAC/C,IAAIC,KAAKA,KAAKC,GAAG,KAAKN,WAAWI,eAAe,IAChDG;IAEJ,MAAMC,gBAAgBV,sBAAsB;QAC1CW,sBAAsBT;QACtBC;QACAS,SAASP;QACTQ,sBAAsB;QACtBT;IACF;IAEA,IAAIM,cAAcI,KAAK,EAAE;QACvB,MAAMC,WACJ,OAAOb,WAAWc,OAAO,CAACD,QAAQ,KAAK,WAAWb,WAAWc,OAAO,CAACD,QAAQ,GAAG;QAElF,IAAIE,SAAS,GAAGC,mBAAmBR,cAAcS,IAAI,EAAE,CAAC,EAAED,mBAAmBR,cAAcI,KAAK,GAAG;QACnGG,UAAU;QACVA,UAAU,CAAC,WAAW,EAAEF,UAAU;QAClCE,UAAU;QAEV,IAAIf,WAAWc,OAAO,CAACI,MAAM,EAAE;YAC7BH,UAAU;QACZ;QAEA,IAAIf,WAAWc,OAAO,CAACK,MAAM,EAAE;YAC7BJ,UAAU,CAAC,SAAS,EAAEf,WAAWc,OAAO,CAACK,MAAM,EAAE;QACnD;QAEA,IAAIX,cAAcE,OAAO,EAAE;YACzBK,UAAU,CAAC,UAAU,EAAE,IAAIV,KAAKG,cAAcE,OAAO,EAAEU,WAAW,IAAI;QACxE;QAEAvB,kBAAkB,cAAckB;IAClC;AACF"}
@@ -1,2 +0,0 @@
1
- export declare function toSerializable<T>(value: T): T;
2
- //# sourceMappingURL=toSerializable.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"toSerializable.d.ts","sourceRoot":"","sources":["../../src/utilities/toSerializable.ts"],"names":[],"mappings":"AA6HA,wBAAgB,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAE7C"}
@@ -1,111 +0,0 @@
1
- /**
2
- * Recursively strip values that seroval cannot serialize (React elements,
3
- * functions, Symbols) while preserving Maps, Sets, Dates, typed arrays, etc.
4
- *
5
- * TanStack Start uses seroval to transfer server function return values to
6
- * the client. Payload's `getClientConfig` / `getLayoutData` may include
7
- * callback functions or RegExp instances that seroval chokes on. Running
8
- * the data through this function before returning from a `createServerFn`
9
- * handler keeps the transfer safe.
10
- *
11
- * For server functions whose payloads contain React elements (e.g. the
12
- * shared `form-state` / `render-list` / `render-document` handlers), use
13
- * `serializeForRsc` instead — it converts elements into RSC handles rather
14
- * than stripping them.
15
- *
16
- * Uses a WeakMap cache so that shared object references (e.g. the same array
17
- * referenced by both `doc.hasMany` and `formState.hasMany.value`) are
18
- * returned correctly instead of being dropped as "already seen".
19
- *
20
- * A separate `ancestors` WeakSet tracks objects currently being recursed into.
21
- * If an object is encountered while it is still on the recursion stack, the
22
- * reference is circular and is replaced with `undefined` to keep the output
23
- * JSON-safe. Once recursion completes the object is removed from `ancestors`,
24
- * so sibling/cousin references to the same (fully-processed) object still
25
- * resolve to the cached clone.
26
- */ function stripUnserializable(value, cache = new WeakMap(), ancestors = new WeakSet()) {
27
- if (value === null || value === undefined) {
28
- return value;
29
- }
30
- const t = typeof value;
31
- if (t === 'function' || t === 'symbol') {
32
- return undefined;
33
- }
34
- if (t !== 'object') {
35
- return value;
36
- }
37
- const obj = value;
38
- if (typeof obj.$$typeof === 'symbol') {
39
- return undefined;
40
- }
41
- if (ancestors.has(obj)) {
42
- return undefined;
43
- }
44
- if (cache.has(obj)) {
45
- return cache.get(obj);
46
- }
47
- if (obj instanceof Date) {
48
- return obj;
49
- }
50
- // RegExp: seroval's SSR bootstrap emits regex literals with broken escape
51
- // sequences (e.g. `/!\\[.../` instead of `/!\[.../`), crashing the client
52
- // script that populates `window.$_TSR` and preventing hydration. Rich-text
53
- // feature transformer regexes aren't needed on the client (they drive
54
- // server-side markdown import/export), so strip them here.
55
- if (obj instanceof RegExp) {
56
- return undefined;
57
- }
58
- ancestors.add(obj);
59
- if (obj instanceof Map) {
60
- const cleaned = new Map();
61
- cache.set(obj, cleaned);
62
- for (const [k, v] of obj){
63
- const cv = stripUnserializable(v, cache, ancestors);
64
- if (cv !== undefined) {
65
- cleaned.set(k, cv);
66
- }
67
- }
68
- ancestors.delete(obj);
69
- return cleaned;
70
- }
71
- if (obj instanceof Set) {
72
- const cleaned = new Set();
73
- cache.set(obj, cleaned);
74
- for (const v of obj){
75
- const cv = stripUnserializable(v, cache, ancestors);
76
- if (cv !== undefined) {
77
- cleaned.add(cv);
78
- }
79
- }
80
- ancestors.delete(obj);
81
- return cleaned;
82
- }
83
- if (Array.isArray(obj)) {
84
- const arr = [];
85
- cache.set(obj, arr);
86
- for (const item of obj){
87
- arr.push(stripUnserializable(item, cache, ancestors));
88
- }
89
- ancestors.delete(obj);
90
- return arr;
91
- }
92
- if (ArrayBuffer.isView(obj)) {
93
- ancestors.delete(obj);
94
- return obj;
95
- }
96
- const result = {};
97
- cache.set(obj, result);
98
- for (const key of Object.keys(obj)){
99
- const v = stripUnserializable(obj[key], cache, ancestors);
100
- if (v !== undefined) {
101
- result[key] = v;
102
- }
103
- }
104
- ancestors.delete(obj);
105
- return result;
106
- }
107
- export function toSerializable(value) {
108
- return stripUnserializable(value);
109
- }
110
-
111
- //# sourceMappingURL=toSerializable.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/utilities/toSerializable.ts"],"sourcesContent":["/**\n * Recursively strip values that seroval cannot serialize (React elements,\n * functions, Symbols) while preserving Maps, Sets, Dates, typed arrays, etc.\n *\n * TanStack Start uses seroval to transfer server function return values to\n * the client. Payload's `getClientConfig` / `getLayoutData` may include\n * callback functions or RegExp instances that seroval chokes on. Running\n * the data through this function before returning from a `createServerFn`\n * handler keeps the transfer safe.\n *\n * For server functions whose payloads contain React elements (e.g. the\n * shared `form-state` / `render-list` / `render-document` handlers), use\n * `serializeForRsc` instead — it converts elements into RSC handles rather\n * than stripping them.\n *\n * Uses a WeakMap cache so that shared object references (e.g. the same array\n * referenced by both `doc.hasMany` and `formState.hasMany.value`) are\n * returned correctly instead of being dropped as \"already seen\".\n *\n * A separate `ancestors` WeakSet tracks objects currently being recursed into.\n * If an object is encountered while it is still on the recursion stack, the\n * reference is circular and is replaced with `undefined` to keep the output\n * JSON-safe. Once recursion completes the object is removed from `ancestors`,\n * so sibling/cousin references to the same (fully-processed) object still\n * resolve to the cached clone.\n */\nfunction stripUnserializable(\n value: unknown,\n cache = new WeakMap<object, unknown>(),\n ancestors = new WeakSet<object>(),\n): unknown {\n if (value === null || value === undefined) {\n return value\n }\n\n const t = typeof value\n if (t === 'function' || t === 'symbol') {\n return undefined\n }\n if (t !== 'object') {\n return value\n }\n\n const obj = value as Record<string, unknown>\n\n if (typeof obj.$$typeof === 'symbol') {\n return undefined\n }\n\n if (ancestors.has(obj)) {\n return undefined\n }\n\n if (cache.has(obj)) {\n return cache.get(obj)\n }\n\n if (obj instanceof Date) {\n return obj\n }\n\n // RegExp: seroval's SSR bootstrap emits regex literals with broken escape\n // sequences (e.g. `/!\\\\[.../` instead of `/!\\[.../`), crashing the client\n // script that populates `window.$_TSR` and preventing hydration. Rich-text\n // feature transformer regexes aren't needed on the client (they drive\n // server-side markdown import/export), so strip them here.\n if (obj instanceof RegExp) {\n return undefined\n }\n\n ancestors.add(obj)\n\n if (obj instanceof Map) {\n const cleaned = new Map()\n cache.set(obj, cleaned)\n for (const [k, v] of obj) {\n const cv = stripUnserializable(v, cache, ancestors)\n if (cv !== undefined) {\n cleaned.set(k, cv)\n }\n }\n ancestors.delete(obj)\n return cleaned\n }\n\n if (obj instanceof Set) {\n const cleaned = new Set()\n cache.set(obj, cleaned)\n for (const v of obj) {\n const cv = stripUnserializable(v, cache, ancestors)\n if (cv !== undefined) {\n cleaned.add(cv)\n }\n }\n ancestors.delete(obj)\n return cleaned\n }\n\n if (Array.isArray(obj)) {\n const arr: unknown[] = []\n cache.set(obj, arr)\n for (const item of obj) {\n arr.push(stripUnserializable(item, cache, ancestors))\n }\n ancestors.delete(obj)\n return arr\n }\n\n if (ArrayBuffer.isView(obj)) {\n ancestors.delete(obj)\n return obj\n }\n\n const result: Record<string, unknown> = {}\n cache.set(obj, result)\n for (const key of Object.keys(obj)) {\n const v = stripUnserializable(obj[key], cache, ancestors)\n if (v !== undefined) {\n result[key] = v\n }\n }\n ancestors.delete(obj)\n return result\n}\n\nexport function toSerializable<T>(value: T): T {\n return stripUnserializable(value) as T\n}\n"],"names":["stripUnserializable","value","cache","WeakMap","ancestors","WeakSet","undefined","t","obj","$$typeof","has","get","Date","RegExp","add","Map","cleaned","set","k","v","cv","delete","Set","Array","isArray","arr","item","push","ArrayBuffer","isView","result","key","Object","keys","toSerializable"],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;CAyBC,GACD,SAASA,oBACPC,KAAc,EACdC,QAAQ,IAAIC,SAA0B,EACtCC,YAAY,IAAIC,SAAiB;IAEjC,IAAIJ,UAAU,QAAQA,UAAUK,WAAW;QACzC,OAAOL;IACT;IAEA,MAAMM,IAAI,OAAON;IACjB,IAAIM,MAAM,cAAcA,MAAM,UAAU;QACtC,OAAOD;IACT;IACA,IAAIC,MAAM,UAAU;QAClB,OAAON;IACT;IAEA,MAAMO,MAAMP;IAEZ,IAAI,OAAOO,IAAIC,QAAQ,KAAK,UAAU;QACpC,OAAOH;IACT;IAEA,IAAIF,UAAUM,GAAG,CAACF,MAAM;QACtB,OAAOF;IACT;IAEA,IAAIJ,MAAMQ,GAAG,CAACF,MAAM;QAClB,OAAON,MAAMS,GAAG,CAACH;IACnB;IAEA,IAAIA,eAAeI,MAAM;QACvB,OAAOJ;IACT;IAEA,0EAA0E;IAC1E,0EAA0E;IAC1E,2EAA2E;IAC3E,sEAAsE;IACtE,2DAA2D;IAC3D,IAAIA,eAAeK,QAAQ;QACzB,OAAOP;IACT;IAEAF,UAAUU,GAAG,CAACN;IAEd,IAAIA,eAAeO,KAAK;QACtB,MAAMC,UAAU,IAAID;QACpBb,MAAMe,GAAG,CAACT,KAAKQ;QACf,KAAK,MAAM,CAACE,GAAGC,EAAE,IAAIX,IAAK;YACxB,MAAMY,KAAKpB,oBAAoBmB,GAAGjB,OAAOE;YACzC,IAAIgB,OAAOd,WAAW;gBACpBU,QAAQC,GAAG,CAACC,GAAGE;YACjB;QACF;QACAhB,UAAUiB,MAAM,CAACb;QACjB,OAAOQ;IACT;IAEA,IAAIR,eAAec,KAAK;QACtB,MAAMN,UAAU,IAAIM;QACpBpB,MAAMe,GAAG,CAACT,KAAKQ;QACf,KAAK,MAAMG,KAAKX,IAAK;YACnB,MAAMY,KAAKpB,oBAAoBmB,GAAGjB,OAAOE;YACzC,IAAIgB,OAAOd,WAAW;gBACpBU,QAAQF,GAAG,CAACM;YACd;QACF;QACAhB,UAAUiB,MAAM,CAACb;QACjB,OAAOQ;IACT;IAEA,IAAIO,MAAMC,OAAO,CAAChB,MAAM;QACtB,MAAMiB,MAAiB,EAAE;QACzBvB,MAAMe,GAAG,CAACT,KAAKiB;QACf,KAAK,MAAMC,QAAQlB,IAAK;YACtBiB,IAAIE,IAAI,CAAC3B,oBAAoB0B,MAAMxB,OAAOE;QAC5C;QACAA,UAAUiB,MAAM,CAACb;QACjB,OAAOiB;IACT;IAEA,IAAIG,YAAYC,MAAM,CAACrB,MAAM;QAC3BJ,UAAUiB,MAAM,CAACb;QACjB,OAAOA;IACT;IAEA,MAAMsB,SAAkC,CAAC;IACzC5B,MAAMe,GAAG,CAACT,KAAKsB;IACf,KAAK,MAAMC,OAAOC,OAAOC,IAAI,CAACzB,KAAM;QAClC,MAAMW,IAAInB,oBAAoBQ,GAAG,CAACuB,IAAI,EAAE7B,OAAOE;QAC/C,IAAIe,MAAMb,WAAW;YACnBwB,MAAM,CAACC,IAAI,GAAGZ;QAChB;IACF;IACAf,UAAUiB,MAAM,CAACb;IACjB,OAAOsB;AACT;AAEA,OAAO,SAASI,eAAkBjC,KAAQ;IACxC,OAAOD,oBAAoBC;AAC7B"}