stratal 0.0.21 → 0.0.23
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/README.md +2 -2
- package/dist/bin/cloudflare-workers-loader.mjs +80 -7
- package/dist/bin/cloudflare-workers-loader.mjs.map +1 -1
- package/dist/bin/quarry.mjs +84 -160
- package/dist/bin/quarry.mjs.map +1 -1
- package/dist/cache/index.d.mts +8 -46
- package/dist/cache/index.d.mts.map +1 -1
- package/dist/cache/index.mjs +134 -97
- package/dist/cache/index.mjs.map +1 -1
- package/dist/{cache.service-DsnKuNyO.d.mts → cache.service-uElmBtdS.d.mts} +29 -39
- package/dist/cache.service-uElmBtdS.d.mts.map +1 -0
- package/dist/{command-BgSlsS4M.mjs → command-BvmUAPPQ.mjs} +15 -4
- package/dist/command-BvmUAPPQ.mjs.map +1 -0
- package/dist/{command-Cmmf0oHX.d.mts → command-CPhFHjG3.d.mts} +3 -2
- package/dist/command-CPhFHjG3.d.mts.map +1 -0
- package/dist/command-not-found.error-ONAZ2Bpk.mjs +14 -0
- package/dist/command-not-found.error-ONAZ2Bpk.mjs.map +1 -0
- package/dist/config/index.d.mts +24 -11
- package/dist/config/index.d.mts.map +1 -1
- package/dist/config/index.mjs +32 -57
- package/dist/config/index.mjs.map +1 -1
- package/dist/{consumer-registry-B7yUNh0q.d.mts → consumer-registry-D3iMTSdy.d.mts} +54 -22
- package/dist/consumer-registry-D3iMTSdy.d.mts.map +1 -0
- package/dist/container-storage-BmOJ4_Na.mjs +52 -0
- package/dist/container-storage-BmOJ4_Na.mjs.map +1 -0
- package/dist/{controller.decorator-B9vwn0zK.mjs → controller.decorator-C5UVeJS3.mjs} +8 -8
- package/dist/controller.decorator-C5UVeJS3.mjs.map +1 -0
- package/dist/cron/index.d.mts +103 -7
- package/dist/cron/index.d.mts.map +1 -1
- package/dist/cron/index.mjs +2 -2
- package/dist/cron-job-NesZRk8F.d.mts +58 -0
- package/dist/cron-job-NesZRk8F.d.mts.map +1 -0
- package/dist/{cron-manager-DQSK8uoV.mjs → cron.module-Bgzq5hiT.mjs} +47 -17
- package/dist/cron.module-Bgzq5hiT.mjs.map +1 -0
- package/dist/decorate-CuAoSZvs.mjs +16 -0
- package/dist/deep-merge-ByiAOZ3r.mjs +18 -0
- package/dist/deep-merge-ByiAOZ3r.mjs.map +1 -0
- package/dist/di/index.d.mts +2 -2
- package/dist/di/index.mjs +4 -3
- package/dist/di-DseMn-z9.mjs +524 -0
- package/dist/di-DseMn-z9.mjs.map +1 -0
- package/dist/email/index.d.mts +40 -122
- package/dist/email/index.d.mts.map +1 -1
- package/dist/email/index.mjs +446 -131
- package/dist/email/index.mjs.map +1 -1
- package/dist/en-CDZBMcc1.mjs +202 -0
- package/dist/en-CDZBMcc1.mjs.map +1 -0
- package/dist/{env-D1rcZ8_r.d.mts → env-ug22bJj7.d.mts} +1 -1
- package/dist/env-ug22bJj7.d.mts.map +1 -0
- package/dist/errors/index.d.mts +2 -2
- package/dist/errors/index.mjs +4 -2
- package/dist/errors-mXYxG0XB.mjs +333 -0
- package/dist/errors-mXYxG0XB.mjs.map +1 -0
- package/dist/events/index.d.mts +14 -3
- package/dist/events/index.d.mts.map +1 -1
- package/dist/events/index.mjs +2 -2
- package/dist/{events-CzCV8jI8.mjs → events-BXJGZjpG.mjs} +23 -13
- package/dist/events-BXJGZjpG.mjs.map +1 -0
- package/dist/exception-context-kEoMFwze.mjs +429 -0
- package/dist/exception-context-kEoMFwze.mjs.map +1 -0
- package/dist/{gateway-context-CXmXtaUP.mjs → gateway-context-TMu_AlJt.mjs} +38 -31
- package/dist/gateway-context-TMu_AlJt.mjs.map +1 -0
- package/dist/guards/index.d.mts +3 -3
- package/dist/guards/index.d.mts.map +1 -1
- package/dist/guards/index.mjs +1 -1
- package/dist/{guards-DU1_J9YA.mjs → guards-DALPXy3_.mjs} +6 -5
- package/dist/guards-DALPXy3_.mjs.map +1 -0
- package/dist/hono-app-CvV3hOfT.mjs +161 -0
- package/dist/hono-app-CvV3hOfT.mjs.map +1 -0
- package/dist/{http-method.decorator-BrgHMdLQ.mjs → http-method.decorator-ByWZb9DO.mjs} +7 -6
- package/dist/http-method.decorator-ByWZb9DO.mjs.map +1 -0
- package/dist/i18n/index.d.mts +238 -3
- package/dist/i18n/index.d.mts.map +1 -0
- package/dist/i18n/index.mjs +39 -3
- package/dist/i18n/index.mjs.map +1 -0
- package/dist/i18n/messages/en/index.d.mts +2 -2
- package/dist/i18n/messages/en/index.mjs +2 -2
- package/dist/i18n/utils/index.d.mts +4 -26
- package/dist/i18n/utils/index.d.mts.map +1 -1
- package/dist/i18n/utils/index.mjs +2 -2
- package/dist/i18n/validation/index.d.mts +3 -2
- package/dist/i18n/validation/index.mjs +4 -2
- package/dist/i18n.module-DRQAZoSZ.mjs +222 -0
- package/dist/i18n.module-DRQAZoSZ.mjs.map +1 -0
- package/dist/i18n.tokens-CZ_v8oyS.mjs +19 -0
- package/dist/i18n.tokens-CZ_v8oyS.mjs.map +1 -0
- package/dist/{index-7-hU3GTV.d.mts → index-0ItCjaqw.d.mts} +1 -1
- package/dist/index-0ItCjaqw.d.mts.map +1 -0
- package/dist/index-B5JBRcWD.d.mts +544 -0
- package/dist/index-B5JBRcWD.d.mts.map +1 -0
- package/dist/index-BUt92sAE.d.mts +124 -0
- package/dist/index-BUt92sAE.d.mts.map +1 -0
- package/dist/{index-ByOyTmqf.d.mts → index-B_JoEl3V.d.mts} +751 -2229
- package/dist/index-B_JoEl3V.d.mts.map +1 -0
- package/dist/index-DtBNIFuP.d.mts +42 -0
- package/dist/index-DtBNIFuP.d.mts.map +1 -0
- package/dist/{index-C1KvMncZ.d.mts → index-HgOLNruQ.d.mts} +3 -108
- package/dist/index-HgOLNruQ.d.mts.map +1 -0
- package/dist/index.d.mts +6 -43
- package/dist/index.mjs +3 -2
- package/dist/{is-command-C6a7WTPw.mjs → is-command-CEPO9n8c.mjs} +2 -2
- package/dist/{is-command-C6a7WTPw.mjs.map → is-command-CEPO9n8c.mjs.map} +1 -1
- package/dist/{is-seeder-CebjZCDn.mjs → is-seeder-Gvh_AM71.mjs} +1 -1
- package/dist/{is-seeder-CebjZCDn.mjs.map → is-seeder-Gvh_AM71.mjs.map} +1 -1
- package/dist/lazy-module-loader-Ib383jH_.d.mts +60 -0
- package/dist/lazy-module-loader-Ib383jH_.d.mts.map +1 -0
- package/dist/locale-path.service-D-dHiIPc.mjs +165 -0
- package/dist/locale-path.service-D-dHiIPc.mjs.map +1 -0
- package/dist/locale-url-nZrZxqJP.mjs +44 -0
- package/dist/locale-url-nZrZxqJP.mjs.map +1 -0
- package/dist/locale-url.service-C2EWmGdq.mjs +41 -0
- package/dist/locale-url.service-C2EWmGdq.mjs.map +1 -0
- package/dist/logger/index.d.mts +2 -2
- package/dist/logger/index.mjs +170 -2
- package/dist/logger/index.mjs.map +1 -0
- package/dist/macroable/index.d.mts +2 -2
- package/dist/macroable/index.mjs +1 -1
- package/dist/{macroable-BmufBshB.mjs → macroable-cvDTFZ_A.mjs} +1 -1
- package/dist/{macroable-BmufBshB.mjs.map → macroable-cvDTFZ_A.mjs.map} +1 -1
- package/dist/metadata-DzzprcID.mjs +39 -0
- package/dist/metadata-DzzprcID.mjs.map +1 -0
- package/dist/module/index.d.mts +7 -24
- package/dist/module/index.d.mts.map +1 -1
- package/dist/module/index.mjs +10 -2
- package/dist/module/index.mjs.map +1 -0
- package/dist/module-registry-Dm-pqHd3.mjs +554 -0
- package/dist/module-registry-Dm-pqHd3.mjs.map +1 -0
- package/dist/module.decorator-CYHY6pG5.mjs +19 -0
- package/dist/module.decorator-CYHY6pG5.mjs.map +1 -0
- package/dist/openapi/index.d.mts +44 -8
- package/dist/openapi/index.d.mts.map +1 -1
- package/dist/openapi/index.mjs +3 -3
- package/dist/openapi-CstuTM8S.mjs +309 -0
- package/dist/openapi-CstuTM8S.mjs.map +1 -0
- package/dist/{openapi-tools.service-Zs-Ewv7F.mjs → openapi-tools.service-BC5EC3R3.mjs} +8 -2
- package/dist/openapi-tools.service-BC5EC3R3.mjs.map +1 -0
- package/dist/{openapi.service-Bt9bCIrd.d.mts → openapi.service-YhTiJ1bO.d.mts} +3 -3
- package/dist/openapi.service-YhTiJ1bO.d.mts.map +1 -0
- package/dist/quarry/index.d.mts +14 -163
- package/dist/quarry/index.d.mts.map +1 -1
- package/dist/quarry/index.mjs +6 -5
- package/dist/quarry/runner.d.mts +184 -0
- package/dist/quarry/runner.d.mts.map +1 -0
- package/dist/quarry/runner.mjs +945 -0
- package/dist/quarry/runner.mjs.map +1 -0
- package/dist/quarry-registry-CXg0RFXq.d.mts +69 -0
- package/dist/quarry-registry-CXg0RFXq.d.mts.map +1 -0
- package/dist/quarry.module-BuRPGMDm.mjs +312 -0
- package/dist/quarry.module-BuRPGMDm.mjs.map +1 -0
- package/dist/queue/index.d.mts +3 -3
- package/dist/queue/index.mjs +57 -48
- package/dist/queue/index.mjs.map +1 -1
- package/dist/queue.module-nddvxzCB.mjs +613 -0
- package/dist/queue.module-nddvxzCB.mjs.map +1 -0
- package/dist/queue.tokens-DjHnFmre.mjs +11 -0
- package/dist/queue.tokens-DjHnFmre.mjs.map +1 -0
- package/dist/{r2-storage.provider-DuonKeYm.mjs → r2-storage.provider-DCxQt9dD.mjs} +6 -6
- package/dist/r2-storage.provider-DCxQt9dD.mjs.map +1 -0
- package/dist/{rate-limit.decorator-6qzNcSOt.mjs → rate-limit.decorator-BPAie_p3.mjs} +6 -11
- package/dist/rate-limit.decorator-BPAie_p3.mjs.map +1 -0
- package/dist/rate-limiter/index.d.mts +11 -50
- package/dist/rate-limiter/index.d.mts.map +1 -1
- package/dist/rate-limiter/index.mjs +33 -42
- package/dist/rate-limiter/index.mjs.map +1 -1
- package/dist/route-name-DGoBOfPg.mjs +171 -0
- package/dist/route-name-DGoBOfPg.mjs.map +1 -0
- package/dist/route-registration.service-D6vSwiKP.mjs +918 -0
- package/dist/route-registration.service-D6vSwiKP.mjs.map +1 -0
- package/dist/route-registry-CYqLp2Nj.mjs +123 -0
- package/dist/route-registry-CYqLp2Nj.mjs.map +1 -0
- package/dist/router/index.d.mts +2 -2
- package/dist/router/index.mjs +18 -7
- package/dist/router-CWGBD-Bg.mjs +78 -0
- package/dist/router-CWGBD-Bg.mjs.map +1 -0
- package/dist/router-resolver-D4YlPNlm.mjs +88 -0
- package/dist/router-resolver-D4YlPNlm.mjs.map +1 -0
- package/dist/seeder/index.d.mts +16 -11
- package/dist/seeder/index.d.mts.map +1 -1
- package/dist/seeder/index.mjs +5 -3
- package/dist/seeder-7ubkms-Y.mjs +81 -0
- package/dist/seeder-7ubkms-Y.mjs.map +1 -0
- package/dist/seeder-registry-CyUmKsJq.mjs +57 -0
- package/dist/seeder-registry-CyUmKsJq.mjs.map +1 -0
- package/dist/seeder.module-CYYwk3Qk.mjs +15 -0
- package/dist/seeder.module-CYYwk3Qk.mjs.map +1 -0
- package/dist/{signed-url-BQPbv2In.mjs → signed-url-DIU0sK_6.mjs} +1 -1
- package/dist/{signed-url-BQPbv2In.mjs.map → signed-url-DIU0sK_6.mjs.map} +1 -1
- package/dist/storage/index.d.mts +15 -39
- package/dist/storage/index.d.mts.map +1 -1
- package/dist/storage/index.mjs +3 -3
- package/dist/storage/providers/index.d.mts +2 -2
- package/dist/storage/providers/index.d.mts.map +1 -1
- package/dist/storage/providers/index.mjs +1 -1
- package/dist/{storage-D8CBP72Z.mjs → storage-MDZypIE9.mjs} +66 -59
- package/dist/storage-MDZypIE9.mjs.map +1 -0
- package/dist/{storage-provider.interface-Bd6vA4ak.d.mts → storage-provider.interface-ClUwxz4S.d.mts} +2 -3
- package/dist/storage-provider.interface-ClUwxz4S.d.mts.map +1 -0
- package/dist/storage.error-Dnib4VHc.mjs +8 -0
- package/dist/storage.error-Dnib4VHc.mjs.map +1 -0
- package/dist/stratal-DL9M38_s.mjs +383 -0
- package/dist/stratal-DL9M38_s.mjs.map +1 -0
- package/dist/stratal-DwDJPY9N.d.mts +43 -0
- package/dist/stratal-DwDJPY9N.d.mts.map +1 -0
- package/dist/tiered-cache.service-Dv3BhxxE.d.mts +79 -0
- package/dist/tiered-cache.service-Dv3BhxxE.d.mts.map +1 -0
- package/dist/trailing-slash-CFyw8nYu.mjs +34 -0
- package/dist/trailing-slash-CFyw8nYu.mjs.map +1 -0
- package/dist/{types-cySNS_lp.d.mts → types-CmV_9xBD.d.mts} +1 -1
- package/dist/types-CmV_9xBD.d.mts.map +1 -0
- package/dist/uri-h7Q8Jug9.mjs +251 -0
- package/dist/uri-h7Q8Jug9.mjs.map +1 -0
- package/dist/{usage-generator-BUdlhnCK.mjs → usage-generator-DAWYasuP.mjs} +7 -4
- package/dist/usage-generator-DAWYasuP.mjs.map +1 -0
- package/dist/validation-CpOjviyT.mjs +49 -0
- package/dist/validation-CpOjviyT.mjs.map +1 -0
- package/dist/validation.context-CRvmrhq7.mjs +117 -0
- package/dist/validation.context-CRvmrhq7.mjs.map +1 -0
- package/dist/versioning.service-C6aHky8-.mjs +36 -0
- package/dist/versioning.service-C6aHky8-.mjs.map +1 -0
- package/dist/websocket/index.d.mts +16 -14
- package/dist/websocket/index.d.mts.map +1 -1
- package/dist/websocket/index.mjs +2 -2
- package/dist/workers/index.d.mts +2 -2
- package/dist/workers/index.d.mts.map +1 -1
- package/dist/workers/index.mjs +3 -2
- package/dist/workers/index.mjs.map +1 -1
- package/dist/zod-eKqqhZ5_.mjs +72 -0
- package/dist/zod-eKqqhZ5_.mjs.map +1 -0
- package/dist/{index-Bnpfq6uk.d.mts → zod-wecrEVAs.d.mts} +63 -133
- package/dist/zod-wecrEVAs.d.mts.map +1 -0
- package/package.json +28 -39
- package/dist/base-email.provider-CfQCA08m.mjs +0 -42
- package/dist/base-email.provider-CfQCA08m.mjs.map +0 -1
- package/dist/cache.service-DsnKuNyO.d.mts.map +0 -1
- package/dist/cache.tokens-B7Rw1C9Q.mjs +0 -6
- package/dist/cache.tokens-B7Rw1C9Q.mjs.map +0 -1
- package/dist/colors-DJaRDXoS.mjs +0 -16
- package/dist/colors-DJaRDXoS.mjs.map +0 -1
- package/dist/command-BgSlsS4M.mjs.map +0 -1
- package/dist/command-Cmmf0oHX.d.mts.map +0 -1
- package/dist/consumer-registry-B7yUNh0q.d.mts.map +0 -1
- package/dist/controller.decorator-B9vwn0zK.mjs.map +0 -1
- package/dist/cron-manager-CmTimEjf.d.mts +0 -131
- package/dist/cron-manager-CmTimEjf.d.mts.map +0 -1
- package/dist/cron-manager-DQSK8uoV.mjs.map +0 -1
- package/dist/en-DSH_bhh6.mjs +0 -308
- package/dist/en-DSH_bhh6.mjs.map +0 -1
- package/dist/env-D1rcZ8_r.d.mts.map +0 -1
- package/dist/errors-COW9-Mar.mjs +0 -1739
- package/dist/errors-COW9-Mar.mjs.map +0 -1
- package/dist/errors-ORxu1-Bb.mjs +0 -74
- package/dist/errors-ORxu1-Bb.mjs.map +0 -1
- package/dist/events-CzCV8jI8.mjs.map +0 -1
- package/dist/gateway-context-CXmXtaUP.mjs.map +0 -1
- package/dist/guards-DU1_J9YA.mjs.map +0 -1
- package/dist/http-method.decorator-BrgHMdLQ.mjs.map +0 -1
- package/dist/i18n.module-CzXLW9Hy.mjs +0 -2532
- package/dist/i18n.module-CzXLW9Hy.mjs.map +0 -1
- package/dist/index-7-hU3GTV.d.mts.map +0 -1
- package/dist/index-Bnpfq6uk.d.mts.map +0 -1
- package/dist/index-ByOyTmqf.d.mts.map +0 -1
- package/dist/index-C1KvMncZ.d.mts.map +0 -1
- package/dist/index-DBd_2wv8.d.mts +0 -263
- package/dist/index-DBd_2wv8.d.mts.map +0 -1
- package/dist/index-DUzWs0z7.d.mts +0 -494
- package/dist/index-DUzWs0z7.d.mts.map +0 -1
- package/dist/index.d.mts.map +0 -1
- package/dist/logger-DlV7NtvD.mjs +0 -440
- package/dist/logger-DlV7NtvD.mjs.map +0 -1
- package/dist/module-BzLg57FK.mjs +0 -866
- package/dist/module-BzLg57FK.mjs.map +0 -1
- package/dist/openapi-tools.service-Zs-Ewv7F.mjs.map +0 -1
- package/dist/openapi.service-Bt9bCIrd.d.mts.map +0 -1
- package/dist/quarry-registry-BwY2hOxm.mjs +0 -699
- package/dist/quarry-registry-BwY2hOxm.mjs.map +0 -1
- package/dist/queue.module-BhCjZp6H.mjs +0 -409
- package/dist/queue.module-BhCjZp6H.mjs.map +0 -1
- package/dist/r2-storage.provider-DuonKeYm.mjs.map +0 -1
- package/dist/rate-limit.decorator-6qzNcSOt.mjs.map +0 -1
- package/dist/resend.provider-DB4IlFjG.mjs +0 -68
- package/dist/resend.provider-DB4IlFjG.mjs.map +0 -1
- package/dist/seeder-zoEfEw9i.mjs +0 -138
- package/dist/seeder-zoEfEw9i.mjs.map +0 -1
- package/dist/setup-CefZKV_e.mjs +0 -37
- package/dist/setup-CefZKV_e.mjs.map +0 -1
- package/dist/smtp.provider-B6D7zuWX.mjs +0 -76
- package/dist/smtp.provider-B6D7zuWX.mjs.map +0 -1
- package/dist/storage-D8CBP72Z.mjs.map +0 -1
- package/dist/storage-provider.interface-Bd6vA4ak.d.mts.map +0 -1
- package/dist/stratal-CNwpbSZl.mjs +0 -535
- package/dist/stratal-CNwpbSZl.mjs.map +0 -1
- package/dist/types-cySNS_lp.d.mts.map +0 -1
- package/dist/usage-generator-BUdlhnCK.mjs.map +0 -1
- package/dist/validation-DtJwAv7O.mjs +0 -248
- package/dist/validation-DtJwAv7O.mjs.map +0 -1
- /package/dist/{chunk-D1SwGrFN.mjs → chunk-BBjsoOtd.mjs} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as
|
|
2
|
-
export {
|
|
1
|
+
import { t as deepMerge } from "../../deep-merge-ByiAOZ3r.mjs";
|
|
2
|
+
export { deepMerge };
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { a as z, b as CUID2_REGEX, c as ZodCustomIssue, i as ZodError, n as OpenAPIObject, r as PathItemObject, s as I18nErrorMetadata, t as OpenAPIHono, x as cuid2 } from "../../zod-wecrEVAs.mjs";
|
|
2
|
+
import { n as withZodI18n, t as zodErrorMap } from "../../index-DtBNIFuP.mjs";
|
|
2
3
|
export * from "@hono/zod-openapi";
|
|
3
4
|
export * from "zod";
|
|
4
|
-
export { CUID2_REGEX,
|
|
5
|
+
export { CUID2_REGEX, type I18nErrorMetadata, OpenAPIHono, type OpenAPIObject, type PathItemObject, type ZodCustomIssue, ZodError, cuid2, withZodI18n, z, zodErrorMap };
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
-
import { a as CUID2_REGEX,
|
|
1
|
+
import { a as CUID2_REGEX, n as ZodError, o as cuid2, r as z, t as OpenAPIHono } from "../../zod-eKqqhZ5_.mjs";
|
|
2
|
+
import { t as withZodI18n } from "../../validation-CpOjviyT.mjs";
|
|
3
|
+
import { t as zodErrorMap } from "../../validation.context-CRvmrhq7.mjs";
|
|
2
4
|
export * from "@hono/zod-openapi";
|
|
3
|
-
export { CUID2_REGEX, OpenAPIHono, ZodError,
|
|
5
|
+
export { CUID2_REGEX, OpenAPIHono, ZodError, cuid2, withZodI18n, z, zodErrorMap };
|
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
import { t as __exportAll } from "./chunk-BBjsoOtd.mjs";
|
|
2
|
+
import { d as inject, o as Request, s as Singleton, v as ROUTER_TOKENS } from "./di-DseMn-z9.mjs";
|
|
3
|
+
import { n as __decorateParam, t as __decorate } from "./decorate-CuAoSZvs.mjs";
|
|
4
|
+
import { n as Module } from "./module.decorator-CYHY6pG5.mjs";
|
|
5
|
+
import "./module/index.mjs";
|
|
6
|
+
import { t as I18N_TOKENS } from "./i18n.tokens-CZ_v8oyS.mjs";
|
|
7
|
+
import { r as z } from "./zod-eKqqhZ5_.mjs";
|
|
8
|
+
import { t as zodErrorMap } from "./validation.context-CRvmrhq7.mjs";
|
|
9
|
+
import "./router-CWGBD-Bg.mjs";
|
|
10
|
+
import { t as en_exports } from "./en-CDZBMcc1.mjs";
|
|
11
|
+
import { t as deepMerge } from "./deep-merge-ByiAOZ3r.mjs";
|
|
12
|
+
import IntlMessageFormat from "intl-messageformat";
|
|
13
|
+
//#region src/i18n/services/i18n.service.ts
|
|
14
|
+
let I18nService = class I18nService {
|
|
15
|
+
loader;
|
|
16
|
+
routerContext;
|
|
17
|
+
constructor(loader, routerContext) {
|
|
18
|
+
this.loader = loader;
|
|
19
|
+
this.routerContext = routerContext;
|
|
20
|
+
}
|
|
21
|
+
t(key, params) {
|
|
22
|
+
return this.loader.translate(this.getLocale(), key, params);
|
|
23
|
+
}
|
|
24
|
+
getLocale() {
|
|
25
|
+
return this.routerContext?.getLocale() ?? "en";
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
I18nService = __decorate([
|
|
29
|
+
Request(I18N_TOKENS.I18nService),
|
|
30
|
+
__decorateParam(0, inject(I18N_TOKENS.MessageLoader)),
|
|
31
|
+
__decorateParam(1, inject(ROUTER_TOKENS.RouterContext, { isOptional: true }))
|
|
32
|
+
], I18nService);
|
|
33
|
+
//#endregion
|
|
34
|
+
//#region src/i18n/messages/index.ts
|
|
35
|
+
/**
|
|
36
|
+
* Core Messages
|
|
37
|
+
*
|
|
38
|
+
* Messages used by packages/modules infrastructure.
|
|
39
|
+
* These are automatically merged with application-specific messages.
|
|
40
|
+
*/
|
|
41
|
+
/**
|
|
42
|
+
* All locale messages
|
|
43
|
+
* Explicitly import and export (no filesystem scanning - Cloudflare Workers compatible)
|
|
44
|
+
*/
|
|
45
|
+
const messages = { en: en_exports };
|
|
46
|
+
/**
|
|
47
|
+
* Get messages for all locales
|
|
48
|
+
*/
|
|
49
|
+
function getMessages() {
|
|
50
|
+
return messages;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Get available locales
|
|
54
|
+
*/
|
|
55
|
+
function getLocales() {
|
|
56
|
+
return Object.keys(messages);
|
|
57
|
+
}
|
|
58
|
+
//#endregion
|
|
59
|
+
//#region src/i18n/services/message-loader.service.ts
|
|
60
|
+
let MessageLoaderService = class MessageLoaderService {
|
|
61
|
+
registry;
|
|
62
|
+
options;
|
|
63
|
+
cache;
|
|
64
|
+
compiledCache;
|
|
65
|
+
locales;
|
|
66
|
+
defaultLocale;
|
|
67
|
+
constructor(registry, options) {
|
|
68
|
+
this.registry = registry;
|
|
69
|
+
this.options = options;
|
|
70
|
+
this.defaultLocale = this.options?.defaultLocale ?? "en";
|
|
71
|
+
this.cache = /* @__PURE__ */ new Map();
|
|
72
|
+
this.compiledCache = /* @__PURE__ */ new Map();
|
|
73
|
+
const coreMessages = getMessages();
|
|
74
|
+
const coreLocales = getLocales();
|
|
75
|
+
const registryMessages = this.registry.getMergedMessages();
|
|
76
|
+
const registryLocales = Object.keys(registryMessages);
|
|
77
|
+
const allLocales = [...new Set([...coreLocales, ...registryLocales])];
|
|
78
|
+
this.locales = allLocales;
|
|
79
|
+
for (const locale of allLocales) {
|
|
80
|
+
const merged = deepMerge(coreMessages[locale] ?? {}, registryMessages[locale] ?? {});
|
|
81
|
+
this.cache.set(locale, merged);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
translate(locale, key, params) {
|
|
85
|
+
const fn = this.getCompiledMessages(locale)[key];
|
|
86
|
+
if (!fn) return key;
|
|
87
|
+
return fn(params);
|
|
88
|
+
}
|
|
89
|
+
getMessages(locale) {
|
|
90
|
+
return this.cache.get(locale) ?? this.cache.get(this.defaultLocale) ?? {};
|
|
91
|
+
}
|
|
92
|
+
getAvailableLocales() {
|
|
93
|
+
return this.locales;
|
|
94
|
+
}
|
|
95
|
+
isLocaleSupported(locale) {
|
|
96
|
+
return this.cache.has(locale);
|
|
97
|
+
}
|
|
98
|
+
getDefaultLocale() {
|
|
99
|
+
return this.defaultLocale;
|
|
100
|
+
}
|
|
101
|
+
getFilteredMessages(locale, options) {
|
|
102
|
+
const messages = this.getMessages(locale);
|
|
103
|
+
const flattened = this.flattenMessages(messages);
|
|
104
|
+
if (!options?.only?.length) return flattened;
|
|
105
|
+
const result = {};
|
|
106
|
+
for (const [key, value] of Object.entries(flattened)) if (options.only.some((prefix) => key === prefix || key.startsWith(`${prefix}.`))) result[key] = value;
|
|
107
|
+
return result;
|
|
108
|
+
}
|
|
109
|
+
getCompiledMessages(locale) {
|
|
110
|
+
const effectiveLocale = this.cache.has(locale) ? locale : this.defaultLocale;
|
|
111
|
+
const cached = this.compiledCache.get(effectiveLocale);
|
|
112
|
+
if (cached) return cached;
|
|
113
|
+
const messages = this.cache.get(effectiveLocale) ?? {};
|
|
114
|
+
const flattened = this.flattenMessages(messages);
|
|
115
|
+
const compiled = {};
|
|
116
|
+
for (const [key, value] of Object.entries(flattened)) {
|
|
117
|
+
const msg = new IntlMessageFormat(value, effectiveLocale);
|
|
118
|
+
compiled[key] = (params) => String(msg.format(params));
|
|
119
|
+
}
|
|
120
|
+
this.compiledCache.set(effectiveLocale, compiled);
|
|
121
|
+
return compiled;
|
|
122
|
+
}
|
|
123
|
+
flattenMessages(messages, prefix = "") {
|
|
124
|
+
const result = {};
|
|
125
|
+
for (const key of Object.keys(messages)) {
|
|
126
|
+
const value = messages[key];
|
|
127
|
+
const newKey = prefix ? `${prefix}.${key}` : key;
|
|
128
|
+
if (typeof value === "object" && value !== null && !Array.isArray(value)) Object.assign(result, this.flattenMessages(value, newKey));
|
|
129
|
+
else result[newKey] = String(value);
|
|
130
|
+
}
|
|
131
|
+
return result;
|
|
132
|
+
}
|
|
133
|
+
};
|
|
134
|
+
MessageLoaderService = __decorate([
|
|
135
|
+
Singleton(I18N_TOKENS.MessageLoader),
|
|
136
|
+
__decorateParam(0, inject(I18N_TOKENS.MessageRegistry)),
|
|
137
|
+
__decorateParam(1, inject(I18N_TOKENS.Options, { isOptional: true }))
|
|
138
|
+
], MessageLoaderService);
|
|
139
|
+
//#endregion
|
|
140
|
+
//#region src/i18n/services/message-registry.ts
|
|
141
|
+
/**
|
|
142
|
+
* Global key for the shared contributions array.
|
|
143
|
+
*
|
|
144
|
+
* When stratal is installed via portal/symlink (e.g., in monorepos), bundlers
|
|
145
|
+
* like esbuild may inline multiple copies of this module. Each copy gets its
|
|
146
|
+
* own static class fields, so messages registered by one copy are invisible
|
|
147
|
+
* to another. Using a `Symbol.for()` key on `globalThis` ensures all copies
|
|
148
|
+
* share the same contributions array.
|
|
149
|
+
*/
|
|
150
|
+
const CONTRIBUTIONS_KEY = Symbol.for("stratal:i18n:message-registry:contributions");
|
|
151
|
+
function getContributions() {
|
|
152
|
+
const g = globalThis;
|
|
153
|
+
g[CONTRIBUTIONS_KEY] ??= [];
|
|
154
|
+
return g[CONTRIBUTIONS_KEY];
|
|
155
|
+
}
|
|
156
|
+
let MessageRegistry = class MessageRegistry {
|
|
157
|
+
/**
|
|
158
|
+
* Add messages (called statically by I18nModule.registerMessages)
|
|
159
|
+
*/
|
|
160
|
+
static addMessages(messages) {
|
|
161
|
+
if (Boolean(messages) && typeof messages === "object" && Object.keys(messages).length > 0) getContributions().push(messages);
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Get all messages deep-merged in registration order
|
|
165
|
+
*/
|
|
166
|
+
getMergedMessages() {
|
|
167
|
+
const merged = {};
|
|
168
|
+
for (const contribution of getContributions()) for (const locale of Object.keys(contribution)) merged[locale] = deepMerge(merged[locale] ?? {}, contribution[locale]);
|
|
169
|
+
return merged;
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Reset registry (for testing)
|
|
173
|
+
* @internal
|
|
174
|
+
*/
|
|
175
|
+
static reset() {
|
|
176
|
+
globalThis[CONTRIBUTIONS_KEY] = [];
|
|
177
|
+
}
|
|
178
|
+
};
|
|
179
|
+
MessageRegistry = __decorate([Singleton(I18N_TOKENS.MessageRegistry)], MessageRegistry);
|
|
180
|
+
//#endregion
|
|
181
|
+
//#region src/i18n/i18n.module.ts
|
|
182
|
+
var i18n_module_exports = /* @__PURE__ */ __exportAll({ I18nModule: () => I18nModule });
|
|
183
|
+
var _I18nModule;
|
|
184
|
+
let I18nModule = _I18nModule = class I18nModule {
|
|
185
|
+
onInitialize(_context) {
|
|
186
|
+
z.config({ customError: zodErrorMap });
|
|
187
|
+
}
|
|
188
|
+
static forRoot(options = {}) {
|
|
189
|
+
return {
|
|
190
|
+
module: _I18nModule,
|
|
191
|
+
providers: [{
|
|
192
|
+
provide: I18N_TOKENS.Options,
|
|
193
|
+
useValue: options
|
|
194
|
+
}]
|
|
195
|
+
};
|
|
196
|
+
}
|
|
197
|
+
static registerMessages(messages) {
|
|
198
|
+
MessageRegistry.addMessages(messages);
|
|
199
|
+
return {
|
|
200
|
+
module: _I18nModule,
|
|
201
|
+
providers: []
|
|
202
|
+
};
|
|
203
|
+
}
|
|
204
|
+
};
|
|
205
|
+
I18nModule = _I18nModule = __decorate([Module({ providers: [
|
|
206
|
+
{
|
|
207
|
+
provide: I18N_TOKENS.MessageRegistry,
|
|
208
|
+
useClass: MessageRegistry
|
|
209
|
+
},
|
|
210
|
+
{
|
|
211
|
+
provide: I18N_TOKENS.MessageLoader,
|
|
212
|
+
useClass: MessageLoaderService
|
|
213
|
+
},
|
|
214
|
+
{
|
|
215
|
+
provide: I18N_TOKENS.I18nService,
|
|
216
|
+
useClass: I18nService
|
|
217
|
+
}
|
|
218
|
+
] })], I18nModule);
|
|
219
|
+
//#endregion
|
|
220
|
+
export { getLocales as a, MessageLoaderService as i, i18n_module_exports as n, getMessages as o, MessageRegistry as r, messages as s, I18nModule as t };
|
|
221
|
+
|
|
222
|
+
//# sourceMappingURL=i18n.module-DRQAZoSZ.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i18n.module-DRQAZoSZ.mjs","names":[],"sources":["../src/i18n/services/i18n.service.ts","../src/i18n/messages/index.ts","../src/i18n/services/message-loader.service.ts","../src/i18n/services/message-registry.ts","../src/i18n/i18n.module.ts"],"sourcesContent":["import { inject } from '../../di'\nimport { Request } from '../../di/decorators'\nimport { ROUTER_TOKENS, type RouterContext } from '../../router'\nimport { I18N_TOKENS } from '../i18n.tokens'\nimport type { II18nService, MessageKeys, MessageParams } from '../i18n.types'\nimport type { MessageLoaderService } from './message-loader.service'\n\n@Request(I18N_TOKENS.I18nService)\nexport class I18nService implements II18nService {\n constructor(\n @inject(I18N_TOKENS.MessageLoader) private readonly loader: MessageLoaderService,\n @inject(ROUTER_TOKENS.RouterContext, { isOptional: true }) private readonly routerContext?: RouterContext\n ) {\n }\n\n t(key: MessageKeys, params?: MessageParams): string {\n return this.loader.translate(this.getLocale(), key, params as Record<string, unknown>)\n }\n\n getLocale(): string {\n return this.routerContext?.getLocale() ?? 'en'\n }\n}\n","/**\n * Core Messages\n *\n * Messages used by packages/modules infrastructure.\n * These are automatically merged with application-specific messages.\n */\n\nimport * as en from './en'\n\n/**\n * All locale messages\n * Explicitly import and export (no filesystem scanning - Cloudflare Workers compatible)\n */\nexport const messages = { en } as const\n\n/**\n * Type for all messages\n */\nexport type Messages = typeof messages\n\n/**\n * Get messages for all locales\n */\nexport function getMessages(): Record<string, Record<string, unknown>> {\n return messages\n}\n\n/**\n * Get available locales\n */\nexport function getLocales(): string[] {\n return Object.keys(messages)\n}\n","import IntlMessageFormat from 'intl-messageformat'\nimport { inject } from '../../di'\nimport { Singleton } from '../../di/decorators'\nimport type { I18nModuleOptions } from '../i18n.options'\nimport type { MessageKeyPrefix } from '../i18n.types'\nimport { I18N_TOKENS } from '../i18n.tokens'\nimport { getLocales, getMessages } from '../messages'\nimport { deepMerge } from '../utils/deep-merge'\nimport type { MessageRegistry } from './message-registry'\n\ntype CompiledMessages = Record<string, (params?: Record<string, unknown>) => string>\n\n@Singleton(I18N_TOKENS.MessageLoader)\nexport class MessageLoaderService {\n private readonly cache: Map<string, Record<string, unknown>>\n private readonly compiledCache: Map<string, CompiledMessages>\n private readonly locales: string[]\n private readonly defaultLocale: string\n\n constructor(\n @inject(I18N_TOKENS.MessageRegistry) private readonly registry: MessageRegistry,\n @inject(I18N_TOKENS.Options, { isOptional: true })\n private readonly options?: I18nModuleOptions\n ) {\n this.defaultLocale = this.options?.defaultLocale ?? 'en'\n this.cache = new Map()\n this.compiledCache = new Map()\n\n const coreMessages = getMessages()\n const coreLocales = getLocales()\n\n const registryMessages = this.registry.getMergedMessages()\n const registryLocales = Object.keys(registryMessages)\n\n const allLocales = [...new Set([...coreLocales, ...registryLocales])]\n this.locales = allLocales\n\n for (const locale of allLocales) {\n const coreLocaleMessages = coreMessages[locale] ?? {}\n const registryLocaleMessages = registryMessages[locale] ?? {}\n\n const merged = deepMerge(coreLocaleMessages, registryLocaleMessages)\n this.cache.set(locale, merged)\n }\n }\n\n translate(locale: string, key: string, params?: Record<string, unknown>): string {\n const compiled = this.getCompiledMessages(locale)\n const fn = compiled[key]\n if (!fn) return key\n return fn(params)\n }\n\n getMessages(locale: string): Record<string, unknown> {\n return this.cache.get(locale) ?? this.cache.get(this.defaultLocale) ?? {}\n }\n\n getAvailableLocales(): string[] {\n return this.locales\n }\n\n isLocaleSupported(locale: string): boolean {\n return this.cache.has(locale)\n }\n\n getDefaultLocale(): string {\n return this.defaultLocale\n }\n\n getFilteredMessages(\n locale: string,\n options?: { only?: MessageKeyPrefix[] }\n ): Record<string, string> {\n const messages = this.getMessages(locale)\n const flattened = this.flattenMessages(messages)\n\n if (!options?.only?.length) return flattened\n\n const result: Record<string, string> = {}\n for (const [key, value] of Object.entries(flattened)) {\n if (options.only.some((prefix) => key === prefix || key.startsWith(`${prefix}.`))) {\n result[key] = value\n }\n }\n return result\n }\n\n private getCompiledMessages(locale: string): CompiledMessages {\n const effectiveLocale = this.cache.has(locale) ? locale : this.defaultLocale\n\n const cached = this.compiledCache.get(effectiveLocale)\n if (cached) return cached\n\n const messages = this.cache.get(effectiveLocale) ?? {}\n const flattened = this.flattenMessages(messages)\n\n const compiled: CompiledMessages = {}\n for (const [key, value] of Object.entries(flattened)) {\n const msg = new IntlMessageFormat(value, effectiveLocale)\n compiled[key] = (params) => String(msg.format(params as Record<string, string | number | boolean>))\n }\n\n this.compiledCache.set(effectiveLocale, compiled)\n return compiled\n }\n\n private flattenMessages(\n messages: Record<string, unknown>,\n prefix = ''\n ): Record<string, string> {\n const result: Record<string, string> = {}\n\n for (const key of Object.keys(messages)) {\n const value = messages[key]\n const newKey = prefix ? `${prefix}.${key}` : key\n\n if (typeof value === 'object' && value !== null && !Array.isArray(value)) {\n Object.assign(result, this.flattenMessages(value as Record<string, unknown>, newKey))\n } else {\n result[newKey] = String(value)\n }\n }\n\n return result\n }\n}\n","import { Singleton } from '../../di/decorators'\nimport { I18N_TOKENS } from '../i18n.tokens'\nimport { deepMerge } from '../utils/deep-merge'\n\n/**\n * Global key for the shared contributions array.\n *\n * When stratal is installed via portal/symlink (e.g., in monorepos), bundlers\n * like esbuild may inline multiple copies of this module. Each copy gets its\n * own static class fields, so messages registered by one copy are invisible\n * to another. Using a `Symbol.for()` key on `globalThis` ensures all copies\n * share the same contributions array.\n */\nconst CONTRIBUTIONS_KEY = Symbol.for('stratal:i18n:message-registry:contributions')\n\ntype Contributions = Record<string, Record<string, unknown>>[]\n\nfunction getContributions(): Contributions {\n const g = globalThis as Record<symbol, unknown>\n g[CONTRIBUTIONS_KEY] ??= [];\n return g[CONTRIBUTIONS_KEY] as Contributions\n}\n\n/**\n * Message Registry\n *\n * Accumulates i18n messages from multiple `I18nModule.registerMessages()` calls.\n * Messages are collected statically (at module import time) and deep-merged\n * when `getMergedMessages()` is called by `MessageLoaderService`.\n *\n * Later registrations override earlier ones at leaf level.\n */\n@Singleton(I18N_TOKENS.MessageRegistry)\nexport class MessageRegistry {\n /**\n * Add messages (called statically by I18nModule.registerMessages)\n */\n static addMessages(messages: Record<string, Record<string, unknown>>): void {\n if (Boolean(messages) && typeof messages === 'object' && Object.keys(messages).length > 0) {\n getContributions().push(messages)\n }\n }\n\n /**\n * Get all messages deep-merged in registration order\n */\n getMergedMessages(): Record<string, Record<string, unknown>> {\n const merged: Record<string, Record<string, unknown>> = {}\n\n for (const contribution of getContributions()) {\n for (const locale of Object.keys(contribution)) {\n merged[locale] = deepMerge(\n (merged[locale] ?? {}),\n contribution[locale],\n )\n }\n }\n\n return merged\n }\n\n /**\n * Reset registry (for testing)\n * @internal\n */\n static reset(): void {\n (globalThis as Record<symbol, unknown>)[CONTRIBUTIONS_KEY] = []\n }\n}\n","import { Module } from '../module'\nimport type { DynamicModule, ModuleContext, OnInitialize } from '../module/types'\nimport type { I18nModuleOptions } from './i18n.options'\nimport { I18N_TOKENS } from './i18n.tokens'\nimport { I18nService } from './services/i18n.service'\nimport { MessageLoaderService } from './services/message-loader.service'\nimport { MessageRegistry } from './services/message-registry'\nimport { zodErrorMap } from './validation/validation.context'\nimport { z } from './validation/zod'\n\n@Module({\n providers: [\n { provide: I18N_TOKENS.MessageRegistry, useClass: MessageRegistry },\n { provide: I18N_TOKENS.MessageLoader, useClass: MessageLoaderService },\n { provide: I18N_TOKENS.I18nService, useClass: I18nService },\n ],\n})\nexport class I18nModule implements OnInitialize {\n onInitialize(_context: ModuleContext): void {\n z.config({ customError: zodErrorMap })\n }\n\n static forRoot(options: I18nModuleOptions = {}): DynamicModule {\n return {\n module: I18nModule,\n providers: [\n { provide: I18N_TOKENS.Options, useValue: options },\n ],\n }\n }\n\n static registerMessages(messages: Record<string, Record<string, unknown>>): DynamicModule {\n MessageRegistry.addMessages(messages)\n return {\n module: I18nModule,\n providers: [],\n }\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
//#region src/i18n/i18n.tokens.ts
|
|
2
|
+
/**
|
|
3
|
+
* I18n Module DI Tokens
|
|
4
|
+
* Symbol-based tokens to avoid string collisions
|
|
5
|
+
*/
|
|
6
|
+
const I18N_TOKENS = {
|
|
7
|
+
/** MessageLoaderService - loads and caches locale messages */
|
|
8
|
+
MessageLoader: Symbol.for("stratal:i18n:message:loader"),
|
|
9
|
+
/** I18nService - request-scoped translation service */
|
|
10
|
+
I18nService: Symbol.for("stratal:i18n:service"),
|
|
11
|
+
/** I18nModuleOptions - configuration options from forRoot() */
|
|
12
|
+
Options: Symbol.for("stratal:i18n:options"),
|
|
13
|
+
/** MessageRegistry - singleton accumulator for registerMessages() contributions */
|
|
14
|
+
MessageRegistry: Symbol.for("stratal:i18n:message:registry")
|
|
15
|
+
};
|
|
16
|
+
//#endregion
|
|
17
|
+
export { I18N_TOKENS as t };
|
|
18
|
+
|
|
19
|
+
//# sourceMappingURL=i18n.tokens-CZ_v8oyS.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i18n.tokens-CZ_v8oyS.mjs","names":[],"sources":["../src/i18n/i18n.tokens.ts"],"sourcesContent":["/**\n * I18n Module DI Tokens\n * Symbol-based tokens to avoid string collisions\n */\n\nexport const I18N_TOKENS = {\n /** MessageLoaderService - loads and caches locale messages */\n MessageLoader: Symbol.for('stratal:i18n:message:loader'),\n /** I18nService - request-scoped translation service */\n I18nService: Symbol.for('stratal:i18n:service'),\n /** I18nModuleOptions - configuration options from forRoot() */\n Options: Symbol.for('stratal:i18n:options'),\n /** MessageRegistry - singleton accumulator for registerMessages() contributions */\n MessageRegistry: Symbol.for('stratal:i18n:message:registry'),\n} as const\n"],"mappings":";;;;;AAKA,MAAa,cAAc;;CAEzB,eAAe,OAAO,IAAI,6BAA6B;;CAEvD,aAAa,OAAO,IAAI,sBAAsB;;CAE9C,SAAS,OAAO,IAAI,sBAAsB;;CAE1C,iBAAiB,OAAO,IAAI,+BAA+B;AAC7D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-0ItCjaqw.d.mts","names":[],"sources":["../src/macroable/types.ts","../src/macroable/macroable.ts"],"mappings":";KACY,aAAA,IAAiB,IAAA,UAAc,IAAI;;;KCE1C,WAAA,oBAA+B,IAAI;;;;ADFO;;;;ACDH;;;;AAGJ;AA4BxC;;;;;;;;;;;;;;uBAAsB,SAAA;EAAA,CACnB,GAAA;EAwE8D;;;;EAAA,iBAnE9C,cAAA,EAAc,GAAA;;;;EAyFsB;;;EAAA,iBApFpC,UAAA,EAAU,GAAA;EAuFL;;;EAAA,iBAlFL,WAAA,EAAW,GAAA;EAqFsB;;;;EAAA,eA/EnC,UAAA;EAhBgB;;;;;;;;;EAAA,OA6BxB,KAAA,WAAgB,WAAA,kBAA6B,YAAA,CAAa,CAAA,GAC/D,IAAA,EAAM,CAAA,EACN,IAAA,EAAM,CAAA,EACN,KAAA,EAAO,YAAA,CAAa,CAAA,EAAG,CAAA;EAAA,OAElB,KAAA,CAAM,IAAA,mBAAuB,KAAA;EALA;;;;;;;;;EAAA,OAsC7B,gBAAA,WAA2B,WAAA,kBAA6B,YAAA,CAAa,CAAA,GAC1E,IAAA,EAAM,CAAA,EACN,IAAA,EAAM,CAAA,EACN,KAAA,EAAO,YAAA,CAAa,CAAA,EAAG,CAAA;EAAA,OAElB,gBAAA,CAAiB,IAAA,mBAAuB,KAAA;EAtCxC;;;;;;;EAAA,OAuDA,MAAA,WAAiB,WAAA,kBAA6B,YAAA,CAAa,CAAA,GAChE,IAAA,EAAM,CAAA,EACN,IAAA,EAAM,CAAA,EACN,WAAA,GAAc,IAAA,EAAM,YAAA,CAAa,CAAA,MAAO,YAAA,CAAa,CAAA,EAAG,CAAA,GACxD,SAAA;EAAA,OAEK,MAAA,CAAO,IAAA,mBAAuB,WAAA,EAAa,aAAA,EAAe,SAAA;EA3BzD;;;;;EAAA,OA+DD,QAAA,CAAS,IAAA;EA7DS;;;;EAAA,OA2ElB,WAAA"}
|