@farm.js/core 0.1.17 → 0.1.19

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 (269) hide show
  1. package/dist/after.cjs +12 -225
  2. package/dist/agent-runtime.cjs +83 -2800
  3. package/dist/api/client.cjs +17 -4060
  4. package/dist/api/route-manager.cjs +34 -4354
  5. package/dist/api/runtime.cjs +29 -2696
  6. package/dist/api.cjs +88 -8434
  7. package/dist/app-markdown.cjs +39 -280
  8. package/dist/app-markdown.mjs +3 -3
  9. package/dist/cache.cjs +38 -1560
  10. package/dist/chunk-22GUSVNJ.cjs +351 -0
  11. package/dist/{chunk-EN7WTEAY.mjs → chunk-2ANEVVF7.mjs} +1 -1
  12. package/dist/chunk-2CQ74SP6.cjs +13 -0
  13. package/dist/{chunk-YD4J4XCI.mjs → chunk-2GNATDDE.mjs} +1 -1
  14. package/dist/chunk-2SJ4RQ6P.cjs +57 -0
  15. package/dist/chunk-3376ZTRC.cjs +1 -0
  16. package/dist/chunk-4PNUXIVU.cjs +472 -0
  17. package/dist/chunk-4PPEPOZZ.cjs +21 -0
  18. package/dist/chunk-4ZFL5GFN.cjs +520 -0
  19. package/dist/chunk-5OVTOKGH.cjs +65 -0
  20. package/dist/chunk-5QIKR7RR.cjs +224 -0
  21. package/dist/chunk-5ZSWG4UX.cjs +127 -0
  22. package/dist/chunk-62YJ2IEB.cjs +238 -0
  23. package/dist/chunk-6EODJYCX.cjs +183 -0
  24. package/dist/chunk-6EXBPJ24.cjs +434 -0
  25. package/dist/chunk-6QQDAAAZ.cjs +38 -0
  26. package/dist/chunk-6V4TDWEC.cjs +455 -0
  27. package/dist/chunk-72ADZ6GQ.cjs +19 -0
  28. package/dist/chunk-75BRBIFP.cjs +172 -0
  29. package/dist/{chunk-ZCNJKLA2.mjs → chunk-7BC6GAL7.mjs} +1 -1
  30. package/dist/chunk-7W3CPVXS.cjs +24 -0
  31. package/dist/chunk-A6WIQH5Z.cjs +31 -0
  32. package/dist/chunk-A777V5WU.cjs +725 -0
  33. package/dist/chunk-AFOD3LYZ.cjs +377 -0
  34. package/dist/chunk-AH7HOAQ3.cjs +151 -0
  35. package/dist/chunk-AMDMVWMI.cjs +39 -0
  36. package/dist/chunk-AORPIPNB.cjs +552 -0
  37. package/dist/chunk-ARJWXNQL.cjs +256 -0
  38. package/dist/chunk-AYJR42WX.cjs +711 -0
  39. package/dist/chunk-BBVSJVBZ.cjs +600 -0
  40. package/dist/chunk-BIDYX3SL.cjs +91 -0
  41. package/dist/chunk-BYODCJD6.cjs +663 -0
  42. package/dist/chunk-C3VRMB6H.cjs +85 -0
  43. package/dist/chunk-C5GUTBZK.cjs +173 -0
  44. package/dist/chunk-CIAGU2X4.cjs +337 -0
  45. package/dist/chunk-CMGMGHUZ.cjs +27 -0
  46. package/dist/chunk-CXP5U3RW.cjs +54 -0
  47. package/dist/chunk-D2ULAULS.cjs +166 -0
  48. package/dist/chunk-D7JTOLFK.cjs +285 -0
  49. package/dist/chunk-DVM4FKZL.cjs +169 -0
  50. package/dist/chunk-DYEJQTDN.cjs +49 -0
  51. package/dist/chunk-E2ROOWQC.cjs +2225 -0
  52. package/dist/chunk-E3UK5IIB.cjs +593 -0
  53. package/dist/chunk-EM6SBQKM.cjs +470 -0
  54. package/dist/chunk-FJSWYIR7.cjs +482 -0
  55. package/dist/chunk-FK6GO24V.cjs +54 -0
  56. package/dist/{chunk-MVIWBEJF.mjs → chunk-FVZGEVTO.mjs} +7 -7
  57. package/dist/chunk-FXUUWYAX.cjs +654 -0
  58. package/dist/chunk-G3HRIVEY.cjs +395 -0
  59. package/dist/chunk-G643DQCH.cjs +13 -0
  60. package/dist/chunk-G7HXGLEC.cjs +175 -0
  61. package/dist/chunk-GDSHDTJ4.cjs +152 -0
  62. package/dist/chunk-GPVTX3HT.cjs +1415 -0
  63. package/dist/chunk-H6G5INWM.cjs +1094 -0
  64. package/dist/{chunk-DHDVMXYK.mjs → chunk-HALDNTIV.mjs} +30 -4
  65. package/dist/chunk-HBTUGXHS.cjs +180 -0
  66. package/dist/chunk-HREOKQWT.cjs +45 -0
  67. package/dist/{chunk-5QOEPUYE.mjs → chunk-HSDL2AUR.mjs} +1 -1
  68. package/dist/chunk-I4J452B7.cjs +435 -0
  69. package/dist/chunk-I57LW5VZ.cjs +94 -0
  70. package/dist/chunk-I5YBCWQ6.cjs +40 -0
  71. package/dist/chunk-I7PUUDGY.cjs +389 -0
  72. package/dist/chunk-IAMRBF3Z.cjs +86 -0
  73. package/dist/chunk-IQXFRNY2.cjs +169 -0
  74. package/dist/chunk-ISTFC3MZ.cjs +1357 -0
  75. package/dist/chunk-IXTFU4PL.cjs +2355 -0
  76. package/dist/chunk-J3LOGE4T.cjs +42 -0
  77. package/dist/chunk-J7FSKED3.cjs +93 -0
  78. package/dist/chunk-JDNHKPTD.cjs +22 -0
  79. package/dist/chunk-JSROZYYO.cjs +164 -0
  80. package/dist/chunk-K6FNHVDR.cjs +696 -0
  81. package/dist/chunk-KGZIORNL.cjs +43 -0
  82. package/dist/chunk-KR6CKSXT.cjs +15 -0
  83. package/dist/chunk-KROWKCUH.cjs +185 -0
  84. package/dist/chunk-KVFPGF2M.cjs +46 -0
  85. package/dist/{chunk-TNBAYAWO.mjs → chunk-L4DVIHOC.mjs} +1 -1
  86. package/dist/chunk-LCCBO7PJ.cjs +46 -0
  87. package/dist/chunk-LIUGYUX3.cjs +22 -0
  88. package/dist/chunk-LTNGXMQ6.cjs +55 -0
  89. package/dist/chunk-M2L4MYDQ.cjs +14 -0
  90. package/dist/chunk-MCJLA63J.cjs +1 -0
  91. package/dist/chunk-MKB2EGIR.cjs +148 -0
  92. package/dist/chunk-MQ3H6LT5.cjs +202 -0
  93. package/dist/chunk-MT763TDW.cjs +43 -0
  94. package/dist/{chunk-XWAYMDLB.mjs → chunk-MVUREHPN.mjs} +1 -1
  95. package/dist/chunk-MWSK6C4J.cjs +18 -0
  96. package/dist/chunk-MWWVKDW3.cjs +169 -0
  97. package/dist/{chunk-6VQIKZZO.mjs → chunk-N255VYFP.mjs} +1 -1
  98. package/dist/chunk-NBAHDVOJ.cjs +2040 -0
  99. package/dist/chunk-NO3WWW3N.cjs +192 -0
  100. package/dist/chunk-NSFC3LHB.cjs +10244 -0
  101. package/dist/chunk-NZKJGRB3.cjs +230 -0
  102. package/dist/chunk-OAVTUMJP.cjs +1496 -0
  103. package/dist/{chunk-SXHV42UQ.mjs → chunk-OFEY6KHO.mjs} +88 -13
  104. package/dist/chunk-OHY2ZWUG.cjs +25 -0
  105. package/dist/chunk-OI6CMLWX.cjs +47 -0
  106. package/dist/chunk-OWOUTKIJ.cjs +558 -0
  107. package/dist/chunk-OX6O6WVA.cjs +74 -0
  108. package/dist/chunk-OXSIH4D6.cjs +476 -0
  109. package/dist/chunk-OYDRPBBV.cjs +453 -0
  110. package/dist/chunk-OYEUREB6.cjs +35 -0
  111. package/dist/chunk-PCOTGFSM.cjs +139 -0
  112. package/dist/{chunk-76DG3LF3.mjs → chunk-PGQBL5DN.mjs} +1 -1
  113. package/dist/chunk-PZYCPSCC.cjs +35 -0
  114. package/dist/chunk-QBK2AA4U.cjs +445 -0
  115. package/dist/{chunk-UTBVHYS3.mjs → chunk-QBPKKQTD.mjs} +2 -2
  116. package/dist/chunk-QBPXNZGV.cjs +487 -0
  117. package/dist/chunk-QNPEUFHQ.cjs +27 -0
  118. package/dist/chunk-QZRVZSPN.cjs +236 -0
  119. package/dist/chunk-R5A5KNVX.cjs +20 -0
  120. package/dist/chunk-R5JIFR6B.cjs +42 -0
  121. package/dist/chunk-R6AIILII.cjs +193 -0
  122. package/dist/chunk-RFYO7QUD.cjs +9 -0
  123. package/dist/chunk-RG3ZOTG5.cjs +34 -0
  124. package/dist/chunk-ROUTX2E5.cjs +390 -0
  125. package/dist/chunk-RTHIVJ2G.cjs +54 -0
  126. package/dist/chunk-S27FMYAM.cjs +644 -0
  127. package/dist/chunk-S3A45T7F.cjs +166 -0
  128. package/dist/chunk-S3JO3N4H.cjs +17 -0
  129. package/dist/chunk-SK35NQKK.cjs +27 -0
  130. package/dist/chunk-SU7MH53P.cjs +180 -0
  131. package/dist/chunk-SVRTJOUF.cjs +113 -0
  132. package/dist/chunk-SWN467MP.cjs +18 -0
  133. package/dist/chunk-SYQ3MOWW.cjs +73 -0
  134. package/dist/chunk-T5CERMEH.cjs +417 -0
  135. package/dist/chunk-TFAXUHWX.cjs +206 -0
  136. package/dist/chunk-TIWHTW3Q.cjs +24 -0
  137. package/dist/chunk-TKJZFIML.cjs +20 -0
  138. package/dist/chunk-TKNSDBBN.cjs +193 -0
  139. package/dist/chunk-U4KT7QP3.cjs +23 -0
  140. package/dist/chunk-U5BMPGS3.cjs +862 -0
  141. package/dist/chunk-UJ2C4ICS.cjs +277 -0
  142. package/dist/chunk-UQZ4AYTH.cjs +168 -0
  143. package/dist/chunk-US2QVW3E.cjs +36 -0
  144. package/dist/{chunk-QGVJVSNX.mjs → chunk-V4AICMQA.mjs} +2 -2
  145. package/dist/chunk-VB6UCX3V.cjs +421 -0
  146. package/dist/chunk-VEKFLAQM.cjs +300 -0
  147. package/dist/chunk-VQDBNVOO.cjs +14 -0
  148. package/dist/chunk-W4E7WMXE.cjs +71 -0
  149. package/dist/chunk-WJ3HK3LJ.cjs +1102 -0
  150. package/dist/chunk-WMAPPDMM.cjs +28 -0
  151. package/dist/chunk-WMOGFOUJ.cjs +223 -0
  152. package/dist/chunk-WPYFSQKK.cjs +37 -0
  153. package/dist/{chunk-56DAX2BE.mjs → chunk-WZXN4R5Y.mjs} +24 -13
  154. package/dist/chunk-XDGMADQM.cjs +14225 -0
  155. package/dist/chunk-XGC343EY.cjs +443 -0
  156. package/dist/chunk-XSKZORAS.cjs +727 -0
  157. package/dist/chunk-XWAWFQFS.cjs +82 -0
  158. package/dist/chunk-Y4YMF2NQ.cjs +460 -0
  159. package/dist/chunk-Y4YWHNKU.cjs +250 -0
  160. package/dist/chunk-Y53ZSFN6.cjs +504 -0
  161. package/dist/chunk-YA6LLTIJ.cjs +411 -0
  162. package/dist/chunk-YFPGHF5F.cjs +202 -0
  163. package/dist/chunk-YJRZR7VU.cjs +28 -0
  164. package/dist/chunk-YTAABQEV.cjs +1 -0
  165. package/dist/chunk-YX3DBN4M.cjs +18 -0
  166. package/dist/chunk-YZTASLPQ.cjs +64 -0
  167. package/dist/chunk-Z5HIWVDP.cjs +2173 -0
  168. package/dist/chunk-ZEG3OPIB.cjs +93 -0
  169. package/dist/chunk-ZMN3H73H.cjs +155 -0
  170. package/dist/client/lifecycle.cjs +6 -35
  171. package/dist/client-plugins.cjs +7 -448
  172. package/dist/client.cjs +171 -9808
  173. package/dist/config.cjs +8 -36
  174. package/dist/cron.cjs +24 -491
  175. package/dist/deferred.cjs +26 -475
  176. package/dist/deployment.cjs +39 -210
  177. package/dist/devtools-5KGPDVKL.cjs +388 -0
  178. package/dist/{devtools-UFVTMQX5.mjs → devtools-FY5R7TQ4.mjs} +3 -3
  179. package/dist/devtools-client-4WAPJY5L.cjs +254 -0
  180. package/dist/devtools-ui-5GBDIGMK.cjs +1296 -0
  181. package/dist/docs.cjs +46 -5657
  182. package/dist/docs.mjs +5 -5
  183. package/dist/env-types.cjs +5 -226
  184. package/dist/env.cjs +21 -338
  185. package/dist/environment/vite.cjs +8 -372
  186. package/dist/environment.cjs +12 -94
  187. package/dist/font.cjs +13 -63
  188. package/dist/headers.cjs +7 -123
  189. package/dist/i18n/client.cjs +55 -294
  190. package/dist/i18n/index.cjs +22 -209
  191. package/dist/i18n/server.cjs +22 -745
  192. package/dist/image/server.cjs +13 -729
  193. package/dist/image/sharp.cjs +33 -171
  194. package/dist/image.cjs +41 -85
  195. package/dist/index.cjs +1151 -68080
  196. package/dist/index.mjs +14 -14
  197. package/dist/instrumentation.cjs +12 -138
  198. package/dist/integration-orm-55F7CII5.cjs +13 -0
  199. package/dist/integrations.cjs +55 -4090
  200. package/dist/internal/app-markdown-runtime.cjs +27 -224
  201. package/dist/internal/app-markdown-runtime.mjs +2 -2
  202. package/dist/internal/build-runtime.cjs +120 -52259
  203. package/dist/internal/build-runtime.mjs +13 -13
  204. package/dist/internal/cli-runtime.cjs +67 -13811
  205. package/dist/internal/cli-runtime.mjs +7 -7
  206. package/dist/internal/client-error-overlay.cjs +80 -733
  207. package/dist/internal/client-error-overlay.mjs +1 -1
  208. package/dist/internal/client-runtime.cjs +81 -913
  209. package/dist/internal/compression-runtime.cjs +8 -214
  210. package/dist/internal/config-runtime.cjs +42 -6547
  211. package/dist/internal/config-runtime.mjs +3 -3
  212. package/dist/internal/docs-precompiled-runtime.cjs +26 -46
  213. package/dist/internal/infra-analytics-runtime.cjs +10 -536
  214. package/dist/internal/isolated-boundary.cjs +14 -414
  215. package/dist/internal/metadata-image-runtime.cjs +7 -285
  216. package/dist/internal/product-telemetry-runtime.cjs +42 -97
  217. package/dist/internal/product-telemetry-runtime.mjs +1 -1
  218. package/dist/internal/production-node-env.cjs +6 -63
  219. package/dist/internal/production-runtime.cjs +418 -7133
  220. package/dist/internal/production-runtime.mjs +3 -3
  221. package/dist/internal/request-cookies.cjs +6 -54
  222. package/dist/json-ld.cjs +24 -50
  223. package/dist/layers-E4WPJNY5.cjs +17 -0
  224. package/dist/manager-G4B2IPYE.cjs +14 -0
  225. package/dist/markdown.cjs +21 -547
  226. package/dist/markdown.mjs +1 -1
  227. package/dist/middleware.cjs +36 -2995
  228. package/dist/navigation.cjs +22 -2588
  229. package/dist/nitro-4I2MYLY2.cjs +652 -0
  230. package/dist/observability.cjs +22 -614
  231. package/dist/og.cjs +5 -28
  232. package/dist/plugin.cjs +106 -37442
  233. package/dist/plugin.mjs +9 -9
  234. package/dist/query/client.cjs +113 -449
  235. package/dist/query/index.cjs +26 -288
  236. package/dist/query/parsers.cjs +23 -247
  237. package/dist/query/server.cjs +36 -298
  238. package/dist/renderer/react/client.cjs +9 -43
  239. package/dist/renderer/react/server.cjs +40 -103
  240. package/dist/renderer/react/vite.cjs +7 -29
  241. package/dist/renderer-client.cjs +126 -4295
  242. package/dist/renderer.cjs +31 -249
  243. package/dist/request.cjs +5 -68
  244. package/dist/router.cjs +11 -474
  245. package/dist/routes.cjs +42 -2461
  246. package/dist/{schema-dev-notice-2IE2F2XI.mjs → schema-dev-notice-O67CPXJ6.mjs} +1 -1
  247. package/dist/schema-dev-notice-Y7MQEFGN.cjs +56 -0
  248. package/dist/schema.cjs +6 -33
  249. package/dist/search-client-G3RICOFU.cjs +13 -0
  250. package/dist/server-action-security.cjs +25 -541
  251. package/dist/server-fn-client.cjs +6 -337
  252. package/dist/server-fn.cjs +32 -1841
  253. package/dist/server-plugins.cjs +15 -884
  254. package/dist/server-query-client.cjs +15 -1883
  255. package/dist/server-query.cjs +16 -1838
  256. package/dist/server.cjs +296 -44681
  257. package/dist/server.mjs +11 -11
  258. package/dist/storage.cjs +57 -576
  259. package/dist/testing.cjs +89 -3186
  260. package/dist/theme/client.cjs +13 -108
  261. package/dist/theme/index.cjs +6 -68
  262. package/dist/theme/runtime.cjs +13 -78
  263. package/dist/theme/server.cjs +10 -179
  264. package/dist/version.cjs +4 -32
  265. package/dist/version.mjs +1 -1
  266. package/dist/vite.cjs +119 -37773
  267. package/dist/vite.mjs +9 -9
  268. package/dist/workflows.cjs +19 -1040
  269. package/package.json +1 -1
@@ -0,0 +1,35 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
+
3
+
4
+
5
+
6
+ var _chunkFK6GO24Vcjs = require('./chunk-FK6GO24V.cjs');
7
+
8
+
9
+ var _chunk7W3CPVXScjs = require('./chunk-7W3CPVXS.cjs');
10
+
11
+
12
+ var _chunkS3JO3N4Hcjs = require('./chunk-S3JO3N4H.cjs');
13
+
14
+ // src/theme/client.tsx
15
+ var _react = require('react');
16
+ function getHydrationSnapshot() {
17
+ if (typeof window !== "undefined" && _optionalChain([window, 'access', _ => _.__FARM_THEME__, 'optionalAccess', _2 => _2.serverSnapshot])) {
18
+ return window.__FARM_THEME__.serverSnapshot;
19
+ }
20
+ return _chunk7W3CPVXScjs.getFarmThemeServerSnapshot.call(void 0, );
21
+ }
22
+ _chunkS3JO3N4Hcjs.__name.call(void 0, getHydrationSnapshot, "getHydrationSnapshot");
23
+ function useTheme() {
24
+ const snapshot = _react.useSyncExternalStore.call(void 0, _chunkFK6GO24Vcjs.subscribeTheme, _chunkFK6GO24Vcjs.getTheme, getHydrationSnapshot);
25
+ return {
26
+ ...snapshot,
27
+ setTheme: _chunkFK6GO24Vcjs.setTheme,
28
+ toggleTheme: _chunkFK6GO24Vcjs.toggleTheme
29
+ };
30
+ }
31
+ _chunkS3JO3N4Hcjs.__name.call(void 0, useTheme, "useTheme");
32
+
33
+
34
+
35
+ exports.useTheme = useTheme;
@@ -0,0 +1,445 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
+
3
+ var _chunkS3JO3N4Hcjs = require('./chunk-S3JO3N4H.cjs');
4
+
5
+ // src/deferred.ts
6
+ var FARM_DEFERRED_CONTENT_TYPE = "application/x-farm-deferred+json";
7
+ var FARM_DEFERRED_ERROR_CODE = "FARM_DEFERRED_DATA_ERROR";
8
+ var FARM_DEFERRED_BRAND = /* @__PURE__ */ Symbol.for(
9
+ "farm.deferred"
10
+ );
11
+ var FARM_DEFERRED_MARKER = "$farmDeferred";
12
+ var _DeferredDataError = class _DeferredDataError extends Error {
13
+ constructor(message = "Deferred route data failed to load") {
14
+ super(message);
15
+ this.name = "DeferredDataError";
16
+ this.code = FARM_DEFERRED_ERROR_CODE;
17
+ }
18
+ };
19
+ _chunkS3JO3N4Hcjs.__name.call(void 0, _DeferredDataError, "DeferredDataError");
20
+ var DeferredDataError = _DeferredDataError;
21
+ var deferredStates = /* @__PURE__ */ new WeakMap();
22
+ function defer(value) {
23
+ if (isDeferred(value)) {
24
+ return value;
25
+ }
26
+ const promise = Promise.resolve(value);
27
+ Object.defineProperty(promise, FARM_DEFERRED_BRAND, {
28
+ configurable: false,
29
+ enumerable: false,
30
+ value: true,
31
+ writable: false
32
+ });
33
+ deferredStates.set(promise, { status: "pending" });
34
+ promise.then(
35
+ (resolved) => deferredStates.set(promise, { status: "fulfilled", value: resolved }),
36
+ (reason) => deferredStates.set(promise, { status: "rejected", reason })
37
+ );
38
+ return promise;
39
+ }
40
+ _chunkS3JO3N4Hcjs.__name.call(void 0, defer, "defer");
41
+ function isDeferred(value) {
42
+ return Boolean(
43
+ value && (typeof value === "object" || typeof value === "function") && value[FARM_DEFERRED_BRAND] === true
44
+ );
45
+ }
46
+ _chunkS3JO3N4Hcjs.__name.call(void 0, isDeferred, "isDeferred");
47
+ function prepareDeferredData(value) {
48
+ const context = createEncodingContext();
49
+ return {
50
+ data: encodeDeferredValue(value, context, /* @__PURE__ */ new WeakSet()),
51
+ records: context.records
52
+ };
53
+ }
54
+ _chunkS3JO3N4Hcjs.__name.call(void 0, prepareDeferredData, "prepareDeferredData");
55
+ function snapshotDeferredData(records) {
56
+ const context = createEncodingContext(records);
57
+ const settlements = {};
58
+ for (let index = 0; index < context.records.length; index++) {
59
+ const record = context.records[index];
60
+ const state = readDeferredState(record.promise);
61
+ if (state.status === "fulfilled") {
62
+ try {
63
+ settlements[record.id] = {
64
+ status: "fulfilled",
65
+ value: encodeDeferredValue(state.value, context, /* @__PURE__ */ new WeakSet())
66
+ };
67
+ } catch (e) {
68
+ settlements[record.id] = createRejectedSettlement();
69
+ }
70
+ } else {
71
+ settlements[record.id] = createRejectedSettlement();
72
+ }
73
+ }
74
+ return settlements;
75
+ }
76
+ _chunkS3JO3N4Hcjs.__name.call(void 0, snapshotDeferredData, "snapshotDeferredData");
77
+ function reviveDeferredData(value, settlements) {
78
+ return reviveDeferredValue(value, /* @__PURE__ */ new Map(), settlements);
79
+ }
80
+ _chunkS3JO3N4Hcjs.__name.call(void 0, reviveDeferredData, "reviveDeferredData");
81
+ function createDeferredDataResponse(value, init = {}, options = {}) {
82
+ const context = createEncodingContext();
83
+ const data = encodeDeferredValue(value, context, /* @__PURE__ */ new WeakSet());
84
+ const headers = new Headers(init.headers);
85
+ if (context.records.length === 0) {
86
+ headers.set("Content-Type", "application/json; charset=utf-8");
87
+ return new Response(JSON.stringify(data), { ...init, headers });
88
+ }
89
+ headers.set("Content-Type", `${FARM_DEFERRED_CONTENT_TYPE}; charset=utf-8`);
90
+ headers.set("Cache-Control", headers.get("Cache-Control") || "private, max-age=0");
91
+ const initialLine = encodeDeferredMessage({ type: "data", data });
92
+ const encoder = new TextEncoder();
93
+ let cancelled = false;
94
+ const stream = new ReadableStream({
95
+ start(controller) {
96
+ controller.enqueue(encoder.encode(initialLine));
97
+ let pending = context.records.length;
98
+ const finishRecord = /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, () => {
99
+ pending--;
100
+ if (!cancelled && pending === 0) controller.close();
101
+ }, "finishRecord");
102
+ const schedule = /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, (record) => {
103
+ record.promise.then(
104
+ (resolved) => {
105
+ if (cancelled) return;
106
+ try {
107
+ const previousLength = context.records.length;
108
+ const encoded = encodeDeferredValue(resolved, context, /* @__PURE__ */ new WeakSet());
109
+ const nestedRecords = context.records.slice(previousLength);
110
+ pending += nestedRecords.length;
111
+ controller.enqueue(
112
+ encoder.encode(
113
+ encodeDeferredMessage({ type: "resolve", id: record.id, data: encoded })
114
+ )
115
+ );
116
+ for (const nestedRecord of nestedRecords) schedule(nestedRecord);
117
+ } catch (error) {
118
+ reportDeferredError(options, error, record.id);
119
+ controller.enqueue(
120
+ encoder.encode(
121
+ encodeDeferredMessage({
122
+ type: "reject",
123
+ id: record.id,
124
+ error: createDeferredPublicError()
125
+ })
126
+ )
127
+ );
128
+ }
129
+ },
130
+ (error) => {
131
+ if (cancelled) return;
132
+ reportDeferredError(options, error, record.id);
133
+ controller.enqueue(
134
+ encoder.encode(
135
+ encodeDeferredMessage({
136
+ type: "reject",
137
+ id: record.id,
138
+ error: createDeferredPublicError()
139
+ })
140
+ )
141
+ );
142
+ }
143
+ ).finally(finishRecord);
144
+ }, "schedule");
145
+ const initialRecords = context.records.slice();
146
+ for (const record of initialRecords) schedule(record);
147
+ },
148
+ cancel() {
149
+ cancelled = true;
150
+ }
151
+ });
152
+ return new Response(stream, { ...init, headers });
153
+ }
154
+ _chunkS3JO3N4Hcjs.__name.call(void 0, createDeferredDataResponse, "createDeferredDataResponse");
155
+ async function readDeferredDataResponse(response, options = {}) {
156
+ const contentType = response.headers.get("Content-Type") || "";
157
+ if (!contentType.toLowerCase().startsWith(FARM_DEFERRED_CONTENT_TYPE)) {
158
+ const data2 = await response.json();
159
+ notifyDeferredComplete(options);
160
+ return data2;
161
+ }
162
+ if (!response.body) {
163
+ throw new DeferredDataError("Deferred route data response has no body");
164
+ }
165
+ const reader = response.body.getReader();
166
+ const decoder = new TextDecoder();
167
+ const controllers = /* @__PURE__ */ new Map();
168
+ let buffer = "";
169
+ let complete = false;
170
+ const readLine = /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, async () => {
171
+ while (true) {
172
+ const newline = buffer.indexOf("\n");
173
+ if (newline >= 0) {
174
+ const line = buffer.slice(0, newline);
175
+ buffer = buffer.slice(newline + 1);
176
+ return line;
177
+ }
178
+ if (complete) {
179
+ if (!buffer) return void 0;
180
+ const line = buffer;
181
+ buffer = "";
182
+ return line;
183
+ }
184
+ const chunk = await reader.read();
185
+ complete = chunk.done;
186
+ if (chunk.value) buffer += decoder.decode(chunk.value, { stream: !chunk.done });
187
+ if (chunk.done) buffer += decoder.decode();
188
+ }
189
+ }, "readLine");
190
+ const firstLine = await readLine();
191
+ if (!firstLine) {
192
+ reader.releaseLock();
193
+ throw new DeferredDataError("Deferred route data response is empty");
194
+ }
195
+ const initial = parseDeferredMessage(firstLine);
196
+ if (initial.type !== "data") {
197
+ reader.releaseLock();
198
+ throw new DeferredDataError("Deferred route data response is invalid");
199
+ }
200
+ const data = reviveDeferredValue(initial.data, controllers);
201
+ void (async () => {
202
+ try {
203
+ for (let line = await readLine(); line !== void 0; line = await readLine()) {
204
+ if (!line) continue;
205
+ const message = parseDeferredMessage(line);
206
+ if (message.type === "resolve") {
207
+ const controller = getControlledDeferred(message.id, controllers);
208
+ controller.resolve(reviveDeferredValue(message.data, controllers));
209
+ } else if (message.type === "reject") {
210
+ getControlledDeferred(message.id, controllers).reject(
211
+ new DeferredDataError(_optionalChain([message, 'access', _ => _.error, 'optionalAccess', _2 => _2.message]))
212
+ );
213
+ }
214
+ }
215
+ const outstanding = rejectPendingDeferred(
216
+ controllers,
217
+ "Deferred route data stream ended before completion"
218
+ );
219
+ if (outstanding === 0) notifyDeferredComplete(options);
220
+ } catch (e2) {
221
+ rejectPendingDeferred(controllers, "Deferred route data stream could not be read");
222
+ } finally {
223
+ reader.releaseLock();
224
+ }
225
+ })();
226
+ return data;
227
+ }
228
+ _chunkS3JO3N4Hcjs.__name.call(void 0, readDeferredDataResponse, "readDeferredDataResponse");
229
+ function notifyDeferredComplete(options) {
230
+ try {
231
+ _optionalChain([options, 'access', _3 => _3.onComplete, 'optionalCall', _4 => _4()]);
232
+ } catch (e3) {
233
+ }
234
+ }
235
+ _chunkS3JO3N4Hcjs.__name.call(void 0, notifyDeferredComplete, "notifyDeferredComplete");
236
+ function createEncodingContext(records = []) {
237
+ return {
238
+ records: [...records],
239
+ ids: new Map(records.map((record) => [record.promise, record.id])),
240
+ nextId: records.reduce((highest, record) => {
241
+ const value = Number(record.id.replace(/^d/, ""));
242
+ return Number.isFinite(value) ? Math.max(highest, value + 1) : highest;
243
+ }, records.length)
244
+ };
245
+ }
246
+ _chunkS3JO3N4Hcjs.__name.call(void 0, createEncodingContext, "createEncodingContext");
247
+ function encodeDeferredValue(value, context, ancestors) {
248
+ if (isDeferred(value)) {
249
+ let id = context.ids.get(value);
250
+ if (!id) {
251
+ id = `d${context.nextId++}`;
252
+ context.ids.set(value, id);
253
+ context.records.push({ id, promise: value });
254
+ }
255
+ return { [FARM_DEFERRED_MARKER]: id };
256
+ }
257
+ if (!value || typeof value !== "object") return value;
258
+ if (Array.isArray(value)) {
259
+ assertNotCircular(value, ancestors);
260
+ const output2 = value.map((item) => encodeDeferredValue(item, context, ancestors));
261
+ ancestors.delete(value);
262
+ return output2;
263
+ }
264
+ const prototype = Object.getPrototypeOf(value);
265
+ if (prototype !== Object.prototype && prototype !== null) return value;
266
+ assertNotCircular(value, ancestors);
267
+ const output = {};
268
+ for (const [key, item] of Object.entries(value)) {
269
+ defineDataProperty(output, key, encodeDeferredValue(item, context, ancestors));
270
+ }
271
+ ancestors.delete(value);
272
+ if (isDeferredMarker(output)) {
273
+ return { [FARM_DEFERRED_MARKER]: `!${output[FARM_DEFERRED_MARKER]}` };
274
+ }
275
+ return output;
276
+ }
277
+ _chunkS3JO3N4Hcjs.__name.call(void 0, encodeDeferredValue, "encodeDeferredValue");
278
+ function reviveDeferredValue(value, controllers, settlements, applyingSettlements = /* @__PURE__ */ new Set()) {
279
+ if (isDeferredMarker(value)) {
280
+ const id = value[FARM_DEFERRED_MARKER];
281
+ if (id.startsWith("!")) {
282
+ return { [FARM_DEFERRED_MARKER]: id.slice(1) };
283
+ }
284
+ const controller = getControlledDeferred(id, controllers);
285
+ const settlement = _optionalChain([settlements, 'optionalAccess', _5 => _5[id]]);
286
+ if (settlement && controller.promise.status === "pending") {
287
+ if (applyingSettlements.has(id)) return controller.promise;
288
+ applyingSettlements.add(id);
289
+ if (settlement.status === "fulfilled") {
290
+ controller.resolve(
291
+ reviveDeferredValue(settlement.value, controllers, settlements, applyingSettlements)
292
+ );
293
+ } else {
294
+ controller.reject(new DeferredDataError(settlement.error.message));
295
+ }
296
+ applyingSettlements.delete(id);
297
+ } else if (settlements && controller.promise.status === "pending") {
298
+ controller.reject(new DeferredDataError("Deferred route data was not resolved"));
299
+ }
300
+ return controller.promise;
301
+ }
302
+ if (Array.isArray(value)) {
303
+ return value.map(
304
+ (item) => reviveDeferredValue(item, controllers, settlements, applyingSettlements)
305
+ );
306
+ }
307
+ if (!value || typeof value !== "object") return value;
308
+ const prototype = Object.getPrototypeOf(value);
309
+ if (prototype !== Object.prototype && prototype !== null) return value;
310
+ const output = {};
311
+ for (const [key, item] of Object.entries(value)) {
312
+ defineDataProperty(
313
+ output,
314
+ key,
315
+ reviveDeferredValue(item, controllers, settlements, applyingSettlements)
316
+ );
317
+ }
318
+ return output;
319
+ }
320
+ _chunkS3JO3N4Hcjs.__name.call(void 0, reviveDeferredValue, "reviveDeferredValue");
321
+ function defineDataProperty(output, key, value) {
322
+ if (key === "__proto__") {
323
+ Object.defineProperty(output, key, {
324
+ value,
325
+ enumerable: true,
326
+ writable: true,
327
+ configurable: true
328
+ });
329
+ } else {
330
+ output[key] = value;
331
+ }
332
+ }
333
+ _chunkS3JO3N4Hcjs.__name.call(void 0, defineDataProperty, "defineDataProperty");
334
+ function getControlledDeferred(id, controllers) {
335
+ const existing = controllers.get(id);
336
+ if (existing) return existing;
337
+ let nativeResolve;
338
+ let nativeReject;
339
+ const promise = new Promise((resolve, reject) => {
340
+ nativeResolve = resolve;
341
+ nativeReject = reject;
342
+ });
343
+ promise.status = "pending";
344
+ promise.catch(() => void 0);
345
+ const controlled = {
346
+ promise,
347
+ resolve(value) {
348
+ if (promise.status !== "pending") return;
349
+ promise.status = "fulfilled";
350
+ promise.value = value;
351
+ nativeResolve(value);
352
+ },
353
+ reject(error) {
354
+ if (promise.status !== "pending") return;
355
+ promise.status = "rejected";
356
+ promise.reason = error;
357
+ nativeReject(error);
358
+ }
359
+ };
360
+ controllers.set(id, controlled);
361
+ return controlled;
362
+ }
363
+ _chunkS3JO3N4Hcjs.__name.call(void 0, getControlledDeferred, "getControlledDeferred");
364
+ function readDeferredState(promise) {
365
+ const tracked = deferredStates.get(promise);
366
+ if (tracked && tracked.status !== "pending") return tracked;
367
+ const reactState = promise;
368
+ if (reactState.status === "fulfilled") {
369
+ return { status: "fulfilled", value: reactState.value };
370
+ }
371
+ if (reactState.status === "rejected") {
372
+ return { status: "rejected", reason: reactState.reason };
373
+ }
374
+ return tracked || { status: "pending" };
375
+ }
376
+ _chunkS3JO3N4Hcjs.__name.call(void 0, readDeferredState, "readDeferredState");
377
+ function isDeferredMarker(value) {
378
+ return Boolean(
379
+ value && typeof value === "object" && Object.keys(value).length === 1 && typeof value[FARM_DEFERRED_MARKER] === "string"
380
+ );
381
+ }
382
+ _chunkS3JO3N4Hcjs.__name.call(void 0, isDeferredMarker, "isDeferredMarker");
383
+ function assertNotCircular(value, ancestors) {
384
+ if (ancestors.has(value)) {
385
+ throw new TypeError("Deferred route data must be JSON-serializable and cannot be circular");
386
+ }
387
+ ancestors.add(value);
388
+ }
389
+ _chunkS3JO3N4Hcjs.__name.call(void 0, assertNotCircular, "assertNotCircular");
390
+ function createDeferredPublicError() {
391
+ return {
392
+ code: FARM_DEFERRED_ERROR_CODE,
393
+ message: "Deferred route data failed to load"
394
+ };
395
+ }
396
+ _chunkS3JO3N4Hcjs.__name.call(void 0, createDeferredPublicError, "createDeferredPublicError");
397
+ function createRejectedSettlement() {
398
+ return { status: "rejected", error: createDeferredPublicError() };
399
+ }
400
+ _chunkS3JO3N4Hcjs.__name.call(void 0, createRejectedSettlement, "createRejectedSettlement");
401
+ function reportDeferredError(options, error, id) {
402
+ try {
403
+ _optionalChain([options, 'access', _6 => _6.onError, 'optionalCall', _7 => _7(error, id)]);
404
+ } catch (e4) {
405
+ }
406
+ }
407
+ _chunkS3JO3N4Hcjs.__name.call(void 0, reportDeferredError, "reportDeferredError");
408
+ function encodeDeferredMessage(message) {
409
+ return `${JSON.stringify(message)}
410
+ `;
411
+ }
412
+ _chunkS3JO3N4Hcjs.__name.call(void 0, encodeDeferredMessage, "encodeDeferredMessage");
413
+ function parseDeferredMessage(line) {
414
+ try {
415
+ return JSON.parse(line);
416
+ } catch (e5) {
417
+ throw new DeferredDataError("Deferred route data response contains invalid JSON");
418
+ }
419
+ }
420
+ _chunkS3JO3N4Hcjs.__name.call(void 0, parseDeferredMessage, "parseDeferredMessage");
421
+ function rejectPendingDeferred(controllers, message) {
422
+ let rejected = 0;
423
+ for (const controller of controllers.values()) {
424
+ if (controller.promise.status === "pending") {
425
+ controller.reject(new DeferredDataError(message));
426
+ rejected += 1;
427
+ }
428
+ }
429
+ return rejected;
430
+ }
431
+ _chunkS3JO3N4Hcjs.__name.call(void 0, rejectPendingDeferred, "rejectPendingDeferred");
432
+
433
+
434
+
435
+
436
+
437
+
438
+
439
+
440
+
441
+
442
+
443
+
444
+
445
+ exports.FARM_DEFERRED_CONTENT_TYPE = FARM_DEFERRED_CONTENT_TYPE; exports.FARM_DEFERRED_ERROR_CODE = FARM_DEFERRED_ERROR_CODE; exports.FARM_DEFERRED_BRAND = FARM_DEFERRED_BRAND; exports.DeferredDataError = DeferredDataError; exports.defer = defer; exports.isDeferred = isDeferred; exports.prepareDeferredData = prepareDeferredData; exports.snapshotDeferredData = snapshotDeferredData; exports.reviveDeferredData = reviveDeferredData; exports.createDeferredDataResponse = createDeferredDataResponse; exports.readDeferredDataResponse = readDeferredDataResponse;
@@ -3,10 +3,10 @@ import {
3
3
  loadFarmDocsPage,
4
4
  resolveFarmDocsContentDir,
5
5
  toFarmDocsMarkdownPage
6
- } from "./chunk-5QOEPUYE.mjs";
6
+ } from "./chunk-HSDL2AUR.mjs";
7
7
  import {
8
8
  resolveDocsConfig
9
- } from "./chunk-QGVJVSNX.mjs";
9
+ } from "./chunk-V4AICMQA.mjs";
10
10
  import {
11
11
  __name
12
12
  } from "./chunk-LPEX4YW6.mjs";