@primate/core 0.4.6 → 0.5.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 +531 -3
- package/lib/private/App.js +8 -3
- package/lib/private/Binder.d.ts +2 -2
- package/lib/private/Flags.d.ts +3 -3
- package/lib/private/Module.d.ts +5 -5
- package/lib/private/app/Facade.d.ts +566 -0
- package/lib/private/app/Facade.js +33 -0
- package/lib/private/asset/Asset.d.ts +1 -1
- package/lib/private/backend/Module.d.ts +1 -1
- package/lib/private/backend/Module.js +2 -5
- package/lib/private/backend/TAG.d.ts +1 -1
- package/lib/private/backend/TAG.js +1 -1
- package/lib/private/build/App.d.ts +2 -2
- package/lib/private/build/App.js +0 -2
- package/lib/private/build/client/index.js +11 -7
- package/lib/private/build/hook.js +4 -3
- package/lib/private/build/index.js +14 -13
- package/lib/private/build/presets.d.ts +10 -0
- package/lib/private/build/presets.js +39 -0
- package/lib/private/build/server/index.js +5 -7
- package/lib/private/build/server/plugin/assets.js +9 -7
- package/lib/private/build/server/plugin/config.js +11 -4
- package/lib/private/build/server/plugin/db-default.d.ts +4 -0
- package/lib/private/build/server/plugin/db-default.js +45 -0
- package/lib/private/build/server/plugin/frontend.js +4 -2
- package/lib/private/build/server/plugin/live-reload.d.ts +4 -0
- package/lib/private/build/server/plugin/{hot-reload.js → live-reload.js} +4 -4
- package/lib/private/build/server/plugin/native-addons.js +6 -4
- package/lib/private/build/server/plugin/node-imports.js +2 -2
- package/lib/private/build/server/plugin/route.js +2 -2
- package/lib/private/build/server/plugin/store-wrap.js +2 -2
- package/lib/private/build/server/plugin/store.js +6 -6
- package/lib/private/build/server/plugin/stores.js +4 -5
- package/lib/private/build/server/plugin/view.js +4 -4
- package/lib/private/build/server/plugin/views.js +4 -4
- package/lib/private/build/server/plugin/virtual-pages.js +8 -8
- package/lib/private/build/server/plugin/virtual-routes.js +8 -13
- package/lib/private/build/server/plugin/wasm.js +2 -3
- package/lib/private/bye.js +2 -3
- package/lib/private/client/Data.d.ts +1 -1
- package/lib/private/client/ValidateInit.d.ts +1 -3
- package/lib/private/client/ValidationError.d.ts +1 -1
- package/lib/private/client/app.js +2 -1
- package/lib/private/client/create-form.d.ts +31 -0
- package/lib/private/client/create-form.js +124 -0
- package/lib/private/client/extract-issues.d.ts +4 -0
- package/lib/private/client/extract-issues.js +20 -0
- package/lib/private/client/spa/index.d.ts +1 -1
- package/lib/private/client/spa/index.js +4 -5
- package/lib/private/client/{toValidated.d.ts → to-validated.d.ts} +2 -4
- package/lib/private/client/{toValidated.js → to-validated.js} +1 -1
- package/lib/private/client/validate-field.d.ts +3 -0
- package/lib/private/client/validate-field.js +41 -0
- package/lib/private/config/index.d.ts +2 -21
- package/lib/private/config/index.js +3 -1
- package/lib/private/config/schema.d.ts +13 -9
- package/lib/private/config/schema.js +10 -5
- package/lib/private/cookie.d.ts +5 -5
- package/lib/private/cookie.js +10 -14
- package/lib/private/db/As.d.ts +10 -0
- package/lib/private/db/DB.d.ts +33 -0
- package/lib/private/db/DB.js +2 -0
- package/lib/private/db/DataDict.d.ts +5 -0
- package/lib/private/db/DataKey.d.ts +4 -0
- package/lib/private/db/DataValue.d.ts +17 -0
- package/lib/private/db/MemoryDB.d.ts +35 -0
- package/lib/private/db/MemoryDB.js +317 -0
- package/lib/private/db/PK.d.ts +3 -0
- package/lib/private/db/PK.js +2 -0
- package/lib/private/{database → db}/Query.d.ts +2 -2
- package/lib/private/{database → db}/QueryBuilder.d.ts +2 -3
- package/lib/private/db/ReadArgs.d.ts +9 -0
- package/lib/private/db/ReadArgs.js +2 -0
- package/lib/private/db/ReadRelationsArgs.d.ts +6 -0
- package/lib/private/db/ReadRelationsArgs.js +2 -0
- package/lib/private/{database → db}/Schema.d.ts +1 -2
- package/lib/private/db/Sort.d.ts +4 -0
- package/lib/private/{database → db}/TypeMap.d.ts +2 -3
- package/lib/private/{database → db}/Types.d.ts +1 -1
- package/lib/private/db/With.d.ts +16 -0
- package/lib/private/db/With.js +2 -0
- package/lib/private/db/common.d.ts +18 -0
- package/lib/private/db/common.js +36 -0
- package/lib/private/db/error.d.ts +81 -0
- package/lib/private/db/error.js +199 -0
- package/lib/private/db/sql.d.ts +28 -0
- package/lib/private/db/sql.js +177 -0
- package/lib/private/db/storage.d.ts +3 -0
- package/lib/private/db/storage.js +3 -0
- package/lib/private/db/symbol/wrap.js +2 -0
- package/lib/private/db/symbol.js +2 -0
- package/lib/private/db/test.d.ts +4 -0
- package/lib/private/db/test.js +1384 -0
- package/lib/private/frontend/Module.d.ts +6 -6
- package/lib/private/frontend/Module.js +28 -23
- package/lib/private/frontend/Render.d.ts +1 -2
- package/lib/private/frontend/ServerData.d.ts +1 -1
- package/lib/private/frontend/ServerView.d.ts +1 -2
- package/lib/private/frontend/View.d.ts +1 -1
- package/lib/private/frontend/ViewOptions.d.ts +1 -1
- package/lib/private/frontend/ViewResponse.d.ts +1 -1
- package/lib/private/hash.js +0 -1
- package/lib/private/i18n/Catalog.d.ts +5 -2
- package/lib/private/i18n/Formatter.js +20 -8
- package/lib/private/i18n/Module.d.ts +3 -3
- package/lib/private/i18n/Module.js +28 -17
- package/lib/private/i18n/format.d.ts +4 -0
- package/lib/private/i18n/format.js +95 -0
- package/lib/private/i18n/index/client.d.ts +9 -0
- package/lib/private/i18n/index/client.js +152 -0
- package/lib/private/i18n/index/server.d.ts +9 -0
- package/lib/private/i18n/index/server.js +57 -0
- package/lib/private/i18n/index/types.d.ts +33 -0
- package/lib/private/i18n/index/types.js +2 -0
- package/lib/private/i18n/locale.d.ts +9 -3
- package/lib/private/i18n/ordinals.d.ts +1 -1
- package/lib/private/i18n/resolve.d.ts +7 -0
- package/lib/private/i18n/resolve.js +30 -0
- package/lib/private/i18n/schema.d.ts +4 -4
- package/lib/private/i18n/schema.js +6 -10
- package/lib/private/i18n/storage.d.ts +3 -0
- package/lib/private/i18n/storage.js +5 -0
- package/lib/private/i18n/validate.d.ts +2 -0
- package/lib/private/i18n/validate.js +21 -0
- package/lib/private/log.d.ts +1 -0
- package/lib/private/log.js +10 -10
- package/lib/private/module/Hook.d.ts +1 -1
- package/lib/private/module/Next.d.ts +1 -1
- package/lib/private/orm/ForeignKey.d.ts +11 -0
- package/lib/private/orm/ForeignKey.js +22 -0
- package/lib/private/orm/PrimaryKey.d.ts +15 -0
- package/lib/private/orm/PrimaryKey.js +35 -0
- package/lib/private/orm/Set.d.ts +11 -0
- package/lib/private/orm/Set.js +2 -0
- package/lib/private/orm/Store.d.ts +171 -0
- package/lib/private/orm/Store.js +518 -0
- package/lib/private/orm/foreign.d.ts +4 -0
- package/lib/private/orm/foreign.js +5 -0
- package/lib/private/orm/key.d.ts +8 -0
- package/lib/private/orm/key.js +4 -0
- package/lib/private/orm/parse.d.ts +12 -0
- package/lib/private/orm/parse.js +29 -0
- package/lib/private/orm/primary.d.ts +5 -0
- package/lib/private/orm/primary.js +5 -0
- package/lib/private/orm/relation.d.ts +43 -0
- package/lib/private/orm/relation.js +26 -0
- package/lib/private/orm/types.d.ts +18 -0
- package/lib/private/orm/types.js +2 -0
- package/lib/private/orm/wrap.d.ts +5 -0
- package/lib/private/orm/wrap.js +5 -0
- package/lib/private/paths.d.ts +2 -2
- package/lib/private/request/RequestBag.d.ts +1 -1
- package/lib/private/request/RequestBag.js +11 -7
- package/lib/private/request/RequestBody.d.ts +2 -4
- package/lib/private/request/RequestBody.js +8 -11
- package/lib/private/request/RequestContext.d.ts +12 -0
- package/lib/private/request/RequestContext.js +31 -0
- package/lib/private/request/RequestFacade.d.ts +16 -6
- package/lib/private/request/parse.d.ts +2 -2
- package/lib/private/request/parse.js +54 -16
- package/lib/private/request/route.js +37 -21
- package/lib/private/request/router.d.ts +1 -1
- package/lib/private/request/router.js +2 -2
- package/lib/private/request/sContext.d.ts +3 -0
- package/lib/private/request/sContext.js +2 -0
- package/lib/private/response/ResponseFunction.d.ts +1 -2
- package/lib/private/response/ResponseLike.d.ts +1 -1
- package/lib/private/response/binary.d.ts +1 -1
- package/lib/private/response/binary.js +4 -3
- package/lib/private/response/json.d.ts +1 -1
- package/lib/private/response/json.js +2 -2
- package/lib/private/response/redirect.js +1 -1
- package/lib/private/response/respond.js +7 -10
- package/lib/private/response/sse.d.ts +1 -1
- package/lib/private/response/sse.js +2 -2
- package/lib/private/response/text.d.ts +1 -1
- package/lib/private/response/text.js +3 -3
- package/lib/private/response/view.d.ts +2 -2
- package/lib/private/response/view.js +3 -3
- package/lib/private/response.d.ts +1 -1
- package/lib/private/route/Handler.d.ts +1 -1
- package/lib/private/route/hook.d.ts +6 -0
- package/lib/private/route/hook.js +5 -0
- package/lib/private/route/router.d.ts +9 -5
- package/lib/private/route/router.js +34 -17
- package/lib/private/route/wrap.js +2 -2
- package/lib/private/serve/App.d.ts +5 -18
- package/lib/private/serve/App.js +91 -82
- package/lib/private/serve/Init.d.ts +3 -3
- package/lib/private/serve/hook.js +1 -7
- package/lib/private/serve/index.js +6 -2
- package/lib/private/serve/module/Dev.d.ts +1 -1
- package/lib/private/serve/module/Dev.js +9 -5
- package/lib/private/serve/module/Handle.js +2 -2
- package/lib/private/session/Data.d.ts +1 -2
- package/lib/private/session/SessionHandle.d.ts +1 -1
- package/lib/private/session/SessionHandle.js +10 -9
- package/lib/private/session/SessionModule.js +7 -7
- package/lib/private/session/index.d.ts +3 -4
- package/lib/private/session/schema.d.ts +6 -6
- package/lib/private/session/schema.js +5 -4
- package/lib/private/session/storage.d.ts +1 -2
- package/lib/private/session/storage.js +2 -2
- package/lib/private/tags.js +2 -2
- package/lib/private/target/Target.d.ts +1 -1
- package/lib/public/AppFacade.d.ts +2 -0
- package/lib/public/AppFacade.js +2 -0
- package/lib/public/build/presets.d.ts +2 -0
- package/lib/public/build/presets.js +2 -0
- package/lib/public/build/transform.d.ts +2 -0
- package/lib/public/build/transform.js +2 -0
- package/lib/public/client.d.ts +14 -0
- package/lib/public/client.js +10 -0
- package/lib/public/db/MemoryDB.d.ts +2 -0
- package/lib/public/db/MemoryDB.js +2 -0
- package/lib/public/db/error.d.ts +2 -0
- package/lib/public/db/error.js +2 -0
- package/lib/public/db/sql.d.ts +2 -0
- package/lib/public/db/sql.js +2 -0
- package/lib/public/db/test.d.ts +2 -0
- package/lib/public/db/test.js +2 -0
- package/lib/public/db.d.ts +12 -0
- package/lib/public/db.js +2 -0
- package/lib/public/orm/Store.d.ts +2 -0
- package/lib/public/orm/Store.js +2 -0
- package/lib/public/orm/key.d.ts +2 -0
- package/lib/public/orm/key.js +2 -0
- package/lib/public/orm/relation.d.ts +2 -0
- package/lib/public/orm/relation.js +2 -0
- package/lib/public/orm/wrap.d.ts +2 -0
- package/lib/public/orm/wrap.js +2 -0
- package/lib/public/request.d.ts +4 -0
- package/lib/public/request.js +2 -0
- package/lib/public/response.d.ts +22 -0
- package/lib/public/response.js +19 -0
- package/lib/public/route/hook.d.ts +2 -0
- package/lib/public/route/hook.js +2 -0
- package/package.json +28 -23
- package/lib/private/build/client/reload.d.ts +0 -7
- package/lib/private/build/client/reload.js +0 -6
- package/lib/private/build/server/plugin/database-default.d.ts +0 -4
- package/lib/private/build/server/plugin/database-default.js +0 -48
- package/lib/private/build/server/plugin/hot-reload.d.ts +0 -4
- package/lib/private/client/validate.d.ts +0 -3
- package/lib/private/client/validate.js +0 -54
- package/lib/private/database/As.d.ts +0 -7
- package/lib/private/database/Binds.d.ts +0 -4
- package/lib/private/database/Binds.js +0 -2
- package/lib/private/database/Changes.d.ts +0 -11
- package/lib/private/database/Changes.js +0 -2
- package/lib/private/database/ColumnTypes.d.ts +0 -11
- package/lib/private/database/ColumnTypes.js +0 -2
- package/lib/private/database/DataDict.d.ts +0 -5
- package/lib/private/database/DataKey.d.ts +0 -4
- package/lib/private/database/DataValue.d.ts +0 -5
- package/lib/private/database/Database.d.ts +0 -56
- package/lib/private/database/Database.js +0 -153
- package/lib/private/database/InMemoryDatabase.d.ts +0 -37
- package/lib/private/database/InMemoryDatabase.js +0 -181
- package/lib/private/database/Sort.d.ts +0 -4
- package/lib/private/database/Store.d.ts +0 -172
- package/lib/private/database/Store.js +0 -261
- package/lib/private/database/storage.d.ts +0 -4
- package/lib/private/database/storage.js +0 -3
- package/lib/private/database/symbol/wrap.js +0 -2
- package/lib/private/database/symbol.js +0 -2
- package/lib/private/database/test.d.ts +0 -4
- package/lib/private/database/test.js +0 -678
- package/lib/private/database/wrap.d.ts +0 -5
- package/lib/private/database/wrap.js +0 -5
- package/lib/private/i18n/index.d.ts +0 -28
- package/lib/private/i18n/index.js +0 -236
- package/lib/private/route/guard.d.ts +0 -4
- package/lib/private/route/guard.js +0 -22
- package/lib/private/wasm/API.d.ts +0 -7
- package/lib/private/wasm/API.js +0 -2
- package/lib/private/wasm/BufferViewSource.d.ts +0 -4
- package/lib/private/wasm/BufferViewSource.js +0 -2
- package/lib/private/wasm/Exports.d.ts +0 -23
- package/lib/private/wasm/Exports.js +0 -2
- package/lib/private/wasm/I32.d.ts +0 -5
- package/lib/private/wasm/I32.js +0 -2
- package/lib/private/wasm/I32_SIZE.d.ts +0 -3
- package/lib/private/wasm/I32_SIZE.js +0 -2
- package/lib/private/wasm/Instantiation.d.ts +0 -12
- package/lib/private/wasm/Instantiation.js +0 -2
- package/lib/private/wasm/Tagged.d.ts +0 -7
- package/lib/private/wasm/Tagged.js +0 -2
- package/lib/private/wasm/buffersize.d.ts +0 -2
- package/lib/private/wasm/buffersize.js +0 -5
- package/lib/private/wasm/decode-bytes.d.ts +0 -3
- package/lib/private/wasm/decode-bytes.js +0 -5
- package/lib/private/wasm/decode-json.d.ts +0 -7
- package/lib/private/wasm/decode-json.js +0 -11
- package/lib/private/wasm/decode-option.d.ts +0 -5
- package/lib/private/wasm/decode-option.js +0 -10
- package/lib/private/wasm/decode-response.d.ts +0 -19
- package/lib/private/wasm/decode-response.js +0 -90
- package/lib/private/wasm/decode-string.d.ts +0 -3
- package/lib/private/wasm/decode-string.js +0 -5
- package/lib/private/wasm/decode-websocket-close.d.ts +0 -5
- package/lib/private/wasm/decode-websocket-close.js +0 -6
- package/lib/private/wasm/decode-websocket-send.d.ts +0 -6
- package/lib/private/wasm/decode-websocket-send.js +0 -19
- package/lib/private/wasm/encode-buffer.d.ts +0 -3
- package/lib/private/wasm/encode-buffer.js +0 -6
- package/lib/private/wasm/encode-request.d.ts +0 -9
- package/lib/private/wasm/encode-request.js +0 -195
- package/lib/private/wasm/encode-session.d.ts +0 -3
- package/lib/private/wasm/encode-session.js +0 -25
- package/lib/private/wasm/encode-string-map.d.ts +0 -5
- package/lib/private/wasm/encode-string-map.js +0 -14
- package/lib/private/wasm/encode-string.d.ts +0 -13
- package/lib/private/wasm/encode-string.js +0 -17
- package/lib/private/wasm/encode-url.d.ts +0 -11
- package/lib/private/wasm/encode-url.js +0 -14
- package/lib/private/wasm/encode-websocket-close.d.ts +0 -2
- package/lib/private/wasm/encode-websocket-close.js +0 -7
- package/lib/private/wasm/encode-websocket-message.d.ts +0 -4
- package/lib/private/wasm/encode-websocket-message.js +0 -30
- package/lib/private/wasm/encode-websocket-open.d.ts +0 -2
- package/lib/private/wasm/encode-websocket-open.js +0 -7
- package/lib/private/wasm/filesize.d.ts +0 -2
- package/lib/private/wasm/filesize.js +0 -8
- package/lib/private/wasm/instantiate.d.ts +0 -37
- package/lib/private/wasm/instantiate.js +0 -408
- package/lib/private/wasm/open-websocket.d.ts +0 -4
- package/lib/private/wasm/open-websocket.js +0 -26
- package/lib/private/wasm/stringsize.d.ts +0 -3
- package/lib/private/wasm/stringsize.js +0 -5
- package/lib/private/wasm/urlsize.d.ts +0 -2
- package/lib/private/wasm/urlsize.js +0 -5
- package/lib/public/Database.d.ts +0 -2
- package/lib/public/Database.js +0 -2
- package/lib/public/client/ValidateInit.d.ts +0 -2
- package/lib/public/client/ValidateInit.js +0 -2
- package/lib/public/client/ValidateUpdater.d.ts +0 -2
- package/lib/public/client/ValidateUpdater.js +0 -2
- package/lib/public/client/ValidationError.d.ts +0 -2
- package/lib/public/client/ValidationError.js +0 -2
- package/lib/public/client/toValidated.d.ts +0 -2
- package/lib/public/client/toValidated.js +0 -2
- package/lib/public/client/validate.d.ts +0 -2
- package/lib/public/client/validate.js +0 -2
- package/lib/public/database/As.d.ts +0 -2
- package/lib/public/database/As.js +0 -2
- package/lib/public/database/DataDict.d.ts +0 -2
- package/lib/public/database/DataDict.js +0 -2
- package/lib/public/database/InMemoryDatabase.d.ts +0 -2
- package/lib/public/database/InMemoryDatabase.js +0 -2
- package/lib/public/database/Sort.d.ts +0 -2
- package/lib/public/database/Sort.js +0 -2
- package/lib/public/database/Store.d.ts +0 -2
- package/lib/public/database/Store.js +0 -2
- package/lib/public/database/TypeMap.d.ts +0 -2
- package/lib/public/database/TypeMap.js +0 -2
- package/lib/public/database/Types.d.ts +0 -2
- package/lib/public/database/Types.js +0 -2
- package/lib/public/database/test.d.ts +0 -2
- package/lib/public/database/test.js +0 -2
- package/lib/public/database/wrap.d.ts +0 -2
- package/lib/public/database/wrap.js +0 -2
- package/lib/public/request/RequestBody.d.ts +0 -2
- package/lib/public/request/RequestBody.js +0 -2
- package/lib/public/request/RequestFacade.d.ts +0 -2
- package/lib/public/request/RequestFacade.js +0 -2
- package/lib/public/request/Verb.d.ts +0 -2
- package/lib/public/request/Verb.js +0 -2
- package/lib/public/response/ResponseFunction.d.ts +0 -2
- package/lib/public/response/ResponseFunction.js +0 -2
- package/lib/public/response/ResponseLike.d.ts +0 -2
- package/lib/public/response/ResponseLike.js +0 -2
- package/lib/public/response/binary.d.ts +0 -2
- package/lib/public/response/binary.js +0 -2
- package/lib/public/response/error.d.ts +0 -2
- package/lib/public/response/error.js +0 -2
- package/lib/public/response/json.d.ts +0 -2
- package/lib/public/response/json.js +0 -2
- package/lib/public/response/redirect.d.ts +0 -2
- package/lib/public/response/redirect.js +0 -2
- package/lib/public/response/sse.d.ts +0 -2
- package/lib/public/response/sse.js +0 -2
- package/lib/public/response/text.d.ts +0 -2
- package/lib/public/response/text.js +0 -2
- package/lib/public/response/view.d.ts +0 -2
- package/lib/public/response/view.js +0 -2
- package/lib/public/response/ws.d.ts +0 -2
- package/lib/public/response/ws.js +0 -2
- package/lib/public/wasm/decode-json.d.ts +0 -5
- package/lib/public/wasm/decode-json.js +0 -3
- package/lib/public/wasm/decode-response.d.ts +0 -3
- package/lib/public/wasm/decode-response.js +0 -3
- package/lib/public/wasm/encode-request.d.ts +0 -3
- package/lib/public/wasm/encode-request.js +0 -3
- package/lib/public/wasm/encode-session.d.ts +0 -3
- package/lib/public/wasm/encode-session.js +0 -3
- package/lib/public/wasm/instantiate.d.ts +0 -4
- package/lib/public/wasm/instantiate.js +0 -3
- /package/lib/private/{database → db}/As.js +0 -0
- /package/lib/private/{database → db}/DataDict.js +0 -0
- /package/lib/private/{database → db}/DataKey.js +0 -0
- /package/lib/private/{database → db}/DataValue.js +0 -0
- /package/lib/private/{database → db}/Query.js +0 -0
- /package/lib/private/{database → db}/QueryBuilder.js +0 -0
- /package/lib/private/{database → db}/Schema.js +0 -0
- /package/lib/private/{database → db}/Sort.js +0 -0
- /package/lib/private/{database → db}/TypeMap.js +0 -0
- /package/lib/private/{database → db}/Types.js +0 -0
- /package/lib/private/{database → db}/primary.d.ts +0 -0
- /package/lib/private/{database → db}/primary.js +0 -0
- /package/lib/private/{database → db}/symbol/wrap.d.ts +0 -0
- /package/lib/private/{database → db}/symbol.d.ts +0 -0
|
@@ -1,28 +0,0 @@
|
|
|
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
|
|
@@ -1,236 +0,0 @@
|
|
|
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
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
const sError = Symbol("guard_error");
|
|
2
|
-
export default function (guards) {
|
|
3
|
-
return async (request, next) => {
|
|
4
|
-
try {
|
|
5
|
-
for (const guard of guards) {
|
|
6
|
-
const response = await guard(request);
|
|
7
|
-
if (response !== null)
|
|
8
|
-
throw { response, type: sError };
|
|
9
|
-
}
|
|
10
|
-
return next(request);
|
|
11
|
-
}
|
|
12
|
-
catch (error) {
|
|
13
|
-
const guard_error = error;
|
|
14
|
-
if (guard_error.type === sError) {
|
|
15
|
-
return { request, response: guard_error.response };
|
|
16
|
-
}
|
|
17
|
-
// rethrow if not guard error
|
|
18
|
-
throw error;
|
|
19
|
-
}
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
//# sourceMappingURL=guard.js.map
|
package/lib/private/wasm/API.js
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import type Verb from "#request/Verb";
|
|
2
|
-
import type I32 from "#wasm/I32";
|
|
3
|
-
import type Tagged from "#wasm/Tagged";
|
|
4
|
-
/** The HTTP Methods that are potentially exported by the WASM module if they
|
|
5
|
-
* are following the Primate WASM ABI convention. */
|
|
6
|
-
type ExportedMethods<TRequest = I32, TResponse = I32> = {
|
|
7
|
-
[Method in Verb]?: (request: Tagged<"Request", TRequest>) => Tagged<"Response", TResponse>;
|
|
8
|
-
};
|
|
9
|
-
/** These functions should be exported by a WASM module to be compatible with
|
|
10
|
-
* Primate. This follows the Primate WASM ABI convention. */
|
|
11
|
-
type Exports<TRequest = I32, TResponse = I32> = {
|
|
12
|
-
finalizeRequest(value: Tagged<"Request", TRequest>): void;
|
|
13
|
-
finalizeResponse(value: Tagged<"Response", TResponse>): void;
|
|
14
|
-
getStoreValueDone(): void;
|
|
15
|
-
memory: WebAssembly.Memory;
|
|
16
|
-
newRequest(): Tagged<"Request", TRequest>;
|
|
17
|
-
sendResponse(response: Tagged<"Response", TResponse>): void;
|
|
18
|
-
websocketClose(): void;
|
|
19
|
-
websocketMessage(): void;
|
|
20
|
-
websocketOpen(): void;
|
|
21
|
-
} & ExportedMethods<TRequest, TResponse>;
|
|
22
|
-
export type { Exports as default };
|
|
23
|
-
//# sourceMappingURL=Exports.d.ts.map
|
package/lib/private/wasm/I32.js
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type API from "#wasm/API";
|
|
2
|
-
import type Exports from "#wasm/Exports";
|
|
3
|
-
import type I32 from "#wasm/I32";
|
|
4
|
-
type Instantiation<TRequest = I32, TResponse = I32> = {
|
|
5
|
-
api: API;
|
|
6
|
-
exports: Exports<TRequest, TResponse>;
|
|
7
|
-
memory: WebAssembly.Memory;
|
|
8
|
-
setPayload(value: Uint8Array): void;
|
|
9
|
-
sockets: Map<bigint, any>;
|
|
10
|
-
};
|
|
11
|
-
export type { Instantiation as default };
|
|
12
|
-
//# sourceMappingURL=Instantiation.d.ts.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import BufferView from "@rcompat/bufferview";
|
|
2
|
-
declare function decodeJson(view: BufferView): any;
|
|
3
|
-
declare namespace decodeJson {
|
|
4
|
-
var from: (buffer: ArrayBufferLike | ArrayBufferView<ArrayBufferLike>, offset?: number | undefined, byteLength?: number | undefined) => any;
|
|
5
|
-
}
|
|
6
|
-
export default decodeJson;
|
|
7
|
-
//# sourceMappingURL=decode-json.d.ts.map
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import decodeString from "#wasm/decode-string";
|
|
2
|
-
import BufferView from "@rcompat/bufferview";
|
|
3
|
-
function decodeJson(view) {
|
|
4
|
-
return JSON.parse(decodeString(view));
|
|
5
|
-
}
|
|
6
|
-
;
|
|
7
|
-
decodeJson.from = (...source) => {
|
|
8
|
-
return decodeJson(new BufferView(...source));
|
|
9
|
-
};
|
|
10
|
-
export default decodeJson;
|
|
11
|
-
//# sourceMappingURL=decode-json.js.map
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import assert from "@rcompat/assert";
|
|
2
|
-
const NONE = 0;
|
|
3
|
-
const SOME = 1;
|
|
4
|
-
const decodeOption = (kind, source) => {
|
|
5
|
-
const option = source.readU32();
|
|
6
|
-
assert(option === NONE || option === SOME, "Error decoding option, invalid option value.");
|
|
7
|
-
return option === SOME ? kind(source) : void 0;
|
|
8
|
-
};
|
|
9
|
-
export default decodeOption;
|
|
10
|
-
//# sourceMappingURL=decode-option.js.map
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import type ResponseFunction from "#response/ResponseFunction";
|
|
2
|
-
import type Instantiation from "#wasm/Instantiation";
|
|
3
|
-
import type BufferView from "@rcompat/bufferview";
|
|
4
|
-
import type Dict from "@rcompat/type/Dict";
|
|
5
|
-
type DecodedResponse = {
|
|
6
|
-
callback: (api: Instantiation) => ResponseFunction;
|
|
7
|
-
type: "web_socket_upgrade";
|
|
8
|
-
} | {
|
|
9
|
-
headers: Dict<string>;
|
|
10
|
-
status?: number | undefined;
|
|
11
|
-
text: string;
|
|
12
|
-
type: "text";
|
|
13
|
-
} | {
|
|
14
|
-
type: "blob" | "error" | "json" | "redirect" | "uri" | "view";
|
|
15
|
-
value: any;
|
|
16
|
-
};
|
|
17
|
-
declare const decodeResponse: (source: BufferView) => DecodedResponse | undefined;
|
|
18
|
-
export default decodeResponse;
|
|
19
|
-
//# sourceMappingURL=decode-response.d.ts.map
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
import error from "#response/error";
|
|
2
|
-
import redirect from "#response/redirect";
|
|
3
|
-
import view from "#response/view";
|
|
4
|
-
import decodeBytes from "#wasm/decode-bytes";
|
|
5
|
-
import decodeJson from "#wasm/decode-json";
|
|
6
|
-
import decodeOption from "#wasm/decode-option";
|
|
7
|
-
import decodeString from "#wasm/decode-string";
|
|
8
|
-
import openWebsocket from "#wasm/open-websocket";
|
|
9
|
-
import assert from "@rcompat/assert";
|
|
10
|
-
const RESPONSE_TEXT = 0;
|
|
11
|
-
const RESPONSE_JSON = 1;
|
|
12
|
-
const RESPONSE_BLOB = 2;
|
|
13
|
-
const RESPONSE_VIEW = 3;
|
|
14
|
-
const RESPONSE_ERROR = 4;
|
|
15
|
-
const RESPONSE_REDIRECT = 5;
|
|
16
|
-
const RESPONSE_URI = 6;
|
|
17
|
-
const RESPONSE_WEB_SOCKET_UPGRADE = 7;
|
|
18
|
-
const decodeResponse = (source) => {
|
|
19
|
-
const responseKind = source.readU32();
|
|
20
|
-
assert(responseKind === RESPONSE_BLOB
|
|
21
|
-
|| responseKind === RESPONSE_ERROR
|
|
22
|
-
|| responseKind === RESPONSE_JSON
|
|
23
|
-
|| responseKind === RESPONSE_REDIRECT
|
|
24
|
-
|| responseKind === RESPONSE_TEXT
|
|
25
|
-
|| responseKind === RESPONSE_URI
|
|
26
|
-
|| responseKind === RESPONSE_VIEW
|
|
27
|
-
|| responseKind === RESPONSE_WEB_SOCKET_UPGRADE, "Invalid response kind.");
|
|
28
|
-
switch (responseKind) {
|
|
29
|
-
case RESPONSE_TEXT: {
|
|
30
|
-
const text = decodeString(source);
|
|
31
|
-
const status = source.readU32();
|
|
32
|
-
const headers = decodeJson(source);
|
|
33
|
-
return { headers, status, text, type: "text" };
|
|
34
|
-
}
|
|
35
|
-
case RESPONSE_JSON:
|
|
36
|
-
return { type: "json", value: decodeJson(source) };
|
|
37
|
-
case RESPONSE_BLOB: {
|
|
38
|
-
const buffer = decodeBytes(source);
|
|
39
|
-
const contentType = decodeOption(decodeString, source);
|
|
40
|
-
return {
|
|
41
|
-
type: "blob",
|
|
42
|
-
value: contentType
|
|
43
|
-
? new Blob([buffer], { type: contentType })
|
|
44
|
-
: new Blob([buffer]),
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
case RESPONSE_VIEW: {
|
|
48
|
-
const name = decodeString(source);
|
|
49
|
-
const props = decodeJson(source) || void 0;
|
|
50
|
-
const options = decodeJson(source) || void 0;
|
|
51
|
-
return {
|
|
52
|
-
type: "view",
|
|
53
|
-
value: view(name, props, options),
|
|
54
|
-
};
|
|
55
|
-
}
|
|
56
|
-
case RESPONSE_ERROR: {
|
|
57
|
-
const body = decodeOption(decodeString, source);
|
|
58
|
-
const status = source.readU32();
|
|
59
|
-
const page = decodeOption(decodeString, source);
|
|
60
|
-
return {
|
|
61
|
-
type: "error",
|
|
62
|
-
value: error({ body, page, status }),
|
|
63
|
-
};
|
|
64
|
-
}
|
|
65
|
-
case RESPONSE_REDIRECT: {
|
|
66
|
-
const to = decodeString(source);
|
|
67
|
-
const status = decodeOption(source => source.readU32(), source);
|
|
68
|
-
return {
|
|
69
|
-
type: "redirect",
|
|
70
|
-
value: redirect(to, status),
|
|
71
|
-
};
|
|
72
|
-
}
|
|
73
|
-
case RESPONSE_URI: {
|
|
74
|
-
const str = decodeString(source);
|
|
75
|
-
return {
|
|
76
|
-
type: "uri",
|
|
77
|
-
value: new URL(str),
|
|
78
|
-
};
|
|
79
|
-
}
|
|
80
|
-
case RESPONSE_WEB_SOCKET_UPGRADE: {
|
|
81
|
-
const id = source.readU64();
|
|
82
|
-
return {
|
|
83
|
-
callback: openWebsocket(id),
|
|
84
|
-
type: "web_socket_upgrade",
|
|
85
|
-
};
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
};
|
|
89
|
-
export default decodeResponse;
|
|
90
|
-
//# sourceMappingURL=decode-response.js.map
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import decodeBytes from "#wasm/decode-bytes";
|
|
2
|
-
import decodeString from "#wasm/decode-string";
|
|
3
|
-
import assert from "@rcompat/assert";
|
|
4
|
-
import BufferView from "@rcompat/bufferview";
|
|
5
|
-
const WEBSOCKET_MESSAGE_KIND_STRING = 0;
|
|
6
|
-
const WEBSOCKET_MESSAGE_KIND_BYTES = 1;
|
|
7
|
-
export default function decodeWebsocketSend(...source) {
|
|
8
|
-
const bufferView = new BufferView(...source);
|
|
9
|
-
const id = bufferView.readU64();
|
|
10
|
-
const kind = bufferView.readU32();
|
|
11
|
-
assert(kind === WEBSOCKET_MESSAGE_KIND_STRING
|
|
12
|
-
|| kind === WEBSOCKET_MESSAGE_KIND_BYTES, "Invalid websocket message kind.");
|
|
13
|
-
const message = kind === WEBSOCKET_MESSAGE_KIND_STRING
|
|
14
|
-
? decodeString(bufferView)
|
|
15
|
-
: decodeBytes(bufferView);
|
|
16
|
-
return { id, message };
|
|
17
|
-
}
|
|
18
|
-
;
|
|
19
|
-
//# sourceMappingURL=decode-websocket-send.js.map
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type RequestFacade from "#request/RequestFacade";
|
|
2
|
-
import BufferView from "@rcompat/bufferview";
|
|
3
|
-
declare const encodeRequest: {
|
|
4
|
-
(request: RequestFacade): Promise<Uint8Array<ArrayBuffer>>;
|
|
5
|
-
sizeOf: (request: RequestFacade) => number;
|
|
6
|
-
into: (request: RequestFacade, view: BufferView) => Promise<void>;
|
|
7
|
-
};
|
|
8
|
-
export default encodeRequest;
|
|
9
|
-
//# sourceMappingURL=encode-request.d.ts.map
|