@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.
- package/dist/after.cjs +12 -225
- package/dist/agent-runtime.cjs +83 -2800
- package/dist/api/client.cjs +17 -4060
- package/dist/api/route-manager.cjs +34 -4354
- package/dist/api/runtime.cjs +29 -2696
- package/dist/api.cjs +88 -8434
- package/dist/app-markdown.cjs +39 -280
- package/dist/app-markdown.mjs +3 -3
- package/dist/cache.cjs +38 -1560
- package/dist/chunk-22GUSVNJ.cjs +351 -0
- package/dist/{chunk-EN7WTEAY.mjs → chunk-2ANEVVF7.mjs} +1 -1
- package/dist/chunk-2CQ74SP6.cjs +13 -0
- package/dist/{chunk-YD4J4XCI.mjs → chunk-2GNATDDE.mjs} +1 -1
- package/dist/chunk-2SJ4RQ6P.cjs +57 -0
- package/dist/chunk-3376ZTRC.cjs +1 -0
- package/dist/chunk-4PNUXIVU.cjs +472 -0
- package/dist/chunk-4PPEPOZZ.cjs +21 -0
- package/dist/chunk-4ZFL5GFN.cjs +520 -0
- package/dist/chunk-5OVTOKGH.cjs +65 -0
- package/dist/chunk-5QIKR7RR.cjs +224 -0
- package/dist/chunk-5ZSWG4UX.cjs +127 -0
- package/dist/chunk-62YJ2IEB.cjs +238 -0
- package/dist/chunk-6EODJYCX.cjs +183 -0
- package/dist/chunk-6EXBPJ24.cjs +434 -0
- package/dist/chunk-6QQDAAAZ.cjs +38 -0
- package/dist/chunk-6V4TDWEC.cjs +455 -0
- package/dist/chunk-72ADZ6GQ.cjs +19 -0
- package/dist/chunk-75BRBIFP.cjs +172 -0
- package/dist/{chunk-ZCNJKLA2.mjs → chunk-7BC6GAL7.mjs} +1 -1
- package/dist/chunk-7W3CPVXS.cjs +24 -0
- package/dist/chunk-A6WIQH5Z.cjs +31 -0
- package/dist/chunk-A777V5WU.cjs +725 -0
- package/dist/chunk-AFOD3LYZ.cjs +377 -0
- package/dist/chunk-AH7HOAQ3.cjs +151 -0
- package/dist/chunk-AMDMVWMI.cjs +39 -0
- package/dist/chunk-AORPIPNB.cjs +552 -0
- package/dist/chunk-ARJWXNQL.cjs +256 -0
- package/dist/chunk-AYJR42WX.cjs +711 -0
- package/dist/chunk-BBVSJVBZ.cjs +600 -0
- package/dist/chunk-BIDYX3SL.cjs +91 -0
- package/dist/chunk-BYODCJD6.cjs +663 -0
- package/dist/chunk-C3VRMB6H.cjs +85 -0
- package/dist/chunk-C5GUTBZK.cjs +173 -0
- package/dist/chunk-CIAGU2X4.cjs +337 -0
- package/dist/chunk-CMGMGHUZ.cjs +27 -0
- package/dist/chunk-CXP5U3RW.cjs +54 -0
- package/dist/chunk-D2ULAULS.cjs +166 -0
- package/dist/chunk-D7JTOLFK.cjs +285 -0
- package/dist/chunk-DVM4FKZL.cjs +169 -0
- package/dist/chunk-DYEJQTDN.cjs +49 -0
- package/dist/chunk-E2ROOWQC.cjs +2225 -0
- package/dist/chunk-E3UK5IIB.cjs +593 -0
- package/dist/chunk-EM6SBQKM.cjs +470 -0
- package/dist/chunk-FJSWYIR7.cjs +482 -0
- package/dist/chunk-FK6GO24V.cjs +54 -0
- package/dist/{chunk-MVIWBEJF.mjs → chunk-FVZGEVTO.mjs} +7 -7
- package/dist/chunk-FXUUWYAX.cjs +654 -0
- package/dist/chunk-G3HRIVEY.cjs +395 -0
- package/dist/chunk-G643DQCH.cjs +13 -0
- package/dist/chunk-G7HXGLEC.cjs +175 -0
- package/dist/chunk-GDSHDTJ4.cjs +152 -0
- package/dist/chunk-GPVTX3HT.cjs +1415 -0
- package/dist/chunk-H6G5INWM.cjs +1094 -0
- package/dist/{chunk-DHDVMXYK.mjs → chunk-HALDNTIV.mjs} +30 -4
- package/dist/chunk-HBTUGXHS.cjs +180 -0
- package/dist/chunk-HREOKQWT.cjs +45 -0
- package/dist/{chunk-5QOEPUYE.mjs → chunk-HSDL2AUR.mjs} +1 -1
- package/dist/chunk-I4J452B7.cjs +435 -0
- package/dist/chunk-I57LW5VZ.cjs +94 -0
- package/dist/chunk-I5YBCWQ6.cjs +40 -0
- package/dist/chunk-I7PUUDGY.cjs +389 -0
- package/dist/chunk-IAMRBF3Z.cjs +86 -0
- package/dist/chunk-IQXFRNY2.cjs +169 -0
- package/dist/chunk-ISTFC3MZ.cjs +1357 -0
- package/dist/chunk-IXTFU4PL.cjs +2355 -0
- package/dist/chunk-J3LOGE4T.cjs +42 -0
- package/dist/chunk-J7FSKED3.cjs +93 -0
- package/dist/chunk-JDNHKPTD.cjs +22 -0
- package/dist/chunk-JSROZYYO.cjs +164 -0
- package/dist/chunk-K6FNHVDR.cjs +696 -0
- package/dist/chunk-KGZIORNL.cjs +43 -0
- package/dist/chunk-KR6CKSXT.cjs +15 -0
- package/dist/chunk-KROWKCUH.cjs +185 -0
- package/dist/chunk-KVFPGF2M.cjs +46 -0
- package/dist/{chunk-TNBAYAWO.mjs → chunk-L4DVIHOC.mjs} +1 -1
- package/dist/chunk-LCCBO7PJ.cjs +46 -0
- package/dist/chunk-LIUGYUX3.cjs +22 -0
- package/dist/chunk-LTNGXMQ6.cjs +55 -0
- package/dist/chunk-M2L4MYDQ.cjs +14 -0
- package/dist/chunk-MCJLA63J.cjs +1 -0
- package/dist/chunk-MKB2EGIR.cjs +148 -0
- package/dist/chunk-MQ3H6LT5.cjs +202 -0
- package/dist/chunk-MT763TDW.cjs +43 -0
- package/dist/{chunk-XWAYMDLB.mjs → chunk-MVUREHPN.mjs} +1 -1
- package/dist/chunk-MWSK6C4J.cjs +18 -0
- package/dist/chunk-MWWVKDW3.cjs +169 -0
- package/dist/{chunk-6VQIKZZO.mjs → chunk-N255VYFP.mjs} +1 -1
- package/dist/chunk-NBAHDVOJ.cjs +2040 -0
- package/dist/chunk-NO3WWW3N.cjs +192 -0
- package/dist/chunk-NSFC3LHB.cjs +10244 -0
- package/dist/chunk-NZKJGRB3.cjs +230 -0
- package/dist/chunk-OAVTUMJP.cjs +1496 -0
- package/dist/{chunk-SXHV42UQ.mjs → chunk-OFEY6KHO.mjs} +88 -13
- package/dist/chunk-OHY2ZWUG.cjs +25 -0
- package/dist/chunk-OI6CMLWX.cjs +47 -0
- package/dist/chunk-OWOUTKIJ.cjs +558 -0
- package/dist/chunk-OX6O6WVA.cjs +74 -0
- package/dist/chunk-OXSIH4D6.cjs +476 -0
- package/dist/chunk-OYDRPBBV.cjs +453 -0
- package/dist/chunk-OYEUREB6.cjs +35 -0
- package/dist/chunk-PCOTGFSM.cjs +139 -0
- package/dist/{chunk-76DG3LF3.mjs → chunk-PGQBL5DN.mjs} +1 -1
- package/dist/chunk-PZYCPSCC.cjs +35 -0
- package/dist/chunk-QBK2AA4U.cjs +445 -0
- package/dist/{chunk-UTBVHYS3.mjs → chunk-QBPKKQTD.mjs} +2 -2
- package/dist/chunk-QBPXNZGV.cjs +487 -0
- package/dist/chunk-QNPEUFHQ.cjs +27 -0
- package/dist/chunk-QZRVZSPN.cjs +236 -0
- package/dist/chunk-R5A5KNVX.cjs +20 -0
- package/dist/chunk-R5JIFR6B.cjs +42 -0
- package/dist/chunk-R6AIILII.cjs +193 -0
- package/dist/chunk-RFYO7QUD.cjs +9 -0
- package/dist/chunk-RG3ZOTG5.cjs +34 -0
- package/dist/chunk-ROUTX2E5.cjs +390 -0
- package/dist/chunk-RTHIVJ2G.cjs +54 -0
- package/dist/chunk-S27FMYAM.cjs +644 -0
- package/dist/chunk-S3A45T7F.cjs +166 -0
- package/dist/chunk-S3JO3N4H.cjs +17 -0
- package/dist/chunk-SK35NQKK.cjs +27 -0
- package/dist/chunk-SU7MH53P.cjs +180 -0
- package/dist/chunk-SVRTJOUF.cjs +113 -0
- package/dist/chunk-SWN467MP.cjs +18 -0
- package/dist/chunk-SYQ3MOWW.cjs +73 -0
- package/dist/chunk-T5CERMEH.cjs +417 -0
- package/dist/chunk-TFAXUHWX.cjs +206 -0
- package/dist/chunk-TIWHTW3Q.cjs +24 -0
- package/dist/chunk-TKJZFIML.cjs +20 -0
- package/dist/chunk-TKNSDBBN.cjs +193 -0
- package/dist/chunk-U4KT7QP3.cjs +23 -0
- package/dist/chunk-U5BMPGS3.cjs +862 -0
- package/dist/chunk-UJ2C4ICS.cjs +277 -0
- package/dist/chunk-UQZ4AYTH.cjs +168 -0
- package/dist/chunk-US2QVW3E.cjs +36 -0
- package/dist/{chunk-QGVJVSNX.mjs → chunk-V4AICMQA.mjs} +2 -2
- package/dist/chunk-VB6UCX3V.cjs +421 -0
- package/dist/chunk-VEKFLAQM.cjs +300 -0
- package/dist/chunk-VQDBNVOO.cjs +14 -0
- package/dist/chunk-W4E7WMXE.cjs +71 -0
- package/dist/chunk-WJ3HK3LJ.cjs +1102 -0
- package/dist/chunk-WMAPPDMM.cjs +28 -0
- package/dist/chunk-WMOGFOUJ.cjs +223 -0
- package/dist/chunk-WPYFSQKK.cjs +37 -0
- package/dist/{chunk-56DAX2BE.mjs → chunk-WZXN4R5Y.mjs} +24 -13
- package/dist/chunk-XDGMADQM.cjs +14225 -0
- package/dist/chunk-XGC343EY.cjs +443 -0
- package/dist/chunk-XSKZORAS.cjs +727 -0
- package/dist/chunk-XWAWFQFS.cjs +82 -0
- package/dist/chunk-Y4YMF2NQ.cjs +460 -0
- package/dist/chunk-Y4YWHNKU.cjs +250 -0
- package/dist/chunk-Y53ZSFN6.cjs +504 -0
- package/dist/chunk-YA6LLTIJ.cjs +411 -0
- package/dist/chunk-YFPGHF5F.cjs +202 -0
- package/dist/chunk-YJRZR7VU.cjs +28 -0
- package/dist/chunk-YTAABQEV.cjs +1 -0
- package/dist/chunk-YX3DBN4M.cjs +18 -0
- package/dist/chunk-YZTASLPQ.cjs +64 -0
- package/dist/chunk-Z5HIWVDP.cjs +2173 -0
- package/dist/chunk-ZEG3OPIB.cjs +93 -0
- package/dist/chunk-ZMN3H73H.cjs +155 -0
- package/dist/client/lifecycle.cjs +6 -35
- package/dist/client-plugins.cjs +7 -448
- package/dist/client.cjs +171 -9808
- package/dist/config.cjs +8 -36
- package/dist/cron.cjs +24 -491
- package/dist/deferred.cjs +26 -475
- package/dist/deployment.cjs +39 -210
- package/dist/devtools-5KGPDVKL.cjs +388 -0
- package/dist/{devtools-UFVTMQX5.mjs → devtools-FY5R7TQ4.mjs} +3 -3
- package/dist/devtools-client-4WAPJY5L.cjs +254 -0
- package/dist/devtools-ui-5GBDIGMK.cjs +1296 -0
- package/dist/docs.cjs +46 -5657
- package/dist/docs.mjs +5 -5
- package/dist/env-types.cjs +5 -226
- package/dist/env.cjs +21 -338
- package/dist/environment/vite.cjs +8 -372
- package/dist/environment.cjs +12 -94
- package/dist/font.cjs +13 -63
- package/dist/headers.cjs +7 -123
- package/dist/i18n/client.cjs +55 -294
- package/dist/i18n/index.cjs +22 -209
- package/dist/i18n/server.cjs +22 -745
- package/dist/image/server.cjs +13 -729
- package/dist/image/sharp.cjs +33 -171
- package/dist/image.cjs +41 -85
- package/dist/index.cjs +1151 -68080
- package/dist/index.mjs +14 -14
- package/dist/instrumentation.cjs +12 -138
- package/dist/integration-orm-55F7CII5.cjs +13 -0
- package/dist/integrations.cjs +55 -4090
- package/dist/internal/app-markdown-runtime.cjs +27 -224
- package/dist/internal/app-markdown-runtime.mjs +2 -2
- package/dist/internal/build-runtime.cjs +120 -52259
- package/dist/internal/build-runtime.mjs +13 -13
- package/dist/internal/cli-runtime.cjs +67 -13811
- package/dist/internal/cli-runtime.mjs +7 -7
- package/dist/internal/client-error-overlay.cjs +80 -733
- package/dist/internal/client-error-overlay.mjs +1 -1
- package/dist/internal/client-runtime.cjs +81 -913
- package/dist/internal/compression-runtime.cjs +8 -214
- package/dist/internal/config-runtime.cjs +42 -6547
- package/dist/internal/config-runtime.mjs +3 -3
- package/dist/internal/docs-precompiled-runtime.cjs +26 -46
- package/dist/internal/infra-analytics-runtime.cjs +10 -536
- package/dist/internal/isolated-boundary.cjs +14 -414
- package/dist/internal/metadata-image-runtime.cjs +7 -285
- package/dist/internal/product-telemetry-runtime.cjs +42 -97
- package/dist/internal/product-telemetry-runtime.mjs +1 -1
- package/dist/internal/production-node-env.cjs +6 -63
- package/dist/internal/production-runtime.cjs +418 -7133
- package/dist/internal/production-runtime.mjs +3 -3
- package/dist/internal/request-cookies.cjs +6 -54
- package/dist/json-ld.cjs +24 -50
- package/dist/layers-E4WPJNY5.cjs +17 -0
- package/dist/manager-G4B2IPYE.cjs +14 -0
- package/dist/markdown.cjs +21 -547
- package/dist/markdown.mjs +1 -1
- package/dist/middleware.cjs +36 -2995
- package/dist/navigation.cjs +22 -2588
- package/dist/nitro-4I2MYLY2.cjs +652 -0
- package/dist/observability.cjs +22 -614
- package/dist/og.cjs +5 -28
- package/dist/plugin.cjs +106 -37442
- package/dist/plugin.mjs +9 -9
- package/dist/query/client.cjs +113 -449
- package/dist/query/index.cjs +26 -288
- package/dist/query/parsers.cjs +23 -247
- package/dist/query/server.cjs +36 -298
- package/dist/renderer/react/client.cjs +9 -43
- package/dist/renderer/react/server.cjs +40 -103
- package/dist/renderer/react/vite.cjs +7 -29
- package/dist/renderer-client.cjs +126 -4295
- package/dist/renderer.cjs +31 -249
- package/dist/request.cjs +5 -68
- package/dist/router.cjs +11 -474
- package/dist/routes.cjs +42 -2461
- package/dist/{schema-dev-notice-2IE2F2XI.mjs → schema-dev-notice-O67CPXJ6.mjs} +1 -1
- package/dist/schema-dev-notice-Y7MQEFGN.cjs +56 -0
- package/dist/schema.cjs +6 -33
- package/dist/search-client-G3RICOFU.cjs +13 -0
- package/dist/server-action-security.cjs +25 -541
- package/dist/server-fn-client.cjs +6 -337
- package/dist/server-fn.cjs +32 -1841
- package/dist/server-plugins.cjs +15 -884
- package/dist/server-query-client.cjs +15 -1883
- package/dist/server-query.cjs +16 -1838
- package/dist/server.cjs +296 -44681
- package/dist/server.mjs +11 -11
- package/dist/storage.cjs +57 -576
- package/dist/testing.cjs +89 -3186
- package/dist/theme/client.cjs +13 -108
- package/dist/theme/index.cjs +6 -68
- package/dist/theme/runtime.cjs +13 -78
- package/dist/theme/server.cjs +10 -179
- package/dist/version.cjs +4 -32
- package/dist/version.mjs +1 -1
- package/dist/vite.cjs +119 -37773
- package/dist/vite.mjs +9 -9
- package/dist/workflows.cjs +19 -1040
- 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-
|
|
6
|
+
} from "./chunk-HSDL2AUR.mjs";
|
|
7
7
|
import {
|
|
8
8
|
resolveDocsConfig
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-V4AICMQA.mjs";
|
|
10
10
|
import {
|
|
11
11
|
__name
|
|
12
12
|
} from "./chunk-LPEX4YW6.mjs";
|