@primate/core 0.1.10 → 0.2.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/lib/private/App.d.ts +54 -0
- package/lib/private/App.js +128 -0
- package/lib/private/AppError.d.ts +4 -0
- package/lib/private/AppError.js +8 -0
- package/lib/private/Binder.d.ts +13 -0
- package/lib/private/Binder.js +2 -0
- package/lib/private/BindingContext.d.ts +3 -0
- package/lib/private/BindingContext.js +2 -0
- package/lib/private/BuildApp.d.ts +23 -0
- package/lib/private/BuildApp.js +121 -0
- package/lib/private/CSP.d.ts +6 -0
- package/lib/private/CSP.js +2 -0
- package/lib/private/Loader.d.ts +17 -0
- package/lib/private/Loader.js +46 -0
- package/lib/private/Mode.d.ts +3 -0
- package/lib/private/Mode.js +2 -0
- package/lib/private/Module.d.ts +18 -0
- package/lib/private/Module.js +18 -0
- package/lib/private/ServeApp.d.ts +89 -0
- package/lib/private/ServeApp.js +305 -0
- package/lib/private/ServeInit.d.ts +29 -0
- package/lib/private/ServeInit.js +2 -0
- package/lib/private/asset/Asset.d.ts +11 -0
- package/lib/private/asset/Asset.js +2 -0
- package/lib/private/asset/Font.d.ts +8 -0
- package/lib/private/asset/Font.js +2 -0
- package/lib/private/asset/Script.d.ts +9 -0
- package/lib/private/asset/Script.js +2 -0
- package/lib/private/asset/Style.d.ts +6 -0
- package/lib/private/asset/Style.js +2 -0
- package/lib/private/backend/Module.d.ts +18 -0
- package/lib/private/backend/Module.js +22 -0
- package/lib/private/build.d.ts +4 -0
- package/lib/private/build.js +45 -0
- package/lib/private/builtin/DevModule.d.ts +11 -0
- package/lib/private/builtin/DevModule.js +32 -0
- package/lib/private/builtin/HandleModule.d.ts +10 -0
- package/lib/private/builtin/HandleModule.js +15 -0
- package/lib/private/bye.d.ts +3 -0
- package/{src → lib}/private/bye.js +2 -2
- package/lib/private/client/App.d.ts +4 -0
- package/lib/private/client/App.js +12 -0
- package/lib/private/client/Data.d.ts +9 -0
- package/lib/private/client/Data.js +2 -0
- package/lib/private/client/ValidateInit.d.ts +13 -0
- package/lib/private/client/ValidateInit.js +2 -0
- package/lib/private/client/ValidateUpdater.d.ts +3 -0
- package/lib/private/client/ValidateUpdater.js +2 -0
- package/lib/private/client/ValidationError.d.ts +6 -0
- package/lib/private/client/ValidationError.js +2 -0
- package/lib/private/client/spa/index.d.ts +6 -0
- package/lib/private/client/spa/index.js +192 -0
- package/lib/private/client/spa/storage.d.ts +12 -0
- package/lib/private/client/spa/storage.js +54 -0
- package/lib/private/client/toValidated.d.ts +17 -0
- package/lib/private/client/toValidated.js +21 -0
- package/lib/private/client/validate.d.ts +3 -0
- package/lib/private/client/validate.js +54 -0
- package/lib/private/config/Config.d.ts +4 -0
- package/lib/private/config/Config.js +2 -0
- package/lib/private/config/config/app.d.ts +3 -0
- package/lib/private/config/config/app.js +3 -0
- package/lib/private/config/config/database/index.d.ts +3 -0
- package/lib/private/config/config/database/index.js +3 -0
- package/lib/private/config/config/session.d.ts +3 -0
- package/lib/private/config/config/session.js +3 -0
- package/lib/private/config/index.d.ts +25 -0
- package/lib/private/config/index.js +3 -0
- package/lib/private/config/schema.d.ts +26 -0
- package/lib/private/config/schema.js +34 -0
- package/lib/private/cookie.d.ts +11 -0
- package/lib/private/cookie.js +30 -0
- package/lib/private/database/As.d.ts +7 -0
- package/lib/private/database/As.js +2 -0
- package/lib/private/database/Binds.d.ts +4 -0
- package/lib/private/database/Binds.js +2 -0
- package/lib/private/database/Changes.d.ts +11 -0
- package/lib/private/database/Changes.js +2 -0
- package/lib/private/database/ColumnTypes.d.ts +11 -0
- package/lib/private/database/ColumnTypes.js +2 -0
- package/lib/private/database/DataDict.d.ts +5 -0
- package/lib/private/database/DataDict.js +2 -0
- package/lib/private/database/DataKey.d.ts +4 -0
- package/lib/private/database/DataKey.js +2 -0
- package/lib/private/database/DataRecord.d.ts +8 -0
- package/lib/private/database/DataRecord.js +3 -0
- package/lib/private/database/DataValue.d.ts +5 -0
- package/lib/private/database/DataValue.js +2 -0
- package/lib/private/database/Database.d.ts +56 -0
- package/lib/private/database/Database.js +153 -0
- package/lib/private/database/InMemoryDatabase.d.ts +37 -0
- package/lib/private/database/InMemoryDatabase.js +181 -0
- package/lib/private/database/Query.d.ts +14 -0
- package/lib/private/database/Query.js +15 -0
- package/lib/private/database/QueryBuilder.d.ts +14 -0
- package/lib/private/database/QueryBuilder.js +3 -0
- package/lib/private/database/Sort.d.ts +4 -0
- package/lib/private/database/Sort.js +2 -0
- package/lib/private/database/Store.d.ts +169 -0
- package/lib/private/database/Store.js +255 -0
- package/lib/private/database/TypeMap.d.ts +14 -0
- package/lib/private/database/TypeMap.js +2 -0
- package/lib/private/database/Types.d.ts +6 -0
- package/lib/private/database/Types.js +2 -0
- package/lib/private/database/primary.d.ts +3 -0
- package/lib/private/database/primary.js +2 -0
- package/lib/private/database/storage.d.ts +4 -0
- package/lib/private/database/storage.js +3 -0
- package/lib/private/database/symbol/wrap.d.ts +3 -0
- package/lib/private/database/symbol/wrap.js +2 -0
- package/lib/private/database/symbol.d.ts +3 -0
- package/lib/private/database/symbol.js +2 -0
- package/lib/private/database/test.d.ts +4 -0
- package/lib/private/database/test.js +678 -0
- package/lib/private/database/wrap.d.ts +5 -0
- package/lib/private/database/wrap.js +5 -0
- package/lib/private/fail.d.ts +3 -0
- package/lib/private/fail.js +5 -0
- package/lib/private/frontend/Component.d.ts +8 -0
- package/lib/private/frontend/Component.js +2 -0
- package/lib/private/frontend/Module.d.ts +60 -0
- package/lib/private/frontend/Module.js +241 -0
- package/lib/private/frontend/Publish.d.ts +5 -0
- package/lib/private/frontend/Publish.js +2 -0
- package/lib/private/frontend/Render.d.ts +9 -0
- package/lib/private/frontend/Render.js +2 -0
- package/lib/private/frontend/ServerComponent.d.ts +5 -0
- package/lib/private/frontend/ServerComponent.js +2 -0
- package/lib/private/frontend/ServerData.d.ts +7 -0
- package/lib/private/frontend/ServerData.js +2 -0
- package/lib/private/frontend/ViewOptions.d.ts +12 -0
- package/lib/private/frontend/ViewOptions.js +3 -0
- package/lib/private/frontend/ViewResponse.d.ts +6 -0
- package/lib/private/frontend/ViewResponse.js +2 -0
- package/lib/private/frontend/bundle-server.d.ts +11 -0
- package/lib/private/frontend/bundle-server.js +48 -0
- package/lib/private/hash.d.ts +3 -0
- package/lib/private/hash.js +10 -0
- package/lib/private/hook/build.d.ts +4 -0
- package/lib/private/hook/build.js +245 -0
- package/lib/private/hook/serve.d.ts +4 -0
- package/lib/private/hook/serve.js +13 -0
- package/lib/private/i18n/API.d.ts +21 -0
- package/lib/private/i18n/API.js +2 -0
- package/lib/private/i18n/Catalog.d.ts +4 -0
- package/lib/private/i18n/Catalog.js +2 -0
- package/lib/private/i18n/Catalogs.d.ts +4 -0
- package/lib/private/i18n/Catalogs.js +2 -0
- package/lib/private/i18n/Config.d.ts +10 -0
- package/lib/private/i18n/Config.js +2 -0
- package/lib/private/i18n/ContextData.d.ts +6 -0
- package/lib/private/i18n/ContextData.js +2 -0
- package/lib/private/i18n/Formatter.d.ts +18 -0
- package/lib/private/i18n/Formatter.js +108 -0
- package/lib/private/i18n/Module.d.ts +16 -0
- package/lib/private/i18n/Module.js +109 -0
- package/lib/private/i18n/PersistMode.d.ts +3 -0
- package/lib/private/i18n/PersistMode.js +2 -0
- package/lib/private/i18n/TypeOf.d.ts +4 -0
- package/lib/private/i18n/TypeOf.js +2 -0
- package/lib/private/i18n/constant/COOKIE_NAME.d.ts +3 -0
- package/lib/private/i18n/constant/COOKIE_NAME.js +2 -0
- package/lib/private/i18n/constant/DEFAULT_LOCALE.d.ts +3 -0
- package/lib/private/i18n/constant/DEFAULT_LOCALE.js +2 -0
- package/lib/private/i18n/constant/DEFAULT_PERSIST_MODE.d.ts +3 -0
- package/lib/private/i18n/constant/DEFAULT_PERSIST_MODE.js +2 -0
- package/lib/private/i18n/constant/PERSIST_HEADER.d.ts +3 -0
- package/lib/private/i18n/constant/PERSIST_HEADER.js +2 -0
- package/lib/private/i18n/constant/PERSIST_METHOD.d.ts +3 -0
- package/lib/private/i18n/constant/PERSIST_METHOD.js +2 -0
- package/lib/private/i18n/constant/PERSIST_STORAGE_KEY.d.ts +3 -0
- package/lib/private/i18n/constant/PERSIST_STORAGE_KEY.js +2 -0
- package/lib/private/i18n/index.d.ts +28 -0
- package/lib/private/i18n/index.js +236 -0
- package/lib/private/i18n/locale.d.ts +5 -0
- package/lib/private/i18n/locale.js +4 -0
- package/lib/private/i18n/ordinals.d.ts +4 -0
- package/lib/private/i18n/ordinals.js +52 -0
- package/lib/private/i18n/schema.d.ts +8 -0
- package/lib/private/i18n/schema.js +13 -0
- package/lib/private/i18n/symbol/internal.d.ts +3 -0
- package/lib/private/i18n/symbol/internal.js +3 -0
- package/lib/private/i18n/toIntlUnit.d.ts +3 -0
- package/lib/private/i18n/toIntlUnit.js +125 -0
- package/lib/private/inline.d.ts +7 -0
- package/lib/private/inline.js +12 -0
- package/lib/private/location.d.ts +17 -0
- package/lib/private/location.js +29 -0
- package/lib/private/log.d.ts +19 -0
- package/lib/private/log.js +46 -0
- package/lib/private/module/BuildHook.d.ts +5 -0
- package/lib/private/module/BuildHook.js +2 -0
- package/lib/private/module/Hook.d.ts +5 -0
- package/lib/private/module/Hook.js +2 -0
- package/lib/private/module/Next.d.ts +4 -0
- package/lib/private/module/Next.js +2 -0
- package/lib/private/module/NextBuild.d.ts +5 -0
- package/lib/private/module/NextBuild.js +2 -0
- package/lib/private/module/NextHandle.d.ts +5 -0
- package/lib/private/module/NextHandle.js +2 -0
- package/lib/private/module/NextRoute.d.ts +6 -0
- package/lib/private/module/NextRoute.js +2 -0
- package/lib/private/module/NextServe.d.ts +5 -0
- package/lib/private/module/NextServe.js +2 -0
- package/lib/private/module/RequestHook.d.ts +6 -0
- package/lib/private/module/RequestHook.js +2 -0
- package/lib/private/reducer.d.ts +24 -0
- package/lib/private/reducer.js +10 -0
- package/lib/private/request/RequestBag.d.ts +80 -0
- package/lib/private/request/RequestBag.js +119 -0
- package/lib/private/request/RequestBody.d.ts +39 -0
- package/lib/private/request/RequestBody.js +91 -0
- package/lib/private/request/RequestFacade.d.ts +20 -0
- package/lib/private/request/RequestFacade.js +2 -0
- package/lib/private/request/Verb.d.ts +4 -0
- package/lib/private/request/Verb.js +2 -0
- package/lib/private/request/parse.d.ts +4 -0
- package/lib/private/request/parse.js +69 -0
- package/lib/private/request/route.d.ts +4 -0
- package/lib/private/request/route.js +61 -0
- package/lib/private/request/router.d.ts +5 -0
- package/lib/private/request/router.js +56 -0
- package/lib/private/request/verbs.d.ts +3 -0
- package/lib/private/request/verbs.js +12 -0
- package/lib/private/response/ResponseFunction.d.ts +8 -0
- package/lib/private/response/ResponseFunction.js +2 -0
- package/lib/private/response/ResponseLike.d.ts +6 -0
- package/lib/private/response/ResponseLike.js +2 -0
- package/lib/private/response/binary.d.ts +10 -0
- package/lib/private/response/binary.js +47 -0
- package/lib/private/response/error.d.ts +18 -0
- package/lib/private/response/error.js +18 -0
- package/lib/private/response/json.d.ts +9 -0
- package/lib/private/response/json.js +10 -0
- package/lib/private/response/redirect.d.ts +11 -0
- package/lib/private/response/redirect.js +62 -0
- package/lib/private/response/respond.d.ts +5 -0
- package/lib/private/response/respond.js +31 -0
- package/lib/private/response/sse.d.ts +15 -0
- package/lib/private/response/sse.js +25 -0
- package/lib/private/response/text.d.ts +9 -0
- package/lib/private/response/text.js +11 -0
- package/lib/private/response/view.d.ts +11 -0
- package/lib/private/response/view.js +41 -0
- package/lib/private/response/ws.d.ts +5 -0
- package/lib/private/response/ws.js +2 -0
- package/lib/private/response.d.ts +5 -0
- package/lib/private/response.js +2 -0
- package/lib/private/route/Handler.d.ts +6 -0
- package/lib/private/route/Handler.js +2 -0
- package/lib/private/route/Options.d.ts +5 -0
- package/lib/private/route/Options.js +2 -0
- package/lib/private/route/Path.d.ts +11 -0
- package/lib/private/route/Path.js +2 -0
- package/lib/private/route/guard.d.ts +4 -0
- package/lib/private/route/guard.js +22 -0
- package/lib/private/route/router.d.ts +51 -0
- package/lib/private/route/router.js +32 -0
- package/lib/private/route/wrap.d.ts +6 -0
- package/lib/private/route/wrap.js +17 -0
- package/lib/private/route.d.ts +9 -0
- package/lib/private/route.js +6 -0
- package/lib/private/serve.d.ts +5 -0
- package/lib/private/serve.js +8 -0
- package/lib/private/session/Config.d.ts +4 -0
- package/lib/private/session/Config.js +2 -0
- package/lib/private/session/Data.d.ts +5 -0
- package/lib/private/session/Data.js +2 -0
- package/lib/private/session/InMemoryManager.d.ts +9 -0
- package/lib/private/session/InMemoryManager.js +23 -0
- package/lib/private/session/Manager.d.ts +9 -0
- package/lib/private/session/Manager.js +4 -0
- package/lib/private/session/SessionFacade.d.ts +56 -0
- package/lib/private/session/SessionFacade.js +2 -0
- package/lib/private/session/SessionHandle.d.ts +20 -0
- package/lib/private/session/SessionHandle.js +67 -0
- package/lib/private/session/SessionModule.d.ts +13 -0
- package/lib/private/session/SessionModule.js +99 -0
- package/lib/private/session/index.d.ts +13 -0
- package/lib/private/session/index.js +41 -0
- package/lib/private/session/k-serialize.d.ts +3 -0
- package/lib/private/session/k-serialize.js +2 -0
- package/lib/private/session/schema.d.ts +14 -0
- package/lib/private/session/schema.js +20 -0
- package/lib/private/session/storage.d.ts +5 -0
- package/lib/private/session/storage.js +5 -0
- package/lib/private/symbol/config.d.ts +3 -0
- package/lib/private/symbol/config.js +2 -0
- package/lib/private/symbol/layout-depth.d.ts +3 -0
- package/lib/private/symbol/layout-depth.js +2 -0
- package/lib/private/tags.d.ts +10 -0
- package/lib/private/tags.js +29 -0
- package/lib/private/target/Manager.d.ts +14 -0
- package/lib/private/target/Manager.js +44 -0
- package/lib/private/target/Target.d.ts +8 -0
- package/lib/private/target/Target.js +3 -0
- package/lib/private/target/web.d.ts +4 -0
- package/lib/private/target/web.js +68 -0
- package/lib/private/wasm/API.d.ts +7 -0
- package/lib/private/wasm/API.js +2 -0
- package/lib/private/wasm/BufferViewSource.d.ts +4 -0
- package/lib/private/wasm/BufferViewSource.js +2 -0
- package/lib/private/wasm/Exports.d.ts +23 -0
- package/lib/private/wasm/Exports.js +2 -0
- package/lib/private/wasm/I32.d.ts +5 -0
- package/lib/private/wasm/I32.js +2 -0
- package/lib/private/wasm/I32_SIZE.d.ts +3 -0
- package/lib/private/wasm/I32_SIZE.js +2 -0
- package/lib/private/wasm/Instantiation.d.ts +12 -0
- package/lib/private/wasm/Instantiation.js +2 -0
- package/lib/private/wasm/Tagged.d.ts +7 -0
- package/lib/private/wasm/Tagged.js +2 -0
- package/lib/private/wasm/buffersize.d.ts +2 -0
- package/lib/private/wasm/buffersize.js +5 -0
- package/lib/private/wasm/decode-bytes.d.ts +3 -0
- package/lib/private/wasm/decode-bytes.js +5 -0
- package/lib/private/wasm/decode-json.d.ts +7 -0
- package/lib/private/wasm/decode-json.js +11 -0
- package/lib/private/wasm/decode-option.d.ts +5 -0
- package/lib/private/wasm/decode-option.js +10 -0
- package/lib/private/wasm/decode-response.d.ts +19 -0
- package/lib/private/wasm/decode-response.js +90 -0
- package/lib/private/wasm/decode-string.d.ts +3 -0
- package/lib/private/wasm/decode-string.js +5 -0
- package/lib/private/wasm/decode-websocket-close.d.ts +5 -0
- package/lib/private/wasm/decode-websocket-close.js +6 -0
- package/lib/private/wasm/decode-websocket-send.d.ts +6 -0
- package/lib/private/wasm/decode-websocket-send.js +19 -0
- package/lib/private/wasm/encode-buffer.d.ts +3 -0
- package/lib/private/wasm/encode-buffer.js +6 -0
- package/lib/private/wasm/encode-request.d.ts +9 -0
- package/lib/private/wasm/encode-request.js +198 -0
- package/lib/private/wasm/encode-session.d.ts +3 -0
- package/lib/private/wasm/encode-session.js +25 -0
- package/lib/private/wasm/encode-string-map.d.ts +5 -0
- package/lib/private/wasm/encode-string-map.js +14 -0
- package/lib/private/wasm/encode-string.d.ts +13 -0
- package/lib/private/wasm/encode-string.js +17 -0
- package/lib/private/wasm/encode-url.d.ts +11 -0
- package/lib/private/wasm/encode-url.js +14 -0
- package/lib/private/wasm/encode-websocket-close.d.ts +2 -0
- package/lib/private/wasm/encode-websocket-close.js +7 -0
- package/lib/private/wasm/encode-websocket-message.d.ts +4 -0
- package/lib/private/wasm/encode-websocket-message.js +30 -0
- package/lib/private/wasm/encode-websocket-open.d.ts +2 -0
- package/lib/private/wasm/encode-websocket-open.js +7 -0
- package/lib/private/wasm/filesize.d.ts +2 -0
- package/lib/private/wasm/filesize.js +8 -0
- package/lib/private/wasm/instantiate.d.ts +37 -0
- package/lib/private/wasm/instantiate.js +408 -0
- package/lib/private/wasm/open-websocket.d.ts +4 -0
- package/lib/private/wasm/open-websocket.js +26 -0
- package/lib/private/wasm/stringsize.d.ts +3 -0
- package/lib/private/wasm/stringsize.js +5 -0
- package/lib/private/wasm/urlsize.d.ts +2 -0
- package/lib/private/wasm/urlsize.js +5 -0
- package/lib/public/App.d.ts +2 -0
- package/lib/public/App.js +2 -0
- package/lib/public/AppError.d.ts +2 -0
- package/lib/public/AppError.js +2 -0
- package/lib/public/BuildApp.d.ts +2 -0
- package/lib/public/BuildApp.js +2 -0
- package/lib/public/BuildHook.d.ts +2 -0
- package/lib/public/BuildHook.js +2 -0
- package/lib/public/Database.d.ts +2 -0
- package/lib/public/Database.js +2 -0
- package/lib/public/Loader.d.ts +2 -0
- package/lib/public/Loader.js +2 -0
- package/lib/public/Mode.d.ts +2 -0
- package/lib/public/Mode.js +2 -0
- package/lib/public/Module.d.ts +2 -0
- package/lib/public/Module.js +2 -0
- package/lib/public/Next.d.ts +2 -0
- package/lib/public/Next.js +2 -0
- package/lib/public/NextBuild.d.ts +2 -0
- package/lib/public/NextBuild.js +2 -0
- package/lib/public/NextHandle.d.ts +2 -0
- package/lib/public/NextHandle.js +2 -0
- package/lib/public/NextRoute.d.ts +3 -0
- package/lib/public/NextRoute.js +2 -0
- package/lib/public/NextServe.d.ts +2 -0
- package/lib/public/NextServe.js +2 -0
- package/lib/public/ServeApp.d.ts +2 -0
- package/lib/public/ServeApp.js +2 -0
- package/lib/public/Target.d.ts +2 -0
- package/lib/public/Target.js +2 -0
- package/lib/public/backend/Module.d.ts +2 -0
- package/lib/public/backend/Module.js +2 -0
- package/lib/public/build.d.ts +2 -0
- package/lib/public/build.js +2 -0
- package/lib/public/client/App.d.ts +2 -0
- package/lib/public/client/App.js +2 -0
- package/lib/public/client/Data.d.ts +2 -0
- package/lib/public/client/Data.js +2 -0
- package/lib/public/client/ValidateInit.d.ts +2 -0
- package/lib/public/client/ValidateInit.js +2 -0
- package/lib/public/client/ValidateUpdater.d.ts +2 -0
- package/lib/public/client/ValidateUpdater.js +2 -0
- package/lib/public/client/ValidationError.d.ts +2 -0
- package/lib/public/client/ValidationError.js +2 -0
- package/lib/public/client/spa.d.ts +2 -0
- package/lib/public/client/spa.js +2 -0
- package/lib/public/client/toValidated.d.ts +2 -0
- package/lib/public/client/toValidated.js +2 -0
- package/lib/public/client/validate.d.ts +2 -0
- package/lib/public/client/validate.js +2 -0
- package/lib/public/config.d.ts +2 -0
- package/lib/public/config.js +2 -0
- package/lib/public/database/As.d.ts +2 -0
- package/lib/public/database/As.js +2 -0
- package/lib/public/database/DataDict.d.ts +2 -0
- package/lib/public/database/DataDict.js +2 -0
- package/lib/public/database/InMemoryDatabase.d.ts +2 -0
- package/lib/public/database/InMemoryDatabase.js +2 -0
- package/lib/public/database/Sort.d.ts +2 -0
- package/lib/public/database/Sort.js +2 -0
- package/lib/public/database/Store.d.ts +2 -0
- package/lib/public/database/Store.js +2 -0
- package/lib/public/database/TypeMap.d.ts +2 -0
- package/lib/public/database/TypeMap.js +2 -0
- package/lib/public/database/Types.d.ts +2 -0
- package/lib/public/database/Types.js +2 -0
- package/lib/public/database/test.d.ts +2 -0
- package/lib/public/database/test.js +2 -0
- package/lib/public/database/wrap.d.ts +2 -0
- package/lib/public/database/wrap.js +2 -0
- package/lib/public/frontend/Module.d.ts +2 -0
- package/lib/public/frontend/Module.js +2 -0
- package/lib/public/frontend/Publish.d.ts +2 -0
- package/lib/public/frontend/Publish.js +2 -0
- package/lib/public/frontend/Render.d.ts +2 -0
- package/lib/public/frontend/Render.js +2 -0
- package/lib/public/frontend/ViewResponse.d.ts +2 -0
- package/lib/public/frontend/ViewResponse.js +2 -0
- package/lib/public/i18n/API.d.ts +2 -0
- package/lib/public/i18n/API.js +2 -0
- package/lib/public/i18n/Catalogs.d.ts +2 -0
- package/lib/public/i18n/Catalogs.js +2 -0
- package/lib/public/i18n/ContextData.d.ts +2 -0
- package/lib/public/i18n/ContextData.js +2 -0
- package/lib/public/i18n/config.d.ts +2 -0
- package/lib/public/i18n/config.js +2 -0
- package/lib/public/i18n/locale.d.ts +2 -0
- package/lib/public/i18n/locale.js +2 -0
- package/lib/public/i18n/sInternal.d.ts +2 -0
- package/lib/public/i18n/sInternal.js +2 -0
- package/lib/public/inline.d.ts +2 -0
- package/lib/public/inline.js +2 -0
- package/lib/public/location.d.ts +2 -0
- package/lib/public/location.js +2 -0
- package/lib/public/log.d.ts +2 -0
- package/{src/log/index.js → lib/public/log.js} +1 -0
- package/lib/public/request/RequestBody.d.ts +2 -0
- package/lib/public/request/RequestBody.js +2 -0
- package/lib/public/request/RequestFacade.d.ts +2 -0
- package/lib/public/request/RequestFacade.js +2 -0
- package/lib/public/request/Verb.d.ts +2 -0
- package/lib/public/request/Verb.js +2 -0
- package/lib/public/request/verbs.d.ts +2 -0
- package/lib/public/request/verbs.js +2 -0
- package/lib/public/response/ResponseFunction.d.ts +2 -0
- package/lib/public/response/ResponseFunction.js +2 -0
- package/lib/public/response/ResponseLike.d.ts +2 -0
- package/lib/public/response/ResponseLike.js +2 -0
- package/lib/public/response/binary.d.ts +2 -0
- package/lib/public/response/binary.js +2 -0
- package/lib/public/response/error.d.ts +2 -0
- package/lib/public/response/error.js +2 -0
- package/lib/public/response/json.d.ts +2 -0
- package/lib/public/response/json.js +2 -0
- package/lib/public/response/redirect.d.ts +2 -0
- package/lib/public/response/redirect.js +2 -0
- package/lib/public/response/sse.d.ts +2 -0
- package/lib/public/response/sse.js +2 -0
- package/lib/public/response/text.d.ts +2 -0
- package/lib/public/response/text.js +2 -0
- package/lib/public/response/view.d.ts +2 -0
- package/lib/public/response/view.js +2 -0
- package/lib/public/response/ws.d.ts +2 -0
- package/lib/public/response/ws.js +2 -0
- package/lib/public/route/router.d.ts +2 -0
- package/lib/public/route/router.js +2 -0
- package/lib/public/route/wrap.d.ts +2 -0
- package/lib/public/route/wrap.js +2 -0
- package/lib/public/route.d.ts +2 -0
- package/lib/public/route.js +2 -0
- package/lib/public/serve.d.ts +2 -0
- package/lib/public/serve.js +2 -0
- package/lib/public/session/Manager.d.ts +2 -0
- package/lib/public/session/Manager.js +2 -0
- package/lib/public/session/config.d.ts +2 -0
- package/lib/public/session/config.js +2 -0
- package/lib/public/symbol/config.d.ts +2 -0
- package/lib/public/symbol/config.js +2 -0
- package/lib/public/wasm/decode-json.d.ts +5 -0
- package/lib/public/wasm/decode-json.js +3 -0
- package/lib/public/wasm/decode-response.d.ts +3 -0
- package/lib/public/wasm/decode-response.js +3 -0
- package/lib/public/wasm/encode-request.d.ts +3 -0
- package/lib/public/wasm/encode-request.js +3 -0
- package/lib/public/wasm/encode-session.d.ts +3 -0
- package/lib/public/wasm/encode-session.js +3 -0
- package/lib/public/wasm/instantiate.d.ts +4 -0
- package/lib/public/wasm/instantiate.js +3 -0
- package/package.json +41 -36
- package/src/build/app.js +0 -99
- package/src/build/hook/build.js +0 -188
- package/src/build/hook/copy_includes.js +0 -20
- package/src/build/hook/exports.js +0 -2
- package/src/build/hook/init.js +0 -3
- package/src/build/hook/router.js +0 -33
- package/src/build/index.js +0 -49
- package/src/build/module_loader.js +0 -30
- package/src/build/targets/exports.js +0 -1
- package/src/build/targets/web.js +0 -70
- package/src/dispatch/index.js +0 -1
- package/src/http/verbs.js +0 -11
- package/src/private/config-filename.js +0 -1
- package/src/private/config.js +0 -48
- package/src/private/depend.js +0 -20
- package/src/private/dispatch.js +0 -18
- package/src/private/error/bad-body.js +0 -6
- package/src/private/error/bad-default-export.js +0 -6
- package/src/private/error/bad-path.js +0 -6
- package/src/private/error/bad-type-export.js +0 -6
- package/src/private/error/bad-type-name.js +0 -6
- package/src/private/error/double-extension.js +0 -6
- package/src/private/error/double-module.js +0 -6
- package/src/private/error/double-path-parameter.js +0 -6
- package/src/private/error/double-route.js +0 -6
- package/src/private/error/empty-config-file.js +0 -6
- package/src/private/error/empty-directory.js +0 -6
- package/src/private/error/empty-path-parameter.js +0 -6
- package/src/private/error/empty-route-file.js +0 -6
- package/src/private/error/error-in-config-file.js +0 -6
- package/src/private/error/mismatched-body.js +0 -6
- package/src/private/error/mismatched-path.js +0 -6
- package/src/private/error/mismatched-type.js +0 -6
- package/src/private/error/module-no-name.js +0 -6
- package/src/private/error/modules-array.js +0 -6
- package/src/private/error/no-handler.js +0 -6
- package/src/private/error/no-route-to-path.js +0 -6
- package/src/private/error/optional-route.js +0 -6
- package/src/private/error/reserved-type-name.js +0 -6
- package/src/private/error/rest-route.js +0 -6
- package/src/private/error.js +0 -15
- package/src/private/log.js +0 -69
- package/src/private/loglevel.js +0 -9
- package/src/private/mark.js +0 -5
- package/src/private/validate.js +0 -11
- package/src/serve/app.js +0 -206
- package/src/serve/handler/error.js +0 -10
- package/src/serve/handler/json.js +0 -10
- package/src/serve/handler/redirect.js +0 -11
- package/src/serve/handler/shared/base.js +0 -4
- package/src/serve/handler/sse.js +0 -24
- package/src/serve/handler/stream.js +0 -4
- package/src/serve/handler/text.js +0 -10
- package/src/serve/handler/view.js +0 -15
- package/src/serve/handler/ws.js +0 -2
- package/src/serve/hook/exports.js +0 -5
- package/src/serve/hook/handle.js +0 -106
- package/src/serve/hook/init.js +0 -3
- package/src/serve/hook/parse.js +0 -17
- package/src/serve/hook/respond.js +0 -28
- package/src/serve/hook/route.js +0 -50
- package/src/serve/hook/serve.js +0 -53
- package/src/serve/index.js +0 -9
- package/src/serve/module_loader.js +0 -16
- package/src/serve/to_sorted.js +0 -1
- /package/{src/build → lib/private}/defaults/app.html +0 -0
- /package/{src/build → lib/private}/defaults/error.html +0 -0
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type API from "#i18n/API";
|
|
2
|
+
import type Catalog from "#i18n/Catalog";
|
|
3
|
+
import type Catalogs from "#i18n/Catalogs";
|
|
4
|
+
import type Config from "#i18n/Config";
|
|
5
|
+
import type TypeOf from "#i18n/TypeOf";
|
|
6
|
+
import type Dict from "@rcompat/type/Dict";
|
|
7
|
+
type EntryOf<Body extends string> = Body extends `${infer Name}:${infer Spec}` ? {
|
|
8
|
+
__name: Name & string;
|
|
9
|
+
__type: TypeOf<Spec>;
|
|
10
|
+
} : {
|
|
11
|
+
__name: Body & string;
|
|
12
|
+
__type: string;
|
|
13
|
+
};
|
|
14
|
+
type EntriesOf<S extends string> = S extends `${infer _}{${infer Body}}${infer Rest}` ? EntryOf<Body> | EntriesOf<Rest> : never;
|
|
15
|
+
type ParamsFromEntries<E> = [
|
|
16
|
+
E
|
|
17
|
+
] extends [never] ? Dict : {
|
|
18
|
+
[K in E as K extends {
|
|
19
|
+
__name: infer N extends string;
|
|
20
|
+
} ? N : never]: K extends {
|
|
21
|
+
__type: infer T;
|
|
22
|
+
} ? T : never;
|
|
23
|
+
};
|
|
24
|
+
export default function i18n<const C extends Catalogs>(config: Config<C>): (<K extends string>(...args: K extends keyof (C[keyof C & string] extends Catalog ? C[keyof C & string] : never) & string ? [EntriesOf<(C[keyof C & string] extends Catalog ? C[keyof C & string] : never)[K]>] extends [never] ? [key: K] : [key: K, params: ParamsFromEntries<EntriesOf<(C[keyof C & string] extends Catalog ? C[keyof C & string] : never)[K]>>] : [`[i18n] Missing locale key "${K}".`]) => string) & API<C> & {
|
|
25
|
+
subscribe(run: (value: (<K extends string>(...args: K extends keyof (C[keyof C & string] extends Catalog ? C[keyof C & string] : never) & string ? [EntriesOf<(C[keyof C & string] extends Catalog ? C[keyof C & string] : never)[K]>] extends [never] ? [key: K] : [key: K, params: ParamsFromEntries<EntriesOf<(C[keyof C & string] extends Catalog ? C[keyof C & string] : never)[K]>>] : [`[i18n] Missing locale key "${K}".`]) => string) & API<C>) => void): () => void;
|
|
26
|
+
};
|
|
27
|
+
export {};
|
|
28
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
import DEFAULT_PERSIST_MODE from "#i18n/constant/DEFAULT_PERSIST_MODE";
|
|
2
|
+
import PERSIST_HEADER from "#i18n/constant/PERSIST_HEADER";
|
|
3
|
+
import PERSIST_METHOD from "#i18n/constant/PERSIST_METHOD";
|
|
4
|
+
import PERSIST_STORAGE_KEY from "#i18n/constant/PERSIST_STORAGE_KEY";
|
|
5
|
+
import Formatter from "#i18n/Formatter";
|
|
6
|
+
import sInternal from "#i18n/symbol/internal";
|
|
7
|
+
import sConfig from "#symbol/config";
|
|
8
|
+
export default function i18n(config) {
|
|
9
|
+
const catalogs = config.locales;
|
|
10
|
+
let activeLocale = config.defaultLocale;
|
|
11
|
+
const currency = config.currency ?? "USD";
|
|
12
|
+
const formatter = new Formatter(activeLocale);
|
|
13
|
+
const defaultCatalog = catalogs[config.defaultLocale];
|
|
14
|
+
// reactive core
|
|
15
|
+
let version = 0;
|
|
16
|
+
const subscribers = new Set();
|
|
17
|
+
const touch = () => {
|
|
18
|
+
for (const subscriber of subscribers) {
|
|
19
|
+
try {
|
|
20
|
+
subscriber();
|
|
21
|
+
}
|
|
22
|
+
catch {
|
|
23
|
+
// ignore
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
let persistFn;
|
|
28
|
+
let loading = null;
|
|
29
|
+
const listeners = new Set();
|
|
30
|
+
const notify = (locale) => {
|
|
31
|
+
for (const fn of listeners)
|
|
32
|
+
fn(locale);
|
|
33
|
+
};
|
|
34
|
+
function apply(locale, options = {}) {
|
|
35
|
+
const { emit = false, persist = false } = options;
|
|
36
|
+
if (locale === activeLocale)
|
|
37
|
+
return;
|
|
38
|
+
activeLocale = locale;
|
|
39
|
+
formatter.locale = locale;
|
|
40
|
+
version++;
|
|
41
|
+
if (emit)
|
|
42
|
+
notify(locale);
|
|
43
|
+
if (persist && persistFn) {
|
|
44
|
+
const run = async (l) => { await persistFn(l); };
|
|
45
|
+
loading = run(locale)
|
|
46
|
+
.catch(e => { console.warn("[i18n]: persist failed", e); })
|
|
47
|
+
.finally(() => {
|
|
48
|
+
loading = null;
|
|
49
|
+
version++;
|
|
50
|
+
notify(activeLocale);
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
const set = (locale) => apply(locale, {
|
|
55
|
+
emit: true, persist: true,
|
|
56
|
+
});
|
|
57
|
+
const init = (locale) => apply(locale);
|
|
58
|
+
if (typeof window !== "undefined") {
|
|
59
|
+
const mode = config.persist ?? DEFAULT_PERSIST_MODE;
|
|
60
|
+
if (mode === "cookie") {
|
|
61
|
+
persistFn = async (locale) => {
|
|
62
|
+
const res = await fetch("/", {
|
|
63
|
+
method: PERSIST_METHOD, headers: { [PERSIST_HEADER]: locale },
|
|
64
|
+
});
|
|
65
|
+
if (!res.ok)
|
|
66
|
+
throw new Error(`[i18n] persist failed: ${res.status}`);
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
else if (mode === "localStorage") {
|
|
70
|
+
persistFn = (locale) => {
|
|
71
|
+
try {
|
|
72
|
+
localStorage.setItem(PERSIST_STORAGE_KEY, locale);
|
|
73
|
+
}
|
|
74
|
+
catch { } // ignore
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
else if (mode === "sessionStorage") {
|
|
78
|
+
persistFn = (locale) => {
|
|
79
|
+
try {
|
|
80
|
+
sessionStorage.setItem(PERSIST_STORAGE_KEY, locale);
|
|
81
|
+
}
|
|
82
|
+
catch { } // ignore
|
|
83
|
+
};
|
|
84
|
+
} // no persistence
|
|
85
|
+
}
|
|
86
|
+
function storageRestore() {
|
|
87
|
+
if (typeof window === "undefined")
|
|
88
|
+
return;
|
|
89
|
+
const mode = config.persist ?? DEFAULT_PERSIST_MODE;
|
|
90
|
+
if (mode === "localStorage" || mode === "sessionStorage") {
|
|
91
|
+
try {
|
|
92
|
+
const store = mode === "localStorage" ? localStorage : sessionStorage;
|
|
93
|
+
const saved = store.getItem(PERSIST_STORAGE_KEY);
|
|
94
|
+
if (saved && saved in catalogs) {
|
|
95
|
+
set(saved);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
catch { } //
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
function t(...args) {
|
|
102
|
+
touch(); // reactive read
|
|
103
|
+
const [key, maybeParams] = args;
|
|
104
|
+
const active = catalogs[activeLocale];
|
|
105
|
+
let template = (active && active[key]) ??
|
|
106
|
+
(defaultCatalog && defaultCatalog[key]) ??
|
|
107
|
+
String(key);
|
|
108
|
+
const params = (maybeParams ?? {});
|
|
109
|
+
// save escaped braces
|
|
110
|
+
template = template.replace(/\{\{/g, "\uE000");
|
|
111
|
+
template = template.replace(/\}\}/g, "\uE001");
|
|
112
|
+
// Process normal parameters with nested brace support
|
|
113
|
+
const template_re = /\{([^{}]*(?:\{[^{}]*\}[^{}]*)*)\}/g;
|
|
114
|
+
template = template.replace(template_re, (_, body) => {
|
|
115
|
+
// name[:spec]
|
|
116
|
+
let name = body;
|
|
117
|
+
let spec;
|
|
118
|
+
const colon = body.indexOf(":");
|
|
119
|
+
if (colon >= 0) {
|
|
120
|
+
name = body.slice(0, colon);
|
|
121
|
+
spec = body.slice(colon + 1);
|
|
122
|
+
}
|
|
123
|
+
const value = params[name];
|
|
124
|
+
if (!spec)
|
|
125
|
+
return value == null ? "" : String(value);
|
|
126
|
+
// number selection: "n|one|other" or "n|zero|one|other"
|
|
127
|
+
const bar = spec.indexOf("|");
|
|
128
|
+
const head = (bar === -1 ? spec : spec.slice(0, bar)).toLowerCase();
|
|
129
|
+
const tail = bar === -1 ? "" : spec.slice(bar + 1);
|
|
130
|
+
// units u(...)/unit(...)
|
|
131
|
+
const m = /^(?:u|unit)\(([^)]+)\)$/.exec(head);
|
|
132
|
+
if (m)
|
|
133
|
+
return formatter.unit(Number(value ?? 0), m[1]);
|
|
134
|
+
switch (head) {
|
|
135
|
+
case "n":
|
|
136
|
+
case "number": {
|
|
137
|
+
if (tail) {
|
|
138
|
+
const options = tail.split("|");
|
|
139
|
+
const n = Number(value ?? 0);
|
|
140
|
+
const formatted = formatter.number(n);
|
|
141
|
+
const plural = () => {
|
|
142
|
+
const category = Number.isFinite(n)
|
|
143
|
+
? formatter.pluralRules().select(n)
|
|
144
|
+
: "other";
|
|
145
|
+
if (options.length === 2) {
|
|
146
|
+
const [one, other] = options;
|
|
147
|
+
return category === "one" ? one : other;
|
|
148
|
+
}
|
|
149
|
+
if (options.length === 3) {
|
|
150
|
+
const [zero, one, other] = options;
|
|
151
|
+
return n === 0 ? zero : (category === "one" ? one : other);
|
|
152
|
+
}
|
|
153
|
+
if (options.length === 5) {
|
|
154
|
+
const [zero, one, few, many, other] = options;
|
|
155
|
+
if (n === 0)
|
|
156
|
+
return zero;
|
|
157
|
+
switch (category) {
|
|
158
|
+
case "one": return one;
|
|
159
|
+
case "few": return few;
|
|
160
|
+
case "many": return many;
|
|
161
|
+
default: return other;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
return formatted;
|
|
165
|
+
};
|
|
166
|
+
return plural().replace(new RegExp(`\\{${name}\\}`, "g"), formatted);
|
|
167
|
+
}
|
|
168
|
+
return formatter.number(Number(value ?? 0));
|
|
169
|
+
}
|
|
170
|
+
case "d":
|
|
171
|
+
case "date": {
|
|
172
|
+
const d = typeof value === "number"
|
|
173
|
+
? new Date(value)
|
|
174
|
+
: value instanceof Date ? value : new Date(NaN);
|
|
175
|
+
return formatter.date(d);
|
|
176
|
+
}
|
|
177
|
+
case "c":
|
|
178
|
+
case "currency":
|
|
179
|
+
return formatter.currency(currency, Number(value ?? 0));
|
|
180
|
+
case "o":
|
|
181
|
+
case "ordinal":
|
|
182
|
+
return formatter.ordinal(Number(value ?? 0));
|
|
183
|
+
case "a":
|
|
184
|
+
case "ago":
|
|
185
|
+
return formatter.relative(Number(value ?? 0));
|
|
186
|
+
case "l":
|
|
187
|
+
case "list":
|
|
188
|
+
return formatter.list(Array.isArray(value) ? value : []);
|
|
189
|
+
default:
|
|
190
|
+
return value == null ? "" : String(value);
|
|
191
|
+
}
|
|
192
|
+
});
|
|
193
|
+
// restore escaped braces
|
|
194
|
+
template = template.replace(/\uE000/g, "{");
|
|
195
|
+
template = template.replace(/\uE001/g, "}");
|
|
196
|
+
return template;
|
|
197
|
+
}
|
|
198
|
+
const api = t;
|
|
199
|
+
api.onChange = (fn) => {
|
|
200
|
+
listeners.add(fn);
|
|
201
|
+
try {
|
|
202
|
+
fn(activeLocale);
|
|
203
|
+
}
|
|
204
|
+
catch { } // ignore
|
|
205
|
+
return () => { listeners.delete(fn); };
|
|
206
|
+
};
|
|
207
|
+
api.locale = {
|
|
208
|
+
get: () => { touch(); return activeLocale; },
|
|
209
|
+
set,
|
|
210
|
+
};
|
|
211
|
+
Object.defineProperty(api, "loading", {
|
|
212
|
+
get: () => { touch(); return loading !== null; },
|
|
213
|
+
});
|
|
214
|
+
Object.defineProperty(api, sConfig, {
|
|
215
|
+
get: () => config,
|
|
216
|
+
});
|
|
217
|
+
Object.defineProperty(api, sInternal, {
|
|
218
|
+
value: {
|
|
219
|
+
init,
|
|
220
|
+
wait: () => loading ?? Promise.resolve(),
|
|
221
|
+
depend(fn) {
|
|
222
|
+
subscribers.add(fn);
|
|
223
|
+
return () => subscribers.delete(fn);
|
|
224
|
+
},
|
|
225
|
+
get version() { return version; },
|
|
226
|
+
touch,
|
|
227
|
+
restore: storageRestore,
|
|
228
|
+
},
|
|
229
|
+
});
|
|
230
|
+
// svelte-style store interface
|
|
231
|
+
api.subscribe = (run) => {
|
|
232
|
+
return api.onChange(() => run(api));
|
|
233
|
+
};
|
|
234
|
+
return api;
|
|
235
|
+
}
|
|
236
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
const STRATEGY = {
|
|
2
|
+
EN: { position: "suffix", one: "st", two: "nd", few: "rd", other: "th" },
|
|
3
|
+
FR: { position: "suffix", one: "er", other: "e" },
|
|
4
|
+
NL: { position: "suffix", other: "e" },
|
|
5
|
+
SV: { position: "suffix", one: ":a", other: ":e" },
|
|
6
|
+
RU: { position: "suffix", other: "-й" },
|
|
7
|
+
EL: { position: "suffix", other: "ος" },
|
|
8
|
+
CA: { position: "suffix", one: "r", other: "a" },
|
|
9
|
+
GA: { position: "suffix", other: "ú" },
|
|
10
|
+
RO: { position: "suffix", one: "-lea", other: "-lea" },
|
|
11
|
+
HY: { position: "suffix", one: "-ին", other: "-րդ" },
|
|
12
|
+
DOT: { position: "suffix", other: "." },
|
|
13
|
+
NUMERO: { position: "suffix", other: "º" },
|
|
14
|
+
JA: { position: "prefix", other: "第" },
|
|
15
|
+
ZH: { position: "prefix", other: "第" },
|
|
16
|
+
TH: { position: "prefix", other: "ที่" },
|
|
17
|
+
VI: { position: "prefix", other: "thứ " },
|
|
18
|
+
MS: { position: "prefix", other: "ke-" },
|
|
19
|
+
};
|
|
20
|
+
const ordinals = Object.fromEntries(Object.entries({
|
|
21
|
+
EN: ["en"], // English
|
|
22
|
+
FR: ["fr"], // French
|
|
23
|
+
NL: ["nl"], // Dutch
|
|
24
|
+
SV: ["sv"], // Swedish
|
|
25
|
+
GA: ["ga"], // Irish
|
|
26
|
+
EL: ["el"], // Greek
|
|
27
|
+
RO: ["ro"], // Romanian
|
|
28
|
+
JA: ["ja"], // Japanese
|
|
29
|
+
ZH: ["zh"], // Chinese
|
|
30
|
+
TH: ["th"], // Thai
|
|
31
|
+
VI: ["vi"], // Vietnamese
|
|
32
|
+
HY: ["hy"], // Armenian
|
|
33
|
+
RU: ["ru", "uk", "be"], // Russian Ukrainian Belarusian
|
|
34
|
+
MS: ["ms", "id"], // Malay Indonesian
|
|
35
|
+
NUMERO: ["es", "it", "pt", "gl"], // Spanish Italian Portuguese Galician
|
|
36
|
+
DOT: [
|
|
37
|
+
// German Danish Norwegian Icelandic
|
|
38
|
+
"de", "da", "no", "is",
|
|
39
|
+
// Polish Czech Slovak
|
|
40
|
+
"pl", "cs", "sk",
|
|
41
|
+
// Serbian Croatian Bosnian Slovenian Macedonian
|
|
42
|
+
"sr", "hr", "bs", "sl", "mk",
|
|
43
|
+
// Latvian Lithuanian
|
|
44
|
+
"lv", "lt",
|
|
45
|
+
// Finnish Estonian Hungarian Turkish
|
|
46
|
+
"fi", "et", "hu", "tr",
|
|
47
|
+
// Albanian
|
|
48
|
+
"sq",
|
|
49
|
+
],
|
|
50
|
+
}).flatMap(([strategy, locales]) => locales.map(l => [l, STRATEGY[strategy]])));
|
|
51
|
+
export default ordinals;
|
|
52
|
+
//# sourceMappingURL=ordinals.js.map
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
declare const _default: import("pema").ObjectType<{
|
|
2
|
+
defaultLocale: import("pema/string").StringType;
|
|
3
|
+
locales: import("pema/record").RecordType<import("pema/string").StringType, import("pema/unknown").UnknownType>;
|
|
4
|
+
currency: import("pema").DefaultType<import("pema/string").StringType, "USD">;
|
|
5
|
+
persist: import("pema").DefaultType<import("pema/union").UnionType<[import("pema").LiteralType<"cookie">, import("pema").LiteralType<"localStorage">, import("pema").LiteralType<"sessionStorage">, import("pema").LiteralType<false>]>, false | "cookie" | "localStorage" | "sessionStorage">;
|
|
6
|
+
}>;
|
|
7
|
+
export default _default;
|
|
8
|
+
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import pema from "pema";
|
|
2
|
+
import record from "pema/record";
|
|
3
|
+
import string from "pema/string";
|
|
4
|
+
import union from "pema/union";
|
|
5
|
+
import unknown from "pema/unknown";
|
|
6
|
+
export default pema({
|
|
7
|
+
defaultLocale: string,
|
|
8
|
+
locales: record(string, unknown),
|
|
9
|
+
currency: string.default("USD"),
|
|
10
|
+
persist: union("cookie", "localStorage", "sessionStorage", false)
|
|
11
|
+
.default("cookie"),
|
|
12
|
+
});
|
|
13
|
+
//# sourceMappingURL=schema.js.map
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
function toIntlUnit(unit) {
|
|
2
|
+
const map = {
|
|
3
|
+
// length
|
|
4
|
+
mm: "millimeter", millimeter: "millimeter",
|
|
5
|
+
cm: "centimeter", centimeter: "centimeter",
|
|
6
|
+
m: "meter", meter: "meter",
|
|
7
|
+
km: "kilometer", kilometer: "kilometer",
|
|
8
|
+
in: "inch", inch: "inch",
|
|
9
|
+
ft: "foot", foot: "foot",
|
|
10
|
+
yd: "yard", yard: "yard",
|
|
11
|
+
mi: "mile", mile: "mile",
|
|
12
|
+
"mile-scandinavian": "mile-scandinavian",
|
|
13
|
+
// area
|
|
14
|
+
m2: "square-meter", "m^2": "square-meter",
|
|
15
|
+
km2: "square-kilometer", "km^2": "square-kilometer",
|
|
16
|
+
cm2: "square-centimeter", "cm^2": "square-centimeter",
|
|
17
|
+
mm2: "square-millimeter", "mm^2": "square-millimeter",
|
|
18
|
+
in2: "square-inch", "in^2": "square-inch",
|
|
19
|
+
ft2: "square-foot", "ft^2": "square-foot",
|
|
20
|
+
yd2: "square-yard", "yd^2": "square-yard",
|
|
21
|
+
mi2: "square-mile", "mi^2": "square-mile",
|
|
22
|
+
acre: "acre", hectare: "hectare", ha: "hectare",
|
|
23
|
+
// volume
|
|
24
|
+
l: "liter", liter: "liter", litre: "liter",
|
|
25
|
+
ml: "milliliter", milliliter: "milliliter", millilitre: "milliliter",
|
|
26
|
+
cl: "centiliter", centiliter: "centiliter",
|
|
27
|
+
dl: "deciliter", deciliter: "deciliter",
|
|
28
|
+
gal: "gallon", gallon: "gallon",
|
|
29
|
+
qt: "quart", quart: "quart",
|
|
30
|
+
pt: "pint", pint: "pint",
|
|
31
|
+
cup: "cup",
|
|
32
|
+
"fl-oz": "fluid-ounce", floz: "fluid-ounce",
|
|
33
|
+
tbsp: "tablespoon", tablespoon: "tablespoon",
|
|
34
|
+
tsp: "teaspoon", teaspoon: "teaspoon",
|
|
35
|
+
// mass/weight
|
|
36
|
+
g: "gram", gram: "gram",
|
|
37
|
+
kg: "kilogram", kilogram: "kilogram",
|
|
38
|
+
mg: "milligram", milligram: "milligram",
|
|
39
|
+
oz: "ounce", ounce: "ounce",
|
|
40
|
+
lb: "pound", pound: "pound", lbs: "pound",
|
|
41
|
+
stone: "stone", st: "stone",
|
|
42
|
+
ton: "ton", tonne: "tonne", t: "tonne",
|
|
43
|
+
// temperature
|
|
44
|
+
c: "celsius", celsius: "celsius",
|
|
45
|
+
f: "fahrenheit", fahrenheit: "fahrenheit",
|
|
46
|
+
k: "kelvin", kelvin: "kelvin",
|
|
47
|
+
// speed/velocity
|
|
48
|
+
"km/h": "kilometer-per-hour", kmh: "kilometer-per-hour", kph: "kilometer-per-hour",
|
|
49
|
+
mph: "mile-per-hour", "mi/h": "mile-per-hour",
|
|
50
|
+
"m/s": "meter-per-second", mps: "meter-per-second",
|
|
51
|
+
"ft/s": "foot-per-second", fps: "foot-per-second",
|
|
52
|
+
knot: "knot", kn: "knot",
|
|
53
|
+
// duration/time
|
|
54
|
+
ms: "millisecond", millisecond: "millisecond", msec: "millisecond",
|
|
55
|
+
s: "second", sec: "second", second: "second",
|
|
56
|
+
min: "minute", minute: "minute",
|
|
57
|
+
h: "hour", hr: "hour", hour: "hour",
|
|
58
|
+
day: "day", d: "day",
|
|
59
|
+
week: "week", wk: "week",
|
|
60
|
+
month: "month", mo: "month",
|
|
61
|
+
year: "year", yr: "year", y: "year",
|
|
62
|
+
// digital/data storage
|
|
63
|
+
bit: "bit", b: "bit",
|
|
64
|
+
byte: "byte", B: "byte",
|
|
65
|
+
kilobit: "kilobit", kb: "kilobit", kbit: "kilobit",
|
|
66
|
+
kilobyte: "kilobyte", kB: "kilobyte", kbyte: "kilobyte",
|
|
67
|
+
megabit: "megabit", mb: "megabit", mbit: "megabit", Mb: "megabit",
|
|
68
|
+
megabyte: "megabyte", MB: "megabyte", mbyte: "megabyte",
|
|
69
|
+
gigabit: "gigabit", gb: "gigabit", gbit: "gigabit", Gb: "gigabit",
|
|
70
|
+
gigabyte: "gigabyte", GB: "gigabyte", gbyte: "gigabyte",
|
|
71
|
+
terabit: "terabit", tb: "terabit", tbit: "terabit", Tb: "terabit",
|
|
72
|
+
terabyte: "terabyte", TB: "terabyte", tbyte: "terabyte",
|
|
73
|
+
petabyte: "petabyte", PB: "petabyte", pbyte: "petabyte",
|
|
74
|
+
// energy
|
|
75
|
+
joule: "joule", j: "joule", J: "joule",
|
|
76
|
+
kilojoule: "kilojoule", kj: "kilojoule", kJ: "kilojoule",
|
|
77
|
+
calorie: "calorie", cal: "calorie",
|
|
78
|
+
kilocalorie: "kilocalorie", kcal: "kilocalorie",
|
|
79
|
+
wh: "watt-hour", Wh: "watt-hour",
|
|
80
|
+
kwh: "kilowatt-hour", kWh: "kilowatt-hour",
|
|
81
|
+
// power
|
|
82
|
+
watt: "watt", w: "watt", W: "watt",
|
|
83
|
+
kilowatt: "kilowatt", kw: "kilowatt", kW: "kilowatt",
|
|
84
|
+
megawatt: "megawatt", mw: "megawatt", MW: "megawatt",
|
|
85
|
+
horsepower: "horsepower", hp: "horsepower",
|
|
86
|
+
// pressure
|
|
87
|
+
pascal: "pascal", pa: "pascal", Pa: "pascal",
|
|
88
|
+
kilopascal: "kilopascal", kpa: "kilopascal", kPa: "kilopascal",
|
|
89
|
+
megapascal: "megapascal", mpa: "megapascal", MPa: "megapascal",
|
|
90
|
+
bar: "bar", millibar: "millibar", mbar: "millibar",
|
|
91
|
+
psi: "pound-force-per-square-inch",
|
|
92
|
+
atmosphere: "atmosphere", atm: "atmosphere",
|
|
93
|
+
// angle
|
|
94
|
+
degree: "degree", deg: "degree", "°": "degree",
|
|
95
|
+
radian: "radian", rad: "radian",
|
|
96
|
+
arcmin: "arc-minute",
|
|
97
|
+
arcsec: "arc-second",
|
|
98
|
+
// frequency
|
|
99
|
+
hertz: "hertz", hz: "hertz", Hz: "hertz",
|
|
100
|
+
kilohertz: "kilohertz", khz: "kilohertz", kHz: "kilohertz",
|
|
101
|
+
megahertz: "megahertz", mhz: "megahertz", MHz: "megahertz",
|
|
102
|
+
gigahertz: "gigahertz", ghz: "gigahertz", GHz: "gigahertz",
|
|
103
|
+
// concentration/ratio
|
|
104
|
+
percent: "percent", "%": "percent", pct: "percent",
|
|
105
|
+
permille: "permille", "‰": "permille",
|
|
106
|
+
permyriad: "permyriad", "‱": "permyriad",
|
|
107
|
+
ppm: "part-per-million",
|
|
108
|
+
ppb: "part-per-billion",
|
|
109
|
+
ppt: "part-per-trillion",
|
|
110
|
+
// electric
|
|
111
|
+
ampere: "ampere", amp: "ampere", a: "ampere", A: "ampere",
|
|
112
|
+
volt: "volt", v: "volt", V: "volt",
|
|
113
|
+
ohm: "ohm", "Ω": "ohm",
|
|
114
|
+
// force
|
|
115
|
+
newton: "newton", n: "newton", N: "newton",
|
|
116
|
+
lbf: "pound-force",
|
|
117
|
+
// luminous intensity
|
|
118
|
+
lux: "lux", lumen: "lumen", lm: "lumen",
|
|
119
|
+
candela: "candela", cd: "candela",
|
|
120
|
+
};
|
|
121
|
+
// Handle case-sensitive digital units first, then fallback to lowercase
|
|
122
|
+
return map[unit] || map[unit.toLowerCase()] || unit;
|
|
123
|
+
}
|
|
124
|
+
export default toIntlUnit;
|
|
125
|
+
//# sourceMappingURL=toIntlUnit.js.map
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import hash from "#hash";
|
|
2
|
+
import tags from "#tags";
|
|
3
|
+
async function inline(code, type, id) {
|
|
4
|
+
const integrity = await hash(code);
|
|
5
|
+
return { head: type === "style"
|
|
6
|
+
? tags.style({ code, inline: true })
|
|
7
|
+
: tags.script({ code, id, inline: true, integrity, type }),
|
|
8
|
+
integrity: `'${integrity}'` };
|
|
9
|
+
}
|
|
10
|
+
;
|
|
11
|
+
export default inline;
|
|
12
|
+
//# sourceMappingURL=inline.js.map
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
declare const _default: {
|
|
2
|
+
readonly app_html: "app.html";
|
|
3
|
+
readonly build: "build";
|
|
4
|
+
readonly client: "client";
|
|
5
|
+
readonly components: "components";
|
|
6
|
+
readonly config: "config";
|
|
7
|
+
readonly error_html: "error.html";
|
|
8
|
+
readonly modules: "modules";
|
|
9
|
+
readonly pages: "pages";
|
|
10
|
+
readonly routes: "routes";
|
|
11
|
+
readonly server: "server";
|
|
12
|
+
readonly static: "static";
|
|
13
|
+
readonly stores: "stores";
|
|
14
|
+
readonly locales: "locales";
|
|
15
|
+
};
|
|
16
|
+
export default _default;
|
|
17
|
+
//# sourceMappingURL=location.d.ts.map
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
// default rendering template
|
|
3
|
+
app_html: "app.html",
|
|
4
|
+
// build environment
|
|
5
|
+
build: "build",
|
|
6
|
+
// client build
|
|
7
|
+
client: "client",
|
|
8
|
+
// renderable components
|
|
9
|
+
components: "components",
|
|
10
|
+
// config
|
|
11
|
+
config: "config",
|
|
12
|
+
// error rendering template
|
|
13
|
+
error_html: "error.html",
|
|
14
|
+
// custom modules
|
|
15
|
+
modules: "modules",
|
|
16
|
+
// HTML pages
|
|
17
|
+
pages: "pages",
|
|
18
|
+
// hierarchical routes
|
|
19
|
+
routes: "routes",
|
|
20
|
+
// server build
|
|
21
|
+
server: "server",
|
|
22
|
+
// static assets
|
|
23
|
+
static: "static",
|
|
24
|
+
// stores
|
|
25
|
+
stores: "stores",
|
|
26
|
+
// locales
|
|
27
|
+
locales: "locales",
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=location.js.map
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
declare const levels: {
|
|
2
|
+
readonly error: 0;
|
|
3
|
+
readonly info: 2;
|
|
4
|
+
readonly warn: 1;
|
|
5
|
+
};
|
|
6
|
+
type Levels = typeof levels;
|
|
7
|
+
type Level = keyof Levels;
|
|
8
|
+
type N = Levels[Level];
|
|
9
|
+
declare class Log {
|
|
10
|
+
#private;
|
|
11
|
+
constructor(level: N);
|
|
12
|
+
system(message: string, ...params: unknown[]): void;
|
|
13
|
+
info(message: string, ...params: unknown[]): void;
|
|
14
|
+
warn(message: string, ...params: unknown[]): void;
|
|
15
|
+
error(error: unknown): void;
|
|
16
|
+
}
|
|
17
|
+
declare const _default: Log;
|
|
18
|
+
export default _default;
|
|
19
|
+
//# sourceMappingURL=log.d.ts.map
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import AppError from "#AppError";
|
|
2
|
+
import args from "@rcompat/args";
|
|
3
|
+
import blue from "@rcompat/cli/color/blue";
|
|
4
|
+
import green from "@rcompat/cli/color/green";
|
|
5
|
+
import red from "@rcompat/cli/color/red";
|
|
6
|
+
import yellow from "@rcompat/cli/color/yellow";
|
|
7
|
+
import mark from "@rcompat/cli/mark";
|
|
8
|
+
import print from "@rcompat/cli/print";
|
|
9
|
+
import union from "pema/union";
|
|
10
|
+
const levels = {
|
|
11
|
+
error: 0,
|
|
12
|
+
info: 2,
|
|
13
|
+
warn: 1,
|
|
14
|
+
};
|
|
15
|
+
const flag = "--log=";
|
|
16
|
+
const n = args.find(arg => arg.startsWith(flag))?.slice(flag.length);
|
|
17
|
+
const vn = union(...Object.keys(levels)).optional().parse(n);
|
|
18
|
+
class Log {
|
|
19
|
+
#level;
|
|
20
|
+
constructor(level) {
|
|
21
|
+
this.#level = level;
|
|
22
|
+
}
|
|
23
|
+
system(message, ...params) {
|
|
24
|
+
print(`${blue("++")} ${mark(message, ...params)}\n`);
|
|
25
|
+
}
|
|
26
|
+
info(message, ...params) {
|
|
27
|
+
if (this.#level === levels.info) {
|
|
28
|
+
print(green("--"), mark(message, ...params), "\n");
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
warn(message, ...params) {
|
|
32
|
+
if (this.#level >= levels.warn) {
|
|
33
|
+
print(yellow("??"), mark(message, ...params), "\n");
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
error(error) {
|
|
37
|
+
if (error instanceof AppError) {
|
|
38
|
+
print(red("!!"), error.message, "\n");
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
console.error(error);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
export default new Log(n === undefined ? levels.warn : levels[vn]);
|
|
46
|
+
//# sourceMappingURL=log.js.map
|