apitally 0.25.8 → 1.0.0-beta.1
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 +228 -178
- package/dist/activation.cjs +393 -0
- package/dist/activation.cjs.map +1 -0
- package/dist/activation.d.cts +42 -0
- package/dist/activation.d.ts +42 -0
- package/dist/activation.js +383 -0
- package/dist/activation.js.map +1 -0
- package/dist/adonisjs/configure.cjs +86 -30
- package/dist/adonisjs/configure.cjs.map +1 -1
- package/dist/adonisjs/configure.d.cts +0 -4
- package/dist/adonisjs/configure.d.ts +0 -4
- package/dist/adonisjs/configure.js +83 -29
- package/dist/adonisjs/configure.js.map +1 -1
- package/dist/adonisjs/index.cjs +38 -21
- package/dist/adonisjs/index.cjs.map +1 -1
- package/dist/adonisjs/index.d.cts +5 -14
- package/dist/adonisjs/index.d.ts +5 -14
- package/dist/adonisjs/index.js +39 -18
- package/dist/adonisjs/index.js.map +1 -1
- package/dist/adonisjs/middleware.cjs +43 -109
- package/dist/adonisjs/middleware.cjs.map +1 -1
- package/dist/adonisjs/middleware.d.cts +1 -16
- package/dist/adonisjs/middleware.d.ts +1 -16
- package/dist/adonisjs/middleware.js +43 -110
- package/dist/adonisjs/middleware.js.map +1 -1
- package/dist/adonisjs/provider.cjs +19 -87
- package/dist/adonisjs/provider.cjs.map +1 -1
- package/dist/adonisjs/provider.d.cts +0 -22
- package/dist/adonisjs/provider.d.ts +0 -22
- package/dist/adonisjs/provider.js +19 -88
- package/dist/adonisjs/provider.js.map +1 -1
- package/dist/adonisjs/stubs/config/apitally.stub +11 -15
- package/dist/bodyCapture.cjs +128 -0
- package/dist/bodyCapture.cjs.map +1 -0
- package/dist/bodyCapture.d.cts +31 -0
- package/dist/bodyCapture.d.ts +31 -0
- package/dist/bodyCapture.js +101 -0
- package/dist/bodyCapture.js.map +1 -0
- package/dist/config.cjs +227 -0
- package/dist/config.cjs.map +1 -0
- package/dist/config.d.cts +45 -0
- package/dist/config.d.ts +45 -0
- package/dist/config.js +192 -0
- package/dist/config.js.map +1 -0
- package/dist/consumer.cjs +98 -0
- package/dist/consumer.cjs.map +1 -0
- package/dist/consumer.d.cts +15 -0
- package/dist/consumer.d.ts +15 -0
- package/dist/consumer.js +78 -0
- package/dist/consumer.js.map +1 -0
- package/dist/context.cjs +68 -0
- package/dist/context.cjs.map +1 -0
- package/dist/context.d.cts +33 -0
- package/dist/context.d.ts +33 -0
- package/dist/context.js +40 -0
- package/dist/context.js.map +1 -0
- package/dist/elysia/index.cjs +12 -3
- package/dist/elysia/index.cjs.map +1 -1
- package/dist/elysia/index.d.cts +8 -16
- package/dist/elysia/index.d.ts +8 -16
- package/dist/elysia/index.js +10 -2
- package/dist/elysia/index.js.map +1 -1
- package/dist/elysia/middleware.cjs +261 -0
- package/dist/elysia/middleware.cjs.map +1 -0
- package/dist/elysia/middleware.d.cts +14 -0
- package/dist/elysia/middleware.d.ts +14 -0
- package/dist/elysia/middleware.js +250 -0
- package/dist/elysia/middleware.js.map +1 -0
- package/dist/{otel/index.cjs → elysia/routes.cjs} +16 -7
- package/dist/elysia/routes.cjs.map +1 -0
- package/dist/elysia/routes.d.cts +7 -0
- package/dist/elysia/routes.d.ts +7 -0
- package/dist/elysia/routes.js +14 -0
- package/dist/elysia/routes.js.map +1 -0
- package/dist/exceptions.cjs +81 -0
- package/dist/exceptions.cjs.map +1 -0
- package/dist/exceptions.d.cts +7 -0
- package/dist/exceptions.d.ts +7 -0
- package/dist/exceptions.js +55 -0
- package/dist/exceptions.js.map +1 -0
- package/dist/exportSerialization.cjs +56 -0
- package/dist/exportSerialization.cjs.map +1 -0
- package/dist/exportSerialization.d.cts +7 -0
- package/dist/exportSerialization.d.ts +7 -0
- package/dist/exportSerialization.js +32 -0
- package/dist/exportSerialization.js.map +1 -0
- package/dist/exportWorker.cjs +305 -0
- package/dist/exportWorker.cjs.map +1 -0
- package/dist/exportWorker.d.cts +46 -0
- package/dist/exportWorker.d.ts +46 -0
- package/dist/exportWorker.js +279 -0
- package/dist/exportWorker.js.map +1 -0
- package/dist/express/index.cjs +9 -4
- package/dist/express/index.cjs.map +1 -1
- package/dist/express/index.d.cts +7 -10
- package/dist/express/index.d.ts +7 -10
- package/dist/express/index.js +8 -2
- package/dist/express/index.js.map +1 -1
- package/dist/express/install.cjs +45 -0
- package/dist/express/install.cjs.map +1 -0
- package/dist/express/install.d.cts +10 -0
- package/dist/express/install.d.ts +10 -0
- package/dist/express/install.js +21 -0
- package/dist/express/install.js.map +1 -0
- package/dist/express/middleware.cjs +87 -331
- package/dist/express/middleware.cjs.map +1 -1
- package/dist/express/middleware.d.cts +3 -21
- package/dist/express/middleware.d.ts +3 -21
- package/dist/express/middleware.js +91 -327
- package/dist/express/middleware.js.map +1 -1
- package/dist/express/register.cjs +20 -0
- package/dist/express/register.cjs.map +1 -0
- package/dist/express/register.d.cts +2 -0
- package/dist/express/register.d.ts +2 -0
- package/dist/express/register.js +19 -0
- package/dist/express/register.js.map +1 -0
- package/dist/express/routes.cjs +429 -0
- package/dist/express/routes.cjs.map +1 -0
- package/dist/express/routes.d.cts +14 -0
- package/dist/express/routes.d.ts +14 -0
- package/dist/express/routes.js +401 -0
- package/dist/express/routes.js.map +1 -0
- package/dist/fastify/index.cjs +10 -5
- package/dist/fastify/index.cjs.map +1 -1
- package/dist/fastify/index.d.cts +7 -11
- package/dist/fastify/index.d.ts +7 -11
- package/dist/fastify/index.js +9 -3
- package/dist/fastify/index.js.map +1 -1
- package/dist/{loggers/index.cjs → fastify/install.cjs} +17 -19
- package/dist/fastify/install.cjs.map +1 -0
- package/dist/fastify/install.d.cts +10 -0
- package/dist/fastify/install.d.ts +10 -0
- package/dist/fastify/install.js +15 -0
- package/dist/fastify/install.js.map +1 -0
- package/dist/fastify/middleware.cjs +135 -0
- package/dist/fastify/middleware.cjs.map +1 -0
- package/dist/fastify/middleware.d.cts +7 -0
- package/dist/fastify/middleware.d.ts +7 -0
- package/dist/fastify/middleware.js +114 -0
- package/dist/fastify/middleware.js.map +1 -0
- package/dist/{common/paramValidation.cjs → fastify/routes.cjs} +15 -17
- package/dist/fastify/routes.cjs.map +1 -0
- package/dist/fastify/routes.d.cts +8 -0
- package/dist/fastify/routes.d.ts +8 -0
- package/dist/fastify/routes.js +14 -0
- package/dist/fastify/routes.js.map +1 -0
- package/dist/h3/index.cjs +28 -4
- package/dist/h3/index.cjs.map +1 -1
- package/dist/h3/index.d.cts +8 -10
- package/dist/h3/index.d.ts +8 -10
- package/dist/h3/index.js +26 -2
- package/dist/h3/index.js.map +1 -1
- package/dist/h3/middleware.cjs +210 -0
- package/dist/h3/middleware.cjs.map +1 -0
- package/dist/h3/middleware.d.cts +5 -0
- package/dist/h3/middleware.d.ts +5 -0
- package/dist/h3/middleware.js +194 -0
- package/dist/h3/middleware.js.map +1 -0
- package/dist/h3/routes.cjs +66 -0
- package/dist/h3/routes.cjs.map +1 -0
- package/dist/h3/routes.d.cts +8 -0
- package/dist/h3/routes.d.ts +8 -0
- package/dist/h3/routes.js +41 -0
- package/dist/h3/routes.js.map +1 -0
- package/dist/hapi/index.cjs +15 -4
- package/dist/hapi/index.cjs.map +1 -1
- package/dist/hapi/index.d.cts +8 -10
- package/dist/hapi/index.d.ts +8 -10
- package/dist/hapi/index.js +13 -2
- package/dist/hapi/index.js.map +1 -1
- package/dist/{loggers/hapi.cjs → hapi/install.cjs} +20 -26
- package/dist/hapi/install.cjs.map +1 -0
- package/dist/hapi/install.d.cts +8 -0
- package/dist/hapi/install.d.ts +8 -0
- package/dist/hapi/install.js +22 -0
- package/dist/hapi/install.js.map +1 -0
- package/dist/hapi/middleware.cjs +158 -0
- package/dist/hapi/middleware.cjs.map +1 -0
- package/dist/hapi/middleware.d.cts +5 -0
- package/dist/hapi/middleware.d.ts +5 -0
- package/dist/hapi/middleware.js +137 -0
- package/dist/hapi/middleware.js.map +1 -0
- package/dist/{common/logging.cjs → hapi/routes.cjs} +14 -17
- package/dist/hapi/routes.cjs.map +1 -0
- package/dist/hapi/routes.d.cts +8 -0
- package/dist/hapi/routes.d.ts +8 -0
- package/dist/hapi/routes.js +12 -0
- package/dist/hapi/routes.js.map +1 -0
- package/dist/hono/index.cjs +13 -3
- package/dist/hono/index.cjs.map +1 -1
- package/dist/hono/index.d.cts +7 -10
- package/dist/hono/index.d.ts +7 -10
- package/dist/hono/index.js +13 -2
- package/dist/hono/index.js.map +1 -1
- package/dist/hono/middleware.cjs +219 -127
- package/dist/hono/middleware.cjs.map +1 -1
- package/dist/hono/middleware.d.cts +3 -18
- package/dist/hono/middleware.d.ts +3 -18
- package/dist/hono/middleware.js +229 -126
- package/dist/hono/middleware.js.map +1 -1
- package/dist/hono/routes.cjs +74 -0
- package/dist/hono/routes.cjs.map +1 -0
- package/dist/hono/routes.d.cts +8 -0
- package/dist/hono/routes.d.ts +8 -0
- package/dist/hono/routes.js +49 -0
- package/dist/hono/routes.js.map +1 -0
- package/dist/index.cjs +108 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +29 -1
- package/dist/index.d.ts +29 -1
- package/dist/index.js +77 -0
- package/dist/index.js.map +1 -1
- package/dist/koa/index.cjs +13 -3
- package/dist/koa/index.cjs.map +1 -1
- package/dist/koa/index.d.cts +7 -10
- package/dist/koa/index.d.ts +7 -10
- package/dist/koa/index.js +13 -2
- package/dist/koa/index.js.map +1 -1
- package/dist/koa/middleware.cjs +85 -184
- package/dist/koa/middleware.cjs.map +1 -1
- package/dist/koa/middleware.d.cts +3 -13
- package/dist/koa/middleware.d.ts +3 -13
- package/dist/koa/middleware.js +88 -183
- package/dist/koa/middleware.js.map +1 -1
- package/dist/koa/routes.cjs +71 -0
- package/dist/koa/routes.cjs.map +1 -0
- package/dist/koa/routes.d.cts +8 -0
- package/dist/koa/routes.d.ts +8 -0
- package/dist/koa/routes.js +46 -0
- package/dist/koa/routes.js.map +1 -0
- package/dist/logCapture.cjs +417 -0
- package/dist/logCapture.cjs.map +1 -0
- package/dist/logCapture.d.cts +18 -0
- package/dist/logCapture.d.ts +18 -0
- package/dist/logCapture.js +390 -0
- package/dist/logCapture.js.map +1 -0
- package/dist/logRecordExporter.cjs +51 -0
- package/dist/logRecordExporter.cjs.map +1 -0
- package/dist/logRecordExporter.d.cts +14 -0
- package/dist/logRecordExporter.d.ts +14 -0
- package/dist/logRecordExporter.js +27 -0
- package/dist/logRecordExporter.js.map +1 -0
- package/dist/logRecordProcessor.cjs +137 -0
- package/dist/logRecordProcessor.cjs.map +1 -0
- package/dist/logRecordProcessor.d.cts +27 -0
- package/dist/logRecordProcessor.d.ts +27 -0
- package/dist/logRecordProcessor.js +113 -0
- package/dist/logRecordProcessor.js.map +1 -0
- package/dist/logger.cjs +62 -0
- package/dist/logger.cjs.map +1 -0
- package/dist/logger.d.cts +7 -0
- package/dist/logger.d.ts +7 -0
- package/dist/logger.js +34 -0
- package/dist/logger.js.map +1 -0
- package/dist/metrics.cjs +171 -0
- package/dist/metrics.cjs.map +1 -0
- package/dist/metrics.d.cts +26 -0
- package/dist/metrics.d.ts +26 -0
- package/dist/metrics.js +153 -0
- package/dist/metrics.js.map +1 -0
- package/dist/nestjs/index.cjs +81 -71
- package/dist/nestjs/index.cjs.map +1 -1
- package/dist/nestjs/index.d.cts +4 -11
- package/dist/nestjs/index.d.ts +4 -11
- package/dist/nestjs/index.js +81 -61
- package/dist/nestjs/index.js.map +1 -1
- package/dist/packageVersion.cjs +67 -0
- package/dist/packageVersion.cjs.map +1 -0
- package/dist/packageVersion.d.cts +5 -0
- package/dist/packageVersion.d.ts +5 -0
- package/dist/packageVersion.js +39 -0
- package/dist/packageVersion.js.map +1 -0
- package/dist/providers.cjs +149 -0
- package/dist/providers.cjs.map +1 -0
- package/dist/providers.d.cts +15 -0
- package/dist/providers.d.ts +15 -0
- package/dist/providers.js +136 -0
- package/dist/providers.js.map +1 -0
- package/dist/redaction.cjs +116 -0
- package/dist/redaction.cjs.map +1 -0
- package/dist/redaction.d.cts +17 -0
- package/dist/redaction.d.ts +17 -0
- package/dist/redaction.js +98 -0
- package/dist/redaction.js.map +1 -0
- package/dist/{common/packageVersions.cjs → requestAttributes.cjs} +21 -19
- package/dist/requestAttributes.cjs.map +1 -0
- package/dist/requestAttributes.d.cts +10 -0
- package/dist/requestAttributes.d.ts +10 -0
- package/dist/requestAttributes.js +22 -0
- package/dist/requestAttributes.js.map +1 -0
- package/dist/requestObservation.cjs +246 -0
- package/dist/requestObservation.cjs.map +1 -0
- package/dist/requestObservation.d.cts +62 -0
- package/dist/requestObservation.d.ts +62 -0
- package/dist/requestObservation.js +226 -0
- package/dist/requestObservation.js.map +1 -0
- package/dist/requestObservationNode.cjs +193 -0
- package/dist/requestObservationNode.cjs.map +1 -0
- package/dist/requestObservationNode.d.cts +31 -0
- package/dist/requestObservationNode.d.ts +31 -0
- package/dist/requestObservationNode.js +170 -0
- package/dist/requestObservationNode.js.map +1 -0
- package/dist/requestObservationWeb.cjs +202 -0
- package/dist/requestObservationWeb.cjs.map +1 -0
- package/dist/requestObservationWeb.d.cts +34 -0
- package/dist/requestObservationWeb.d.ts +34 -0
- package/dist/requestObservationWeb.js +182 -0
- package/dist/requestObservationWeb.js.map +1 -0
- package/dist/sentry.cjs +103 -0
- package/dist/sentry.cjs.map +1 -0
- package/dist/sentry.d.cts +3 -0
- package/dist/sentry.d.ts +3 -0
- package/dist/sentry.js +79 -0
- package/dist/sentry.js.map +1 -0
- package/dist/serverErrors.cjs +118 -0
- package/dist/serverErrors.cjs.map +1 -0
- package/dist/serverErrors.d.cts +8 -0
- package/dist/serverErrors.d.ts +8 -0
- package/dist/serverErrors.js +91 -0
- package/dist/serverErrors.js.map +1 -0
- package/dist/spanExporter.cjs +217 -0
- package/dist/spanExporter.cjs.map +1 -0
- package/dist/spanExporter.d.cts +34 -0
- package/dist/spanExporter.d.ts +34 -0
- package/dist/spanExporter.js +193 -0
- package/dist/spanExporter.js.map +1 -0
- package/dist/spanProcessor.cjs +535 -0
- package/dist/spanProcessor.cjs.map +1 -0
- package/dist/spanProcessor.d.cts +70 -0
- package/dist/spanProcessor.d.ts +70 -0
- package/dist/spanProcessor.js +513 -0
- package/dist/spanProcessor.js.map +1 -0
- package/dist/spool.cjs +314 -0
- package/dist/spool.cjs.map +1 -0
- package/dist/spool.d.cts +49 -0
- package/dist/spool.d.ts +49 -0
- package/dist/spool.js +297 -0
- package/dist/spool.js.map +1 -0
- package/dist/startup.cjs +98 -0
- package/dist/startup.cjs.map +1 -0
- package/dist/startup.d.cts +15 -0
- package/dist/startup.d.ts +15 -0
- package/dist/startup.js +73 -0
- package/dist/startup.js.map +1 -0
- package/dist/tracing.cjs +116 -0
- package/dist/tracing.cjs.map +1 -0
- package/dist/tracing.d.cts +5 -0
- package/dist/tracing.d.ts +5 -0
- package/dist/tracing.js +96 -0
- package/dist/tracing.js.map +1 -0
- package/dist/validationErrors.cjs +229 -0
- package/dist/validationErrors.cjs.map +1 -0
- package/dist/validationErrors.d.cts +21 -0
- package/dist/validationErrors.d.ts +21 -0
- package/dist/validationErrors.js +195 -0
- package/dist/validationErrors.js.map +1 -0
- package/package.json +113 -154
- package/dist/common/client.cjs +0 -335
- package/dist/common/client.cjs.map +0 -1
- package/dist/common/client.d.cts +0 -50
- package/dist/common/client.d.ts +0 -50
- package/dist/common/client.js +0 -302
- package/dist/common/client.js.map +0 -1
- package/dist/common/consumerRegistry.cjs +0 -86
- package/dist/common/consumerRegistry.cjs.map +0 -1
- package/dist/common/consumerRegistry.d.cts +0 -20
- package/dist/common/consumerRegistry.d.ts +0 -20
- package/dist/common/consumerRegistry.js +0 -62
- package/dist/common/consumerRegistry.js.map +0 -1
- package/dist/common/headers.cjs +0 -55
- package/dist/common/headers.cjs.map +0 -1
- package/dist/common/headers.d.cts +0 -6
- package/dist/common/headers.d.ts +0 -6
- package/dist/common/headers.js +0 -31
- package/dist/common/headers.js.map +0 -1
- package/dist/common/instance.cjs +0 -158
- package/dist/common/instance.cjs.map +0 -1
- package/dist/common/instance.d.cts +0 -4
- package/dist/common/instance.d.ts +0 -4
- package/dist/common/instance.js +0 -134
- package/dist/common/instance.js.map +0 -1
- package/dist/common/logging.cjs.map +0 -1
- package/dist/common/logging.d.cts +0 -11
- package/dist/common/logging.d.ts +0 -11
- package/dist/common/logging.js +0 -17
- package/dist/common/logging.js.map +0 -1
- package/dist/common/packageVersions.cjs.map +0 -1
- package/dist/common/packageVersions.d.cts +0 -3
- package/dist/common/packageVersions.d.ts +0 -3
- package/dist/common/packageVersions.js +0 -21
- package/dist/common/packageVersions.js.map +0 -1
- package/dist/common/paramValidation.cjs.map +0 -1
- package/dist/common/paramValidation.d.cts +0 -4
- package/dist/common/paramValidation.d.ts +0 -4
- package/dist/common/paramValidation.js +0 -17
- package/dist/common/paramValidation.js.map +0 -1
- package/dist/common/requestCounter.cjs +0 -114
- package/dist/common/requestCounter.cjs.map +0 -1
- package/dist/common/requestCounter.d.cts +0 -24
- package/dist/common/requestCounter.d.ts +0 -24
- package/dist/common/requestCounter.js +0 -91
- package/dist/common/requestCounter.js.map +0 -1
- package/dist/common/requestLogger.cjs +0 -543
- package/dist/common/requestLogger.cjs.map +0 -1
- package/dist/common/requestLogger.d.cts +0 -85
- package/dist/common/requestLogger.d.ts +0 -85
- package/dist/common/requestLogger.js +0 -508
- package/dist/common/requestLogger.js.map +0 -1
- package/dist/common/resources.cjs +0 -49
- package/dist/common/resources.cjs.map +0 -1
- package/dist/common/resources.d.cts +0 -6
- package/dist/common/resources.d.ts +0 -6
- package/dist/common/resources.js +0 -26
- package/dist/common/resources.js.map +0 -1
- package/dist/common/response.cjs +0 -104
- package/dist/common/response.cjs.map +0 -1
- package/dist/common/response.d.cts +0 -15
- package/dist/common/response.d.ts +0 -15
- package/dist/common/response.js +0 -80
- package/dist/common/response.js.map +0 -1
- package/dist/common/sentry.cjs +0 -56
- package/dist/common/sentry.cjs.map +0 -1
- package/dist/common/sentry.d.cts +0 -6
- package/dist/common/sentry.d.ts +0 -6
- package/dist/common/sentry.js +0 -23
- package/dist/common/sentry.js.map +0 -1
- package/dist/common/serverErrorCounter.cjs +0 -123
- package/dist/common/serverErrorCounter.cjs.map +0 -1
- package/dist/common/serverErrorCounter.d.cts +0 -23
- package/dist/common/serverErrorCounter.d.ts +0 -23
- package/dist/common/serverErrorCounter.js +0 -98
- package/dist/common/serverErrorCounter.js.map +0 -1
- package/dist/common/spanCollector.cjs +0 -201
- package/dist/common/spanCollector.cjs.map +0 -1
- package/dist/common/spanCollector.d.cts +0 -45
- package/dist/common/spanCollector.d.ts +0 -45
- package/dist/common/spanCollector.js +0 -177
- package/dist/common/spanCollector.js.map +0 -1
- package/dist/common/tempGzipFile.cjs +0 -127
- package/dist/common/tempGzipFile.cjs.map +0 -1
- package/dist/common/tempGzipFile.d.cts +0 -19
- package/dist/common/tempGzipFile.d.ts +0 -19
- package/dist/common/tempGzipFile.js +0 -103
- package/dist/common/tempGzipFile.js.map +0 -1
- package/dist/common/types.cjs +0 -17
- package/dist/common/types.cjs.map +0 -1
- package/dist/common/types.d.cts +0 -95
- package/dist/common/types.d.ts +0 -95
- package/dist/common/types.js +0 -1
- package/dist/common/types.js.map +0 -1
- package/dist/common/validationErrorCounter.cjs +0 -79
- package/dist/common/validationErrorCounter.cjs.map +0 -1
- package/dist/common/validationErrorCounter.d.cts +0 -20
- package/dist/common/validationErrorCounter.d.ts +0 -20
- package/dist/common/validationErrorCounter.js +0 -56
- package/dist/common/validationErrorCounter.js.map +0 -1
- package/dist/elysia/plugin.cjs +0 -242
- package/dist/elysia/plugin.cjs.map +0 -1
- package/dist/elysia/plugin.d.cts +0 -70
- package/dist/elysia/plugin.d.ts +0 -70
- package/dist/elysia/plugin.js +0 -219
- package/dist/elysia/plugin.js.map +0 -1
- package/dist/elysia/utils.cjs +0 -77
- package/dist/elysia/utils.cjs.map +0 -1
- package/dist/elysia/utils.d.cts +0 -14
- package/dist/elysia/utils.d.ts +0 -14
- package/dist/elysia/utils.js +0 -54
- package/dist/elysia/utils.js.map +0 -1
- package/dist/express/utils.cjs +0 -217
- package/dist/express/utils.cjs.map +0 -1
- package/dist/express/utils.d.cts +0 -37
- package/dist/express/utils.d.ts +0 -37
- package/dist/express/utils.js +0 -189
- package/dist/express/utils.js.map +0 -1
- package/dist/fastify/plugin.cjs +0 -319
- package/dist/fastify/plugin.cjs.map +0 -1
- package/dist/fastify/plugin.d.cts +0 -34
- package/dist/fastify/plugin.d.ts +0 -34
- package/dist/fastify/plugin.js +0 -284
- package/dist/fastify/plugin.js.map +0 -1
- package/dist/h3/plugin.cjs +0 -183
- package/dist/h3/plugin.cjs.map +0 -1
- package/dist/h3/plugin.d.cts +0 -27
- package/dist/h3/plugin.d.ts +0 -27
- package/dist/h3/plugin.js +0 -159
- package/dist/h3/plugin.js.map +0 -1
- package/dist/h3/utils.cjs +0 -77
- package/dist/h3/utils.cjs.map +0 -1
- package/dist/h3/utils.d.cts +0 -14
- package/dist/h3/utils.d.ts +0 -14
- package/dist/h3/utils.js +0 -54
- package/dist/h3/utils.js.map +0 -1
- package/dist/hapi/plugin.cjs +0 -212
- package/dist/hapi/plugin.cjs.map +0 -1
- package/dist/hapi/plugin.d.cts +0 -40
- package/dist/hapi/plugin.d.ts +0 -40
- package/dist/hapi/plugin.js +0 -188
- package/dist/hapi/plugin.js.map +0 -1
- package/dist/hapi/utils.cjs +0 -77
- package/dist/hapi/utils.cjs.map +0 -1
- package/dist/hapi/utils.d.cts +0 -16
- package/dist/hapi/utils.d.ts +0 -16
- package/dist/hapi/utils.js +0 -53
- package/dist/hapi/utils.js.map +0 -1
- package/dist/hono/utils.cjs +0 -113
- package/dist/hono/utils.cjs.map +0 -1
- package/dist/hono/utils.d.cts +0 -16
- package/dist/hono/utils.d.ts +0 -16
- package/dist/hono/utils.js +0 -88
- package/dist/hono/utils.js.map +0 -1
- package/dist/loggers/console.cjs +0 -67
- package/dist/loggers/console.cjs.map +0 -1
- package/dist/loggers/console.d.cts +0 -11
- package/dist/loggers/console.d.ts +0 -11
- package/dist/loggers/console.js +0 -44
- package/dist/loggers/console.js.map +0 -1
- package/dist/loggers/hapi.cjs.map +0 -1
- package/dist/loggers/hapi.d.cts +0 -12
- package/dist/loggers/hapi.d.ts +0 -12
- package/dist/loggers/hapi.js +0 -29
- package/dist/loggers/hapi.js.map +0 -1
- package/dist/loggers/index.cjs.map +0 -1
- package/dist/loggers/index.d.cts +0 -13
- package/dist/loggers/index.d.ts +0 -13
- package/dist/loggers/index.js +0 -13
- package/dist/loggers/index.js.map +0 -1
- package/dist/loggers/nestjs.cjs +0 -104
- package/dist/loggers/nestjs.cjs.map +0 -1
- package/dist/loggers/nestjs.d.cts +0 -11
- package/dist/loggers/nestjs.d.ts +0 -11
- package/dist/loggers/nestjs.js +0 -71
- package/dist/loggers/nestjs.js.map +0 -1
- package/dist/loggers/pino.cjs +0 -152
- package/dist/loggers/pino.cjs.map +0 -1
- package/dist/loggers/pino.d.cts +0 -11
- package/dist/loggers/pino.d.ts +0 -11
- package/dist/loggers/pino.js +0 -119
- package/dist/loggers/pino.js.map +0 -1
- package/dist/loggers/utils.cjs +0 -64
- package/dist/loggers/utils.cjs.map +0 -1
- package/dist/loggers/utils.d.cts +0 -6
- package/dist/loggers/utils.d.ts +0 -6
- package/dist/loggers/utils.js +0 -40
- package/dist/loggers/utils.js.map +0 -1
- package/dist/loggers/winston.cjs +0 -101
- package/dist/loggers/winston.cjs.map +0 -1
- package/dist/loggers/winston.d.cts +0 -11
- package/dist/loggers/winston.d.ts +0 -11
- package/dist/loggers/winston.js +0 -68
- package/dist/loggers/winston.js.map +0 -1
- package/dist/otel/index.cjs.map +0 -1
- package/dist/otel/index.d.cts +0 -2
- package/dist/otel/index.d.ts +0 -2
- package/dist/otel/index.js +0 -5
- package/dist/otel/index.js.map +0 -1
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { ConsumerMethodPath, ValidationError, ValidationErrorsItem } from './types.js';
|
|
2
|
-
import './logging.js';
|
|
3
|
-
import 'winston';
|
|
4
|
-
import './requestLogger.js';
|
|
5
|
-
import 'node:buffer';
|
|
6
|
-
import 'node:http';
|
|
7
|
-
import './spanCollector.js';
|
|
8
|
-
import '@opentelemetry/sdk-trace-base';
|
|
9
|
-
import './tempGzipFile.js';
|
|
10
|
-
|
|
11
|
-
declare class ValidationErrorCounter {
|
|
12
|
-
private errorCounts;
|
|
13
|
-
private errorDetails;
|
|
14
|
-
constructor();
|
|
15
|
-
addValidationError(validationError: ConsumerMethodPath & ValidationError): void;
|
|
16
|
-
getAndResetValidationErrors(): ValidationErrorsItem[];
|
|
17
|
-
private getKey;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
export { ValidationErrorCounter, ValidationErrorCounter as default };
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
-
import { createHash } from "node:crypto";
|
|
4
|
-
const _ValidationErrorCounter = class _ValidationErrorCounter {
|
|
5
|
-
errorCounts;
|
|
6
|
-
errorDetails;
|
|
7
|
-
constructor() {
|
|
8
|
-
this.errorCounts = /* @__PURE__ */ new Map();
|
|
9
|
-
this.errorDetails = /* @__PURE__ */ new Map();
|
|
10
|
-
}
|
|
11
|
-
addValidationError(validationError) {
|
|
12
|
-
const key = this.getKey(validationError);
|
|
13
|
-
if (!this.errorDetails.has(key)) {
|
|
14
|
-
this.errorDetails.set(key, validationError);
|
|
15
|
-
}
|
|
16
|
-
this.errorCounts.set(key, (this.errorCounts.get(key) || 0) + 1);
|
|
17
|
-
}
|
|
18
|
-
getAndResetValidationErrors() {
|
|
19
|
-
const data = [];
|
|
20
|
-
this.errorCounts.forEach((count, key) => {
|
|
21
|
-
const validationError = this.errorDetails.get(key);
|
|
22
|
-
if (validationError) {
|
|
23
|
-
data.push({
|
|
24
|
-
consumer: validationError.consumer || null,
|
|
25
|
-
method: validationError.method,
|
|
26
|
-
path: validationError.path,
|
|
27
|
-
loc: validationError.loc.split(".").filter(Boolean),
|
|
28
|
-
msg: validationError.msg,
|
|
29
|
-
type: validationError.type,
|
|
30
|
-
error_count: count
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
});
|
|
34
|
-
this.errorCounts.clear();
|
|
35
|
-
this.errorDetails.clear();
|
|
36
|
-
return data;
|
|
37
|
-
}
|
|
38
|
-
getKey(validationError) {
|
|
39
|
-
const hashInput = [
|
|
40
|
-
validationError.consumer || "",
|
|
41
|
-
validationError.method.toUpperCase(),
|
|
42
|
-
validationError.path,
|
|
43
|
-
validationError.loc.split(".").filter(Boolean),
|
|
44
|
-
validationError.msg.trim(),
|
|
45
|
-
validationError.type
|
|
46
|
-
].join("|");
|
|
47
|
-
return createHash("md5").update(hashInput).digest("hex");
|
|
48
|
-
}
|
|
49
|
-
};
|
|
50
|
-
__name(_ValidationErrorCounter, "ValidationErrorCounter");
|
|
51
|
-
let ValidationErrorCounter = _ValidationErrorCounter;
|
|
52
|
-
export {
|
|
53
|
-
ValidationErrorCounter,
|
|
54
|
-
ValidationErrorCounter as default
|
|
55
|
-
};
|
|
56
|
-
//# sourceMappingURL=validationErrorCounter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/common/validationErrorCounter.ts"],"sourcesContent":["import { createHash } from \"node:crypto\";\n\nimport {\n ConsumerMethodPath,\n ValidationError,\n ValidationErrorsItem,\n} from \"./types.js\";\n\nexport default class ValidationErrorCounter {\n private errorCounts: Map<string, number>;\n private errorDetails: Map<string, ConsumerMethodPath & ValidationError>;\n\n constructor() {\n this.errorCounts = new Map();\n this.errorDetails = new Map();\n }\n\n public addValidationError(\n validationError: ConsumerMethodPath & ValidationError,\n ) {\n const key = this.getKey(validationError);\n if (!this.errorDetails.has(key)) {\n this.errorDetails.set(key, validationError);\n }\n this.errorCounts.set(key, (this.errorCounts.get(key) || 0) + 1);\n }\n\n public getAndResetValidationErrors() {\n const data: Array<ValidationErrorsItem> = [];\n this.errorCounts.forEach((count, key) => {\n const validationError = this.errorDetails.get(key);\n if (validationError) {\n data.push({\n consumer: validationError.consumer || null,\n method: validationError.method,\n path: validationError.path,\n loc: validationError.loc.split(\".\").filter(Boolean),\n msg: validationError.msg,\n type: validationError.type,\n error_count: count,\n });\n }\n });\n this.errorCounts.clear();\n this.errorDetails.clear();\n return data;\n }\n\n private getKey(validationError: ConsumerMethodPath & ValidationError) {\n const hashInput = [\n validationError.consumer || \"\",\n validationError.method.toUpperCase(),\n validationError.path,\n validationError.loc.split(\".\").filter(Boolean),\n validationError.msg.trim(),\n validationError.type,\n ].join(\"|\");\n return createHash(\"md5\").update(hashInput).digest(\"hex\");\n }\n}\n\nexport { ValidationErrorCounter };\n"],"mappings":";;AAAA,SAASA,kBAAkB;AAQ3B,MAAqBC,0BAArB,MAAqBA,wBAAAA;EACXC;EACAC;EAER,cAAc;AACZ,SAAKD,cAAc,oBAAIE,IAAAA;AACvB,SAAKD,eAAe,oBAAIC,IAAAA;EAC1B;EAEOC,mBACLC,iBACA;AACA,UAAMC,MAAM,KAAKC,OAAOF,eAAAA;AACxB,QAAI,CAAC,KAAKH,aAAaM,IAAIF,GAAAA,GAAM;AAC/B,WAAKJ,aAAaO,IAAIH,KAAKD,eAAAA;IAC7B;AACA,SAAKJ,YAAYQ,IAAIH,MAAM,KAAKL,YAAYS,IAAIJ,GAAAA,KAAQ,KAAK,CAAA;EAC/D;EAEOK,8BAA8B;AACnC,UAAMC,OAAoC,CAAA;AAC1C,SAAKX,YAAYY,QAAQ,CAACC,OAAOR,QAAAA;AAC/B,YAAMD,kBAAkB,KAAKH,aAAaQ,IAAIJ,GAAAA;AAC9C,UAAID,iBAAiB;AACnBO,aAAKG,KAAK;UACRC,UAAUX,gBAAgBW,YAAY;UACtCC,QAAQZ,gBAAgBY;UACxBC,MAAMb,gBAAgBa;UACtBC,KAAKd,gBAAgBc,IAAIC,MAAM,GAAA,EAAKC,OAAOC,OAAAA;UAC3CC,KAAKlB,gBAAgBkB;UACrBC,MAAMnB,gBAAgBmB;UACtBC,aAAaX;QACf,CAAA;MACF;IACF,CAAA;AACA,SAAKb,YAAYyB,MAAK;AACtB,SAAKxB,aAAawB,MAAK;AACvB,WAAOd;EACT;EAEQL,OAAOF,iBAAuD;AACpE,UAAMsB,YAAY;MAChBtB,gBAAgBW,YAAY;MAC5BX,gBAAgBY,OAAOW,YAAW;MAClCvB,gBAAgBa;MAChBb,gBAAgBc,IAAIC,MAAM,GAAA,EAAKC,OAAOC,OAAAA;MACtCjB,gBAAgBkB,IAAIM,KAAI;MACxBxB,gBAAgBmB;MAChBM,KAAK,GAAA;AACP,WAAO/B,WAAW,KAAA,EAAOgC,OAAOJ,SAAAA,EAAWK,OAAO,KAAA;EACpD;AACF;AAnDqBhC;AAArB,IAAqBA,yBAArB;","names":["createHash","ValidationErrorCounter","errorCounts","errorDetails","Map","addValidationError","validationError","key","getKey","has","set","get","getAndResetValidationErrors","data","forEach","count","push","consumer","method","path","loc","split","filter","Boolean","msg","type","error_count","clear","hashInput","toUpperCase","trim","join","update","digest"]}
|
package/dist/elysia/plugin.cjs
DELETED
|
@@ -1,242 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
7
|
-
var __export = (target, all) => {
|
|
8
|
-
for (var name in all)
|
|
9
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
-
};
|
|
11
|
-
var __copyProps = (to, from, except, desc) => {
|
|
12
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
-
for (let key of __getOwnPropNames(from))
|
|
14
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
-
}
|
|
17
|
-
return to;
|
|
18
|
-
};
|
|
19
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
20
|
-
var plugin_exports = {};
|
|
21
|
-
__export(plugin_exports, {
|
|
22
|
-
apitallyPlugin: () => apitallyPlugin,
|
|
23
|
-
default: () => apitallyPlugin
|
|
24
|
-
});
|
|
25
|
-
module.exports = __toCommonJS(plugin_exports);
|
|
26
|
-
var import_elysia = require("elysia");
|
|
27
|
-
var import_node_async_hooks = require("node:async_hooks");
|
|
28
|
-
var import_node_perf_hooks = require("node:perf_hooks");
|
|
29
|
-
var import_client = require('../common/client.cjs');
|
|
30
|
-
var import_consumerRegistry = require('../common/consumerRegistry.cjs');
|
|
31
|
-
var import_headers = require('../common/headers.cjs');
|
|
32
|
-
var import_requestLogger = require('../common/requestLogger.cjs');
|
|
33
|
-
var import_response = require('../common/response.cjs');
|
|
34
|
-
var import_loggers = require('../loggers/index.cjs');
|
|
35
|
-
var import_utils = require('./utils.cjs');
|
|
36
|
-
const START_TIME_SYMBOL = /* @__PURE__ */ Symbol("apitally.startTime");
|
|
37
|
-
const REQUEST_BODY_SYMBOL = /* @__PURE__ */ Symbol("apitally.requestBody");
|
|
38
|
-
const RESPONSE_SYMBOL = /* @__PURE__ */ Symbol("apitally.response");
|
|
39
|
-
const RESPONSE_PROMISE_SYMBOL = /* @__PURE__ */ Symbol("apitally.responsePromise");
|
|
40
|
-
const ERROR_SYMBOL = /* @__PURE__ */ Symbol("apitally.error");
|
|
41
|
-
const CLIENT_SYMBOL = /* @__PURE__ */ Symbol("apitally.client");
|
|
42
|
-
const REQUEST_SYMBOL = /* @__PURE__ */ Symbol("apitally.request");
|
|
43
|
-
const SPAN_HANDLE_SYMBOL = /* @__PURE__ */ Symbol("apitally.spanHandle");
|
|
44
|
-
function apitallyPlugin(config) {
|
|
45
|
-
const client = new import_client.ApitallyClient(config);
|
|
46
|
-
const logsContext = new import_node_async_hooks.AsyncLocalStorage();
|
|
47
|
-
if (client.requestLogger.enabled && client.requestLogger.config.captureLogs) {
|
|
48
|
-
(0, import_loggers.patchConsole)(logsContext);
|
|
49
|
-
(0, import_loggers.patchWinston)(logsContext);
|
|
50
|
-
}
|
|
51
|
-
return (app) => {
|
|
52
|
-
const handler = app["~adapter"].handler;
|
|
53
|
-
if (!handler.mapResponse.name.startsWith("wrapped")) {
|
|
54
|
-
const originalMapResponse = handler.mapResponse;
|
|
55
|
-
const originalMapCompactResponse = handler.mapCompactResponse;
|
|
56
|
-
const originalMapEarlyResponse = handler.mapEarlyResponse;
|
|
57
|
-
const captureMappedResponse = /* @__PURE__ */ __name((originalResponse, mappedResponse, set) => {
|
|
58
|
-
const request = set == null ? void 0 : set[REQUEST_SYMBOL];
|
|
59
|
-
if (request instanceof Request && mappedResponse instanceof Response && !(RESPONSE_SYMBOL in request) && CLIENT_SYMBOL in request) {
|
|
60
|
-
if (typeof originalResponse === "string") {
|
|
61
|
-
const responseBody = Buffer.from(originalResponse);
|
|
62
|
-
request[RESPONSE_SYMBOL] = mappedResponse;
|
|
63
|
-
request[RESPONSE_PROMISE_SYMBOL] = Promise.resolve({
|
|
64
|
-
body: responseBody,
|
|
65
|
-
size: responseBody.length,
|
|
66
|
-
completed: true
|
|
67
|
-
});
|
|
68
|
-
} else {
|
|
69
|
-
const client2 = request[CLIENT_SYMBOL];
|
|
70
|
-
const [newResponse, responsePromise] = (0, import_response.captureResponse)(mappedResponse, {
|
|
71
|
-
captureBody: client2.requestLogger.enabled && client2.requestLogger.config.logResponseBody,
|
|
72
|
-
maxBodySize: client2.requestLogger.maxBodySize
|
|
73
|
-
});
|
|
74
|
-
request[RESPONSE_SYMBOL] = newResponse;
|
|
75
|
-
request[RESPONSE_PROMISE_SYMBOL] = responsePromise;
|
|
76
|
-
return newResponse;
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
return mappedResponse;
|
|
80
|
-
}, "captureMappedResponse");
|
|
81
|
-
handler.mapResponse = /* @__PURE__ */ __name(function wrappedMapResponse(response, set) {
|
|
82
|
-
const mappedResponse = originalMapResponse(response, set);
|
|
83
|
-
const newResponse = captureMappedResponse(response, mappedResponse, set);
|
|
84
|
-
return newResponse;
|
|
85
|
-
}, "wrappedMapResponse");
|
|
86
|
-
handler.mapCompactResponse = /* @__PURE__ */ __name(function wrappedMapCompactResponse(response) {
|
|
87
|
-
const mappedResponse = originalMapCompactResponse(response);
|
|
88
|
-
const newResponse = captureMappedResponse(response, mappedResponse, void 0);
|
|
89
|
-
return newResponse;
|
|
90
|
-
}, "wrappedMapCompactResponse");
|
|
91
|
-
handler.mapEarlyResponse = /* @__PURE__ */ __name(function wrappedMapEarlyResponse(response, set) {
|
|
92
|
-
const mappedResponse = originalMapEarlyResponse(response, set);
|
|
93
|
-
const newResponse = captureMappedResponse(response, mappedResponse, set);
|
|
94
|
-
return newResponse;
|
|
95
|
-
}, "wrappedMapEarlyResponse");
|
|
96
|
-
}
|
|
97
|
-
return app.decorate("apitally", {}).onStart(() => {
|
|
98
|
-
const appInfo = (0, import_utils.getAppInfo)(app, config.appVersion);
|
|
99
|
-
client.setStartupData(appInfo);
|
|
100
|
-
client.startSync();
|
|
101
|
-
}).onStop(async () => {
|
|
102
|
-
await client.handleShutdown();
|
|
103
|
-
}).onRequest(async ({ request, set }) => {
|
|
104
|
-
if (!client.isEnabled() || request.method.toUpperCase() === "OPTIONS") {
|
|
105
|
-
return;
|
|
106
|
-
}
|
|
107
|
-
request[CLIENT_SYMBOL] = client;
|
|
108
|
-
request[START_TIME_SYMBOL] = import_node_perf_hooks.performance.now();
|
|
109
|
-
set[REQUEST_SYMBOL] = request;
|
|
110
|
-
logsContext.enterWith([]);
|
|
111
|
-
const spanHandle = client.spanCollector.startSpan();
|
|
112
|
-
request[SPAN_HANDLE_SYMBOL] = spanHandle;
|
|
113
|
-
spanHandle.enterContext();
|
|
114
|
-
if (client.requestLogger.enabled && client.requestLogger.config.logRequestBody) {
|
|
115
|
-
const contentType = request.headers.get("content-type");
|
|
116
|
-
const requestSize = (0, import_headers.parseContentLength)(request.headers.get("content-length")) ?? 0;
|
|
117
|
-
if (client.requestLogger.isSupportedContentType(contentType) && requestSize <= client.requestLogger.maxBodySize) {
|
|
118
|
-
try {
|
|
119
|
-
request[REQUEST_BODY_SYMBOL] = Buffer.from(await request.clone().arrayBuffer());
|
|
120
|
-
} catch (error) {
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
}).onAfterResponse(async ({ request, set, route, apitally }) => {
|
|
125
|
-
if (!client.isEnabled() || request.method.toUpperCase() === "OPTIONS") {
|
|
126
|
-
return;
|
|
127
|
-
}
|
|
128
|
-
const startTime = request[START_TIME_SYMBOL];
|
|
129
|
-
const responseTime = startTime ? import_node_perf_hooks.performance.now() - startTime : 0;
|
|
130
|
-
const spanHandle = request[SPAN_HANDLE_SYMBOL];
|
|
131
|
-
spanHandle == null ? void 0 : spanHandle.setName(`${request.method} ${route}`);
|
|
132
|
-
const spans = spanHandle == null ? void 0 : spanHandle.end();
|
|
133
|
-
const traceId = spanHandle == null ? void 0 : spanHandle.traceId;
|
|
134
|
-
const requestBody = request[REQUEST_BODY_SYMBOL];
|
|
135
|
-
const requestSize = (0, import_headers.parseContentLength)(request.headers.get("content-length")) ?? (requestBody == null ? void 0 : requestBody.length);
|
|
136
|
-
let responsePromise = request[RESPONSE_PROMISE_SYMBOL];
|
|
137
|
-
let response = request[RESPONSE_SYMBOL];
|
|
138
|
-
const error = request[ERROR_SYMBOL];
|
|
139
|
-
if (!response && error && "toResponse" in error && typeof error.toResponse === "function") {
|
|
140
|
-
try {
|
|
141
|
-
response = error.toResponse();
|
|
142
|
-
const errorResponseBody = Buffer.from(await response.arrayBuffer());
|
|
143
|
-
responsePromise = Promise.resolve({
|
|
144
|
-
body: errorResponseBody,
|
|
145
|
-
size: errorResponseBody.length,
|
|
146
|
-
completed: true
|
|
147
|
-
});
|
|
148
|
-
} catch (error2) {
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
const statusCode = (response == null ? void 0 : response.status) ?? getStatusCode(set) ?? 200;
|
|
152
|
-
if (!response) {
|
|
153
|
-
response = new Response(null, {
|
|
154
|
-
status: statusCode,
|
|
155
|
-
statusText: "",
|
|
156
|
-
headers: new Headers()
|
|
157
|
-
});
|
|
158
|
-
responsePromise = Promise.resolve({
|
|
159
|
-
body: void 0,
|
|
160
|
-
size: 0,
|
|
161
|
-
completed: true
|
|
162
|
-
});
|
|
163
|
-
}
|
|
164
|
-
const consumer = apitally.consumer ? (0, import_consumerRegistry.consumerFromStringOrObject)(apitally.consumer) : null;
|
|
165
|
-
client.consumerRegistry.addOrUpdateConsumer(consumer);
|
|
166
|
-
responsePromise == null ? void 0 : responsePromise.then(async (capturedResponse) => {
|
|
167
|
-
const responseHeaders = (response == null ? void 0 : response.headers) ?? set.headers;
|
|
168
|
-
const responseSize = capturedResponse.completed ? capturedResponse.size : void 0;
|
|
169
|
-
client.requestCounter.addRequest({
|
|
170
|
-
consumer: consumer == null ? void 0 : consumer.identifier,
|
|
171
|
-
method: request.method,
|
|
172
|
-
path: route,
|
|
173
|
-
statusCode,
|
|
174
|
-
responseTime,
|
|
175
|
-
requestSize,
|
|
176
|
-
responseSize
|
|
177
|
-
});
|
|
178
|
-
if (client.requestLogger.enabled) {
|
|
179
|
-
const logs = logsContext.getStore();
|
|
180
|
-
client.requestLogger.logRequest({
|
|
181
|
-
timestamp: (Date.now() - responseTime) / 1e3,
|
|
182
|
-
method: request.method,
|
|
183
|
-
path: route,
|
|
184
|
-
url: request.url,
|
|
185
|
-
headers: (0, import_requestLogger.convertHeaders)(Object.fromEntries(request.headers.entries())),
|
|
186
|
-
size: requestSize,
|
|
187
|
-
consumer: consumer == null ? void 0 : consumer.identifier,
|
|
188
|
-
body: requestBody
|
|
189
|
-
}, {
|
|
190
|
-
statusCode,
|
|
191
|
-
responseTime: responseTime / 1e3,
|
|
192
|
-
headers: (0, import_requestLogger.convertHeaders)(responseHeaders),
|
|
193
|
-
size: responseSize,
|
|
194
|
-
body: capturedResponse.body
|
|
195
|
-
}, error, logs, spans, traceId);
|
|
196
|
-
}
|
|
197
|
-
});
|
|
198
|
-
if ((statusCode === 400 || statusCode === 422) && error instanceof import_elysia.ValidationError) {
|
|
199
|
-
try {
|
|
200
|
-
const parsedMessage = JSON.parse(error.message);
|
|
201
|
-
client.validationErrorCounter.addValidationError({
|
|
202
|
-
consumer: consumer == null ? void 0 : consumer.identifier,
|
|
203
|
-
method: request.method,
|
|
204
|
-
path: route,
|
|
205
|
-
loc: (parsedMessage.on ?? "") + "." + (parsedMessage.property ?? ""),
|
|
206
|
-
msg: parsedMessage.message,
|
|
207
|
-
type: ""
|
|
208
|
-
});
|
|
209
|
-
} catch (error2) {
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
if (statusCode === 500 && error) {
|
|
213
|
-
client.serverErrorCounter.addServerError({
|
|
214
|
-
consumer: consumer == null ? void 0 : consumer.identifier,
|
|
215
|
-
method: request.method,
|
|
216
|
-
path: route,
|
|
217
|
-
type: error.name,
|
|
218
|
-
msg: error.message,
|
|
219
|
-
traceback: error.stack || ""
|
|
220
|
-
});
|
|
221
|
-
}
|
|
222
|
-
}).onError(({ request, error }) => {
|
|
223
|
-
if (client.isEnabled() && error instanceof Error) {
|
|
224
|
-
request[ERROR_SYMBOL] = error;
|
|
225
|
-
}
|
|
226
|
-
});
|
|
227
|
-
};
|
|
228
|
-
}
|
|
229
|
-
__name(apitallyPlugin, "apitallyPlugin");
|
|
230
|
-
function getStatusCode(set) {
|
|
231
|
-
if (typeof set.status === "number") {
|
|
232
|
-
return set.status;
|
|
233
|
-
} else if (typeof set.status === "string") {
|
|
234
|
-
return import_elysia.StatusMap[set.status];
|
|
235
|
-
}
|
|
236
|
-
}
|
|
237
|
-
__name(getStatusCode, "getStatusCode");
|
|
238
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
239
|
-
0 && (module.exports = {
|
|
240
|
-
apitallyPlugin
|
|
241
|
-
});
|
|
242
|
-
//# sourceMappingURL=plugin.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/elysia/plugin.ts"],"sourcesContent":["import { Context, Elysia, StatusMap, ValidationError } from \"elysia\";\nimport { AsyncLocalStorage } from \"node:async_hooks\";\nimport { performance } from \"node:perf_hooks\";\n\nimport { ApitallyClient } from \"../common/client.js\";\nimport { consumerFromStringOrObject } from \"../common/consumerRegistry.js\";\nimport { parseContentLength } from \"../common/headers.js\";\nimport type { LogRecord } from \"../common/requestLogger.js\";\nimport { convertHeaders } from \"../common/requestLogger.js\";\nimport { CapturedResponse, captureResponse } from \"../common/response.js\";\nimport type { SpanHandle } from \"../common/spanCollector.js\";\nimport { ApitallyConfig, ApitallyConsumer } from \"../common/types.js\";\nimport { patchConsole, patchWinston } from \"../loggers/index.js\";\nimport { getAppInfo } from \"./utils.js\";\n\nconst START_TIME_SYMBOL = Symbol(\"apitally.startTime\");\nconst REQUEST_BODY_SYMBOL = Symbol(\"apitally.requestBody\");\nconst RESPONSE_SYMBOL = Symbol(\"apitally.response\");\nconst RESPONSE_PROMISE_SYMBOL = Symbol(\"apitally.responsePromise\");\nconst ERROR_SYMBOL = Symbol(\"apitally.error\");\nconst CLIENT_SYMBOL = Symbol(\"apitally.client\");\nconst REQUEST_SYMBOL = Symbol(\"apitally.request\");\nconst SPAN_HANDLE_SYMBOL = Symbol(\"apitally.spanHandle\");\n\ndeclare global {\n interface Request {\n [START_TIME_SYMBOL]?: number;\n [REQUEST_BODY_SYMBOL]?: Buffer;\n [RESPONSE_SYMBOL]?: Response;\n [RESPONSE_PROMISE_SYMBOL]?: Promise<CapturedResponse>;\n [ERROR_SYMBOL]?: Readonly<Error>;\n [CLIENT_SYMBOL]?: ApitallyClient;\n [SPAN_HANDLE_SYMBOL]?: SpanHandle;\n }\n}\n\ntype ContextSet = Context[\"set\"] & {\n [REQUEST_SYMBOL]?: Request;\n};\n\ninterface ApitallyContext {\n consumer?: ApitallyConsumer | string;\n}\n\nexport default function apitallyPlugin(config: ApitallyConfig) {\n const client = new ApitallyClient(config);\n const logsContext = new AsyncLocalStorage<LogRecord[]>();\n\n if (client.requestLogger.enabled && client.requestLogger.config.captureLogs) {\n patchConsole(logsContext);\n patchWinston(logsContext);\n }\n\n return (app: Elysia) => {\n const handler = app[\"~adapter\"].handler;\n\n if (!handler.mapResponse.name.startsWith(\"wrapped\")) {\n const originalMapResponse = handler.mapResponse;\n const originalMapCompactResponse = handler.mapCompactResponse;\n const originalMapEarlyResponse = handler.mapEarlyResponse;\n\n const captureMappedResponse = (\n originalResponse: unknown,\n mappedResponse: unknown,\n set?: ContextSet,\n ) => {\n const request = set?.[REQUEST_SYMBOL];\n if (\n request instanceof Request &&\n mappedResponse instanceof Response &&\n !(RESPONSE_SYMBOL in request) &&\n CLIENT_SYMBOL in request\n ) {\n if (typeof originalResponse === \"string\") {\n // Preserve the response body value as Blob if the original response is a string,\n // so that Bun adds a Content-Type header.\n const responseBody = Buffer.from(originalResponse as string);\n request[RESPONSE_SYMBOL] = mappedResponse;\n request[RESPONSE_PROMISE_SYMBOL] = Promise.resolve({\n body: responseBody,\n size: responseBody.length,\n completed: true,\n });\n } else {\n // Otherwise capture the response using streaming\n const client = request[CLIENT_SYMBOL]!;\n const [newResponse, responsePromise] = captureResponse(\n mappedResponse,\n {\n captureBody:\n client.requestLogger.enabled &&\n client.requestLogger.config.logResponseBody,\n maxBodySize: client.requestLogger.maxBodySize,\n },\n );\n request[RESPONSE_SYMBOL] = newResponse;\n request[RESPONSE_PROMISE_SYMBOL] = responsePromise;\n return newResponse;\n }\n }\n return mappedResponse;\n };\n\n handler.mapResponse = function wrappedMapResponse(\n response: unknown,\n set: ContextSet,\n ) {\n const mappedResponse = originalMapResponse(response, set);\n const newResponse = captureMappedResponse(\n response,\n mappedResponse,\n set,\n );\n return newResponse;\n };\n handler.mapCompactResponse = function wrappedMapCompactResponse(\n response: unknown,\n ) {\n const mappedResponse = originalMapCompactResponse(response);\n const newResponse = captureMappedResponse(\n response,\n mappedResponse,\n undefined,\n );\n return newResponse;\n };\n handler.mapEarlyResponse = function wrappedMapEarlyResponse(\n response: unknown,\n set: ContextSet,\n ) {\n const mappedResponse = originalMapEarlyResponse(response, set);\n const newResponse = captureMappedResponse(\n response,\n mappedResponse,\n set,\n );\n return newResponse;\n };\n }\n\n return app\n .decorate(\"apitally\", {} as ApitallyContext)\n .onStart(() => {\n const appInfo = getAppInfo(app, config.appVersion);\n client.setStartupData(appInfo);\n client.startSync();\n })\n .onStop(async () => {\n await client.handleShutdown();\n })\n .onRequest(async ({ request, set }) => {\n if (!client.isEnabled() || request.method.toUpperCase() === \"OPTIONS\") {\n return;\n }\n\n request[CLIENT_SYMBOL] = client;\n request[START_TIME_SYMBOL] = performance.now();\n (set as ContextSet)[REQUEST_SYMBOL] = request;\n logsContext.enterWith([]);\n\n // Start span and enter the context for subsequent handlers\n const spanHandle = client.spanCollector.startSpan();\n request[SPAN_HANDLE_SYMBOL] = spanHandle;\n spanHandle.enterContext();\n\n // Capture request body\n if (\n client.requestLogger.enabled &&\n client.requestLogger.config.logRequestBody\n ) {\n const contentType = request.headers.get(\"content-type\");\n const requestSize =\n parseContentLength(request.headers.get(\"content-length\")) ?? 0;\n\n if (\n client.requestLogger.isSupportedContentType(contentType) &&\n requestSize <= client.requestLogger.maxBodySize\n ) {\n try {\n request[REQUEST_BODY_SYMBOL] = Buffer.from(\n await request.clone().arrayBuffer(),\n );\n } catch (error) {\n // ignore\n }\n }\n }\n })\n .onAfterResponse(async ({ request, set, route, apitally }) => {\n if (!client.isEnabled() || request.method.toUpperCase() === \"OPTIONS\") {\n return;\n }\n\n const startTime = request[START_TIME_SYMBOL];\n const responseTime = startTime ? performance.now() - startTime : 0;\n\n const spanHandle = request[SPAN_HANDLE_SYMBOL];\n spanHandle?.setName(`${request.method} ${route}`);\n const spans = spanHandle?.end();\n const traceId = spanHandle?.traceId;\n\n const requestBody = request[REQUEST_BODY_SYMBOL];\n const requestSize =\n parseContentLength(request.headers.get(\"content-length\")) ??\n requestBody?.length;\n\n let responsePromise = request[RESPONSE_PROMISE_SYMBOL];\n let response = request[RESPONSE_SYMBOL];\n const error = request[ERROR_SYMBOL];\n\n if (\n !response &&\n error &&\n \"toResponse\" in error &&\n typeof error.toResponse === \"function\"\n ) {\n // Convert error to response\n try {\n response = error.toResponse() as Response;\n const errorResponseBody = Buffer.from(await response.arrayBuffer());\n responsePromise = Promise.resolve({\n body: errorResponseBody,\n size: errorResponseBody.length,\n completed: true,\n });\n } catch (error) {\n // ignore\n }\n }\n\n const statusCode = response?.status ?? getStatusCode(set) ?? 200;\n\n if (!response) {\n // Create empty fake response for errors without the toResponse method\n response = new Response(null, {\n status: statusCode,\n statusText: \"\",\n headers: new Headers(),\n });\n responsePromise = Promise.resolve({\n body: undefined,\n size: 0,\n completed: true,\n });\n }\n\n const consumer = apitally.consumer\n ? consumerFromStringOrObject(apitally.consumer)\n : null;\n client.consumerRegistry.addOrUpdateConsumer(consumer);\n\n // Log request when response has been fully captured\n responsePromise?.then(async (capturedResponse) => {\n const responseHeaders = response?.headers ?? set.headers;\n const responseSize = capturedResponse.completed\n ? capturedResponse.size\n : undefined;\n\n client.requestCounter.addRequest({\n consumer: consumer?.identifier,\n method: request.method,\n path: route,\n statusCode,\n responseTime,\n requestSize,\n responseSize,\n });\n\n if (client.requestLogger.enabled) {\n const logs = logsContext.getStore();\n client.requestLogger.logRequest(\n {\n timestamp: (Date.now() - responseTime) / 1000,\n method: request.method,\n path: route,\n url: request.url,\n headers: convertHeaders(\n Object.fromEntries(request.headers.entries()),\n ),\n size: requestSize,\n consumer: consumer?.identifier,\n body: requestBody,\n },\n {\n statusCode,\n responseTime: responseTime / 1000,\n headers: convertHeaders(responseHeaders),\n size: responseSize,\n body: capturedResponse.body,\n },\n error,\n logs,\n spans,\n traceId,\n );\n }\n });\n\n // Handle validation errors\n if (\n (statusCode === 400 || statusCode === 422) &&\n error instanceof ValidationError\n ) {\n try {\n const parsedMessage = JSON.parse(error.message);\n client.validationErrorCounter.addValidationError({\n consumer: consumer?.identifier,\n method: request.method,\n path: route,\n loc:\n (parsedMessage.on ?? \"\") + \".\" + (parsedMessage.property ?? \"\"),\n msg: parsedMessage.message,\n type: \"\",\n });\n } catch (error) {\n // ignore\n }\n }\n\n // Handle server errors\n if (statusCode === 500 && error) {\n client.serverErrorCounter.addServerError({\n consumer: consumer?.identifier,\n method: request.method,\n path: route,\n type: error.name,\n msg: error.message,\n traceback: error.stack || \"\",\n });\n }\n })\n .onError(({ request, error }) => {\n if (client.isEnabled() && error instanceof Error) {\n request[ERROR_SYMBOL] = error;\n }\n });\n };\n}\n\nfunction getStatusCode(set: Context[\"set\"]) {\n if (typeof set.status === \"number\") {\n return set.status;\n } else if (typeof set.status === \"string\") {\n return StatusMap[set.status];\n }\n}\n\nexport { apitallyPlugin };\n"],"mappings":"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","names":["START_TIME_SYMBOL","Symbol","REQUEST_BODY_SYMBOL","RESPONSE_SYMBOL","RESPONSE_PROMISE_SYMBOL","ERROR_SYMBOL","CLIENT_SYMBOL","REQUEST_SYMBOL","SPAN_HANDLE_SYMBOL","config","client","ApitallyClient","logsContext","AsyncLocalStorage","requestLogger","enabled","captureLogs","patchConsole","patchWinston","app","handler","mapResponse","name","startsWith","originalMapResponse","originalMapCompactResponse","mapCompactResponse","originalMapEarlyResponse","mapEarlyResponse","captureMappedResponse","originalResponse","mappedResponse","set","request","Request","Response","responseBody","Buffer","from","Promise","resolve","body","size","length","completed","newResponse","responsePromise","captureResponse","captureBody","logResponseBody","maxBodySize","wrappedMapResponse","response","wrappedMapCompactResponse","undefined","wrappedMapEarlyResponse","decorate","onStart","appInfo","getAppInfo","appVersion","setStartupData","startSync","onStop","handleShutdown","onRequest","isEnabled","method","toUpperCase","performance","now","enterWith","spanHandle","spanCollector","startSpan","enterContext","logRequestBody","contentType","headers","get","requestSize","parseContentLength","isSupportedContentType","clone","arrayBuffer","error","onAfterResponse","route","apitally","startTime","responseTime","setName","spans","end","traceId","requestBody","toResponse","errorResponseBody","statusCode","status","getStatusCode","statusText","Headers","consumer","consumerFromStringOrObject","consumerRegistry","addOrUpdateConsumer","then","capturedResponse","responseHeaders","responseSize","requestCounter","addRequest","identifier","path","logs","getStore","logRequest","timestamp","Date","url","convertHeaders","Object","fromEntries","entries","ValidationError","parsedMessage","JSON","parse","message","validationErrorCounter","addValidationError","loc","on","property","msg","type","serverErrorCounter","addServerError","traceback","stack","onError","Error","apitallyPlugin","StatusMap"]}
|
package/dist/elysia/plugin.d.cts
DELETED
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import { ApitallyConfig, ApitallyConsumer } from '../common/types.cjs';
|
|
2
|
-
import { Elysia } from 'elysia';
|
|
3
|
-
import { ApitallyClient } from '../common/client.cjs';
|
|
4
|
-
import { CapturedResponse } from '../common/response.cjs';
|
|
5
|
-
import { SpanHandle } from '../common/spanCollector.cjs';
|
|
6
|
-
import '../common/logging.cjs';
|
|
7
|
-
import 'winston';
|
|
8
|
-
import '../common/requestLogger.cjs';
|
|
9
|
-
import 'node:buffer';
|
|
10
|
-
import 'node:http';
|
|
11
|
-
import '../common/tempGzipFile.cjs';
|
|
12
|
-
import '@opentelemetry/sdk-trace-base';
|
|
13
|
-
import '../common/consumerRegistry.cjs';
|
|
14
|
-
import '../common/requestCounter.cjs';
|
|
15
|
-
import '../common/serverErrorCounter.cjs';
|
|
16
|
-
import '../common/validationErrorCounter.cjs';
|
|
17
|
-
|
|
18
|
-
declare const START_TIME_SYMBOL: unique symbol;
|
|
19
|
-
declare const REQUEST_BODY_SYMBOL: unique symbol;
|
|
20
|
-
declare const RESPONSE_SYMBOL: unique symbol;
|
|
21
|
-
declare const RESPONSE_PROMISE_SYMBOL: unique symbol;
|
|
22
|
-
declare const ERROR_SYMBOL: unique symbol;
|
|
23
|
-
declare const CLIENT_SYMBOL: unique symbol;
|
|
24
|
-
declare const SPAN_HANDLE_SYMBOL: unique symbol;
|
|
25
|
-
declare global {
|
|
26
|
-
interface Request {
|
|
27
|
-
[START_TIME_SYMBOL]?: number;
|
|
28
|
-
[REQUEST_BODY_SYMBOL]?: Buffer;
|
|
29
|
-
[RESPONSE_SYMBOL]?: Response;
|
|
30
|
-
[RESPONSE_PROMISE_SYMBOL]?: Promise<CapturedResponse>;
|
|
31
|
-
[ERROR_SYMBOL]?: Readonly<Error>;
|
|
32
|
-
[CLIENT_SYMBOL]?: ApitallyClient;
|
|
33
|
-
[SPAN_HANDLE_SYMBOL]?: SpanHandle;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
interface ApitallyContext {
|
|
37
|
-
consumer?: ApitallyConsumer | string;
|
|
38
|
-
}
|
|
39
|
-
declare function apitallyPlugin(config: ApitallyConfig): (app: Elysia) => Elysia<"", {
|
|
40
|
-
decorator: {
|
|
41
|
-
apitally: ApitallyContext;
|
|
42
|
-
};
|
|
43
|
-
store: {};
|
|
44
|
-
derive: {};
|
|
45
|
-
resolve: {};
|
|
46
|
-
}, {
|
|
47
|
-
typebox: {};
|
|
48
|
-
error: {};
|
|
49
|
-
}, {
|
|
50
|
-
schema: {};
|
|
51
|
-
standaloneSchema: {};
|
|
52
|
-
macro: {};
|
|
53
|
-
macroFn: {};
|
|
54
|
-
parser: {};
|
|
55
|
-
response: {};
|
|
56
|
-
}, {}, {
|
|
57
|
-
derive: {};
|
|
58
|
-
resolve: {};
|
|
59
|
-
schema: {};
|
|
60
|
-
standaloneSchema: {};
|
|
61
|
-
response: {};
|
|
62
|
-
}, {
|
|
63
|
-
derive: {};
|
|
64
|
-
resolve: {};
|
|
65
|
-
schema: {};
|
|
66
|
-
standaloneSchema: {};
|
|
67
|
-
response: {};
|
|
68
|
-
}>;
|
|
69
|
-
|
|
70
|
-
export { apitallyPlugin, apitallyPlugin as default };
|
package/dist/elysia/plugin.d.ts
DELETED
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import { ApitallyConfig, ApitallyConsumer } from '../common/types.js';
|
|
2
|
-
import { Elysia } from 'elysia';
|
|
3
|
-
import { ApitallyClient } from '../common/client.js';
|
|
4
|
-
import { CapturedResponse } from '../common/response.js';
|
|
5
|
-
import { SpanHandle } from '../common/spanCollector.js';
|
|
6
|
-
import '../common/logging.js';
|
|
7
|
-
import 'winston';
|
|
8
|
-
import '../common/requestLogger.js';
|
|
9
|
-
import 'node:buffer';
|
|
10
|
-
import 'node:http';
|
|
11
|
-
import '../common/tempGzipFile.js';
|
|
12
|
-
import '@opentelemetry/sdk-trace-base';
|
|
13
|
-
import '../common/consumerRegistry.js';
|
|
14
|
-
import '../common/requestCounter.js';
|
|
15
|
-
import '../common/serverErrorCounter.js';
|
|
16
|
-
import '../common/validationErrorCounter.js';
|
|
17
|
-
|
|
18
|
-
declare const START_TIME_SYMBOL: unique symbol;
|
|
19
|
-
declare const REQUEST_BODY_SYMBOL: unique symbol;
|
|
20
|
-
declare const RESPONSE_SYMBOL: unique symbol;
|
|
21
|
-
declare const RESPONSE_PROMISE_SYMBOL: unique symbol;
|
|
22
|
-
declare const ERROR_SYMBOL: unique symbol;
|
|
23
|
-
declare const CLIENT_SYMBOL: unique symbol;
|
|
24
|
-
declare const SPAN_HANDLE_SYMBOL: unique symbol;
|
|
25
|
-
declare global {
|
|
26
|
-
interface Request {
|
|
27
|
-
[START_TIME_SYMBOL]?: number;
|
|
28
|
-
[REQUEST_BODY_SYMBOL]?: Buffer;
|
|
29
|
-
[RESPONSE_SYMBOL]?: Response;
|
|
30
|
-
[RESPONSE_PROMISE_SYMBOL]?: Promise<CapturedResponse>;
|
|
31
|
-
[ERROR_SYMBOL]?: Readonly<Error>;
|
|
32
|
-
[CLIENT_SYMBOL]?: ApitallyClient;
|
|
33
|
-
[SPAN_HANDLE_SYMBOL]?: SpanHandle;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
interface ApitallyContext {
|
|
37
|
-
consumer?: ApitallyConsumer | string;
|
|
38
|
-
}
|
|
39
|
-
declare function apitallyPlugin(config: ApitallyConfig): (app: Elysia) => Elysia<"", {
|
|
40
|
-
decorator: {
|
|
41
|
-
apitally: ApitallyContext;
|
|
42
|
-
};
|
|
43
|
-
store: {};
|
|
44
|
-
derive: {};
|
|
45
|
-
resolve: {};
|
|
46
|
-
}, {
|
|
47
|
-
typebox: {};
|
|
48
|
-
error: {};
|
|
49
|
-
}, {
|
|
50
|
-
schema: {};
|
|
51
|
-
standaloneSchema: {};
|
|
52
|
-
macro: {};
|
|
53
|
-
macroFn: {};
|
|
54
|
-
parser: {};
|
|
55
|
-
response: {};
|
|
56
|
-
}, {}, {
|
|
57
|
-
derive: {};
|
|
58
|
-
resolve: {};
|
|
59
|
-
schema: {};
|
|
60
|
-
standaloneSchema: {};
|
|
61
|
-
response: {};
|
|
62
|
-
}, {
|
|
63
|
-
derive: {};
|
|
64
|
-
resolve: {};
|
|
65
|
-
schema: {};
|
|
66
|
-
standaloneSchema: {};
|
|
67
|
-
response: {};
|
|
68
|
-
}>;
|
|
69
|
-
|
|
70
|
-
export { apitallyPlugin, apitallyPlugin as default };
|