gemi 0.187.0 → 0.188.0
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/ai/index.js +2 -2
- package/dist/ai/index.js.map +1 -1
- package/dist/app/index.js +1 -1
- package/dist/bun/plugin.js +1 -1
- package/dist/bun/preload.js +1 -1
- package/dist/{chunk-wd3eyjbj.js → chunk-07mvnzgx.js} +3 -3
- package/dist/{chunk-wd3eyjbj.js.map → chunk-07mvnzgx.js.map} +1 -1
- package/dist/{chunk-jg1n0b5e.js → chunk-0sjz2g5b.js} +2 -2
- package/dist/{chunk-jg1n0b5e.js.map → chunk-0sjz2g5b.js.map} +1 -1
- package/dist/{chunk-pcc8v9jc.js → chunk-0t5mex63.js} +2 -2
- package/dist/{chunk-pcc8v9jc.js.map → chunk-0t5mex63.js.map} +1 -1
- package/dist/{chunk-n2vx8eqm.js → chunk-1mg3x0j0.js} +2 -2
- package/dist/{chunk-n2vx8eqm.js.map → chunk-1mg3x0j0.js.map} +1 -1
- package/dist/{chunk-8nxrgzxp.js → chunk-1p7p76er.js} +2 -2
- package/dist/{chunk-8nxrgzxp.js.map → chunk-1p7p76er.js.map} +1 -1
- package/dist/{chunk-5yj3k754.js → chunk-24vv42t6.js} +3 -3
- package/dist/{chunk-5yj3k754.js.map → chunk-24vv42t6.js.map} +1 -1
- package/dist/{chunk-nd2vajx0.js → chunk-2tfafjmk.js} +2 -2
- package/dist/{chunk-nd2vajx0.js.map → chunk-2tfafjmk.js.map} +1 -1
- package/dist/{chunk-x0vrrfp7.js → chunk-3kd3w33a.js} +2 -2
- package/dist/{chunk-x0vrrfp7.js.map → chunk-3kd3w33a.js.map} +1 -1
- package/dist/{chunk-nchyjgpr.js → chunk-4x22y92r.js} +2 -2
- package/dist/{chunk-nchyjgpr.js.map → chunk-4x22y92r.js.map} +1 -1
- package/dist/chunk-4xpcx3ws.js +15 -0
- package/dist/{chunk-9caq1znh.js.map → chunk-4xpcx3ws.js.map} +7 -6
- package/dist/{chunk-s5p7pd7v.js → chunk-4xtefwwa.js} +2 -2
- package/dist/{chunk-s5p7pd7v.js.map → chunk-4xtefwwa.js.map} +1 -1
- package/dist/{chunk-ttcmvam5.js → chunk-4zwnmk3c.js} +2 -2
- package/dist/{chunk-ttcmvam5.js.map → chunk-4zwnmk3c.js.map} +1 -1
- package/dist/{chunk-1x1je71f.js → chunk-5zgkh1xp.js} +2 -2
- package/dist/{chunk-1x1je71f.js.map → chunk-5zgkh1xp.js.map} +1 -1
- package/dist/{chunk-6cq83t7e.js → chunk-6dtq4h9p.js} +2 -2
- package/dist/{chunk-6cq83t7e.js.map → chunk-6dtq4h9p.js.map} +1 -1
- package/dist/{chunk-1ecvjvbg.js → chunk-6s6cek6k.js} +2 -2
- package/dist/{chunk-1ecvjvbg.js.map → chunk-6s6cek6k.js.map} +1 -1
- package/dist/{chunk-9sv8skzh.js → chunk-74n9paen.js} +2 -2
- package/dist/{chunk-9sv8skzh.js.map → chunk-74n9paen.js.map} +1 -1
- package/dist/{chunk-epmtvd6j.js → chunk-7s6gdgwx.js} +2 -2
- package/dist/{chunk-epmtvd6j.js.map → chunk-7s6gdgwx.js.map} +1 -1
- package/dist/{chunk-cgxk8pn8.js → chunk-80cwastb.js} +3 -3
- package/dist/{chunk-cgxk8pn8.js.map → chunk-80cwastb.js.map} +1 -1
- package/dist/{chunk-0jbwxas3.js → chunk-88508q02.js} +2 -2
- package/dist/{chunk-0jbwxas3.js.map → chunk-88508q02.js.map} +1 -1
- package/dist/{chunk-2pj5e233.js → chunk-8a72czrb.js} +3 -3
- package/dist/{chunk-2pj5e233.js.map → chunk-8a72czrb.js.map} +1 -1
- package/dist/{chunk-n7nx6hby.js → chunk-8bp5s118.js} +4 -4
- package/dist/{chunk-n7nx6hby.js.map → chunk-8bp5s118.js.map} +1 -1
- package/dist/{chunk-xa2k8dm0.js → chunk-9ep490s9.js} +2 -2
- package/dist/{chunk-xa2k8dm0.js.map → chunk-9ep490s9.js.map} +1 -1
- package/dist/{chunk-gap8ta5q.js → chunk-attv9byj.js} +2 -2
- package/dist/{chunk-gap8ta5q.js.map → chunk-attv9byj.js.map} +1 -1
- package/dist/{chunk-2757n2e2.js → chunk-babcg0fq.js} +2 -2
- package/dist/{chunk-2757n2e2.js.map → chunk-babcg0fq.js.map} +1 -1
- package/dist/{chunk-gpsqtjx5.js → chunk-bmckdsec.js} +1 -1
- package/dist/{chunk-3cmm9atm.js → chunk-bwh1n2cj.js} +2 -2
- package/dist/{chunk-3cmm9atm.js.map → chunk-bwh1n2cj.js.map} +1 -1
- package/dist/{chunk-y4yv9e31.js → chunk-cbjjg80m.js} +1 -1
- package/dist/{chunk-s52ecbdd.js → chunk-cbp8xrsn.js} +2 -2
- package/dist/{chunk-s52ecbdd.js.map → chunk-cbp8xrsn.js.map} +1 -1
- package/dist/{chunk-nwafkabk.js → chunk-cr37wx3s.js} +2 -2
- package/dist/{chunk-nwafkabk.js.map → chunk-cr37wx3s.js.map} +1 -1
- package/dist/{chunk-d19x7t1z.js → chunk-cr9rd0v4.js} +2 -2
- package/dist/{chunk-d19x7t1z.js.map → chunk-cr9rd0v4.js.map} +1 -1
- package/dist/{chunk-sg8fcsvn.js → chunk-czw7kqtp.js} +2 -2
- package/dist/{chunk-sg8fcsvn.js.map → chunk-czw7kqtp.js.map} +1 -1
- package/dist/{chunk-kgsmh0v0.js → chunk-dm61gz7e.js} +2 -2
- package/dist/{chunk-kgsmh0v0.js.map → chunk-dm61gz7e.js.map} +1 -1
- package/dist/{chunk-5q2v29ma.js → chunk-e6k0024c.js} +1 -1
- package/dist/{chunk-znnt70rn.js → chunk-edj701p0.js} +3 -3
- package/dist/{chunk-znnt70rn.js.map → chunk-edj701p0.js.map} +1 -1
- package/dist/{chunk-aezj1erg.js → chunk-fg1mpyp9.js} +2 -2
- package/dist/{chunk-aezj1erg.js.map → chunk-fg1mpyp9.js.map} +1 -1
- package/dist/{chunk-hc58rnwq.js → chunk-gcjjwgnt.js} +2 -2
- package/dist/{chunk-hc58rnwq.js.map → chunk-gcjjwgnt.js.map} +1 -1
- package/dist/{chunk-yn2v5axb.js → chunk-gtbjdx8d.js} +2 -2
- package/dist/{chunk-yn2v5axb.js.map → chunk-gtbjdx8d.js.map} +1 -1
- package/dist/chunk-h3jxnd65.js +5 -0
- package/dist/{chunk-ghf4kgs6.js.map → chunk-h3jxnd65.js.map} +1 -1
- package/dist/{chunk-q7nz3b4q.js → chunk-jmgjhfya.js} +2 -2
- package/dist/{chunk-q7nz3b4q.js.map → chunk-jmgjhfya.js.map} +1 -1
- package/dist/{chunk-m62jshaz.js → chunk-jsbq8qq0.js} +3 -3
- package/dist/{chunk-m62jshaz.js.map → chunk-jsbq8qq0.js.map} +1 -1
- package/dist/{chunk-ascbx2kb.js → chunk-k4c0q1za.js} +1 -1
- package/dist/{chunk-gw9sy16b.js → chunk-kcgbb7cd.js} +2 -2
- package/dist/{chunk-gw9sy16b.js.map → chunk-kcgbb7cd.js.map} +1 -1
- package/dist/{chunk-9by5yphc.js → chunk-kjtq7vk3.js} +1 -1
- package/dist/{chunk-5sc7j1g0.js → chunk-kkymwxt2.js} +2 -2
- package/dist/{chunk-5sc7j1g0.js.map → chunk-kkymwxt2.js.map} +1 -1
- package/dist/{chunk-v7e5gv6w.js → chunk-ktgmrjj3.js} +2 -2
- package/dist/{chunk-v7e5gv6w.js.map → chunk-ktgmrjj3.js.map} +1 -1
- package/dist/{chunk-3yzmzcxn.js → chunk-kzny5cj2.js} +2 -2
- package/dist/{chunk-3yzmzcxn.js.map → chunk-kzny5cj2.js.map} +1 -1
- package/dist/{chunk-kqwenh9b.js → chunk-m8y3y6sw.js} +2 -2
- package/dist/{chunk-kqwenh9b.js.map → chunk-m8y3y6sw.js.map} +1 -1
- package/dist/{chunk-4e99zzkt.js → chunk-ma2sders.js} +2 -2
- package/dist/{chunk-4e99zzkt.js.map → chunk-ma2sders.js.map} +1 -1
- package/dist/{chunk-tns989kw.js → chunk-mx4z8c6r.js} +2 -2
- package/dist/{chunk-tns989kw.js.map → chunk-mx4z8c6r.js.map} +1 -1
- package/dist/{chunk-xf515fp7.js → chunk-n0mjy9ep.js} +2 -2
- package/dist/{chunk-xf515fp7.js.map → chunk-n0mjy9ep.js.map} +1 -1
- package/dist/{chunk-jqdqpdss.js → chunk-n1b6r6s9.js} +2 -2
- package/dist/{chunk-jqdqpdss.js.map → chunk-n1b6r6s9.js.map} +1 -1
- package/dist/{chunk-rztf3yam.js → chunk-n28c9xjp.js} +2 -2
- package/dist/{chunk-rztf3yam.js.map → chunk-n28c9xjp.js.map} +1 -1
- package/dist/{chunk-y8c704wp.js → chunk-nbfzyvav.js} +2 -2
- package/dist/{chunk-y8c704wp.js.map → chunk-nbfzyvav.js.map} +1 -1
- package/dist/{chunk-2ys56r3z.js → chunk-p9rf0e8r.js} +2 -2
- package/dist/{chunk-2ys56r3z.js.map → chunk-p9rf0e8r.js.map} +1 -1
- package/dist/{chunk-28xqs354.js → chunk-pchb1awj.js} +2 -2
- package/dist/{chunk-28xqs354.js.map → chunk-pchb1awj.js.map} +1 -1
- package/dist/{chunk-bf88yh7q.js → chunk-ph793v5g.js} +2 -2
- package/dist/{chunk-bf88yh7q.js.map → chunk-ph793v5g.js.map} +1 -1
- package/dist/{chunk-2a4q9t8c.js → chunk-q8zhfe2s.js} +2 -2
- package/dist/{chunk-2a4q9t8c.js.map → chunk-q8zhfe2s.js.map} +1 -1
- package/dist/{chunk-jx8n3w5j.js → chunk-q9b0ndf0.js} +3 -3
- package/dist/{chunk-jx8n3w5j.js.map → chunk-q9b0ndf0.js.map} +1 -1
- package/dist/{chunk-qj138p8j.js → chunk-r5cddkyc.js} +2 -2
- package/dist/{chunk-qj138p8j.js.map → chunk-r5cddkyc.js.map} +1 -1
- package/dist/{chunk-x0983cez.js → chunk-sbhpdhwc.js} +2 -2
- package/dist/{chunk-x0983cez.js.map → chunk-sbhpdhwc.js.map} +1 -1
- package/dist/{chunk-3t37a4e5.js → chunk-scscdtd6.js} +2 -2
- package/dist/{chunk-3t37a4e5.js.map → chunk-scscdtd6.js.map} +1 -1
- package/dist/{chunk-bw2ptzxr.js → chunk-t201nja2.js} +2 -2
- package/dist/{chunk-bw2ptzxr.js.map → chunk-t201nja2.js.map} +1 -1
- package/dist/{chunk-b3e27j6t.js → chunk-tfvdrvbn.js} +2 -2
- package/dist/{chunk-b3e27j6t.js.map → chunk-tfvdrvbn.js.map} +1 -1
- package/dist/{chunk-7pes8axs.js → chunk-v6ewt7tc.js} +2 -2
- package/dist/{chunk-7pes8axs.js.map → chunk-v6ewt7tc.js.map} +1 -1
- package/dist/{chunk-tnqvxzbw.js → chunk-vmax8gjr.js} +2 -2
- package/dist/{chunk-tnqvxzbw.js.map → chunk-vmax8gjr.js.map} +1 -1
- package/dist/{chunk-0bzcxgks.js → chunk-vpms0v5m.js} +3 -3
- package/dist/{chunk-0bzcxgks.js.map → chunk-vpms0v5m.js.map} +1 -1
- package/dist/{chunk-twn4yxsd.js → chunk-vqrqzfyw.js} +2 -2
- package/dist/{chunk-twn4yxsd.js.map → chunk-vqrqzfyw.js.map} +1 -1
- package/dist/{chunk-c3rn99hm.js → chunk-vyqk7de0.js} +1 -1
- package/dist/{chunk-zdwgcyjh.js → chunk-wk84z25h.js} +2 -2
- package/dist/{chunk-zdwgcyjh.js.map → chunk-wk84z25h.js.map} +1 -1
- package/dist/{chunk-dwt3p2aw.js → chunk-yp4rbknt.js} +2 -2
- package/dist/{chunk-dwt3p2aw.js.map → chunk-yp4rbknt.js.map} +1 -1
- package/dist/{chunk-rsnm21vr.js → chunk-yqf1k3kb.js} +3 -3
- package/dist/{chunk-rsnm21vr.js.map → chunk-yqf1k3kb.js.map} +1 -1
- package/dist/{chunk-kj6wqkjc.js → chunk-zck41hz4.js} +4 -4
- package/dist/{chunk-kj6wqkjc.js.map → chunk-zck41hz4.js.map} +1 -1
- package/dist/{chunk-6m5rt6xg.js → chunk-zjr8kgbg.js} +2 -2
- package/dist/{chunk-6m5rt6xg.js.map → chunk-zjr8kgbg.js.map} +1 -1
- package/dist/{chunk-10sbvn36.js → chunk-zqcaqwey.js} +2 -2
- package/dist/{chunk-10sbvn36.js.map → chunk-zqcaqwey.js.map} +1 -1
- package/dist/{chunk-eeqfp05r.js → chunk-zrndnz4n.js} +2 -2
- package/dist/{chunk-eeqfp05r.js.map → chunk-zrndnz4n.js.map} +1 -1
- package/dist/config/index.js +1 -1
- package/dist/console/run.js +2 -2
- package/dist/console/run.js.map +1 -1
- package/dist/container/index.js +2 -2
- package/dist/container/index.js.map +1 -1
- package/dist/database/index.js +2 -2
- package/dist/database/index.js.map +1 -1
- package/dist/email/index.js +2 -2
- package/dist/email/index.js.map +1 -1
- package/dist/facades/Storage.d.ts +6 -0
- package/dist/facades/Storage.d.ts.map +1 -1
- package/dist/facades/index.js +2 -2
- package/dist/facades/index.js.map +1 -1
- package/dist/foundation/index.js +2 -2
- package/dist/foundation/index.js.map +1 -1
- package/dist/http/index.js +2 -2
- package/dist/http/index.js.map +1 -1
- package/dist/i18n/dictionaryRuntime.js +2 -2
- package/dist/i18n/dictionaryRuntime.js.map +1 -1
- package/dist/i18n/index.js +2 -2
- package/dist/i18n/index.js.map +1 -1
- package/dist/kernel/index.js +2 -2
- package/dist/kernel/index.js.map +1 -1
- package/dist/orm/index.js +2 -2
- package/dist/orm/index.js.map +1 -1
- package/dist/probe/index.js +2 -2
- package/dist/probe/index.js.map +1 -1
- package/dist/server/index.js +2 -2
- package/dist/server/index.js.map +1 -1
- package/dist/services/file-storage/FilesystemManager.d.ts +4 -0
- package/dist/services/file-storage/FilesystemManager.d.ts.map +1 -1
- package/dist/services/file-storage/config.d.ts +16 -0
- package/dist/services/file-storage/config.d.ts.map +1 -1
- package/dist/services/file-storage/fetchTimeouts.d.ts +41 -0
- package/dist/services/file-storage/fetchTimeouts.d.ts.map +1 -0
- package/dist/services/index.d.ts +1 -0
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +3 -3
- package/dist/services/index.js.map +2 -2
- package/dist/services/queue/work.js +2 -2
- package/dist/services/queue/work.js.map +1 -1
- package/dist/stats/route-table.js +1 -1
- package/dist/support/index.js +2 -2
- package/dist/support/index.js.map +1 -1
- package/dist/vitest/index.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-9caq1znh.js +0 -15
- package/dist/chunk-ghf4kgs6.js +0 -5
- /package/dist/{chunk-gpsqtjx5.js.map → chunk-bmckdsec.js.map} +0 -0
- /package/dist/{chunk-y4yv9e31.js.map → chunk-cbjjg80m.js.map} +0 -0
- /package/dist/{chunk-5q2v29ma.js.map → chunk-e6k0024c.js.map} +0 -0
- /package/dist/{chunk-ascbx2kb.js.map → chunk-k4c0q1za.js.map} +0 -0
- /package/dist/{chunk-9by5yphc.js.map → chunk-kjtq7vk3.js.map} +0 -0
- /package/dist/{chunk-c3rn99hm.js.map → chunk-vyqk7de0.js.map} +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{va as B,wa as C,ya as E}from"./chunk-mvd4mc8p.js";import{
|
|
2
|
+
import{va as B,wa as C,ya as E}from"./chunk-mvd4mc8p.js";import{Pk as x,Rk as z,Sk as A}from"./chunk-m8y3y6sw.js";function M(b,f={}){let j=B(b,f.sourceLocale);return G(E(b),j,(q)=>C(b,q,j))}function N(b,f){let j=Object.keys(f);return G(b,j,(q)=>{let v=f[q]??f[j[0]];if(!v)return{};return v().then((k)=>k.default)})}function G(b,f,j){let q={id:b,locales:f,load:j};x(q);let v=()=>x(q);return{id:b,locales:f,load:(k)=>{return v(),z(b,k)},loadForRender:(k)=>{return v(),A(b,k)},get:(k)=>{v();let w=z(b,k);if(w instanceof Promise){w.catch(()=>{});return}return w}}}
|
|
3
3
|
export{M as da,N as ea};
|
|
4
4
|
|
|
5
|
-
//# debugId=
|
|
5
|
+
//# debugId=4307C504F1BFCACF64756E2164756E21
|
|
@@ -5,6 +5,6 @@
|
|
|
5
5
|
"import {\n dictionaryId,\n dictionaryLocales,\n localeStrings,\n type DictionaryTranslations,\n type LocaleStrings,\n} from \"./dictionaryShape\";\nimport {\n loadDictionary,\n loadDictionaryForRender,\n registerDictionary,\n type RenderThenable,\n} from \"./dictionaryRegistry\";\n\ndeclare const brand: unique symbol;\n\nexport interface DictionaryHandle<\n T extends DictionaryTranslations = DictionaryTranslations,\n> {\n readonly id: string;\n /** Locales this dictionary declares, source language first. */\n readonly locales: readonly string[];\n /**\n * Strings for `locale`. Synchronous when they are already in memory —\n * always, for an unbundled dictionary; after a preload or the SSR seed, for a\n * bundled one.\n */\n load(locale: string): LocaleStrings | Promise<LocaleStrings>;\n /**\n * `load`, but as the exact thing React's `use()` wants: never rejecting, so\n * a failed locale chunk degrades the component to rendering keys instead of\n * unmounting it into an error boundary; and always a thenable, even when the\n * strings are already in memory. The caller skips `use()` only for a\n * thenable built from strings already in hand, which carries them as\n * `inHand`; every thenable a render could have suspended on still goes\n * through it. `loadDictionaryForRender` has the whole reasoning.\n */\n loadForRender(locale: string): RenderThenable;\n get(locale: string): LocaleStrings | undefined;\n /** Type-only: carries the literal's shape through to `useDictionary`. */\n readonly [brand]?: T;\n}\n\n/**\n * Declare the strings a component needs, next to the component.\n *\n * ```ts\n * export const homeDict = defineDictionary({\n * title: { \"en-US\": \"Welcome {{name}}\", \"tr-TR\": \"Hoş geldin {{name}}\" },\n * });\n * ```\n *\n * As written this holds every locale. Under gemi's Vite plugin the call is\n * rewritten so each locale becomes its own chunk and a page downloads only the\n * one it renders in — but the plugin is strictly an optimization, and the\n * behaviour is identical without it (in `bun test`, and in server code that\n * does not go through the bundler).\n *\n * The first locale in the literal is the source language: a key missing from\n * another locale falls back to it rather than rendering as its own key.\n */\nexport interface DefineDictionaryOptions {\n /**\n * The locale this dictionary is authored in. Keys missing from another locale\n * fall back to it, and it is what renders when the app has no locale\n * configured.\n *\n * Optional, but worth setting on any dictionary that is not uniformly\n * translated: without it the source language is whichever locale appears\n * first in the literal, so adding a key at the top can re-point every\n * fallback in the dictionary.\n */\n sourceLocale?: string;\n}\n\nexport function defineDictionary<const T extends DictionaryTranslations>(\n translations: T,\n options: DefineDictionaryOptions = {},\n): DictionaryHandle<T> {\n const locales = dictionaryLocales(translations, options.sourceLocale);\n return createHandle(dictionaryId(translations), locales, (locale) =>\n localeStrings(translations, locale, locales),\n );\n}\n\n/**\n * The rewritten form of a `defineDictionary` call — emitted by\n * `packages/gemi/vite/dictionaryPlugin.ts`, never written by hand. `loaders`\n * holds one dynamic import per locale so the bundler emits one chunk per\n * locale and the untaken ones never reach the browser.\n */\nexport function __gemi_dict__<\n const T extends DictionaryTranslations = DictionaryTranslations,\n>(\n id: string,\n loaders: Record<string, () => Promise<{ default: LocaleStrings }>>,\n): DictionaryHandle<T> {\n const locales = Object.keys(loaders);\n return createHandle(id, locales, (locale) => {\n // An unknown locale falls back to the source language, matching what\n // `localeStrings` does per key on the unbundled path.\n const load = loaders[locale] ?? loaders[locales[0]];\n if (!load) {\n return {};\n }\n return load().then((mod) => mod.default);\n });\n}\n\nfunction createHandle<T extends DictionaryTranslations>(\n id: string,\n locales: string[],\n load: (locale: string) => LocaleStrings | Promise<LocaleStrings>,\n): DictionaryHandle<T> {\n const entry = { id, locales, load };\n registerDictionary(entry);\n\n // Re-asserted on every read rather than only at construction. A handle is\n // created once, at module scope, but the registry it delegates to can be\n // emptied under it — a test's `afterEach` reset, an HMR boundary — and the\n // handle would then be permanently orphaned, throwing \"Unknown dictionary\"\n // for a dictionary the caller is holding. `registerDictionary` is a no-op\n // when the id is already there, so this costs one Map lookup.\n const ensure = () => registerDictionary(entry);\n\n return {\n id,\n locales,\n // Routed through the registry rather than calling `load` directly so\n // concurrent readers share one in-flight import and results are cached.\n load: (locale: string) => {\n ensure();\n return loadDictionary(id, locale);\n },\n loadForRender: (locale: string) => {\n ensure();\n return loadDictionaryForRender(id, locale);\n },\n get: (locale: string) => {\n ensure();\n const strings = loadDictionary(id, locale);\n if (strings instanceof Promise) {\n // Nothing downstream awaits this one — `get` is the synchronous peek,\n // and the caller is about to discard it. An unattached rejection (a\n // locale chunk that 404s mid-deploy) would surface as an\n // `unhandledRejection`, which under Node's default handler takes the\n // process down over one missing translation file. The load itself is\n // still cached and still retried through `loadDictionary`.\n strings.catch(() => {});\n return undefined;\n }\n return strings;\n },\n };\n}\n\n"
|
|
6
6
|
],
|
|
7
7
|
"mappings": ";wHA2EO,GAAS,CAAwD,CACtE,EACA,EAAmC,CAAC,EACf,CACrB,IAAM,EAAU,EAAkB,EAAc,EAAQ,YAAY,EACpE,OAAO,EAAa,EAAa,CAAY,EAAG,EAAS,CAAC,IACxD,EAAc,EAAc,EAAQ,CAAO,CAC7C,EASK,SAAS,CAEf,CACC,EACA,EACqB,CACrB,IAAM,EAAU,OAAO,KAAK,CAAO,EACnC,OAAO,EAAa,EAAI,EAAS,CAAC,IAAW,CAG3C,IAAM,EAAO,EAAQ,IAAW,EAAQ,EAAQ,IAChD,GAAI,CAAC,EACH,MAAO,CAAC,EAEV,OAAO,EAAK,EAAE,KAAK,CAAC,IAAQ,EAAI,OAAO,EACxC,EAGH,SAAS,CAA8C,CACrD,EACA,EACA,EACqB,CACrB,IAAM,EAAQ,CAAE,KAAI,UAAS,MAAK,EAClC,EAAmB,CAAK,EAQxB,IAAM,EAAS,IAAM,EAAmB,CAAK,EAE7C,MAAO,CACL,KACA,UAGA,KAAM,CAAC,IAAmB,CAExB,OADA,EAAO,EACA,EAAe,EAAI,CAAM,GAElC,cAAe,CAAC,IAAmB,CAEjC,OADA,EAAO,EACA,EAAwB,EAAI,CAAM,GAE3C,IAAK,CAAC,IAAmB,CACvB,EAAO,EACP,IAAM,EAAU,EAAe,EAAI,CAAM,EACzC,GAAI,aAAmB,QAAS,CAO9B,EAAQ,MAAM,IAAM,EAAE,EACtB,OAEF,OAAO,EAEX",
|
|
8
|
-
"debugId": "
|
|
8
|
+
"debugId": "4307C504F1BFCACF64756E2164756E21",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
var _=/^[a-z]{2,3}(?:[-_][a-z0-9]{2,8})*$/i;function I(j){return _.test(j)}function U(j){return j.split(/[-_]/)[0].toLowerCase()}function H(j,B,N){let R=j?.split(";")[0].trim();if(!R||!I(R))return null;let W=R.replaceAll("_","-").toLowerCase(),J=B.find((X)=>X.toLowerCase()===W);if(J)return J;let K=U(R),S=B.filter((X)=>U(X)===K);if(S.length===0)return null;if(N&&S.includes(N))return N;return S[0]}var C=/^(?:0(?:\.\d{0,3})?|1(?:\.0{0,3})?)$/;function V(j){let B=[];for(let N of j.split(",")){let[R,...W]=N.split(";"),J=R.trim();if(!J||J!=="*"&&!I(J))continue;let K=1,S=!0;for(let X of W){let[z,O=""]=X.split("=");if(z.trim().toLowerCase()!=="q")continue;let Q=O.trim();if(!C.test(Q)){S=!1;break}K=Number(Q)}if(S)B.push({tag:J,q:K,index:B.length})}return B.sort((N,R)=>R.q-N.q||N.index-R.index)}function E(j,B){let N=j.replaceAll("_","-").toLowerCase(),R=B.replaceAll("_","-").toLowerCase();return R===N||R.startsWith(`${N}-`)}function M(j,B,N){if(!j||B.length===0)return null;let R=V(j),W=R.filter((S)=>S.q===0&&S.tag!=="*").map((S)=>S.tag),J=B.filter((S)=>!W.some((X)=>E(X,S)));if(J.length===0)return null;let K=!1;for(let{tag:S,q:X}of R){if(X===0)continue;if(S==="*"){K=!0;continue}let z=H(S,J,N);if(z)return z}if(!K)return null;return(N&&J.includes(N)?N:J[0])??null}var y="UTC";function G(j){if(typeof j!=="string"||j.length===0)return!1;try{return new Intl.DateTimeFormat("en-US",{timeZone:j}),!0}catch{return!1}}var Y=new Map,F=500;function $(j,B){let N=Y.get(j);if(N===void 0){if(Y.size>=F)Y.delete(Y.keys().next().value);N=B(),Y.set(j,N)}return N}function P(j){return j instanceof Date?j:new Date(j)}function D(j){return j.dateStyle!==void 0||j.timeStyle!==void 0||j.weekday!==void 0||j.era!==void 0||j.year!==void 0||j.month!==void 0||j.day!==void 0||j.dayPeriod!==void 0||j.hour!==void 0||j.minute!==void 0||j.second!==void 0||j.fractionalSecondDigits!==void 0||j.timeZoneName!==void 0}function x(j){let{locale:B,timeZone:N}=j,R=(J={})=>{let K={...J,timeZone:J.timeZone??N};return $(`dt|${B}|${JSON.stringify(K)}`,()=>{return new Intl.DateTimeFormat(B,K)})},W=(J,K)=>{if(J&&D(J))return J;return{...K,...J}};return{locale:B,timeZone:N,date(J,K){return R(W(K,{dateStyle:"medium"})).format(P(J))},time(J,K){return R(W(K,{timeStyle:"short"})).format(P(J))},dateTime(J,K){return R(W(K,{dateStyle:"medium",timeStyle:"short"})).format(P(J))},number(J,K={}){return $(`n|${B}|${JSON.stringify(K)}`,()=>new Intl.NumberFormat(B,K)).format(J)},relative(J,K,S={}){return $(`r|${B}|${JSON.stringify(S)}`,()=>new Intl.RelativeTimeFormat(B,S)).format(J,K)},list(J,K={}){return $(`l|${B}|${JSON.stringify(K)}`,()=>new Intl.ListFormat(B,K)).format(J)},plural(J,K={}){return $(`p|${B}|${JSON.stringify(K)}`,()=>new Intl.PluralRules(B,K)).select(J)},dateTimeFormat:R}}class b{config;static token="translator";translations={};isEnabled=!1;constructor(j){this.config=j;if(!G(this.config.timeZone))throw Error(`translation.timeZone: "${String(this.config.timeZone)}" is not a time zone this runtime knows. Use an IANA name such as "UTC" or "Europe/Istanbul".`);let B={};for(let[N,R]of Object.entries(this.config.prefetch))for(let W of this.config.supportedLocales){if(!B[W])B[W]={};B[W][N]={};for(let J of R){B[W][N][J.name]={};for(let[K,S]of Object.entries(J.dictionary))this.isEnabled=!0,B[W][N][J.name][K]=S[W]}}this.translations=B}get isLocaleAware(){return this.isEnabled||this.config.supportedLocales.length>0}get supportedLocales(){return this.config.supportedLocales}get defaultLocale(){return this.config.defaultLocale}get components(){return this.config.components}get timeZone(){return this.config.timeZone}detectTimeZone(j){if(j){let B=this.config.detectTimeZone(j);if(G(B))return B}return this.config.timeZone}formatter(j,B){return x({locale:j||this.defaultLocale,timeZone:G(B)?B:this.timeZone})}onLocaleChange(j){return this.config.onLocaleChange(j)}detectLocale(j){let B=this.config.defaultLocale??this.config.supportedLocales[0]??"en-US",N=(K)=>H(K,this.config.supportedLocales,this.config.defaultLocale),R=N(this.config.detectLocale(j));if(R)return R;let W=N(j.cookies.get("i18n-locale"));if(W)return W;let J=M(j.headers.get("accept-language"),this.config.supportedLocales,this.config.defaultLocale);if(J)return J;return B}getPageTranslations(j,B){if(this.translations[j][B])return this.translations[j][B];return{}}}
|
|
3
|
-
export{H as
|
|
3
|
+
export{H as dl,M as el,y as fl,G as gl,x as hl,b as il};
|
|
4
4
|
|
|
5
|
-
//# debugId=
|
|
5
|
+
//# debugId=B35419797BAB27BD64756E2164756E21
|
|
@@ -7,6 +7,6 @@
|
|
|
7
7
|
"import type { HttpRequest } from \"../http/HttpRequest\";\nimport type { Dictionary } from \"./Dictionary\";\nimport type { TranslationConfig } from \"./config\";\nimport { negotiateLocale, resolveLocale } from \"./resolveLocale\";\nimport {\n createFormatter,\n isValidTimeZone,\n type Formatter,\n} from \"./formatter\";\n\nexport class Translator {\n static token = \"translator\";\n\n translations = {};\n isEnabled = false;\n\n constructor(public config: Required<TranslationConfig>) {\n // Fail at boot rather than on the first page that prints a date: `Intl`\n // throws a `RangeError` for a zone it does not know.\n if (!isValidTimeZone(this.config.timeZone)) {\n throw new Error(\n `translation.timeZone: \"${String(this.config.timeZone)}\" is not a time zone this runtime knows. Use an IANA name such as \"UTC\" or \"Europe/Istanbul\".`,\n );\n }\n\n const translations = {};\n\n for (const [route, dicArray] of Object.entries(this.config.prefetch)) {\n for (const locale of this.config.supportedLocales) {\n if (!translations[locale]) {\n translations[locale] = {};\n }\n translations[locale][route] = {};\n for (const dic of dicArray) {\n translations[locale][route][dic.name] = {};\n for (const [key, value] of Object.entries(dic.dictionary)) {\n this.isEnabled = true;\n translations[locale][route][dic.name][key] = value[locale];\n }\n }\n }\n }\n this.translations = translations;\n }\n\n /**\n * Whether the app does locale-aware routing and rendering at all.\n *\n * `isEnabled` only means the legacy `prefetch` config has dictionaries to\n * serve. An app on `defineDictionary` has an empty `prefetch` and declares\n * its locales through `supportedLocales` alone, so gating on `isEnabled`\n * leaves it without locale detection or a locale URL prefix. Both the render\n * path and the redirect read this, because when they disagreed a migrated app\n * rendered a non-default locale at `/` with no redirect and no `Vary` — one\n * cache fill away from serving that document to everyone.\n */\n get isLocaleAware(): boolean {\n return this.isEnabled || this.config.supportedLocales.length > 0;\n }\n\n get supportedLocales(): string[] {\n return this.config.supportedLocales;\n }\n\n get defaultLocale(): string {\n return this.config.defaultLocale;\n }\n\n get components(): Record<string, Dictionary<any>> {\n return this.config.components;\n }\n\n /** The configured zone; `UTC` unless `translation.timeZone` says otherwise. */\n get timeZone(): string {\n return this.config.timeZone;\n }\n\n /**\n * The zone dates are formatted in for this request: `detectTimeZone`'s\n * answer when it gives a zone `Intl` knows, the configured zone otherwise.\n * A bad value from a cookie must not take the page down, so it is ignored\n * rather than thrown.\n */\n detectTimeZone(req: HttpRequest<any, any> | null | undefined): string {\n if (req) {\n const detected = this.config.detectTimeZone(req);\n if (isValidTimeZone(detected)) {\n return detected;\n }\n }\n return this.config.timeZone;\n }\n\n /**\n * A formatter for `locale` (the default locale when omitted) in `timeZone`\n * (the configured zone when omitted). For server code outside a request —\n * jobs, emails. Inside a request, `Lang.formatter()` picks up the request's\n * locale and zone.\n */\n formatter(locale?: string, timeZone?: string): Formatter {\n return createFormatter({\n locale: locale || this.defaultLocale,\n timeZone: isValidTimeZone(timeZone) ? timeZone : this.timeZone,\n });\n }\n\n onLocaleChange(locale: string): Promise<void> | void {\n return this.config.onLocaleChange(locale);\n }\n\n detectLocale(req: HttpRequest<any, any>) {\n const fallbackLocale =\n this.config.defaultLocale ?? this.config.supportedLocales[0] ?? \"en-US\";\n const resolve = (tag: string | null | undefined) =>\n resolveLocale(tag, this.config.supportedLocales, this.config.defaultLocale);\n\n const detectedLocale = resolve(this.config.detectLocale(req));\n if (detectedLocale) {\n return detectedLocale;\n }\n\n const previousLocale = resolve(req.cookies.get(\"i18n-locale\"));\n if (previousLocale) {\n return previousLocale;\n }\n\n // The best entry by `q` weight the app can serve, even by language alone\n // (`de-AT` → `de-DE`), wins.\n const acceptedLocale = negotiateLocale(\n req.headers.get(\"accept-language\"),\n this.config.supportedLocales,\n this.config.defaultLocale,\n );\n if (acceptedLocale) {\n return acceptedLocale;\n }\n\n return fallbackLocale;\n }\n\n getPageTranslations(locale: string, scope: string) {\n if (this.translations[locale][scope]) {\n return this.translations[locale][scope];\n }\n return {};\n }\n}\n"
|
|
8
8
|
],
|
|
9
9
|
"mappings": "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",
|
|
10
|
-
"debugId": "
|
|
10
|
+
"debugId": "B35419797BAB27BD64756E2164756E21",
|
|
11
11
|
"names": []
|
|
12
12
|
}
|