silgi 0.43.28 → 0.50.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/README.md +103 -1
- package/dist/_virtual/_rolldown/runtime.mjs +5 -0
- package/dist/adapters/_fetch-adapter.d.mts +18 -0
- package/dist/adapters/_fetch-adapter.mjs +53 -0
- package/dist/adapters/astro.d.mts +15 -0
- package/dist/adapters/astro.mjs +31 -0
- package/dist/adapters/aws-lambda.d.mts +42 -0
- package/dist/adapters/aws-lambda.mjs +92 -0
- package/dist/adapters/express.d.mts +16 -0
- package/dist/adapters/express.mjs +110 -0
- package/dist/adapters/message-port.d.mts +42 -0
- package/dist/adapters/message-port.mjs +132 -0
- package/dist/adapters/nestjs.d.mts +25 -0
- package/dist/adapters/nestjs.mjs +83 -0
- package/dist/adapters/nextjs.d.mts +14 -0
- package/dist/adapters/nextjs.mjs +29 -0
- package/dist/adapters/peer.d.mts +27 -0
- package/dist/adapters/peer.mjs +36 -0
- package/dist/adapters/remix.d.mts +15 -0
- package/dist/adapters/remix.mjs +30 -0
- package/dist/adapters/solidstart.d.mts +12 -0
- package/dist/adapters/solidstart.mjs +29 -0
- package/dist/adapters/sveltekit.d.mts +14 -0
- package/dist/adapters/sveltekit.mjs +30 -0
- package/dist/broker/index.d.mts +62 -0
- package/dist/broker/index.mjs +153 -0
- package/dist/broker/nats.d.mts +33 -0
- package/dist/broker/nats.mjs +31 -0
- package/dist/broker/redis.d.mts +51 -0
- package/dist/broker/redis.mjs +92 -0
- package/dist/builder.d.mts +55 -0
- package/dist/builder.mjs +70 -0
- package/dist/callable.d.mts +19 -0
- package/dist/callable.mjs +42 -0
- package/dist/caller.mjs +90 -0
- package/dist/client/adapters/fetch/index.d.mts +15 -0
- package/dist/client/adapters/fetch/index.mjs +57 -0
- package/dist/client/adapters/ofetch/index.d.mts +55 -0
- package/dist/client/adapters/ofetch/index.mjs +91 -0
- package/dist/client/adapters/websocket/index.d.mts +20 -0
- package/dist/client/adapters/websocket/index.mjs +101 -0
- package/dist/client/client.d.mts +37 -0
- package/dist/client/client.mjs +80 -0
- package/dist/client/consume.d.mts +50 -0
- package/dist/client/consume.mjs +66 -0
- package/dist/client/dynamic-link.d.mts +16 -0
- package/dist/client/dynamic-link.mjs +19 -0
- package/dist/client/index.d.mts +6 -0
- package/dist/client/index.mjs +5 -0
- package/dist/client/interceptor.d.mts +31 -0
- package/dist/client/interceptor.mjs +34 -0
- package/dist/client/openapi.d.mts +29 -0
- package/dist/client/openapi.mjs +89 -0
- package/dist/client/plugins/batch.d.mts +26 -0
- package/dist/client/plugins/batch.mjs +64 -0
- package/dist/client/plugins/circuit-breaker.d.mts +24 -0
- package/dist/client/plugins/circuit-breaker.mjs +60 -0
- package/dist/client/plugins/csrf.d.mts +13 -0
- package/dist/client/plugins/csrf.mjs +20 -0
- package/dist/client/plugins/dedupe.d.mts +10 -0
- package/dist/client/plugins/dedupe.mjs +28 -0
- package/dist/client/plugins/index.d.mts +8 -0
- package/dist/client/plugins/index.mjs +8 -0
- package/dist/client/plugins/otel.d.mts +12 -0
- package/dist/client/plugins/otel.mjs +27 -0
- package/dist/client/plugins/retry.d.mts +34 -0
- package/dist/client/plugins/retry.mjs +79 -0
- package/dist/client/plugins/timeout.d.mts +10 -0
- package/dist/client/plugins/timeout.mjs +14 -0
- package/dist/client/server.d.mts +16 -0
- package/dist/client/server.mjs +59 -0
- package/dist/client/types.d.mts +29 -0
- package/dist/codec/devalue.d.mts +21 -0
- package/dist/codec/devalue.mjs +33 -0
- package/dist/codec/msgpack.d.mts +18 -0
- package/dist/codec/msgpack.mjs +45 -0
- package/dist/codec/sanitize.mjs +38 -0
- package/dist/codegen/emitters.d.mts +51 -0
- package/dist/codegen/emitters.mjs +143 -0
- package/dist/codegen/generate.d.mts +25 -0
- package/dist/codegen/generate.mjs +224 -0
- package/dist/codegen/index.d.mts +44 -0
- package/dist/codegen/index.mjs +103 -0
- package/dist/codegen/parse.d.mts +124 -0
- package/dist/codegen/parse.mjs +135 -0
- package/dist/codegen/preserve.d.mts +21 -0
- package/dist/codegen/preserve.mjs +62 -0
- package/dist/codegen/schema-to-code.d.mts +57 -0
- package/dist/codegen/schema-to-code.mjs +167 -0
- package/dist/compile.d.mts +46 -0
- package/dist/compile.mjs +332 -0
- package/dist/core/codec.mjs +67 -0
- package/dist/core/context-bridge.mjs +11 -0
- package/dist/core/dispatch.mjs +62 -0
- package/dist/core/error.d.mts +99 -60
- package/dist/core/error.mjs +125 -92
- package/dist/core/handler.d.mts +6 -0
- package/dist/core/handler.mjs +153 -0
- package/dist/core/input.mjs +49 -0
- package/dist/core/iterator.d.mts +17 -0
- package/dist/core/iterator.mjs +79 -0
- package/dist/core/router-utils.mjs +22 -0
- package/dist/core/schema.d.mts +20 -0
- package/dist/core/schema.mjs +33 -0
- package/dist/core/serve.d.mts +51 -0
- package/dist/core/serve.mjs +76 -0
- package/dist/core/sse.d.mts +18 -0
- package/dist/core/sse.mjs +110 -0
- package/dist/core/storage.d.mts +17 -4
- package/dist/core/storage.mjs +60 -13
- package/dist/core/task.d.mts +62 -0
- package/dist/core/task.mjs +165 -0
- package/dist/core/trace-map.d.mts +13 -0
- package/dist/core/trace-map.mjs +13 -0
- package/dist/core/url.mjs +28 -0
- package/dist/core/utils.mjs +24 -0
- package/dist/index.d.mts +17 -21
- package/dist/index.mjs +14 -22
- package/dist/integrations/ai/index.d.mts +25 -0
- package/dist/integrations/ai/index.mjs +117 -0
- package/dist/integrations/better-auth/index.d.mts +41 -0
- package/dist/integrations/better-auth/index.mjs +331 -0
- package/dist/integrations/drizzle/index.d.mts +27 -0
- package/dist/integrations/drizzle/index.mjs +285 -0
- package/dist/integrations/hey-api/index.d.mts +2 -0
- package/dist/integrations/hey-api/index.mjs +2 -0
- package/dist/integrations/hey-api/to-client.d.mts +20 -0
- package/dist/integrations/hey-api/to-client.mjs +39 -0
- package/dist/integrations/pinia-colada/general-utils.d.mts +13 -0
- package/dist/integrations/pinia-colada/general-utils.mjs +9 -0
- package/dist/integrations/pinia-colada/index.d.mts +6 -0
- package/dist/integrations/pinia-colada/index.mjs +5 -0
- package/dist/integrations/pinia-colada/key.d.mts +11 -0
- package/dist/integrations/pinia-colada/key.mjs +11 -0
- package/dist/integrations/pinia-colada/procedure-utils.d.mts +25 -0
- package/dist/integrations/pinia-colada/procedure-utils.mjs +33 -0
- package/dist/integrations/pinia-colada/router-utils.d.mts +17 -0
- package/dist/integrations/pinia-colada/router-utils.mjs +30 -0
- package/dist/integrations/pinia-colada/types.d.mts +25 -0
- package/dist/integrations/react/index.d.mts +83 -0
- package/dist/integrations/react/index.mjs +196 -0
- package/dist/integrations/tanstack-query/index.d.mts +120 -0
- package/dist/integrations/tanstack-query/index.mjs +100 -0
- package/dist/integrations/tanstack-query/ssr.d.mts +60 -0
- package/dist/integrations/tanstack-query/ssr.mjs +102 -0
- package/dist/integrations/zod/converter.d.mts +75 -0
- package/dist/integrations/zod/converter.mjs +345 -0
- package/dist/integrations/zod/index.d.mts +2 -0
- package/dist/integrations/zod/index.mjs +2 -0
- package/dist/lazy.d.mts +22 -0
- package/dist/lazy.mjs +34 -0
- package/dist/lifecycle.d.mts +36 -0
- package/dist/lifecycle.mjs +46 -0
- package/dist/map-input.d.mts +17 -0
- package/dist/map-input.mjs +47 -0
- package/dist/plugins/analytics/accumulator.d.mts +24 -0
- package/dist/plugins/analytics/accumulator.mjs +91 -0
- package/dist/plugins/analytics/alerts.d.mts +59 -0
- package/dist/plugins/analytics/alerts.mjs +140 -0
- package/dist/plugins/analytics/collector.d.mts +38 -0
- package/dist/plugins/analytics/collector.mjs +275 -0
- package/dist/plugins/analytics/cost.d.mts +61 -0
- package/dist/plugins/analytics/cost.mjs +97 -0
- package/dist/plugins/analytics/export.d.mts +7 -0
- package/dist/plugins/analytics/export.mjs +86 -0
- package/dist/plugins/analytics/normalize.mjs +144 -0
- package/dist/plugins/analytics/query.mjs +164 -0
- package/dist/plugins/analytics/request-id.mjs +34 -0
- package/dist/plugins/analytics/routes.d.mts +11 -0
- package/dist/plugins/analytics/routes.mjs +211 -0
- package/dist/plugins/analytics/sse.d.mts +31 -0
- package/dist/plugins/analytics/sse.mjs +74 -0
- package/dist/plugins/analytics/store.mjs +103 -0
- package/dist/plugins/analytics/timeseries.d.mts +50 -0
- package/dist/plugins/analytics/timeseries.mjs +169 -0
- package/dist/plugins/analytics/trace.d.mts +48 -0
- package/dist/plugins/analytics/trace.mjs +83 -0
- package/dist/plugins/analytics/types.d.mts +145 -0
- package/dist/plugins/analytics/types.mjs +40 -0
- package/dist/plugins/analytics/utils.d.mts +4 -0
- package/dist/plugins/analytics/utils.mjs +56 -0
- package/dist/plugins/analytics.d.mts +18 -0
- package/dist/plugins/analytics.mjs +188 -0
- package/dist/plugins/batch-server.d.mts +20 -0
- package/dist/plugins/batch-server.mjs +91 -0
- package/dist/plugins/body-limit.d.mts +19 -0
- package/dist/plugins/body-limit.mjs +49 -0
- package/dist/plugins/cache.d.mts +170 -0
- package/dist/plugins/cache.mjs +212 -0
- package/dist/plugins/coerce.d.mts +24 -0
- package/dist/plugins/coerce.mjs +70 -0
- package/dist/plugins/cookies.d.mts +14 -0
- package/dist/plugins/cookies.mjs +48 -0
- package/dist/plugins/cors.d.mts +43 -0
- package/dist/plugins/cors.mjs +62 -0
- package/dist/plugins/file-upload.d.mts +38 -0
- package/dist/plugins/file-upload.mjs +102 -0
- package/dist/plugins/index.d.mts +18 -0
- package/dist/plugins/index.mjs +17 -0
- package/dist/plugins/otel.d.mts +35 -0
- package/dist/plugins/otel.mjs +40 -0
- package/dist/plugins/pino.d.mts +60 -0
- package/dist/plugins/pino.mjs +42 -0
- package/dist/plugins/pubsub.d.mts +50 -0
- package/dist/plugins/pubsub.mjs +53 -0
- package/dist/plugins/ratelimit.d.mts +53 -0
- package/dist/plugins/ratelimit.mjs +92 -0
- package/dist/plugins/signing.d.mts +41 -0
- package/dist/plugins/signing.mjs +118 -0
- package/dist/plugins/strict-get.d.mts +10 -0
- package/dist/plugins/strict-get.mjs +33 -0
- package/dist/scalar.d.mts +49 -0
- package/dist/scalar.mjs +311 -0
- package/dist/silgi.d.mts +144 -0
- package/dist/silgi.mjs +164 -0
- package/dist/trpc-interop.d.mts +22 -0
- package/dist/trpc-interop.mjs +68 -0
- package/dist/types.d.mts +108 -0
- package/dist/ws.d.mts +88 -0
- package/dist/ws.mjs +205 -0
- package/lib/dashboard/index.html +120 -0
- package/lib/ocache.d.mts +1 -0
- package/lib/ocache.mjs +1 -0
- package/lib/ofetch.d.mts +1 -0
- package/lib/ofetch.mjs +1 -0
- package/lib/srvx.d.mts +1 -0
- package/lib/srvx.mjs +1 -0
- package/lib/unstorage.d.mts +1 -0
- package/lib/unstorage.mjs +1 -0
- package/package.json +314 -150
- package/dist/build.d.mts +0 -3
- package/dist/build.mjs +0 -4
- package/dist/cli/build/build.mjs +0 -15
- package/dist/cli/build/dev.d.mts +0 -10
- package/dist/cli/build/dev.mjs +0 -91
- package/dist/cli/build/prepare.d.mts +0 -6
- package/dist/cli/build/prepare.mjs +0 -15
- package/dist/cli/commands/commands.mjs +0 -90
- package/dist/cli/commands/env.mjs +0 -53
- package/dist/cli/commands/init.mjs +0 -84
- package/dist/cli/commands/install.mjs +0 -52
- package/dist/cli/commands/prepare.mjs +0 -65
- package/dist/cli/commands/reset.mjs +0 -46
- package/dist/cli/commands/run.mjs +0 -31
- package/dist/cli/commands/watch.mjs +0 -153
- package/dist/cli/config/defaults.mjs +0 -117
- package/dist/cli/config/index.d.mts +0 -3
- package/dist/cli/config/index.mjs +0 -4
- package/dist/cli/config/loader.d.mts +0 -6
- package/dist/cli/config/loader.mjs +0 -71
- package/dist/cli/config/resolvers/compatibility.mjs +0 -71
- package/dist/cli/config/resolvers/imports.mjs +0 -35
- package/dist/cli/config/resolvers/paths.mjs +0 -98
- package/dist/cli/config/resolvers/storage.mjs +0 -23
- package/dist/cli/config/resolvers/url.mjs +0 -9
- package/dist/cli/config/types.d.mts +0 -14
- package/dist/cli/config/types.mjs +0 -147
- package/dist/cli/core/apiful.mjs +0 -36
- package/dist/cli/core/devServer.mjs +0 -10
- package/dist/cli/core/env.mjs +0 -68
- package/dist/cli/core/installPackage.mjs +0 -60
- package/dist/cli/core/runtimeConfig.mjs +0 -70
- package/dist/cli/core/scan.mjs +0 -35
- package/dist/cli/core/silgi.mjs +0 -111
- package/dist/cli/framework/emptyFramework.mjs +0 -7
- package/dist/cli/framework/h3.mjs +0 -55
- package/dist/cli/framework/index.mjs +0 -15
- package/dist/cli/framework/nitro.mjs +0 -24
- package/dist/cli/framework/nuxt.mjs +0 -10
- package/dist/cli/index.d.mts +0 -1
- package/dist/cli/index.mjs +0 -29
- package/dist/cli/module/exportScan.mjs +0 -180
- package/dist/cli/module/install.mjs +0 -49
- package/dist/cli/module/scan.mjs +0 -193
- package/dist/cli/scan/prepareCommands.mjs +0 -40
- package/dist/cli/scan/prepareConfigs.mjs +0 -33
- package/dist/cli/scan/prepareCoreFile.mjs +0 -118
- package/dist/cli/scan/prepareScanFile.mjs +0 -59
- package/dist/cli/scan/prepareSchema.mjs +0 -128
- package/dist/cli/scan/scanExportFile.mjs +0 -288
- package/dist/cli/scan/writeCoreFile.mjs +0 -22
- package/dist/cli/scan/writeTypesAndFiles.mjs +0 -72
- package/dist/cli/utils/cancel.mjs +0 -14
- package/dist/cli/utils/common.mjs +0 -15
- package/dist/cli/utils/compatibility.mjs +0 -33
- package/dist/cli/utils/debug.mjs +0 -11
- package/dist/cli/utils/ignore.mjs +0 -56
- package/dist/cli/utils/processManager.mjs +0 -170
- package/dist/cli/utils/readScanFile.mjs +0 -58
- package/dist/cli/utils/storage.mjs +0 -23
- package/dist/core/context.d.mts +0 -30
- package/dist/core/context.mjs +0 -32
- package/dist/core/createSilgi.d.mts +0 -6
- package/dist/core/createSilgi.mjs +0 -153
- package/dist/core/event.d.mts +0 -26
- package/dist/core/event.mjs +0 -44
- package/dist/core/index.d.mts +0 -25
- package/dist/core/index.mjs +0 -30
- package/dist/core/orchestrate.mjs +0 -115
- package/dist/core/response.d.mts +0 -20
- package/dist/core/response.mjs +0 -105
- package/dist/core/silgi.d.mts +0 -19
- package/dist/core/silgi.mjs +0 -141
- package/dist/core/silgiApp.d.mts +0 -9
- package/dist/core/silgiApp.mjs +0 -23
- package/dist/core/unctx.d.mts +0 -21
- package/dist/core/unctx.mjs +0 -35
- package/dist/core/utils/event-stream.d.mts +0 -53
- package/dist/core/utils/event-stream.mjs +0 -38
- package/dist/core/utils/event.d.mts +0 -8
- package/dist/core/utils/event.mjs +0 -12
- package/dist/core/utils/internal/event-stream.d.mts +0 -45
- package/dist/core/utils/internal/event-stream.mjs +0 -137
- package/dist/core/utils/internal/obj.mjs +0 -9
- package/dist/core/utils/internal/object.mjs +0 -29
- package/dist/core/utils/internal/query.mjs +0 -73
- package/dist/core/utils/internal/req.mjs +0 -35
- package/dist/core/utils/merge.d.mts +0 -14
- package/dist/core/utils/merge.mjs +0 -27
- package/dist/core/utils/middleware.d.mts +0 -14
- package/dist/core/utils/middleware.mjs +0 -12
- package/dist/core/utils/request.mjs +0 -35
- package/dist/core/utils/resolver.d.mts +0 -7
- package/dist/core/utils/resolver.mjs +0 -29
- package/dist/core/utils/runtime.d.mts +0 -7
- package/dist/core/utils/runtime.mjs +0 -20
- package/dist/core/utils/sanitize.mjs +0 -22
- package/dist/core/utils/schema.d.mts +0 -34
- package/dist/core/utils/schema.mjs +0 -33
- package/dist/core/utils/service.d.mts +0 -13
- package/dist/core/utils/service.mjs +0 -19
- package/dist/core/utils/shared.d.mts +0 -6
- package/dist/core/utils/shared.mjs +0 -7
- package/dist/core/utils/storage.d.mts +0 -24
- package/dist/core/utils/storage.mjs +0 -54
- package/dist/kit/add/add-commands.d.mts +0 -6
- package/dist/kit/add/add-commands.mjs +0 -12
- package/dist/kit/add/add-core-file.d.mts +0 -9
- package/dist/kit/add/add-core-file.mjs +0 -11
- package/dist/kit/add/add-imports.d.mts +0 -14
- package/dist/kit/add/add-imports.mjs +0 -56
- package/dist/kit/add/add-npm.d.mts +0 -14
- package/dist/kit/add/add-npm.mjs +0 -23
- package/dist/kit/define.d.mts +0 -28
- package/dist/kit/define.mjs +0 -25
- package/dist/kit/errors.d.mts +0 -6
- package/dist/kit/errors.mjs +0 -11
- package/dist/kit/esm.d.mts +0 -11
- package/dist/kit/esm.mjs +0 -21
- package/dist/kit/fs.d.mts +0 -4
- package/dist/kit/fs.mjs +0 -13
- package/dist/kit/function-utils.d.mts +0 -27
- package/dist/kit/function-utils.mjs +0 -75
- package/dist/kit/gen.d.mts +0 -5
- package/dist/kit/gen.mjs +0 -26
- package/dist/kit/hash.d.mts +0 -4
- package/dist/kit/hash.mjs +0 -10
- package/dist/kit/index.d.mts +0 -22
- package/dist/kit/index.mjs +0 -23
- package/dist/kit/isFramework.d.mts +0 -6
- package/dist/kit/isFramework.mjs +0 -21
- package/dist/kit/logger.d.mts +0 -6
- package/dist/kit/logger.mjs +0 -10
- package/dist/kit/migration.d.mts +0 -113
- package/dist/kit/migration.mjs +0 -301
- package/dist/kit/module.d.mts +0 -14
- package/dist/kit/module.mjs +0 -53
- package/dist/kit/path.d.mts +0 -7
- package/dist/kit/path.mjs +0 -26
- package/dist/kit/preset.d.mts +0 -8
- package/dist/kit/preset.mjs +0 -11
- package/dist/kit/resolve.d.mts +0 -37
- package/dist/kit/resolve.mjs +0 -82
- package/dist/kit/template.d.mts +0 -19
- package/dist/kit/template.mjs +0 -91
- package/dist/kit/useRequest.d.mts +0 -19
- package/dist/kit/useRequest.mjs +0 -63
- package/dist/kit/utils.d.mts +0 -34
- package/dist/kit/utils.mjs +0 -91
- package/dist/package.mjs +0 -176
- package/dist/presets/_all.gen.d.mts +0 -6
- package/dist/presets/_all.gen.mjs +0 -18
- package/dist/presets/_resolve.d.mts +0 -12
- package/dist/presets/_resolve.mjs +0 -57
- package/dist/presets/_types.gen.d.mts +0 -8
- package/dist/presets/_types.gen.mjs +0 -5
- package/dist/presets/h3/preset.d.mts +0 -6
- package/dist/presets/h3/preset.mjs +0 -35
- package/dist/presets/hono/preset.d.mts +0 -6
- package/dist/presets/hono/preset.mjs +0 -30
- package/dist/presets/index.d.mts +0 -3
- package/dist/presets/index.mjs +0 -3
- package/dist/presets/nitro/preset.d.mts +0 -6
- package/dist/presets/nitro/preset.mjs +0 -37
- package/dist/presets/npmpackage/preset.d.mts +0 -6
- package/dist/presets/npmpackage/preset.mjs +0 -29
- package/dist/presets/nuxt/preset.d.mts +0 -6
- package/dist/presets/nuxt/preset.mjs +0 -41
- package/dist/runtime/index.d.mts +0 -4
- package/dist/runtime/index.mjs +0 -5
- package/dist/runtime/internal/config.d.mts +0 -11
- package/dist/runtime/internal/config.mjs +0 -97
- package/dist/runtime/internal/debug.d.mts +0 -6
- package/dist/runtime/internal/debug.mjs +0 -11
- package/dist/runtime/internal/defu.d.mts +0 -4
- package/dist/runtime/internal/defu.mjs +0 -9
- package/dist/runtime/internal/index.d.mts +0 -7
- package/dist/runtime/internal/index.mjs +0 -8
- package/dist/runtime/internal/nitro.d.mts +0 -6
- package/dist/runtime/internal/nitro.mjs +0 -36
- package/dist/runtime/internal/nuxt.d.mts +0 -12
- package/dist/runtime/internal/nuxt.mjs +0 -16
- package/dist/runtime/internal/ofetch.d.mts +0 -8
- package/dist/runtime/internal/ofetch.mjs +0 -39
- package/dist/runtime/internal/plugin.d.mts +0 -7
- package/dist/runtime/internal/plugin.mjs +0 -8
- package/dist/types/cliConfig.d.mts +0 -288
- package/dist/types/cliConfig.mjs +0 -0
- package/dist/types/cliHooks.d.mts +0 -142
- package/dist/types/cliHooks.mjs +0 -0
- package/dist/types/compatibility.d.mts +0 -13
- package/dist/types/compatibility.mjs +0 -0
- package/dist/types/config.d.mts +0 -46
- package/dist/types/config.mjs +0 -0
- package/dist/types/dotenv.d.mts +0 -29
- package/dist/types/dotenv.mjs +0 -0
- package/dist/types/event.d.mts +0 -63
- package/dist/types/event.mjs +0 -0
- package/dist/types/global.d.mts +0 -24
- package/dist/types/global.mjs +0 -0
- package/dist/types/helper.d.mts +0 -25
- package/dist/types/helper.mjs +0 -0
- package/dist/types/hooks.d.mts +0 -37
- package/dist/types/hooks.mjs +0 -0
- package/dist/types/index.d.mts +0 -26
- package/dist/types/index.mjs +0 -0
- package/dist/types/kits.d.mts +0 -32
- package/dist/types/kits.mjs +0 -0
- package/dist/types/middleware.d.mts +0 -31
- package/dist/types/middleware.mjs +0 -0
- package/dist/types/module.d.mts +0 -102
- package/dist/types/module.mjs +0 -0
- package/dist/types/preset.d.mts +0 -20
- package/dist/types/preset.mjs +0 -0
- package/dist/types/route.d.mts +0 -59
- package/dist/types/route.mjs +0 -0
- package/dist/types/runtime/index.d.mts +0 -5
- package/dist/types/runtime/index.mjs +0 -0
- package/dist/types/runtime/nuxt.d.mts +0 -13
- package/dist/types/runtime/nuxt.mjs +0 -0
- package/dist/types/runtime/ofetch.d.mts +0 -14
- package/dist/types/runtime/ofetch.mjs +0 -0
- package/dist/types/runtime/plugin.d.mts +0 -8
- package/dist/types/runtime/plugin.mjs +0 -0
- package/dist/types/runtime/silgi.d.mts +0 -11
- package/dist/types/runtime/silgi.mjs +0 -0
- package/dist/types/schema.d.mts +0 -86
- package/dist/types/schema.mjs +0 -0
- package/dist/types/service.d.mts +0 -102
- package/dist/types/service.mjs +0 -0
- package/dist/types/shared.d.mts +0 -19
- package/dist/types/shared.mjs +0 -0
- package/dist/types/silgi.d.mts +0 -71
- package/dist/types/silgi.mjs +0 -0
- package/dist/types/silgiCLI.d.mts +0 -118
- package/dist/types/silgiCLI.mjs +0 -0
- package/dist/types/standard-schema.d.mts +0 -61
- package/dist/types/standard-schema.mjs +0 -0
- package/dist/types/storage.d.mts +0 -30
- package/dist/types/storage.mjs +0 -0
- package/dist/types/tree-kill.d.mts +0 -18
- package/dist/types/tree-kill.mjs +0 -0
- package/lib/config.d.mts +0 -7
- package/lib/config.mjs +0 -5
- package/lib/meta.d.mts +0 -4
- package/lib/meta.mjs +0 -6
- package/lib/runtime-meta.d.mts +0 -4
- package/lib/runtime-meta.mjs +0 -32
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
import { normalizeResult, useSilgi } from "./unctx.mjs";
|
|
2
|
-
import { createError } from "./error.mjs";
|
|
3
|
-
import { generateStorageKey, useSilgiStorage } from "./utils/storage.mjs";
|
|
4
|
-
import { parseRequestInput } from "./utils/internal/req.mjs";
|
|
5
|
-
import { getQuery, getRouterParams } from "./utils/request.mjs";
|
|
6
|
-
import { getUrlPrefix } from "./utils/resolver.mjs";
|
|
7
|
-
import { silgiFetch } from "./silgi.mjs";
|
|
8
|
-
import consola from "consola";
|
|
9
|
-
|
|
10
|
-
//#region src/core/orchestrate.ts
|
|
11
|
-
async function orchestrate(route, event) {
|
|
12
|
-
const silgiCtx = useSilgi();
|
|
13
|
-
const silgiURL = getUrlPrefix(route.route || event.req.url, route.method);
|
|
14
|
-
const input = route.service?.rules?.readBeforeBody === false ? {} : await parseRequestInput(event.req);
|
|
15
|
-
const hookContext = { earlyReturnValue: false };
|
|
16
|
-
const routerParams = input.path || getRouterParams(event);
|
|
17
|
-
const queryParams = input.query || getQuery(event);
|
|
18
|
-
const inputData = {
|
|
19
|
-
args: input,
|
|
20
|
-
query: queryParams,
|
|
21
|
-
path: routerParams
|
|
22
|
-
};
|
|
23
|
-
try {
|
|
24
|
-
if (!route.service) throw createError({
|
|
25
|
-
statusCode: 404,
|
|
26
|
-
statusMessage: "Service not found"
|
|
27
|
-
});
|
|
28
|
-
const cachePromise = cacheExecute(input, route, silgiURL, event);
|
|
29
|
-
const beforeHookPromise = silgiCtx.callHook("fetch:before", {
|
|
30
|
-
url: silgiURL,
|
|
31
|
-
input,
|
|
32
|
-
event,
|
|
33
|
-
route,
|
|
34
|
-
hookContext
|
|
35
|
-
});
|
|
36
|
-
const cacheData = await cachePromise;
|
|
37
|
-
await beforeHookPromise;
|
|
38
|
-
if (hookContext.earlyReturnValue !== false) return hookContext.earlyReturnValue;
|
|
39
|
-
if (cacheData?.success) {
|
|
40
|
-
await silgiCtx.callHook("fetch:after", {
|
|
41
|
-
event,
|
|
42
|
-
url: silgiURL,
|
|
43
|
-
input,
|
|
44
|
-
result: cacheData.data,
|
|
45
|
-
success: true,
|
|
46
|
-
cached: true,
|
|
47
|
-
route,
|
|
48
|
-
hookContext
|
|
49
|
-
});
|
|
50
|
-
return cacheData.data;
|
|
51
|
-
}
|
|
52
|
-
silgiCtx.shared.$fetch = silgiFetch;
|
|
53
|
-
silgiCtx.shared.silgi = silgiCtx;
|
|
54
|
-
const result = await route.service?.handler?.(inputData, silgiCtx.shared, event);
|
|
55
|
-
await silgiCtx.callHook("fetch:after", {
|
|
56
|
-
event,
|
|
57
|
-
url: silgiURL,
|
|
58
|
-
input: inputData,
|
|
59
|
-
result,
|
|
60
|
-
success: true,
|
|
61
|
-
route,
|
|
62
|
-
hookContext
|
|
63
|
-
});
|
|
64
|
-
if (route.service?.storage && cacheData?.cachedKey) await useSilgiStorage(route.service.storage.base).setItem(cacheData.cachedKey, result, route.service.storage.options);
|
|
65
|
-
return result;
|
|
66
|
-
} catch (err) {
|
|
67
|
-
consola.error("Error in orchestrate:", err);
|
|
68
|
-
await silgiCtx.callHook("fetch:error", {
|
|
69
|
-
event,
|
|
70
|
-
input: inputData,
|
|
71
|
-
error: err instanceof Error ? err : new Error(String(err)),
|
|
72
|
-
url: silgiURL,
|
|
73
|
-
route,
|
|
74
|
-
hookContext
|
|
75
|
-
});
|
|
76
|
-
silgiCtx.captureError(silgiCtx, createError({
|
|
77
|
-
message: err instanceof Error ? err.message : String(err),
|
|
78
|
-
statusCode: 500,
|
|
79
|
-
statusMessage: "Internal Server Error",
|
|
80
|
-
cause: err
|
|
81
|
-
}), {
|
|
82
|
-
event,
|
|
83
|
-
tags: ["execute"]
|
|
84
|
-
});
|
|
85
|
-
throw err;
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
async function cacheExecute(input, route, silgiURL, event) {
|
|
89
|
-
if (!route.service || !route.service.storage) return;
|
|
90
|
-
const cacheKey = route.service.storage ? await generateStorageKey({
|
|
91
|
-
url: silgiURL,
|
|
92
|
-
input,
|
|
93
|
-
keyGenerator: route.service.storage.key,
|
|
94
|
-
storageOptions: route.service.storage,
|
|
95
|
-
requestId: event?.requestId
|
|
96
|
-
}) : null;
|
|
97
|
-
if (cacheKey) {
|
|
98
|
-
const cachedResult = await useSilgiStorage(route.service.storage.base).getItem(cacheKey);
|
|
99
|
-
if (cachedResult !== null) return {
|
|
100
|
-
success: true,
|
|
101
|
-
data: normalizeResult(cachedResult),
|
|
102
|
-
cached: true,
|
|
103
|
-
cachedKey: cacheKey
|
|
104
|
-
};
|
|
105
|
-
}
|
|
106
|
-
return {
|
|
107
|
-
success: false,
|
|
108
|
-
data: null,
|
|
109
|
-
cached: false,
|
|
110
|
-
cachedKey: cacheKey
|
|
111
|
-
};
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
//#endregion
|
|
115
|
-
export { orchestrate };
|
package/dist/core/response.d.mts
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { SilgiError$1 as SilgiError } from "./error.mjs";
|
|
2
|
-
import { SilgiEvent } from "silgi/types";
|
|
3
|
-
|
|
4
|
-
//#region src/core/response.d.ts
|
|
5
|
-
type MaybePromise<T> = T | Promise<T>;
|
|
6
|
-
interface SilgiHandlerConfig {
|
|
7
|
-
debug?: boolean;
|
|
8
|
-
// websocket?: WebSocketOptions;
|
|
9
|
-
onError?: (error: SilgiError, event: SilgiEvent) => MaybePromise<void | unknown>;
|
|
10
|
-
onRequest?: (event: SilgiEvent) => MaybePromise<void>;
|
|
11
|
-
onBeforeResponse?: (event: SilgiEvent, response: Response | PreparedResponse) => MaybePromise<void>;
|
|
12
|
-
}
|
|
13
|
-
type PreparedResponse = ResponseInit & {
|
|
14
|
-
body?: BodyInit | null;
|
|
15
|
-
};
|
|
16
|
-
declare const kNotFound: symbol;
|
|
17
|
-
declare const kHandled: symbol;
|
|
18
|
-
declare function handleResponse(val: unknown, event: SilgiEvent, config: SilgiHandlerConfig): Response | Promise<Response>;
|
|
19
|
-
//#endregion
|
|
20
|
-
export { handleResponse as handleResponse$1, kHandled as kHandled$1, kNotFound as kNotFound$1 };
|
package/dist/core/response.mjs
DELETED
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
import { isJSONSerializable } from "./utils/internal/object.mjs";
|
|
2
|
-
import { createError } from "./error.mjs";
|
|
3
|
-
import { FastResponse } from "srvx";
|
|
4
|
-
|
|
5
|
-
//#region src/core/response.ts
|
|
6
|
-
const kNotFound = /* @__PURE__ */ Symbol.for("silgi.notFound");
|
|
7
|
-
const kHandled = /* @__PURE__ */ Symbol.for("silgi.handled");
|
|
8
|
-
function handleResponse(val, event, config) {
|
|
9
|
-
if (val && val instanceof Promise) return val.catch((error) => error).then((resolvedVal) => handleResponse(resolvedVal, event, config));
|
|
10
|
-
const response = prepareResponse(val, event, config);
|
|
11
|
-
if (response instanceof Promise) return handleResponse(response, event, config);
|
|
12
|
-
const { onBeforeResponse } = config;
|
|
13
|
-
return onBeforeResponse ? Promise.resolve(onBeforeResponse(event, response)).then(() => response) : response;
|
|
14
|
-
}
|
|
15
|
-
function prepareResponse(val, event, config, nested) {
|
|
16
|
-
if (val === kHandled) return new FastResponse(null);
|
|
17
|
-
if (val === kNotFound) val = createError({
|
|
18
|
-
statusCode: 404,
|
|
19
|
-
statusMessage: `Cannot find any route matching [${event.req.method}] ${event.url}`
|
|
20
|
-
});
|
|
21
|
-
if (val && val instanceof Error) {
|
|
22
|
-
const error = createError(val);
|
|
23
|
-
const { onError } = config;
|
|
24
|
-
return onError && !nested ? Promise.resolve(onError(error, event)).catch((error$1) => error$1).then((newVal) => prepareResponse(newVal ?? val, event, config, true)) : errorResponse(error, config.debug);
|
|
25
|
-
}
|
|
26
|
-
const eventHeaders = event.res._headers;
|
|
27
|
-
if (!(val instanceof Response)) {
|
|
28
|
-
const res = prepareResponseBody(val, event, config);
|
|
29
|
-
const status = event.res.status;
|
|
30
|
-
return new FastResponse(nullBody(event.req.method, status) ? null : res.body, {
|
|
31
|
-
status,
|
|
32
|
-
statusText: event.res.statusText,
|
|
33
|
-
headers: res.headers && eventHeaders ? mergeHeaders(res.headers, eventHeaders) : res.headers || eventHeaders
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
if (!eventHeaders) return val;
|
|
37
|
-
return new FastResponse(nullBody(event.req.method, val.status) ? null : val.body, {
|
|
38
|
-
status: val.status,
|
|
39
|
-
statusText: val.statusText,
|
|
40
|
-
headers: mergeHeaders(eventHeaders, val.headers)
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
function nullBody(method, status) {
|
|
44
|
-
return method === "HEAD" || status === 100 || status === 101 || status === 102 || status === 204 || status === 205 || status === 304;
|
|
45
|
-
}
|
|
46
|
-
function mergeHeaders(base, merge) {
|
|
47
|
-
const mergedHeaders = new Headers(base);
|
|
48
|
-
for (const [name, value] of merge) if (name === "set-cookie") mergedHeaders.append(name, value);
|
|
49
|
-
else mergedHeaders.set(name, value);
|
|
50
|
-
return mergedHeaders;
|
|
51
|
-
}
|
|
52
|
-
const emptyHeaders = new Headers({ "content-length": "0" });
|
|
53
|
-
const jsonHeaders = new Headers({ "content-type": "application/json;charset=UTF-8" });
|
|
54
|
-
function prepareResponseBody(val, event, config) {
|
|
55
|
-
if (val === null || val === void 0) return {
|
|
56
|
-
body: "",
|
|
57
|
-
headers: emptyHeaders
|
|
58
|
-
};
|
|
59
|
-
const valType = typeof val;
|
|
60
|
-
if (valType === "string") return { body: val };
|
|
61
|
-
if (val instanceof Uint8Array) {
|
|
62
|
-
event.res.headers.set("content-length", val.byteLength.toString());
|
|
63
|
-
return { body: val };
|
|
64
|
-
}
|
|
65
|
-
if (isJSONSerializable(val, valType)) return {
|
|
66
|
-
body: JSON.stringify(val, void 0, config.debug ? 2 : void 0),
|
|
67
|
-
headers: jsonHeaders
|
|
68
|
-
};
|
|
69
|
-
if (valType === "bigint") return {
|
|
70
|
-
body: val.toString(),
|
|
71
|
-
headers: jsonHeaders
|
|
72
|
-
};
|
|
73
|
-
if (val instanceof Blob) {
|
|
74
|
-
const headers = {
|
|
75
|
-
"content-type": val.type,
|
|
76
|
-
"content-length": val.size.toString()
|
|
77
|
-
};
|
|
78
|
-
if ("name" in val) {
|
|
79
|
-
const filename = encodeURIComponent(val.name);
|
|
80
|
-
headers["content-disposition"] = `filename="${filename}"; filename*=UTF-8''${filename}`;
|
|
81
|
-
}
|
|
82
|
-
return {
|
|
83
|
-
body: val.stream(),
|
|
84
|
-
headers
|
|
85
|
-
};
|
|
86
|
-
}
|
|
87
|
-
if (valType === "symbol") return { body: val.toString() };
|
|
88
|
-
if (valType === "function") return { body: `${val.name}()` };
|
|
89
|
-
return { body: val };
|
|
90
|
-
}
|
|
91
|
-
function errorResponse(error, debug) {
|
|
92
|
-
return new FastResponse(JSON.stringify({
|
|
93
|
-
statusCode: error.statusCode,
|
|
94
|
-
statusMessage: error.statusMessage,
|
|
95
|
-
data: error.data,
|
|
96
|
-
stack: debug && error.stack ? error.stack.split("\n").map((l) => l.trim()) : void 0
|
|
97
|
-
}, null, 2), {
|
|
98
|
-
status: error.statusCode,
|
|
99
|
-
statusText: error.statusMessage,
|
|
100
|
-
headers: { "content-type": "application/json; charset=utf-8" }
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
//#endregion
|
|
105
|
-
export { handleResponse, kHandled, kNotFound };
|
package/dist/core/silgi.d.mts
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { MiddlewareSetup, ServiceSetup, ServicesObject, Silgi, SilgiEvent, SilgiRuntimeContext, StandardSchemaV1, WebSocketOptions } from "silgi/types";
|
|
2
|
-
|
|
3
|
-
//#region src/core/silgi.d.ts
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Fetch API for Silgi framework
|
|
7
|
-
*/
|
|
8
|
-
declare function silgiFetch<Service extends ServicesObject = ServicesObject, Path extends keyof Service = keyof Service>(_request: Path, options?: RequestInit, context?: SilgiRuntimeContext): Promise<Response | Promise<Response>>;
|
|
9
|
-
/**
|
|
10
|
-
* Fetch API for Silgi framework using standard Request options
|
|
11
|
-
*/
|
|
12
|
-
declare function silgiFetch(_request: Request | URL, options?: RequestInit & {
|
|
13
|
-
path?: Record<string, any>;
|
|
14
|
-
}, context?: SilgiRuntimeContext): Promise<Response | Promise<Response>>;
|
|
15
|
-
declare function middleware(event: SilgiEvent): Promise<any>;
|
|
16
|
-
declare function handler(event: SilgiEvent): Promise<any>;
|
|
17
|
-
declare function getWebsocket(silgi?: Silgi): WebSocketOptions;
|
|
18
|
-
//#endregion
|
|
19
|
-
export { getWebsocket as getWebsocket$1, handler as handler$1, middleware as middleware$1, silgiFetch as silgiFetch$1 };
|
package/dist/core/silgi.mjs
DELETED
|
@@ -1,141 +0,0 @@
|
|
|
1
|
-
import { useSilgi } from "./unctx.mjs";
|
|
2
|
-
import { createError, isError } from "./error.mjs";
|
|
3
|
-
import { SilgiHttpEvent } from "./event.mjs";
|
|
4
|
-
import { handleResponse, kNotFound } from "./response.mjs";
|
|
5
|
-
import { orchestrate } from "./orchestrate.mjs";
|
|
6
|
-
import { findAllRoutes, findRoute } from "rou3";
|
|
7
|
-
|
|
8
|
-
//#region src/core/silgi.ts
|
|
9
|
-
function getHeader(name, headers) {
|
|
10
|
-
if (!headers) return;
|
|
11
|
-
if (headers instanceof Headers) return headers.get(name);
|
|
12
|
-
const lName = name.toLowerCase();
|
|
13
|
-
if (Array.isArray(headers)) return headers.find((h) => h[0] === name || lName === h[0].toLowerCase())?.[1];
|
|
14
|
-
return headers[name] || headers[lName];
|
|
15
|
-
}
|
|
16
|
-
function substitutePathParams(path, pathParams) {
|
|
17
|
-
if (!pathParams) return path;
|
|
18
|
-
return path.replace(/:(\w+)/g, (_, key) => {
|
|
19
|
-
if (key in pathParams) return encodeURIComponent(pathParams[key]);
|
|
20
|
-
return `:${key}`;
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
function withDuplexIfBody(options) {
|
|
24
|
-
if (!options) return options;
|
|
25
|
-
if (options.body && !("duplex" in options)) return {
|
|
26
|
-
...options,
|
|
27
|
-
duplex: "half"
|
|
28
|
-
};
|
|
29
|
-
return options;
|
|
30
|
-
}
|
|
31
|
-
async function silgiFetch(_request, options, context) {
|
|
32
|
-
let request;
|
|
33
|
-
if (typeof _request === "string") {
|
|
34
|
-
_request = substitutePathParams(_request, options?.pathParams);
|
|
35
|
-
let url = _request;
|
|
36
|
-
if (url[0] === "/") {
|
|
37
|
-
const host = getHeader("Host", options?.headers) || ".";
|
|
38
|
-
const proto = getHeader("X-Forwarded-Proto", options?.headers) === "https" ? "https" : "http";
|
|
39
|
-
url = `${proto}://${host}${url}`;
|
|
40
|
-
}
|
|
41
|
-
request = new Request(url, withDuplexIfBody(options));
|
|
42
|
-
} else if (options || _request instanceof URL) request = new Request(_request, withDuplexIfBody(options));
|
|
43
|
-
else request = _request;
|
|
44
|
-
const silgiEvent = new SilgiHttpEvent(request, context);
|
|
45
|
-
let handlerRes;
|
|
46
|
-
try {
|
|
47
|
-
handlerRes = handler(silgiEvent);
|
|
48
|
-
} catch (error) {
|
|
49
|
-
handlerRes = Promise.reject(error);
|
|
50
|
-
}
|
|
51
|
-
return handleResponse(handlerRes, silgiEvent, {});
|
|
52
|
-
}
|
|
53
|
-
async function middleware(event) {
|
|
54
|
-
const silgiContext = useSilgi();
|
|
55
|
-
event._chain = Promise.resolve(await silgiContext.callHook("request:on", event));
|
|
56
|
-
let _chain = void 0;
|
|
57
|
-
const _middleware = silgiContext.globalMiddlewares;
|
|
58
|
-
if (_middleware) {
|
|
59
|
-
_chain = _chain || Promise.resolve();
|
|
60
|
-
for (const m of _middleware) _chain = _chain.then(async (_previous) => {
|
|
61
|
-
if (_previous !== void 0 && _previous !== kNotFound) return _previous;
|
|
62
|
-
if (!(m.method === event.req.method) || !m.middleware) return;
|
|
63
|
-
try {
|
|
64
|
-
await silgiContext.callHook("middleware:global:on", event, m.middleware);
|
|
65
|
-
} catch (error) {
|
|
66
|
-
if (isError(error)) throw error;
|
|
67
|
-
throw createError({
|
|
68
|
-
message: "Middleware error",
|
|
69
|
-
statusCode: 500,
|
|
70
|
-
statusMessage: "Middleware error",
|
|
71
|
-
cause: error
|
|
72
|
-
});
|
|
73
|
-
}
|
|
74
|
-
return m.middleware.handler?.(event, silgiContext);
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
const _mRouter = silgiContext._middlewareRouter;
|
|
78
|
-
if (_mRouter) {
|
|
79
|
-
const matches = findAllRoutes(_mRouter, event.req.method, event.url.pathname);
|
|
80
|
-
if (matches.length > 0) {
|
|
81
|
-
_chain = _chain || Promise.resolve();
|
|
82
|
-
for (const match of matches) _chain = _chain.then(async (_previous) => {
|
|
83
|
-
if (_previous !== void 0 && _previous !== kNotFound) return _previous;
|
|
84
|
-
if (!(match.data.method === event.req.method) || !match.data.middleware) return;
|
|
85
|
-
event.context.params = match.params;
|
|
86
|
-
event.context.matchedRoute = match.data;
|
|
87
|
-
try {
|
|
88
|
-
await silgiContext.callHook("middleware:router:on", event, match.data.middleware);
|
|
89
|
-
} catch (error) {
|
|
90
|
-
if (isError(error)) throw error;
|
|
91
|
-
throw createError({
|
|
92
|
-
message: "Middleware error",
|
|
93
|
-
statusCode: 500,
|
|
94
|
-
statusMessage: "Middleware error",
|
|
95
|
-
cause: error
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
|
-
return match.data.middleware.handler?.(event, silgiContext);
|
|
99
|
-
});
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
event._chain = _chain;
|
|
103
|
-
if (event._chain) {
|
|
104
|
-
const data = await event._chain;
|
|
105
|
-
if (data !== void 0 && data !== kNotFound) return data;
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
async function handler(event) {
|
|
109
|
-
await middleware(event);
|
|
110
|
-
const silgiContext = useSilgi();
|
|
111
|
-
if (silgiContext.router) {
|
|
112
|
-
const match = findRoute(silgiContext.router, event.req.method, event.url.pathname);
|
|
113
|
-
if (match) if (event._chain) return event._chain.then(async (_previous) => {
|
|
114
|
-
if (_previous !== void 0 && _previous !== kNotFound) return _previous;
|
|
115
|
-
event.context.params = match.params;
|
|
116
|
-
event.context.matchedRoute = match.data;
|
|
117
|
-
return orchestrate(match.data, event);
|
|
118
|
-
});
|
|
119
|
-
else {
|
|
120
|
-
event.context.params = match.params;
|
|
121
|
-
event.context.matchedRoute = match.data;
|
|
122
|
-
return orchestrate(match.data, event);
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
return event._chain ? event._chain.then((_previous) => _previous === void 0 ? kNotFound : _previous) : kNotFound;
|
|
126
|
-
}
|
|
127
|
-
function getWebsocket(silgi = useSilgi()) {
|
|
128
|
-
return {
|
|
129
|
-
...silgi.options.websocket,
|
|
130
|
-
resolve: async (request) => {
|
|
131
|
-
const _method = request.method || "GET";
|
|
132
|
-
const event = new SilgiHttpEvent(request, {});
|
|
133
|
-
const silgiContext = useSilgi();
|
|
134
|
-
const handler$1 = silgiContext.router && findRoute(silgiContext.router, event.req.method, event.url.pathname);
|
|
135
|
-
return handler$1?.data.service?.websocket || {};
|
|
136
|
-
}
|
|
137
|
-
};
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
//#endregion
|
|
141
|
-
export { getWebsocket, handler, middleware, silgiFetch };
|
package/dist/core/silgiApp.d.mts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { UseContext } from "unctx";
|
|
2
|
-
import { SilgiCLI } from "silgi/types";
|
|
3
|
-
|
|
4
|
-
//#region src/core/silgiApp.d.ts
|
|
5
|
-
declare const silgiCLICtx: UseContext<SilgiCLI>;
|
|
6
|
-
declare function useSilgiCLI(): SilgiCLI;
|
|
7
|
-
declare function tryUseSilgiCLI(): SilgiCLI | null;
|
|
8
|
-
//#endregion
|
|
9
|
-
export { silgiCLICtx as silgiCLICtx$1, tryUseSilgiCLI as tryUseSilgiCLI$1, useSilgiCLI as useSilgiCLI$1 };
|
package/dist/core/silgiApp.mjs
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import consola from "consola";
|
|
2
|
-
import { getContext } from "unctx";
|
|
3
|
-
|
|
4
|
-
//#region src/core/silgiApp.ts
|
|
5
|
-
const silgiCLICtx = getContext("silgiCLI");
|
|
6
|
-
function useSilgiCLI() {
|
|
7
|
-
const instance = silgiCLICtx.tryUse();
|
|
8
|
-
if (!instance) throw new Error("Silgi instance is unavailable!");
|
|
9
|
-
return instance;
|
|
10
|
-
}
|
|
11
|
-
async function silgiCLIIClose() {
|
|
12
|
-
const silgi = silgiCLICtx.tryUse();
|
|
13
|
-
if (!silgi) return;
|
|
14
|
-
await silgi.close();
|
|
15
|
-
await silgi.callHook("close", silgi);
|
|
16
|
-
consola.withTag("silgi").success("Process terminated");
|
|
17
|
-
}
|
|
18
|
-
function tryUseSilgiCLI() {
|
|
19
|
-
return silgiCLICtx.tryUse();
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
//#endregion
|
|
23
|
-
export { silgiCLICtx, silgiCLIIClose, tryUseSilgiCLI, useSilgiCLI };
|
package/dist/core/unctx.d.mts
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { UseContext } from "unctx";
|
|
2
|
-
import { Silgi } from "silgi/types";
|
|
3
|
-
|
|
4
|
-
//#region src/core/unctx.d.ts
|
|
5
|
-
declare const silgiCtx: UseContext<Silgi>;
|
|
6
|
-
declare function useSilgi(): Silgi;
|
|
7
|
-
/**
|
|
8
|
-
* Get access to Nuxt instance.
|
|
9
|
-
*
|
|
10
|
-
* Returns null if Nuxt instance is unavailable.
|
|
11
|
-
* @example
|
|
12
|
-
* ```js
|
|
13
|
-
* const silgi = tryUseSilgi()
|
|
14
|
-
* if (silgi) {
|
|
15
|
-
* // Do something
|
|
16
|
-
* }
|
|
17
|
-
* ```
|
|
18
|
-
*/
|
|
19
|
-
declare function tryUseSilgi(): Silgi | null;
|
|
20
|
-
//#endregion
|
|
21
|
-
export { silgiCtx as silgiCtx$1, tryUseSilgi as tryUseSilgi$1, useSilgi as useSilgi$1 };
|
package/dist/core/unctx.mjs
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { getContext } from "unctx";
|
|
2
|
-
|
|
3
|
-
//#region src/core/unctx.ts
|
|
4
|
-
const silgiCtx = getContext("silgi");
|
|
5
|
-
function useSilgi() {
|
|
6
|
-
const instance = silgiCtx.tryUse();
|
|
7
|
-
if (!instance) throw new Error("Silgi instance is unavailable!");
|
|
8
|
-
return instance;
|
|
9
|
-
}
|
|
10
|
-
function normalizeResult(result) {
|
|
11
|
-
if (Array.isArray(result)) return [...result];
|
|
12
|
-
if (result && typeof result === "object") {
|
|
13
|
-
if (Object.keys(result).every((key) => !Number.isNaN(Number(key)))) return Object.values(result);
|
|
14
|
-
return { ...result };
|
|
15
|
-
}
|
|
16
|
-
return result;
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Get access to Nuxt instance.
|
|
20
|
-
*
|
|
21
|
-
* Returns null if Nuxt instance is unavailable.
|
|
22
|
-
* @example
|
|
23
|
-
* ```js
|
|
24
|
-
* const silgi = tryUseSilgi()
|
|
25
|
-
* if (silgi) {
|
|
26
|
-
* // Do something
|
|
27
|
-
* }
|
|
28
|
-
* ```
|
|
29
|
-
*/
|
|
30
|
-
function tryUseSilgi() {
|
|
31
|
-
return silgiCtx.tryUse();
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
//#endregion
|
|
35
|
-
export { normalizeResult, silgiCtx, tryUseSilgi, useSilgi };
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { EventStream$1 as EventStream } from "./internal/event-stream.mjs";
|
|
2
|
-
import { SilgiEvent } from "silgi/types";
|
|
3
|
-
|
|
4
|
-
//#region src/core/utils/event-stream.d.ts
|
|
5
|
-
interface EventStreamOptions {
|
|
6
|
-
/**
|
|
7
|
-
* Automatically close the writable stream when the request is closed
|
|
8
|
-
*
|
|
9
|
-
* Default is `true`
|
|
10
|
-
*/
|
|
11
|
-
autoclose?: boolean;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* See https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events#fields
|
|
15
|
-
*/
|
|
16
|
-
interface EventStreamMessage {
|
|
17
|
-
id?: string;
|
|
18
|
-
event?: string;
|
|
19
|
-
retry?: number;
|
|
20
|
-
data: string;
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Initialize an EventStream instance for creating [server sent events](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events)
|
|
24
|
-
*
|
|
25
|
-
* @experimental This function is experimental and might be unstable in some environments.
|
|
26
|
-
*
|
|
27
|
-
* @example
|
|
28
|
-
*
|
|
29
|
-
* ```ts
|
|
30
|
-
* import { createEventStream, sendEventStream } from "h3";
|
|
31
|
-
*
|
|
32
|
-
* app.get("/sse", (event) => {
|
|
33
|
-
* const eventStream = createEventStream(event);
|
|
34
|
-
*
|
|
35
|
-
* // Send a message every second
|
|
36
|
-
* const interval = setInterval(async () => {
|
|
37
|
-
* await eventStream.push("Hello world");
|
|
38
|
-
* }, 1000);
|
|
39
|
-
*
|
|
40
|
-
* // cleanup the interval and close the stream when the connection is terminated
|
|
41
|
-
* eventStream.onClosed(async () => {
|
|
42
|
-
* console.log("closing SSE...");
|
|
43
|
-
* clearInterval(interval);
|
|
44
|
-
* await eventStream.close();
|
|
45
|
-
* });
|
|
46
|
-
*
|
|
47
|
-
* return eventStream.send();
|
|
48
|
-
* });
|
|
49
|
-
* ```
|
|
50
|
-
*/
|
|
51
|
-
declare function createEventStream(event: SilgiEvent, opts?: EventStreamOptions): EventStream;
|
|
52
|
-
//#endregion
|
|
53
|
-
export { EventStreamMessage, EventStreamOptions, createEventStream as createEventStream$1 };
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { EventStream } from "./internal/event-stream.mjs";
|
|
2
|
-
|
|
3
|
-
//#region src/core/utils/event-stream.ts
|
|
4
|
-
/**
|
|
5
|
-
* Initialize an EventStream instance for creating [server sent events](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events)
|
|
6
|
-
*
|
|
7
|
-
* @experimental This function is experimental and might be unstable in some environments.
|
|
8
|
-
*
|
|
9
|
-
* @example
|
|
10
|
-
*
|
|
11
|
-
* ```ts
|
|
12
|
-
* import { createEventStream, sendEventStream } from "h3";
|
|
13
|
-
*
|
|
14
|
-
* app.get("/sse", (event) => {
|
|
15
|
-
* const eventStream = createEventStream(event);
|
|
16
|
-
*
|
|
17
|
-
* // Send a message every second
|
|
18
|
-
* const interval = setInterval(async () => {
|
|
19
|
-
* await eventStream.push("Hello world");
|
|
20
|
-
* }, 1000);
|
|
21
|
-
*
|
|
22
|
-
* // cleanup the interval and close the stream when the connection is terminated
|
|
23
|
-
* eventStream.onClosed(async () => {
|
|
24
|
-
* console.log("closing SSE...");
|
|
25
|
-
* clearInterval(interval);
|
|
26
|
-
* await eventStream.close();
|
|
27
|
-
* });
|
|
28
|
-
*
|
|
29
|
-
* return eventStream.send();
|
|
30
|
-
* });
|
|
31
|
-
* ```
|
|
32
|
-
*/
|
|
33
|
-
function createEventStream(event, opts) {
|
|
34
|
-
return new EventStream(event, opts);
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
//#endregion
|
|
38
|
-
export { createEventStream };
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { SilgiEvent, SilgiRuntimeContext } from "silgi/types";
|
|
2
|
-
|
|
3
|
-
//#region src/core/utils/event.d.ts
|
|
4
|
-
// import { isRuntimePresents } from 'silgi/kit'
|
|
5
|
-
declare function getEvent<T extends SilgiEvent>(event?: SilgiEvent): T;
|
|
6
|
-
declare function getEventContext<T extends SilgiRuntimeContext>(event?: SilgiEvent): T;
|
|
7
|
-
//#endregion
|
|
8
|
-
export { getEvent as getEvent$1, getEventContext as getEventContext$1 };
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
//#region src/core/utils/event.ts
|
|
2
|
-
function getEvent(event) {
|
|
3
|
-
if (event?.event) return getEvent(event.event);
|
|
4
|
-
return event;
|
|
5
|
-
}
|
|
6
|
-
function getEventContext(event) {
|
|
7
|
-
const _event = getEvent(event);
|
|
8
|
-
return _event.context;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
//#endregion
|
|
12
|
-
export { getEvent, getEventContext };
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { EventStreamMessage, EventStreamOptions } from "../event-stream.mjs";
|
|
2
|
-
import { SilgiEvent } from "silgi/types";
|
|
3
|
-
|
|
4
|
-
//#region src/core/utils/internal/event-stream.d.ts
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* A helper class for [server sent events](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events#event_stream_format)
|
|
8
|
-
*/
|
|
9
|
-
declare class EventStream {
|
|
10
|
-
private readonly _event;
|
|
11
|
-
private readonly _transformStream;
|
|
12
|
-
private readonly _writer;
|
|
13
|
-
private readonly _encoder;
|
|
14
|
-
private _writerIsClosed;
|
|
15
|
-
private _paused;
|
|
16
|
-
private _unsentData;
|
|
17
|
-
private _disposed;
|
|
18
|
-
private _handled;
|
|
19
|
-
constructor(event: SilgiEvent, opts?: EventStreamOptions);
|
|
20
|
-
/**
|
|
21
|
-
* Publish new event(s) for the client
|
|
22
|
-
*/
|
|
23
|
-
push(message: string): Promise<void>;
|
|
24
|
-
push(message: string[]): Promise<void>;
|
|
25
|
-
push(message: EventStreamMessage): Promise<void>;
|
|
26
|
-
push(message: EventStreamMessage[]): Promise<void>;
|
|
27
|
-
private _sendEvent;
|
|
28
|
-
private _sendEvents;
|
|
29
|
-
pause(): void;
|
|
30
|
-
get isPaused(): boolean;
|
|
31
|
-
resume(): Promise<void>;
|
|
32
|
-
flush(): Promise<void>;
|
|
33
|
-
/**
|
|
34
|
-
* Close the stream and the connection if the stream is being sent to the client
|
|
35
|
-
*/
|
|
36
|
-
close(): Promise<void>;
|
|
37
|
-
/**
|
|
38
|
-
* Triggers callback when the writable stream is closed.
|
|
39
|
-
* It is also triggered after calling the `close()` method.
|
|
40
|
-
*/
|
|
41
|
-
onClosed(cb: () => any): void;
|
|
42
|
-
send(): Promise<BodyInit>;
|
|
43
|
-
}
|
|
44
|
-
//#endregion
|
|
45
|
-
export { EventStream as EventStream$1 };
|