@primate/core 0.1.9 → 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 -35
- 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
package/src/serve/handler/sse.js
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { sse } from "@rcompat/http/mime";
|
|
2
|
-
import base from "./shared/base.js";
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Open a server-sent event stream
|
|
6
|
-
* @param {object} body docs1
|
|
7
|
-
* @param {object} options docs2
|
|
8
|
-
* @return {ResponseFn}
|
|
9
|
-
*/
|
|
10
|
-
export default base(sse, implementation =>
|
|
11
|
-
new ReadableStream({
|
|
12
|
-
start(controller) {
|
|
13
|
-
implementation.open({
|
|
14
|
-
send(name, data) {
|
|
15
|
-
const event = data === undefined ? "" : `event: ${name}\n`;
|
|
16
|
-
const $data = data === undefined ? name : data;
|
|
17
|
-
controller.enqueue(`${event}data:${JSON.stringify($data)}\n\n`);
|
|
18
|
-
},
|
|
19
|
-
});
|
|
20
|
-
},
|
|
21
|
-
cancel() {
|
|
22
|
-
implementation.close?.();
|
|
23
|
-
},
|
|
24
|
-
}));
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { txt } from "@rcompat/http/mime";
|
|
2
|
-
import base from "./shared/base.js";
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Issue a plaintext response
|
|
6
|
-
* @param {string} body plaintext
|
|
7
|
-
* @param {MinOptions} options rendering options
|
|
8
|
-
* @return {ResponseFn}
|
|
9
|
-
*/
|
|
10
|
-
export default base(txt);
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import no_handler from "#error/no-handler";
|
|
2
|
-
import file from "@rcompat/fs/file";
|
|
3
|
-
|
|
4
|
-
const extensions = ["extension", "fullExtension"];
|
|
5
|
-
/**
|
|
6
|
-
* Render a component using handler for the given filename extension
|
|
7
|
-
* @param {string} name component filename
|
|
8
|
-
* @param {object} props props passed to component
|
|
9
|
-
* @param {object} options rendering options
|
|
10
|
-
* @return {ResponseFn}
|
|
11
|
-
*/
|
|
12
|
-
export default (name, props, options) => (app, ...rest) => extensions
|
|
13
|
-
.map(extension => app.handlers[file(name)[extension]])
|
|
14
|
-
.find(extension => extension !== undefined)
|
|
15
|
-
?.(name, props, options)(app, ...rest) ?? no_handler(name);
|
package/src/serve/handler/ws.js
DELETED
package/src/serve/hook/handle.js
DELETED
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
import client_error from "@primate/core/handler/error";
|
|
2
|
-
import cascade from "@rcompat/async/cascade";
|
|
3
|
-
import tryreturn from "@rcompat/async/tryreturn";
|
|
4
|
-
import reload_defaults from "@rcompat/build/reload/defaults";
|
|
5
|
-
import reload_path from "@rcompat/build/reload/path";
|
|
6
|
-
import { resolve } from "@rcompat/http/mime";
|
|
7
|
-
import { OK } from "@rcompat/http/status";
|
|
8
|
-
import respond from "./respond.js";
|
|
9
|
-
|
|
10
|
-
const guard_error = Symbol("guard_error");
|
|
11
|
-
const guard = (app, guards) => async (request, next) => {
|
|
12
|
-
// handle guards
|
|
13
|
-
try {
|
|
14
|
-
for (const guard of guards) {
|
|
15
|
-
const result = await guard(request);
|
|
16
|
-
if (result !== true) {
|
|
17
|
-
const error = new Error();
|
|
18
|
-
error.result = result;
|
|
19
|
-
error.type = guard_error;
|
|
20
|
-
throw error;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
return next(request);
|
|
25
|
-
} catch (error) {
|
|
26
|
-
if (error.type === guard_error) {
|
|
27
|
-
return { request, response: respond(error.result)(app) };
|
|
28
|
-
}
|
|
29
|
-
// rethrow if not guard error
|
|
30
|
-
throw error;
|
|
31
|
-
}
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
const get_layouts = async (layouts, request) => {
|
|
35
|
-
const stop_at = layouts.findIndex(({ recursive }) => recursive === false);
|
|
36
|
-
return Promise.all(layouts
|
|
37
|
-
.slice(stop_at === -1 ? 0 : stop_at)
|
|
38
|
-
.map(layout => layout(request)));
|
|
39
|
-
};
|
|
40
|
-
// last handler, preserve final request form
|
|
41
|
-
const last = handler => async request => {
|
|
42
|
-
const response = await handler(request);
|
|
43
|
-
return { request, response };
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
export default app => {
|
|
47
|
-
const route = request => app.route(request);
|
|
48
|
-
|
|
49
|
-
const as_route = async request => {
|
|
50
|
-
// if tryreturn throws, this will default
|
|
51
|
-
let error_handler = app.error.default;
|
|
52
|
-
|
|
53
|
-
return tryreturn(async _ => {
|
|
54
|
-
const { body, path, guards, errors, layouts, handler } =
|
|
55
|
-
await route(request);
|
|
56
|
-
|
|
57
|
-
error_handler = errors?.at(-1);
|
|
58
|
-
|
|
59
|
-
const hooks = [...app.modules.route, guard(app, guards), last(handler)];
|
|
60
|
-
|
|
61
|
-
// handle request
|
|
62
|
-
const routed = await (await cascade(hooks))({ ...request, body, path });
|
|
63
|
-
|
|
64
|
-
const $layouts = { layouts: await get_layouts(layouts, routed.request) };
|
|
65
|
-
return respond(routed.response)(app, $layouts, routed.request);
|
|
66
|
-
}).orelse(async () => {
|
|
67
|
-
// the +error.js page itself could fail
|
|
68
|
-
return tryreturn(_ => respond(error_handler(request))(app, {}, request))
|
|
69
|
-
.orelse(_ => client_error()(app, {}, request));
|
|
70
|
-
});
|
|
71
|
-
};
|
|
72
|
-
|
|
73
|
-
const handle = async request =>
|
|
74
|
-
(await app.loader.asset(request.url.pathname)) ?? as_route(request);
|
|
75
|
-
// first hook
|
|
76
|
-
const pass = (request, next) => next({
|
|
77
|
-
...request,
|
|
78
|
-
pass(to) {
|
|
79
|
-
const { method, headers, body } = request.original;
|
|
80
|
-
const input = `${to}${request.url.pathname}`;
|
|
81
|
-
|
|
82
|
-
return fetch(input, { headers, method, body, duplex: "half" });
|
|
83
|
-
},
|
|
84
|
-
});
|
|
85
|
-
|
|
86
|
-
const paths = [reload_path].concat(app.assets
|
|
87
|
-
.filter(asset => asset.type !== "importmap")
|
|
88
|
-
.map(asset => asset.src));
|
|
89
|
-
const http = app.get("http");
|
|
90
|
-
const url = `http://${http.host}:${reload_defaults.port}`;
|
|
91
|
-
|
|
92
|
-
const proxy = (request, fallback) => {
|
|
93
|
-
const { pathname } = new URL(request.url);
|
|
94
|
-
const { method, headers, body } = request;
|
|
95
|
-
|
|
96
|
-
return paths.includes(pathname)
|
|
97
|
-
? fetch(`${url}${pathname}`, { headers, method, body, duplex: "half" })
|
|
98
|
-
: fallback();
|
|
99
|
-
};
|
|
100
|
-
|
|
101
|
-
const hotreload = (request, next) => app.mode === "development"
|
|
102
|
-
? proxy(request.original, () => next(request))
|
|
103
|
-
: next(request);
|
|
104
|
-
|
|
105
|
-
return cascade([pass, hotreload, ...app.modules.handle], handle);
|
|
106
|
-
};
|
package/src/serve/hook/init.js
DELETED
package/src/serve/hook/parse.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import dispatch from "#dispatch";
|
|
2
|
-
import valmap from "@rcompat/object/valmap";
|
|
3
|
-
|
|
4
|
-
export default () => async original => {
|
|
5
|
-
const { headers } = original;
|
|
6
|
-
|
|
7
|
-
const url = new URL(original.url);
|
|
8
|
-
const cookies = headers.get("cookie");
|
|
9
|
-
|
|
10
|
-
return { original, url,
|
|
11
|
-
...valmap({
|
|
12
|
-
query: [Object.fromEntries(url.searchParams), url.search],
|
|
13
|
-
headers: [Object.fromEntries(headers), headers, false],
|
|
14
|
-
cookies: [Object.fromEntries(cookies?.split(";").map(cookie =>
|
|
15
|
-
cookie.trim().split("=")) ?? []), cookies],
|
|
16
|
-
}, value => dispatch(...value)) };
|
|
17
|
-
};
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import bad_body from "#error/bad-body";
|
|
2
|
-
import json from "@primate/core/handler/json";
|
|
3
|
-
import redirect from "@primate/core/handler/redirect";
|
|
4
|
-
import stream from "@primate/core/handler/stream";
|
|
5
|
-
import text from "@primate/core/handler/text";
|
|
6
|
-
import streamable from "@rcompat/fs/streamable";
|
|
7
|
-
import identity from "@rcompat/function/identity";
|
|
8
|
-
import proper from "@rcompat/object/proper";
|
|
9
|
-
|
|
10
|
-
const is_instance = of => value => value instanceof of;
|
|
11
|
-
const is_response = is_instance(Response);
|
|
12
|
-
const is_streamable =
|
|
13
|
-
value => value instanceof Blob || value?.streamable === streamable;
|
|
14
|
-
|
|
15
|
-
// [if, then]
|
|
16
|
-
const guesses = [
|
|
17
|
-
[is_instance(URL), redirect],
|
|
18
|
-
[is_streamable, value => stream(value.stream())],
|
|
19
|
-
[is_instance(ReadableStream), stream],
|
|
20
|
-
[value => is_response(value), value => _ => value],
|
|
21
|
-
[proper, json],
|
|
22
|
-
[value => typeof value === "string", text],
|
|
23
|
-
[bad_body, identity],
|
|
24
|
-
];
|
|
25
|
-
|
|
26
|
-
const guess = value => guesses.find(([check]) => check(value))?.[1](value);
|
|
27
|
-
|
|
28
|
-
export default result => typeof result === "function" ? result : guess(result);
|
package/src/serve/hook/route.js
DELETED
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import dispatch from "#dispatch";
|
|
2
|
-
import mismatched_body from "#error/mismatched-body";
|
|
3
|
-
import mismatched_path from "#error/mismatched-path";
|
|
4
|
-
import no_route_to_path from "#error/no-route-to-path";
|
|
5
|
-
import validate from "#validate";
|
|
6
|
-
import Body from "@rcompat/http/body";
|
|
7
|
-
import map from "@rcompat/object/map";
|
|
8
|
-
import tryreturn from "@rcompat/sync/tryreturn";
|
|
9
|
-
|
|
10
|
-
const deroot = pathname => pathname.endsWith("/") && pathname !== "/"
|
|
11
|
-
? pathname.slice(0, -1) : pathname;
|
|
12
|
-
|
|
13
|
-
const parse_body = (request, url) =>
|
|
14
|
-
tryreturn(async _ => await Body.parse(request) ?? {})
|
|
15
|
-
.orelse(error => mismatched_body(url.pathname, error.message));
|
|
16
|
-
|
|
17
|
-
export default app => {
|
|
18
|
-
const $request_body_parse = app.get("request.body.parse");
|
|
19
|
-
const $location = app.get("location");
|
|
20
|
-
|
|
21
|
-
const index = path => `${$location.routes}${path === "/" ? "/index" : path}`;
|
|
22
|
-
// remove excess slashes
|
|
23
|
-
const deslash = url => url.replaceAll(/\/{2,}/gu, _ => "/");
|
|
24
|
-
|
|
25
|
-
return async ({ original, url }) => {
|
|
26
|
-
const pathname = deroot(deslash(url.pathname));
|
|
27
|
-
const route = await app.router.match(original) ??
|
|
28
|
-
no_route_to_path(original.method.toLowerCase(), pathname, index(pathname));
|
|
29
|
-
const { params } = route;
|
|
30
|
-
const untyped_path = Object.fromEntries(Object.entries(params)
|
|
31
|
-
.filter(([name]) => !name.includes("="))
|
|
32
|
-
.map(([key, value]) => [key, value]));
|
|
33
|
-
const typed_path = Object.fromEntries(Object.entries(params)
|
|
34
|
-
.filter(([name]) => name.includes("="))
|
|
35
|
-
.map(([name, value]) => [name.split("="), value])
|
|
36
|
-
.map(([[name, type], value]) =>
|
|
37
|
-
tryreturn(_ => {
|
|
38
|
-
validate(app.types[type], value, name);
|
|
39
|
-
return [name, value];
|
|
40
|
-
}).orelse(({ message }) => mismatched_path(pathname, message))));
|
|
41
|
-
const path = dispatch({ ...untyped_path, ...typed_path });
|
|
42
|
-
const local_parse_body = route.file.body?.parse ?? $request_body_parse;
|
|
43
|
-
const body = local_parse_body ? await parse_body(original, url) : null;
|
|
44
|
-
const { guards = [], errors = [], layouts = [] } = map(route.specials,
|
|
45
|
-
([key, value]) => [`${key}s`, value.map(i => i.default)]);
|
|
46
|
-
const handler = route.file.default[original.method.toLowerCase()];
|
|
47
|
-
|
|
48
|
-
return { body, path, guards, errors, layouts, handler };
|
|
49
|
-
};
|
|
50
|
-
};
|
package/src/serve/hook/serve.js
DELETED
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import log from "#log";
|
|
2
|
-
import cascade from "@rcompat/async/cascade";
|
|
3
|
-
import tryreturn from "@rcompat/async/tryreturn";
|
|
4
|
-
import dim from "@rcompat/cli/color/dim";
|
|
5
|
-
import Router from "@rcompat/fs/router";
|
|
6
|
-
import serve from "@rcompat/http/serve";
|
|
7
|
-
import { INTERNAL_SERVER_ERROR } from "@rcompat/http/status";
|
|
8
|
-
import * as hook from "./exports.js";
|
|
9
|
-
|
|
10
|
-
const post = async app => {
|
|
11
|
-
const types = Object.fromEntries(app.files.types.map(([key, value]) =>
|
|
12
|
-
[key, value.default]));
|
|
13
|
-
let router;
|
|
14
|
-
|
|
15
|
-
try {
|
|
16
|
-
router = await Router.init({
|
|
17
|
-
specials: {
|
|
18
|
-
guard: { recursive: true },
|
|
19
|
-
error: { recursive: false },
|
|
20
|
-
layout: { recursive: true },
|
|
21
|
-
},
|
|
22
|
-
predicate(route, request) {
|
|
23
|
-
return route.default[request.method.toLowerCase()] !== undefined;
|
|
24
|
-
},
|
|
25
|
-
}, app.files.routes);
|
|
26
|
-
} catch {}
|
|
27
|
-
|
|
28
|
-
app.create_csp();
|
|
29
|
-
|
|
30
|
-
const $app = { ...app, types, router };
|
|
31
|
-
$app.route = hook.route($app);
|
|
32
|
-
$app.parse = hook.parse($app);
|
|
33
|
-
const $handle = await hook.handle($app);
|
|
34
|
-
|
|
35
|
-
$app.server = await serve(async request =>
|
|
36
|
-
tryreturn(async _ => $handle(await $app.parse(request)))
|
|
37
|
-
.orelse(error => {
|
|
38
|
-
log.auto(error);
|
|
39
|
-
return new Response(null, { status: INTERNAL_SERVER_ERROR });
|
|
40
|
-
}), $app.get("http"));
|
|
41
|
-
const { host, port } = $app.get("http");
|
|
42
|
-
const address = `http${$app.secure ? "s" : ""}://${host}:${port}`;
|
|
43
|
-
log.system(`started ${dim("->")} ${dim(address)}`);
|
|
44
|
-
|
|
45
|
-
app.set("server", $app.server);
|
|
46
|
-
|
|
47
|
-
return $app;
|
|
48
|
-
};
|
|
49
|
-
|
|
50
|
-
export default async app => {
|
|
51
|
-
log.system("in startup");
|
|
52
|
-
return post(await (await cascade(app.modules.serve))(app));
|
|
53
|
-
};
|
package/src/serve/index.js
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import defaults from "#config";
|
|
2
|
-
import override from "@rcompat/object/override";
|
|
3
|
-
import app from "./app.js";
|
|
4
|
-
import { init, serve } from "./hook/exports.js";
|
|
5
|
-
|
|
6
|
-
export default async (root, { config, ...options }) => serve(
|
|
7
|
-
await init(
|
|
8
|
-
await app(root, { config: override(defaults, config), ...options }),
|
|
9
|
-
));
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import * as hooks from "./hook/exports.js";
|
|
2
|
-
|
|
3
|
-
const filter = (key, array) => array?.flatMap(m => m[key] ?? []) ?? [];
|
|
4
|
-
const load = (modules = []) => modules.map(module =>
|
|
5
|
-
[module, load(module.load?.() ?? [])]).flat();
|
|
6
|
-
|
|
7
|
-
export default async (root, modules) => {
|
|
8
|
-
// collect modules
|
|
9
|
-
const loaded = load(modules).flat(2);
|
|
10
|
-
|
|
11
|
-
return {
|
|
12
|
-
names: loaded.map(module => module.name),
|
|
13
|
-
...Object.fromEntries([...Object.keys(hooks), "context"]
|
|
14
|
-
.map(hook => [hook, filter(hook, loaded)])),
|
|
15
|
-
};
|
|
16
|
-
};
|
package/src/serve/to_sorted.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export default (array, compareFn) => [...array].sort(compareFn);
|
|
File without changes
|
|
File without changes
|