adorn-api 1.0.3 → 1.0.5
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 +766 -51
- package/dist/adapter/express/bootstrap.d.ts +24 -0
- package/dist/adapter/express/bootstrap.d.ts.map +1 -0
- package/dist/adapter/express/index.d.ts +41 -0
- package/dist/adapter/express/index.d.ts.map +1 -0
- package/dist/adapter/express/merge.d.ts +28 -0
- package/dist/adapter/express/merge.d.ts.map +1 -0
- package/dist/cli.cjs +1571 -0
- package/dist/cli.cjs.map +1 -0
- package/dist/cli.d.ts +1 -0
- package/dist/cli.js +1552 -2
- package/dist/cli.js.map +1 -1
- package/dist/compiler/analyze/scanControllers.d.ts +35 -0
- package/dist/compiler/analyze/scanControllers.d.ts.map +1 -0
- package/dist/compiler/cache/isStale.d.ts +20 -0
- package/dist/compiler/cache/isStale.d.ts.map +1 -0
- package/dist/compiler/cache/loadArtifacts.d.ts +113 -0
- package/dist/compiler/cache/loadArtifacts.d.ts.map +1 -0
- package/dist/compiler/cache/schema.d.ts +18 -0
- package/dist/compiler/cache/schema.d.ts.map +1 -0
- package/dist/compiler/cache/writeCache.d.ts +8 -0
- package/dist/compiler/cache/writeCache.d.ts.map +1 -0
- package/dist/compiler/manifest/emit.d.ts +7 -0
- package/dist/compiler/manifest/emit.d.ts.map +1 -0
- package/dist/compiler/manifest/format.d.ts +76 -0
- package/dist/compiler/manifest/format.d.ts.map +1 -0
- package/dist/compiler/runner/createProgram.d.ts +8 -0
- package/dist/compiler/runner/createProgram.d.ts.map +1 -0
- package/dist/compiler/schema/extractAnnotations.d.ts +10 -0
- package/dist/compiler/schema/extractAnnotations.d.ts.map +1 -0
- package/dist/compiler/schema/openapi.d.ts +19 -0
- package/dist/compiler/schema/openapi.d.ts.map +1 -0
- package/dist/compiler/schema/typeToJsonSchema.d.ts +49 -0
- package/dist/compiler/schema/typeToJsonSchema.d.ts.map +1 -0
- package/dist/compiler/validation/emitPrecompiledValidators.d.ts +46 -0
- package/dist/compiler/validation/emitPrecompiledValidators.d.ts.map +1 -0
- package/dist/decorators/Auth.d.ts +5 -0
- package/dist/decorators/Auth.d.ts.map +1 -0
- package/dist/decorators/Controller.d.ts +2 -0
- package/dist/decorators/Controller.d.ts.map +1 -0
- package/dist/decorators/Public.d.ts +2 -0
- package/dist/decorators/Public.d.ts.map +1 -0
- package/dist/decorators/Use.d.ts +5 -0
- package/dist/decorators/Use.d.ts.map +1 -0
- package/dist/decorators/index.d.ts +5 -6
- package/dist/decorators/index.d.ts.map +1 -1
- package/dist/decorators/methods.d.ts +5 -145
- package/dist/decorators/methods.d.ts.map +1 -1
- package/dist/express.cjs +775 -0
- package/dist/express.cjs.map +1 -0
- package/dist/express.d.ts +6 -1
- package/dist/express.d.ts.map +1 -1
- package/dist/express.js +738 -1
- package/dist/express.js.map +1 -1
- package/dist/http.d.ts +29 -0
- package/dist/http.d.ts.map +1 -0
- package/dist/index.cjs +573 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +12 -14
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +490 -26
- package/dist/index.js.map +1 -1
- package/dist/metal/index.cjs +219 -0
- package/dist/metal/index.cjs.map +1 -0
- package/dist/metal/index.d.ts +6 -0
- package/dist/metal/index.d.ts.map +1 -0
- package/dist/metal/index.js +188 -0
- package/dist/metal/index.js.map +1 -0
- package/dist/metal/readMetalBag.d.ts +33 -0
- package/dist/metal/readMetalBag.d.ts.map +1 -0
- package/dist/metal/registerMetalEntities.d.ts +6 -0
- package/dist/metal/registerMetalEntities.d.ts.map +1 -0
- package/dist/metal/schemaFromEntity.d.ts +11 -0
- package/dist/metal/schemaFromEntity.d.ts.map +1 -0
- package/dist/metal/symbolMetadata.d.ts +2 -0
- package/dist/metal/symbolMetadata.d.ts.map +1 -0
- package/dist/runtime/auth/runtime.d.ts +34 -0
- package/dist/runtime/auth/runtime.d.ts.map +1 -0
- package/dist/runtime/metadata/bucket.d.ts +3 -0
- package/dist/runtime/metadata/bucket.d.ts.map +1 -0
- package/dist/runtime/metadata/key.d.ts +2 -0
- package/dist/runtime/metadata/key.d.ts.map +1 -0
- package/dist/runtime/metadata/read.d.ts +3 -0
- package/dist/runtime/metadata/read.d.ts.map +1 -0
- package/dist/runtime/metadata/types.d.ts +21 -0
- package/dist/runtime/metadata/types.d.ts.map +1 -0
- package/dist/runtime/polyfill.d.ts +2 -0
- package/dist/runtime/polyfill.d.ts.map +1 -0
- package/dist/runtime/upload.d.ts +7 -0
- package/dist/runtime/upload.d.ts.map +1 -0
- package/dist/runtime/validation/ajv.d.ts +20 -0
- package/dist/runtime/validation/ajv.d.ts.map +1 -0
- package/dist/runtime/validation/index.d.ts +2 -0
- package/dist/runtime/validation/index.d.ts.map +1 -0
- package/dist/schema/decorators.d.ts +37 -0
- package/dist/schema/decorators.d.ts.map +1 -0
- package/dist/schema/index.cjs +214 -0
- package/dist/schema/index.cjs.map +1 -0
- package/dist/schema/index.d.ts +2 -0
- package/dist/schema/index.d.ts.map +1 -0
- package/dist/schema/index.js +163 -0
- package/dist/schema/index.js.map +1 -0
- package/dist/scripts/adorn-example.cjs +148 -0
- package/dist/scripts/adorn-example.cjs.map +1 -0
- package/dist/utils/operationId.d.ts +2 -0
- package/dist/utils/operationId.d.ts.map +1 -0
- package/dist/utils/path.d.ts +2 -0
- package/dist/utils/path.d.ts.map +1 -0
- package/package.json +92 -57
- package/dist/adapters/express/createApp.d.ts +0 -158
- package/dist/adapters/express/createApp.d.ts.map +0 -1
- package/dist/adapters/express/createApp.js +0 -141
- package/dist/adapters/express/createApp.js.map +0 -1
- package/dist/adapters/express/index.d.ts +0 -7
- package/dist/adapters/express/index.d.ts.map +0 -1
- package/dist/adapters/express/index.js +0 -7
- package/dist/adapters/express/index.js.map +0 -1
- package/dist/adapters/express/middleware/errorHandler.d.ts +0 -194
- package/dist/adapters/express/middleware/errorHandler.d.ts.map +0 -1
- package/dist/adapters/express/middleware/errorHandler.js +0 -167
- package/dist/adapters/express/middleware/errorHandler.js.map +0 -1
- package/dist/adapters/express/middleware/requestContext.d.ts +0 -2
- package/dist/adapters/express/middleware/requestContext.d.ts.map +0 -1
- package/dist/adapters/express/middleware/requestContext.js +0 -3
- package/dist/adapters/express/middleware/requestContext.js.map +0 -1
- package/dist/adapters/express/router.d.ts +0 -10
- package/dist/adapters/express/router.d.ts.map +0 -1
- package/dist/adapters/express/router.js +0 -105
- package/dist/adapters/express/router.js.map +0 -1
- package/dist/adapters/express/swagger/index.d.ts +0 -2
- package/dist/adapters/express/swagger/index.d.ts.map +0 -1
- package/dist/adapters/express/swagger/index.js +0 -2
- package/dist/adapters/express/swagger/index.js.map +0 -1
- package/dist/adapters/express/swagger/serve.d.ts +0 -12
- package/dist/adapters/express/swagger/serve.d.ts.map +0 -1
- package/dist/adapters/express/swagger/serve.js +0 -72
- package/dist/adapters/express/swagger/serve.js.map +0 -1
- package/dist/adapters/express/transport/request.d.ts +0 -4
- package/dist/adapters/express/transport/request.d.ts.map +0 -1
- package/dist/adapters/express/transport/request.js +0 -12
- package/dist/adapters/express/transport/request.js.map +0 -1
- package/dist/adapters/express/transport/response.d.ts +0 -5
- package/dist/adapters/express/transport/response.d.ts.map +0 -1
- package/dist/adapters/express/transport/response.js +0 -36
- package/dist/adapters/express/transport/response.js.map +0 -1
- package/dist/cli/commands/dev.d.ts +0 -2
- package/dist/cli/commands/dev.d.ts.map +0 -1
- package/dist/cli/commands/dev.js +0 -3
- package/dist/cli/commands/dev.js.map +0 -1
- package/dist/cli/commands/gen.d.ts +0 -2
- package/dist/cli/commands/gen.d.ts.map +0 -1
- package/dist/cli/commands/gen.js +0 -3
- package/dist/cli/commands/gen.js.map +0 -1
- package/dist/cli/main.d.ts +0 -2
- package/dist/cli/main.d.ts.map +0 -1
- package/dist/cli/main.js +0 -3
- package/dist/cli/main.js.map +0 -1
- package/dist/compiler/config/defaults.d.ts +0 -2
- package/dist/compiler/config/defaults.d.ts.map +0 -1
- package/dist/compiler/config/defaults.js +0 -3
- package/dist/compiler/config/defaults.js.map +0 -1
- package/dist/compiler/config/loadConfig.d.ts +0 -2
- package/dist/compiler/config/loadConfig.d.ts.map +0 -1
- package/dist/compiler/config/loadConfig.js +0 -3
- package/dist/compiler/config/loadConfig.js.map +0 -1
- package/dist/compiler/diagnostics/errors.d.ts +0 -2
- package/dist/compiler/diagnostics/errors.d.ts.map +0 -1
- package/dist/compiler/diagnostics/errors.js +0 -3
- package/dist/compiler/diagnostics/errors.js.map +0 -1
- package/dist/compiler/emit/openapi.d.ts +0 -2
- package/dist/compiler/emit/openapi.d.ts.map +0 -1
- package/dist/compiler/emit/openapi.js +0 -3
- package/dist/compiler/emit/openapi.js.map +0 -1
- package/dist/compiler/emit/routes.d.ts +0 -2
- package/dist/compiler/emit/routes.d.ts.map +0 -1
- package/dist/compiler/emit/routes.js +0 -3
- package/dist/compiler/emit/routes.js.map +0 -1
- package/dist/compiler/program/loadTsProgram.d.ts +0 -2
- package/dist/compiler/program/loadTsProgram.d.ts.map +0 -1
- package/dist/compiler/program/loadTsProgram.js +0 -3
- package/dist/compiler/program/loadTsProgram.js.map +0 -1
- package/dist/compiler/scan/actions.d.ts +0 -2
- package/dist/compiler/scan/actions.d.ts.map +0 -1
- package/dist/compiler/scan/actions.js +0 -3
- package/dist/compiler/scan/actions.js.map +0 -1
- package/dist/compiler/scan/controllers.d.ts +0 -2
- package/dist/compiler/scan/controllers.d.ts.map +0 -1
- package/dist/compiler/scan/controllers.js +0 -3
- package/dist/compiler/scan/controllers.js.map +0 -1
- package/dist/compiler/scan/types.d.ts +0 -2
- package/dist/compiler/scan/types.d.ts.map +0 -1
- package/dist/compiler/scan/types.js +0 -3
- package/dist/compiler/scan/types.js.map +0 -1
- package/dist/contracts/context.d.ts +0 -10
- package/dist/contracts/context.d.ts.map +0 -1
- package/dist/contracts/context.js +0 -2
- package/dist/contracts/context.js.map +0 -1
- package/dist/contracts/errors.d.ts +0 -22
- package/dist/contracts/errors.d.ts.map +0 -1
- package/dist/contracts/errors.js +0 -2
- package/dist/contracts/errors.js.map +0 -1
- package/dist/contracts/http.d.ts +0 -2
- package/dist/contracts/http.d.ts.map +0 -1
- package/dist/contracts/http.js +0 -3
- package/dist/contracts/http.js.map +0 -1
- package/dist/contracts/middleware.d.ts +0 -2
- package/dist/contracts/middleware.d.ts.map +0 -1
- package/dist/contracts/middleware.js +0 -3
- package/dist/contracts/middleware.js.map +0 -1
- package/dist/contracts/openapi-v3.d.ts +0 -538
- package/dist/contracts/openapi-v3.d.ts.map +0 -1
- package/dist/contracts/openapi-v3.js +0 -2
- package/dist/contracts/openapi-v3.js.map +0 -1
- package/dist/contracts/openapi.d.ts +0 -2
- package/dist/contracts/openapi.d.ts.map +0 -1
- package/dist/contracts/openapi.js +0 -2
- package/dist/contracts/openapi.js.map +0 -1
- package/dist/contracts/reply.d.ts +0 -119
- package/dist/contracts/reply.d.ts.map +0 -1
- package/dist/contracts/reply.js +0 -43
- package/dist/contracts/reply.js.map +0 -1
- package/dist/contracts/response-types.d.ts +0 -40
- package/dist/contracts/response-types.d.ts.map +0 -1
- package/dist/contracts/response-types.js +0 -2
- package/dist/contracts/response-types.js.map +0 -1
- package/dist/contracts/responses.d.ts +0 -98
- package/dist/contracts/responses.d.ts.map +0 -1
- package/dist/contracts/responses.js +0 -2
- package/dist/contracts/responses.js.map +0 -1
- package/dist/contracts/route-options.d.ts +0 -155
- package/dist/contracts/route-options.d.ts.map +0 -1
- package/dist/contracts/route-options.js +0 -2
- package/dist/contracts/route-options.js.map +0 -1
- package/dist/contracts/route-typing.d.ts +0 -25
- package/dist/contracts/route-typing.d.ts.map +0 -1
- package/dist/contracts/route-typing.js +0 -2
- package/dist/contracts/route-typing.js.map +0 -1
- package/dist/contracts/validator.d.ts +0 -146
- package/dist/contracts/validator.d.ts.map +0 -1
- package/dist/contracts/validator.js +0 -2
- package/dist/contracts/validator.js.map +0 -1
- package/dist/core/binding/binder.d.ts +0 -74
- package/dist/core/binding/binder.d.ts.map +0 -1
- package/dist/core/binding/binder.js +0 -161
- package/dist/core/binding/binder.js.map +0 -1
- package/dist/core/binding/coerce/arrays.d.ts +0 -7
- package/dist/core/binding/coerce/arrays.d.ts.map +0 -1
- package/dist/core/binding/coerce/arrays.js +0 -28
- package/dist/core/binding/coerce/arrays.js.map +0 -1
- package/dist/core/binding/coerce/csv.d.ts +0 -2
- package/dist/core/binding/coerce/csv.d.ts.map +0 -1
- package/dist/core/binding/coerce/csv.js +0 -7
- package/dist/core/binding/coerce/csv.js.map +0 -1
- package/dist/core/binding/coerce/objects.d.ts +0 -2
- package/dist/core/binding/coerce/objects.d.ts.map +0 -1
- package/dist/core/binding/coerce/objects.js +0 -3
- package/dist/core/binding/coerce/objects.js.map +0 -1
- package/dist/core/binding/coerce/primitives.d.ts +0 -70
- package/dist/core/binding/coerce/primitives.d.ts.map +0 -1
- package/dist/core/binding/coerce/primitives.js +0 -88
- package/dist/core/binding/coerce/primitives.js.map +0 -1
- package/dist/core/binding/index.d.ts +0 -2
- package/dist/core/binding/index.d.ts.map +0 -1
- package/dist/core/binding/index.js +0 -2
- package/dist/core/binding/index.js.map +0 -1
- package/dist/core/binding/rules/inferFromHttpMethod.d.ts +0 -6
- package/dist/core/binding/rules/inferFromHttpMethod.d.ts.map +0 -1
- package/dist/core/binding/rules/inferFromHttpMethod.js +0 -11
- package/dist/core/binding/rules/inferFromHttpMethod.js.map +0 -1
- package/dist/core/binding/rules/inferFromPath.d.ts +0 -2
- package/dist/core/binding/rules/inferFromPath.d.ts.map +0 -1
- package/dist/core/binding/rules/inferFromPath.js +0 -9
- package/dist/core/binding/rules/inferFromPath.js.map +0 -1
- package/dist/core/binding/rules/wrappers.d.ts +0 -2
- package/dist/core/binding/rules/wrappers.d.ts.map +0 -1
- package/dist/core/binding/rules/wrappers.js +0 -3
- package/dist/core/binding/rules/wrappers.js.map +0 -1
- package/dist/core/errors/http-error.d.ts +0 -63
- package/dist/core/errors/http-error.d.ts.map +0 -1
- package/dist/core/errors/http-error.js +0 -71
- package/dist/core/errors/http-error.js.map +0 -1
- package/dist/core/errors/index.d.ts +0 -4
- package/dist/core/errors/index.d.ts.map +0 -1
- package/dist/core/errors/index.js +0 -4
- package/dist/core/errors/index.js.map +0 -1
- package/dist/core/errors/problem.d.ts +0 -3
- package/dist/core/errors/problem.d.ts.map +0 -1
- package/dist/core/errors/problem.js +0 -33
- package/dist/core/errors/problem.js.map +0 -1
- package/dist/core/errors/validation-error.d.ts +0 -73
- package/dist/core/errors/validation-error.d.ts.map +0 -1
- package/dist/core/errors/validation-error.js +0 -82
- package/dist/core/errors/validation-error.js.map +0 -1
- package/dist/core/openapi/buildOpenApi.d.ts +0 -79
- package/dist/core/openapi/buildOpenApi.d.ts.map +0 -1
- package/dist/core/openapi/buildOpenApi.js +0 -196
- package/dist/core/openapi/buildOpenApi.js.map +0 -1
- package/dist/core/openapi/index.d.ts +0 -2
- package/dist/core/openapi/index.d.ts.map +0 -1
- package/dist/core/openapi/index.js +0 -2
- package/dist/core/openapi/index.js.map +0 -1
- package/dist/core/openapi/schema/formats.d.ts +0 -2
- package/dist/core/openapi/schema/formats.d.ts.map +0 -1
- package/dist/core/openapi/schema/formats.js +0 -3
- package/dist/core/openapi/schema/formats.js.map +0 -1
- package/dist/core/openapi/schema/registry.d.ts +0 -9
- package/dist/core/openapi/schema/registry.d.ts.map +0 -1
- package/dist/core/openapi/schema/registry.js +0 -21
- package/dist/core/openapi/schema/registry.js.map +0 -1
- package/dist/core/openapi/schema/schemaModel.d.ts +0 -2
- package/dist/core/openapi/schema/schemaModel.d.ts.map +0 -1
- package/dist/core/openapi/schema/schemaModel.js +0 -3
- package/dist/core/openapi/schema/schemaModel.js.map +0 -1
- package/dist/core/openapi/schema/schemaRegistry.d.ts +0 -2
- package/dist/core/openapi/schema/schemaRegistry.d.ts.map +0 -1
- package/dist/core/openapi/schema/schemaRegistry.js +0 -3
- package/dist/core/openapi/schema/schemaRegistry.js.map +0 -1
- package/dist/core/openapi/schema/toOpenApi.d.ts +0 -4
- package/dist/core/openapi/schema/toOpenApi.d.ts.map +0 -1
- package/dist/core/openapi/schema/toOpenApi.js +0 -82
- package/dist/core/openapi/schema/toOpenApi.js.map +0 -1
- package/dist/core/pipeline/compose.d.ts +0 -2
- package/dist/core/pipeline/compose.d.ts.map +0 -1
- package/dist/core/pipeline/compose.js +0 -3
- package/dist/core/pipeline/compose.js.map +0 -1
- package/dist/core/pipeline/errorMap.d.ts +0 -2
- package/dist/core/pipeline/errorMap.d.ts.map +0 -1
- package/dist/core/pipeline/errorMap.js +0 -3
- package/dist/core/pipeline/errorMap.js.map +0 -1
- package/dist/core/pipeline/invoke.d.ts +0 -2
- package/dist/core/pipeline/invoke.d.ts.map +0 -1
- package/dist/core/pipeline/invoke.js +0 -3
- package/dist/core/pipeline/invoke.js.map +0 -1
- package/dist/core/pipeline/result.d.ts +0 -2
- package/dist/core/pipeline/result.d.ts.map +0 -1
- package/dist/core/pipeline/result.js +0 -3
- package/dist/core/pipeline/result.js.map +0 -1
- package/dist/core/registry/buildRegistry.d.ts +0 -3
- package/dist/core/registry/buildRegistry.d.ts.map +0 -1
- package/dist/core/registry/buildRegistry.js +0 -105
- package/dist/core/registry/buildRegistry.js.map +0 -1
- package/dist/core/registry/conflicts.d.ts +0 -6
- package/dist/core/registry/conflicts.d.ts.map +0 -1
- package/dist/core/registry/conflicts.js +0 -21
- package/dist/core/registry/conflicts.js.map +0 -1
- package/dist/core/registry/index.d.ts +0 -5
- package/dist/core/registry/index.d.ts.map +0 -1
- package/dist/core/registry/index.js +0 -5
- package/dist/core/registry/index.js.map +0 -1
- package/dist/core/registry/normalize.d.ts +0 -3
- package/dist/core/registry/normalize.d.ts.map +0 -1
- package/dist/core/registry/normalize.js +0 -24
- package/dist/core/registry/normalize.js.map +0 -1
- package/dist/core/registry/types.d.ts +0 -225
- package/dist/core/registry/types.d.ts.map +0 -1
- package/dist/core/registry/types.js +0 -2
- package/dist/core/registry/types.js.map +0 -1
- package/dist/core/reply/index.d.ts +0 -3
- package/dist/core/reply/index.d.ts.map +0 -1
- package/dist/core/reply/index.js +0 -3
- package/dist/core/reply/index.js.map +0 -1
- package/dist/core/reply/reply.d.ts +0 -102
- package/dist/core/reply/reply.d.ts.map +0 -1
- package/dist/core/reply/reply.js +0 -105
- package/dist/core/reply/reply.js.map +0 -1
- package/dist/core/reply/typed.d.ts +0 -161
- package/dist/core/reply/typed.d.ts.map +0 -1
- package/dist/core/reply/typed.js +0 -154
- package/dist/core/reply/typed.js.map +0 -1
- package/dist/core/responses/helpers.d.ts +0 -10
- package/dist/core/responses/helpers.d.ts.map +0 -1
- package/dist/core/responses/helpers.js +0 -8
- package/dist/core/responses/helpers.js.map +0 -1
- package/dist/core/responses/index.d.ts +0 -4
- package/dist/core/responses/index.d.ts.map +0 -1
- package/dist/core/responses/index.js +0 -4
- package/dist/core/responses/index.js.map +0 -1
- package/dist/core/responses/normalize.d.ts +0 -3
- package/dist/core/responses/normalize.d.ts.map +0 -1
- package/dist/core/responses/normalize.js +0 -33
- package/dist/core/responses/normalize.js.map +0 -1
- package/dist/core/responses/pickStatus.d.ts +0 -3
- package/dist/core/responses/pickStatus.d.ts.map +0 -1
- package/dist/core/responses/pickStatus.js +0 -27
- package/dist/core/responses/pickStatus.js.map +0 -1
- package/dist/core/route/defineRoute.d.ts +0 -74
- package/dist/core/route/defineRoute.d.ts.map +0 -1
- package/dist/core/route/defineRoute.js +0 -59
- package/dist/core/route/defineRoute.js.map +0 -1
- package/dist/core/route/index.d.ts +0 -2
- package/dist/core/route/index.d.ts.map +0 -1
- package/dist/core/route/index.js +0 -2
- package/dist/core/route/index.js.map +0 -1
- package/dist/core/serialization/json.d.ts +0 -2
- package/dist/core/serialization/json.d.ts.map +0 -1
- package/dist/core/serialization/json.js +0 -3
- package/dist/core/serialization/json.js.map +0 -1
- package/dist/core/typing/path-params.d.ts +0 -2
- package/dist/core/typing/path-params.d.ts.map +0 -1
- package/dist/core/typing/path-params.js +0 -2
- package/dist/core/typing/path-params.js.map +0 -1
- package/dist/decorators/binding.d.ts +0 -9
- package/dist/decorators/binding.d.ts.map +0 -1
- package/dist/decorators/binding.js +0 -18
- package/dist/decorators/binding.js.map +0 -1
- package/dist/decorators/controller.d.ts +0 -6
- package/dist/decorators/controller.d.ts.map +0 -1
- package/dist/decorators/controller.js +0 -26
- package/dist/decorators/controller.js.map +0 -1
- package/dist/decorators/db.d.ts +0 -2
- package/dist/decorators/db.d.ts.map +0 -1
- package/dist/decorators/db.js +0 -3
- package/dist/decorators/db.js.map +0 -1
- package/dist/decorators/docs.d.ts +0 -8
- package/dist/decorators/docs.d.ts.map +0 -1
- package/dist/decorators/docs.js +0 -46
- package/dist/decorators/docs.js.map +0 -1
- package/dist/decorators/index.js +0 -7
- package/dist/decorators/index.js.map +0 -1
- package/dist/decorators/methods.js +0 -170
- package/dist/decorators/methods.js.map +0 -1
- package/dist/decorators/middleware.d.ts +0 -2
- package/dist/decorators/middleware.d.ts.map +0 -1
- package/dist/decorators/middleware.js +0 -3
- package/dist/decorators/middleware.js.map +0 -1
- package/dist/decorators/responses.d.ts +0 -7
- package/dist/decorators/responses.d.ts.map +0 -1
- package/dist/decorators/responses.js +0 -44
- package/dist/decorators/responses.js.map +0 -1
- package/dist/decorators/security.d.ts +0 -8
- package/dist/decorators/security.d.ts.map +0 -1
- package/dist/decorators/security.js +0 -39
- package/dist/decorators/security.js.map +0 -1
- package/dist/integrations/metal-orm/index.d.ts +0 -2
- package/dist/integrations/metal-orm/index.d.ts.map +0 -1
- package/dist/integrations/metal-orm/index.js +0 -2
- package/dist/integrations/metal-orm/index.js.map +0 -1
- package/dist/integrations/metal-orm/pagination/executePaged.d.ts +0 -2
- package/dist/integrations/metal-orm/pagination/executePaged.d.ts.map +0 -1
- package/dist/integrations/metal-orm/pagination/executePaged.js +0 -3
- package/dist/integrations/metal-orm/pagination/executePaged.js.map +0 -1
- package/dist/integrations/metal-orm/pagination/page.d.ts +0 -2
- package/dist/integrations/metal-orm/pagination/page.d.ts.map +0 -1
- package/dist/integrations/metal-orm/pagination/page.js +0 -3
- package/dist/integrations/metal-orm/pagination/page.js.map +0 -1
- package/dist/integrations/metal-orm/query/filters.d.ts +0 -2
- package/dist/integrations/metal-orm/query/filters.d.ts.map +0 -1
- package/dist/integrations/metal-orm/query/filters.js +0 -3
- package/dist/integrations/metal-orm/query/filters.js.map +0 -1
- package/dist/integrations/metal-orm/query/search.d.ts +0 -2
- package/dist/integrations/metal-orm/query/search.d.ts.map +0 -1
- package/dist/integrations/metal-orm/query/search.js +0 -3
- package/dist/integrations/metal-orm/query/search.js.map +0 -1
- package/dist/integrations/metal-orm/query/sort.d.ts +0 -2
- package/dist/integrations/metal-orm/query/sort.d.ts.map +0 -1
- package/dist/integrations/metal-orm/query/sort.js +0 -3
- package/dist/integrations/metal-orm/query/sort.js.map +0 -1
- package/dist/integrations/metal-orm/save-graph/helpers.d.ts +0 -2
- package/dist/integrations/metal-orm/save-graph/helpers.d.ts.map +0 -1
- package/dist/integrations/metal-orm/save-graph/helpers.js +0 -3
- package/dist/integrations/metal-orm/save-graph/helpers.js.map +0 -1
- package/dist/integrations/metal-orm/save-graph/types.d.ts +0 -2
- package/dist/integrations/metal-orm/save-graph/types.d.ts.map +0 -1
- package/dist/integrations/metal-orm/save-graph/types.js +0 -3
- package/dist/integrations/metal-orm/save-graph/types.js.map +0 -1
- package/dist/integrations/metal-orm/schema/column-map.d.ts +0 -96
- package/dist/integrations/metal-orm/schema/column-map.d.ts.map +0 -1
- package/dist/integrations/metal-orm/schema/column-map.js +0 -207
- package/dist/integrations/metal-orm/schema/column-map.js.map +0 -1
- package/dist/integrations/metal-orm/schema/ddl.d.ts +0 -2
- package/dist/integrations/metal-orm/schema/ddl.d.ts.map +0 -1
- package/dist/integrations/metal-orm/schema/ddl.js +0 -3
- package/dist/integrations/metal-orm/schema/ddl.js.map +0 -1
- package/dist/integrations/metal-orm/schema/dto.d.ts +0 -7
- package/dist/integrations/metal-orm/schema/dto.d.ts.map +0 -1
- package/dist/integrations/metal-orm/schema/dto.js +0 -34
- package/dist/integrations/metal-orm/schema/dto.js.map +0 -1
- package/dist/integrations/metal-orm/schema/entity.d.ts +0 -99
- package/dist/integrations/metal-orm/schema/entity.d.ts.map +0 -1
- package/dist/integrations/metal-orm/schema/entity.js +0 -99
- package/dist/integrations/metal-orm/schema/entity.js.map +0 -1
- package/dist/integrations/metal-orm/schema/filters.d.ts +0 -11
- package/dist/integrations/metal-orm/schema/filters.d.ts.map +0 -1
- package/dist/integrations/metal-orm/schema/filters.js +0 -21
- package/dist/integrations/metal-orm/schema/filters.js.map +0 -1
- package/dist/integrations/metal-orm/schema/index.d.ts +0 -5
- package/dist/integrations/metal-orm/schema/index.d.ts.map +0 -1
- package/dist/integrations/metal-orm/schema/index.js +0 -5
- package/dist/integrations/metal-orm/schema/index.js.map +0 -1
- package/dist/integrations/metal-orm/schema/openapi/entityToSchema.d.ts +0 -2
- package/dist/integrations/metal-orm/schema/openapi/entityToSchema.d.ts.map +0 -1
- package/dist/integrations/metal-orm/schema/openapi/entityToSchema.js +0 -3
- package/dist/integrations/metal-orm/schema/openapi/entityToSchema.js.map +0 -1
- package/dist/integrations/metal-orm/schema/openapi/tableDefToSchema.d.ts +0 -2
- package/dist/integrations/metal-orm/schema/openapi/tableDefToSchema.d.ts.map +0 -1
- package/dist/integrations/metal-orm/schema/openapi/tableDefToSchema.js +0 -3
- package/dist/integrations/metal-orm/schema/openapi/tableDefToSchema.js.map +0 -1
- package/dist/integrations/metal-orm/schema/sqlite.d.ts +0 -2
- package/dist/integrations/metal-orm/schema/sqlite.d.ts.map +0 -1
- package/dist/integrations/metal-orm/schema/sqlite.js +0 -3
- package/dist/integrations/metal-orm/schema/sqlite.js.map +0 -1
- package/dist/integrations/metal-orm/schema/tabledef.d.ts +0 -4
- package/dist/integrations/metal-orm/schema/tabledef.d.ts.map +0 -1
- package/dist/integrations/metal-orm/schema/tabledef.js +0 -10
- package/dist/integrations/metal-orm/schema/tabledef.js.map +0 -1
- package/dist/integrations/metal-orm/schema/types.d.ts +0 -7
- package/dist/integrations/metal-orm/schema/types.d.ts.map +0 -1
- package/dist/integrations/metal-orm/schema/types.js +0 -2
- package/dist/integrations/metal-orm/schema/types.js.map +0 -1
- package/dist/integrations/metal-orm/serialization/entitySerializer.d.ts +0 -2
- package/dist/integrations/metal-orm/serialization/entitySerializer.d.ts.map +0 -1
- package/dist/integrations/metal-orm/serialization/entitySerializer.js +0 -3
- package/dist/integrations/metal-orm/serialization/entitySerializer.js.map +0 -1
- package/dist/integrations/metal-orm/serialization/relationPolicy.d.ts +0 -2
- package/dist/integrations/metal-orm/serialization/relationPolicy.d.ts.map +0 -1
- package/dist/integrations/metal-orm/serialization/relationPolicy.js +0 -3
- package/dist/integrations/metal-orm/serialization/relationPolicy.js.map +0 -1
- package/dist/integrations/metal-orm/session/context.d.ts +0 -2
- package/dist/integrations/metal-orm/session/context.d.ts.map +0 -1
- package/dist/integrations/metal-orm/session/context.js +0 -3
- package/dist/integrations/metal-orm/session/context.js.map +0 -1
- package/dist/integrations/metal-orm/session/middleware.d.ts +0 -2
- package/dist/integrations/metal-orm/session/middleware.d.ts.map +0 -1
- package/dist/integrations/metal-orm/session/middleware.js +0 -3
- package/dist/integrations/metal-orm/session/middleware.js.map +0 -1
- package/dist/integrations/metal-orm/session/transaction.d.ts +0 -2
- package/dist/integrations/metal-orm/session/transaction.d.ts.map +0 -1
- package/dist/integrations/metal-orm/session/transaction.js +0 -3
- package/dist/integrations/metal-orm/session/transaction.js.map +0 -1
- package/dist/integrations/metal-orm/testing/setupSchema.d.ts +0 -2
- package/dist/integrations/metal-orm/testing/setupSchema.d.ts.map +0 -1
- package/dist/integrations/metal-orm/testing/setupSchema.js +0 -3
- package/dist/integrations/metal-orm/testing/setupSchema.js.map +0 -1
- package/dist/integrations/metal-orm/testing/sqliteMemory.d.ts +0 -2
- package/dist/integrations/metal-orm/testing/sqliteMemory.d.ts.map +0 -1
- package/dist/integrations/metal-orm/testing/sqliteMemory.js +0 -3
- package/dist/integrations/metal-orm/testing/sqliteMemory.js.map +0 -1
- package/dist/metadata/bag.d.ts +0 -18
- package/dist/metadata/bag.d.ts.map +0 -1
- package/dist/metadata/bag.js +0 -39
- package/dist/metadata/bag.js.map +0 -1
- package/dist/metadata/index.d.ts +0 -4
- package/dist/metadata/index.d.ts.map +0 -1
- package/dist/metadata/index.js +0 -4
- package/dist/metadata/index.js.map +0 -1
- package/dist/metadata/keys.d.ts +0 -254
- package/dist/metadata/keys.d.ts.map +0 -1
- package/dist/metadata/keys.js +0 -23
- package/dist/metadata/keys.js.map +0 -1
- package/dist/metadata/merge.d.ts +0 -9
- package/dist/metadata/merge.d.ts.map +0 -1
- package/dist/metadata/merge.js +0 -30
- package/dist/metadata/merge.js.map +0 -1
- package/dist/metal-orm.d.ts +0 -2
- package/dist/metal-orm.d.ts.map +0 -1
- package/dist/metal-orm.js +0 -2
- package/dist/metal-orm.js.map +0 -1
- package/dist/validation/native/index.d.ts +0 -3
- package/dist/validation/native/index.d.ts.map +0 -1
- package/dist/validation/native/index.js +0 -3
- package/dist/validation/native/index.js.map +0 -1
- package/dist/validation/native/ir.d.ts +0 -38
- package/dist/validation/native/ir.d.ts.map +0 -1
- package/dist/validation/native/ir.js +0 -2
- package/dist/validation/native/ir.js.map +0 -1
- package/dist/validation/native/schema.d.ts +0 -63
- package/dist/validation/native/schema.d.ts.map +0 -1
- package/dist/validation/native/schema.js +0 -271
- package/dist/validation/native/schema.js.map +0 -1
- package/dist/validation/native/validator.d.ts +0 -21
- package/dist/validation/native/validator.d.ts.map +0 -1
- package/dist/validation/native/validator.js +0 -48
- package/dist/validation/native/validator.js.map +0 -1
package/dist/contracts/reply.js
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Type guard function to check if an object is an Adorn Reply.
|
|
3
|
-
*
|
|
4
|
-
* This function is used to safely check if an object conforms to
|
|
5
|
-
* the Reply type structure.
|
|
6
|
-
*
|
|
7
|
-
* @param x - Object to check
|
|
8
|
-
* @returns true if the object is a Reply, false otherwise
|
|
9
|
-
*
|
|
10
|
-
* @example
|
|
11
|
-
* ```typescript
|
|
12
|
-
* function handleResponse(response: unknown) {
|
|
13
|
-
* if (isReply(response)) {
|
|
14
|
-
* // TypeScript now knows response is a Reply
|
|
15
|
-
* console.log('Status:', response.status);
|
|
16
|
-
* console.log('Body:', response.body);
|
|
17
|
-
* } else {
|
|
18
|
-
* console.log('Not a reply object');
|
|
19
|
-
* }
|
|
20
|
-
* }
|
|
21
|
-
* ```
|
|
22
|
-
*
|
|
23
|
-
* @example
|
|
24
|
-
* ```typescript
|
|
25
|
-
* // In middleware or error handling
|
|
26
|
-
* if (isReply(error)) {
|
|
27
|
-
* // It's a reply object, can be sent directly to client
|
|
28
|
-
* res.status(error.status).json(error.body);
|
|
29
|
-
* } else {
|
|
30
|
-
* // Handle non-reply errors
|
|
31
|
-
* res.status(500).json({ error: 'Internal Server Error' });
|
|
32
|
-
* }
|
|
33
|
-
* ```
|
|
34
|
-
*
|
|
35
|
-
* @see Reply for the reply object type
|
|
36
|
-
*/
|
|
37
|
-
export function isReply(x) {
|
|
38
|
-
if (!x || typeof x !== 'object')
|
|
39
|
-
return false;
|
|
40
|
-
const candidate = x;
|
|
41
|
-
return candidate.__adornReply === true && typeof candidate.status === 'number';
|
|
42
|
-
}
|
|
43
|
-
//# sourceMappingURL=reply.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"reply.js","sourceRoot":"","sources":["../../src/contracts/reply.ts"],"names":[],"mappings":"AAoFA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,UAAU,OAAO,CAAC,CAAU;IAChC,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC9C,MAAM,SAAS,GAAG,CAA2B,CAAC;IAC9C,OAAO,SAAS,CAAC,YAAY,KAAK,IAAI,IAAI,OAAO,SAAS,CAAC,MAAM,KAAK,QAAQ,CAAC;AACjF,CAAC"}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import type { Schema } from '../validation/native/schema.js';
|
|
2
|
-
import type { ResponseSpec, ResponsesSpec } from './responses.js';
|
|
3
|
-
export type StatusKey<R extends ResponsesSpec> = Extract<keyof R, `${number}`>;
|
|
4
|
-
export type StatusNum<K extends string> = K extends `${infer N extends number}` ? N : never;
|
|
5
|
-
export type AllowedStatus<R extends ResponsesSpec> = StatusNum<StatusKey<R>> | (R extends {
|
|
6
|
-
default: unknown;
|
|
7
|
-
} ? number : never);
|
|
8
|
-
export type ResAt<R extends ResponsesSpec, S extends number> = `${S}` extends keyof R ? R[`${S}`] : R extends {
|
|
9
|
-
default: infer D;
|
|
10
|
-
} ? D : never;
|
|
11
|
-
export type NormalizeRes<X> = X extends Schema<unknown> ? {
|
|
12
|
-
content: {
|
|
13
|
-
'application/json': {
|
|
14
|
-
schema: X;
|
|
15
|
-
};
|
|
16
|
-
};
|
|
17
|
-
} : X extends ResponseSpec ? X : never;
|
|
18
|
-
export type ContentOf<X> = NormalizeRes<X> extends {
|
|
19
|
-
content: infer C;
|
|
20
|
-
} ? C : never;
|
|
21
|
-
export type SchemaFromContent<C> = C extends Record<PropertyKey, unknown> ? ('application/json' extends keyof C ? C['application/json'] extends {
|
|
22
|
-
schema: infer S extends Schema<unknown>;
|
|
23
|
-
} ? S : never : C[keyof C] extends {
|
|
24
|
-
schema: infer S extends Schema<unknown>;
|
|
25
|
-
} ? S : never) : never;
|
|
26
|
-
export type BodySchemaFor<R extends ResponsesSpec, S extends number> = SchemaFromContent<ContentOf<ResAt<R, S>>>;
|
|
27
|
-
export type HeadersDefFor<R extends ResponsesSpec, S extends number> = NormalizeRes<ResAt<R, S>> extends {
|
|
28
|
-
headers?: infer H;
|
|
29
|
-
} ? H : undefined;
|
|
30
|
-
export type StatusesWithBody<R extends ResponsesSpec> = {
|
|
31
|
-
[K in StatusKey<R>]: BodySchemaFor<R, StatusNum<K>> extends never ? never : StatusNum<K>;
|
|
32
|
-
}[StatusKey<R>];
|
|
33
|
-
export type StatusesNoBody<R extends ResponsesSpec> = {
|
|
34
|
-
[K in StatusKey<R>]: BodySchemaFor<R, StatusNum<K>> extends never ? StatusNum<K> : never;
|
|
35
|
-
}[StatusKey<R>];
|
|
36
|
-
export type SuccessStatusKeys<R extends ResponsesSpec> = Extract<StatusKey<R>, `2${string}`>;
|
|
37
|
-
export type SuccessStatusNumbers<R extends ResponsesSpec> = SuccessStatusKeys<R> extends `${infer N extends number}` ? N : never;
|
|
38
|
-
export type SuccessStatusesWithBody<R extends ResponsesSpec> = Extract<StatusesWithBody<R>, SuccessStatusNumbers<R>>;
|
|
39
|
-
export type SuccessStatusesNoBody<R extends ResponsesSpec> = Extract<StatusesNoBody<R>, SuccessStatusNumbers<R>>;
|
|
40
|
-
//# sourceMappingURL=response-types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"response-types.d.ts","sourceRoot":"","sources":["../../src/contracts/response-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"response-types.js","sourceRoot":"","sources":["../../src/contracts/response-types.ts"],"names":[],"mappings":""}
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
import type { Schema } from '../validation/native/schema.js';
|
|
2
|
-
/**
|
|
3
|
-
* Specification for response content including schema and example.
|
|
4
|
-
*
|
|
5
|
-
* @template T - The type that the schema validates
|
|
6
|
-
*/
|
|
7
|
-
export type ResponseContentSpec = {
|
|
8
|
-
/** Schema defining the structure and validation rules for the response content */
|
|
9
|
-
schema: Schema<unknown>;
|
|
10
|
-
/** Example value that matches the schema */
|
|
11
|
-
example?: unknown;
|
|
12
|
-
};
|
|
13
|
-
/**
|
|
14
|
-
* Specification for HTTP response headers.
|
|
15
|
-
*
|
|
16
|
-
* @template T - The type that the schema validates
|
|
17
|
-
*/
|
|
18
|
-
export type HeaderSpec = {
|
|
19
|
-
/** Schema defining the structure and validation rules for the header */
|
|
20
|
-
schema: Schema<unknown>;
|
|
21
|
-
/** Human-readable description of the header */
|
|
22
|
-
description?: string;
|
|
23
|
-
/** Whether the header is required */
|
|
24
|
-
required?: boolean;
|
|
25
|
-
};
|
|
26
|
-
/**
|
|
27
|
-
* Complete specification for an HTTP response.
|
|
28
|
-
*
|
|
29
|
-
* This type defines all aspects of an HTTP response including status codes,
|
|
30
|
-
* content types, headers, and schemas. It's used to document and validate
|
|
31
|
-
* API responses.
|
|
32
|
-
*
|
|
33
|
-
* @example
|
|
34
|
-
* ```typescript
|
|
35
|
-
* const successResponse: ResponseSpec = {
|
|
36
|
-
* description: 'User created successfully',
|
|
37
|
-
* headers: {
|
|
38
|
-
* 'X-Request-ID': {
|
|
39
|
-
* schema: Schema.String(),
|
|
40
|
-
* description: 'Unique request identifier',
|
|
41
|
-
* required: true
|
|
42
|
-
* }
|
|
43
|
-
* },
|
|
44
|
-
* content: {
|
|
45
|
-
* 'application/json': {
|
|
46
|
-
* schema: userSchema,
|
|
47
|
-
* example: { id: '123', name: 'John Doe', email: 'john@example.com' }
|
|
48
|
-
* }
|
|
49
|
-
* }
|
|
50
|
-
* };
|
|
51
|
-
* ```
|
|
52
|
-
*
|
|
53
|
-
* @see Schema for schema definition
|
|
54
|
-
*/
|
|
55
|
-
export type ResponseSpec = {
|
|
56
|
-
/** Human-readable description of the response */
|
|
57
|
-
description?: string;
|
|
58
|
-
/** Response headers specification */
|
|
59
|
-
headers?: Record<string, HeaderSpec>;
|
|
60
|
-
/** Response content by media type */
|
|
61
|
-
content?: Record<string, ResponseContentSpec>;
|
|
62
|
-
/** Legacy schema property (use content instead for proper media type handling) */
|
|
63
|
-
schema?: Schema<unknown>;
|
|
64
|
-
};
|
|
65
|
-
/**
|
|
66
|
-
* Collection of response specifications keyed by HTTP status code.
|
|
67
|
-
*
|
|
68
|
-
* This type represents all possible responses for a given endpoint,
|
|
69
|
-
* with status codes as keys and ResponseSpec objects as values.
|
|
70
|
-
*
|
|
71
|
-
* @example
|
|
72
|
-
* ```typescript
|
|
73
|
-
* const userResponses: ResponsesSpec = {
|
|
74
|
-
* '200': {
|
|
75
|
-
* description: 'User found',
|
|
76
|
-
* content: {
|
|
77
|
-
* 'application/json': {
|
|
78
|
-
* schema: userSchema,
|
|
79
|
-
* example: { id: '123', name: 'John Doe' }
|
|
80
|
-
* }
|
|
81
|
-
* }
|
|
82
|
-
* },
|
|
83
|
-
* '404': {
|
|
84
|
-
* description: 'User not found',
|
|
85
|
-
* content: {
|
|
86
|
-
* 'application/json': {
|
|
87
|
-
* schema: errorSchema,
|
|
88
|
-
* example: { error: 'User not found', code: 'USER_NOT_FOUND' }
|
|
89
|
-
* }
|
|
90
|
-
* }
|
|
91
|
-
* }
|
|
92
|
-
* };
|
|
93
|
-
* ```
|
|
94
|
-
*
|
|
95
|
-
* @see ResponseSpec for individual response specification
|
|
96
|
-
*/
|
|
97
|
-
export type ResponsesSpec = Record<string, ResponseSpec | Schema<unknown>>;
|
|
98
|
-
//# sourceMappingURL=responses.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"responses.d.ts","sourceRoot":"","sources":["../../src/contracts/responses.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAE7D;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,kFAAkF;IAClF,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IACxB,4CAA4C;IAC5C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,wEAAwE;IACxE,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IACxB,+CAA+C;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qCAAqC;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,iDAAiD;IACjD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qCAAqC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACrC,qCAAqC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAC9C,kFAAkF;IAClF,MAAM,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;CAC1B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"responses.js","sourceRoot":"","sources":["../../src/contracts/responses.ts"],"names":[],"mappings":""}
|
|
@@ -1,155 +0,0 @@
|
|
|
1
|
-
import type { ResponsesSpec } from './responses.js';
|
|
2
|
-
import type { Schema } from '../validation/native/schema.js';
|
|
3
|
-
import type { ExtractPathParams } from '../core/typing/path-params.js';
|
|
4
|
-
import type { SecurityRequirementObject } from './openapi-v3.js';
|
|
5
|
-
/**
|
|
6
|
-
* Type hints for path parameter coercion.
|
|
7
|
-
*
|
|
8
|
-
* These hints are used to automatically convert path parameters
|
|
9
|
-
* to specific types during request processing.
|
|
10
|
-
*/
|
|
11
|
-
export type ScalarHint = 'string' | 'int' | 'number' | 'boolean' | 'uuid';
|
|
12
|
-
/**
|
|
13
|
-
* Validation configuration for route parameters.
|
|
14
|
-
*
|
|
15
|
-
* Specifies schemas for validating different parts of the request.
|
|
16
|
-
*
|
|
17
|
-
* @example
|
|
18
|
-
* ```typescript
|
|
19
|
-
* const routeValidation: RouteValidate = {
|
|
20
|
-
* params: Schema.Object({
|
|
21
|
-
* id: Schema.String().format('uuid')
|
|
22
|
-
* }),
|
|
23
|
-
* query: Schema.Object({
|
|
24
|
-
* limit: Schema.Number().min(1).max(100),
|
|
25
|
-
* offset: Schema.Number().min(0)
|
|
26
|
-
* }),
|
|
27
|
-
* body: Schema.Object({
|
|
28
|
-
* title: Schema.String().minLength(3),
|
|
29
|
-
* content: Schema.String().minLength(10)
|
|
30
|
-
* })
|
|
31
|
-
* };
|
|
32
|
-
* ```
|
|
33
|
-
*
|
|
34
|
-
* @see Schema for schema definition
|
|
35
|
-
*/
|
|
36
|
-
export type RouteValidate = {
|
|
37
|
-
/** Schema for validating path parameters */
|
|
38
|
-
params?: Schema<unknown>;
|
|
39
|
-
/** Schema for validating query parameters */
|
|
40
|
-
query?: Schema<unknown>;
|
|
41
|
-
/** Schema for validating request body */
|
|
42
|
-
body?: Schema<unknown>;
|
|
43
|
-
};
|
|
44
|
-
/**
|
|
45
|
-
* Parameter binding configuration for routes.
|
|
46
|
-
*
|
|
47
|
-
* Specifies how path parameters should be coerced to specific types.
|
|
48
|
-
*
|
|
49
|
-
* @template Path - The route path as a string literal
|
|
50
|
-
*
|
|
51
|
-
* @example
|
|
52
|
-
* ```typescript
|
|
53
|
-
* // For route '/users/:id/:status'
|
|
54
|
-
* const routeBindings: RouteBindings<'/users/:id/:status'> = {
|
|
55
|
-
* path: {
|
|
56
|
-
* id: 'uuid', // Coerce to UUID format
|
|
57
|
-
* status: 'string' // Keep as string
|
|
58
|
-
* }
|
|
59
|
-
* };
|
|
60
|
-
* ```
|
|
61
|
-
*
|
|
62
|
-
* @see ScalarHint for available type hints
|
|
63
|
-
*/
|
|
64
|
-
export type RouteBindings<Path extends string> = {
|
|
65
|
-
/** Type hints for path parameters */
|
|
66
|
-
path?: Partial<Record<ExtractPathParams<Path>, ScalarHint>>;
|
|
67
|
-
};
|
|
68
|
-
/**
|
|
69
|
-
* Complete route configuration options.
|
|
70
|
-
*
|
|
71
|
-
* This type defines all available options for configuring a route,
|
|
72
|
-
* including OpenAPI documentation, validation, parameter binding,
|
|
73
|
-
* and response specifications.
|
|
74
|
-
*
|
|
75
|
-
* @template Path - The route path as a string literal
|
|
76
|
-
*
|
|
77
|
-
* @example
|
|
78
|
-
* ```typescript
|
|
79
|
-
* const userRouteOptions: RouteOptions<'/users/:id'> = {
|
|
80
|
-
* summary: 'Get user by ID',
|
|
81
|
-
* description: 'Retrieves a user by their unique identifier',
|
|
82
|
-
* tags: ['Users'],
|
|
83
|
-
* operationId: 'getUserById',
|
|
84
|
-
* deprecated: false,
|
|
85
|
-
* security: [{ bearerAuth: [] }],
|
|
86
|
-
*
|
|
87
|
-
* validate: {
|
|
88
|
-
* params: Schema.Object({
|
|
89
|
-
* id: Schema.String().format('uuid')
|
|
90
|
-
* })
|
|
91
|
-
* },
|
|
92
|
-
*
|
|
93
|
-
* bindings: {
|
|
94
|
-
* path: { id: 'uuid' }
|
|
95
|
-
* },
|
|
96
|
-
*
|
|
97
|
-
* responses: {
|
|
98
|
-
* '200': {
|
|
99
|
-
* description: 'User found',
|
|
100
|
-
* content: {
|
|
101
|
-
* 'application/json': {
|
|
102
|
-
* schema: userSchema,
|
|
103
|
-
* example: { id: '123', name: 'John Doe' }
|
|
104
|
-
* }
|
|
105
|
-
* }
|
|
106
|
-
* },
|
|
107
|
-
* '404': {
|
|
108
|
-
* description: 'User not found'
|
|
109
|
-
* }
|
|
110
|
-
* },
|
|
111
|
-
*
|
|
112
|
-
* successStatus: 200
|
|
113
|
-
* };
|
|
114
|
-
* ```
|
|
115
|
-
*
|
|
116
|
-
* @example
|
|
117
|
-
* ```typescript
|
|
118
|
-
* // Minimal route options
|
|
119
|
-
* const simpleRouteOptions: RouteOptions = {
|
|
120
|
-
* summary: 'Health check',
|
|
121
|
-
* responses: {
|
|
122
|
-
* '200': { description: 'Service is healthy' }
|
|
123
|
-
* }
|
|
124
|
-
* };
|
|
125
|
-
* ```
|
|
126
|
-
*
|
|
127
|
-
* @see ResponsesSpec for response specification format
|
|
128
|
-
* @see RouteValidate for validation configuration
|
|
129
|
-
* @see RouteBindings for parameter binding configuration
|
|
130
|
-
*/
|
|
131
|
-
export type RouteOptions<Path extends string = string> = {
|
|
132
|
-
/** Short summary of the endpoint */
|
|
133
|
-
summary?: string;
|
|
134
|
-
/** Detailed description of the endpoint */
|
|
135
|
-
description?: string;
|
|
136
|
-
/** Tags for grouping endpoints in documentation */
|
|
137
|
-
tags?: string[];
|
|
138
|
-
/** Unique identifier for the operation */
|
|
139
|
-
operationId?: string;
|
|
140
|
-
/** Whether the endpoint is deprecated */
|
|
141
|
-
deprecated?: boolean;
|
|
142
|
-
/** Security requirements for the endpoint */
|
|
143
|
-
security?: SecurityRequirementObject[];
|
|
144
|
-
/** Validation configuration for request parts */
|
|
145
|
-
validate?: RouteValidate;
|
|
146
|
-
/** Parameter binding configuration */
|
|
147
|
-
bindings?: RouteBindings<Path>;
|
|
148
|
-
/** Response specifications by status code */
|
|
149
|
-
responses?: ResponsesSpec;
|
|
150
|
-
/** Default success status code */
|
|
151
|
-
successStatus?: number;
|
|
152
|
-
/** Allow additional custom properties */
|
|
153
|
-
[k: string]: unknown;
|
|
154
|
-
};
|
|
155
|
-
//# sourceMappingURL=route-options.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"route-options.d.ts","sourceRoot":"","sources":["../../src/contracts/route-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAEjE;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;AAE1E;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IACzB,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IACxB,yCAAyC;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;CACxB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,MAAM,aAAa,CAAC,IAAI,SAAS,MAAM,IAAI;IAC/C,qCAAqC;IACrC,IAAI,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;CAC7D,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8DG;AACH,MAAM,MAAM,YAAY,CAAC,IAAI,SAAS,MAAM,GAAG,MAAM,IAAI;IACvD,oCAAoC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2CAA2C;IAC3C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mDAAmD;IACnD,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,0CAA0C;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yCAAyC;IACzC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,yBAAyB,EAAE,CAAC;IAEvC,iDAAiD;IACjD,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;IAE/B,6CAA6C;IAC7C,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,kCAAkC;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,yCAAyC;IACzC,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACtB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"route-options.js","sourceRoot":"","sources":["../../src/contracts/route-options.ts"],"names":[],"mappings":""}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import type { Schema } from '../validation/native/schema.js';
|
|
2
|
-
type InferSchema<S> = S extends Schema<infer T> ? T : never;
|
|
3
|
-
export type QueryOf<R> = R extends {
|
|
4
|
-
options: {
|
|
5
|
-
validate?: {
|
|
6
|
-
query?: infer S;
|
|
7
|
-
};
|
|
8
|
-
};
|
|
9
|
-
} ? InferSchema<S> : never;
|
|
10
|
-
export type BodyOf<R> = R extends {
|
|
11
|
-
options: {
|
|
12
|
-
validate?: {
|
|
13
|
-
body?: infer S;
|
|
14
|
-
};
|
|
15
|
-
};
|
|
16
|
-
} ? InferSchema<S> : never;
|
|
17
|
-
export type ParamsOf<R> = R extends {
|
|
18
|
-
options: {
|
|
19
|
-
validate?: {
|
|
20
|
-
params?: infer S;
|
|
21
|
-
};
|
|
22
|
-
};
|
|
23
|
-
} ? InferSchema<S> : never;
|
|
24
|
-
export {};
|
|
25
|
-
//# sourceMappingURL=route-typing.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"route-typing.d.ts","sourceRoot":"","sources":["../../src/contracts/route-typing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAE7D,KAAK,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAE5D,MAAM,MAAM,OAAO,CAAC,CAAC,IACnB,CAAC,SAAS;IAAE,OAAO,EAAE;QAAE,QAAQ,CAAC,EAAE;YAAE,KAAK,CAAC,EAAE,MAAM,CAAC,CAAA;SAAE,CAAA;KAAE,CAAA;CAAE,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;AAErF,MAAM,MAAM,MAAM,CAAC,CAAC,IAClB,CAAC,SAAS;IAAE,OAAO,EAAE;QAAE,QAAQ,CAAC,EAAE;YAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAA;SAAE,CAAA;KAAE,CAAA;CAAE,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;AAEpF,MAAM,MAAM,QAAQ,CAAC,CAAC,IACpB,CAAC,SAAS;IAAE,OAAO,EAAE;QAAE,QAAQ,CAAC,EAAE;YAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAA;SAAE,CAAA;KAAE,CAAA;CAAE,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"route-typing.js","sourceRoot":"","sources":["../../src/contracts/route-typing.ts"],"names":[],"mappings":""}
|
|
@@ -1,146 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Path to a validation issue within the request data.
|
|
3
|
-
*
|
|
4
|
-
* Represents the location of a validation failure using an array
|
|
5
|
-
* where each element is a property name or array index.
|
|
6
|
-
*
|
|
7
|
-
* @example
|
|
8
|
-
* ```typescript
|
|
9
|
-
* // For body: { user: { email: 'invalid' } }
|
|
10
|
-
* const path: ValidationPath = ['body', 'user', 'email'];
|
|
11
|
-
*
|
|
12
|
-
* // For query: { filters: { page: 'not-a-number' } }
|
|
13
|
-
* const path: ValidationPath = ['query', 'filters', 'page'];
|
|
14
|
-
*
|
|
15
|
-
* // For array: { items: [{ id: 'invalid' }] }
|
|
16
|
-
* const path: ValidationPath = ['body', 'items', 0, 'id'];
|
|
17
|
-
* ```
|
|
18
|
-
*/
|
|
19
|
-
export type ValidationPath = Array<string | number>;
|
|
20
|
-
/**
|
|
21
|
-
* Individual validation issue with path and details.
|
|
22
|
-
*
|
|
23
|
-
* Represents a single validation failure with information about
|
|
24
|
-
* where it occurred, what was expected, and what was received.
|
|
25
|
-
*/
|
|
26
|
-
export type ValidationIssue = {
|
|
27
|
-
/** Path to the invalid data within the request */
|
|
28
|
-
path: ValidationPath;
|
|
29
|
-
/** Human-readable error message */
|
|
30
|
-
message: string;
|
|
31
|
-
/** Machine-readable error code */
|
|
32
|
-
code?: string;
|
|
33
|
-
/** Expected value or type */
|
|
34
|
-
expected?: unknown;
|
|
35
|
-
/** Received value that failed validation */
|
|
36
|
-
received?: unknown;
|
|
37
|
-
};
|
|
38
|
-
/**
|
|
39
|
-
* Result of a validation operation.
|
|
40
|
-
*
|
|
41
|
-
* This discriminated union represents either a successful validation
|
|
42
|
-
* with the validated value, or a failed validation with issues.
|
|
43
|
-
*
|
|
44
|
-
* @template T - The expected type after successful validation
|
|
45
|
-
*
|
|
46
|
-
* @example
|
|
47
|
-
* ```typescript
|
|
48
|
-
* // Successful validation
|
|
49
|
-
* const success: ValidationResult<User> = {
|
|
50
|
-
* ok: true,
|
|
51
|
-
* value: { id: '123', name: 'John Doe', email: 'john@example.com' }
|
|
52
|
-
* };
|
|
53
|
-
*
|
|
54
|
-
* // Failed validation
|
|
55
|
-
* const failure: ValidationResult<User> = {
|
|
56
|
-
* ok: false,
|
|
57
|
-
* issues: [
|
|
58
|
-
* { path: ['body', 'email'], message: 'Invalid email format', code: 'invalid_string' }
|
|
59
|
-
* ]
|
|
60
|
-
* };
|
|
61
|
-
* ```
|
|
62
|
-
*
|
|
63
|
-
* @example
|
|
64
|
-
* ```typescript
|
|
65
|
-
* // Usage in validation logic
|
|
66
|
-
* const result = validator.validateBody(request.body, 'createUserSchema');
|
|
67
|
-
*
|
|
68
|
-
* if (!result.ok) {
|
|
69
|
-
* throw new ValidationError('Invalid user data', result.issues);
|
|
70
|
-
* }
|
|
71
|
-
*
|
|
72
|
-
* const validatedUser = result.value;
|
|
73
|
-
* ```
|
|
74
|
-
*/
|
|
75
|
-
export type ValidationResult<T> = {
|
|
76
|
-
ok: true;
|
|
77
|
-
value: T;
|
|
78
|
-
} | {
|
|
79
|
-
ok: false;
|
|
80
|
-
issues: ValidationIssue[];
|
|
81
|
-
};
|
|
82
|
-
/**
|
|
83
|
-
* Optional pluggable validator interface.
|
|
84
|
-
*
|
|
85
|
-
* You can implement adapters later (zod/ajv/valibot).
|
|
86
|
-
*
|
|
87
|
-
* This interface defines the contract for validation services
|
|
88
|
-
* that can be plugged into the Adorn API framework.
|
|
89
|
-
*
|
|
90
|
-
* @example
|
|
91
|
-
* ```typescript
|
|
92
|
-
* // Custom validator implementation
|
|
93
|
-
* class MyValidator implements Validator {
|
|
94
|
-
* validateBody<T>(body: unknown, schemaId: string): ValidationResult<T> {
|
|
95
|
-
* // Implement body validation logic
|
|
96
|
-
* }
|
|
97
|
-
*
|
|
98
|
-
* validateQuery<T>(query: unknown, schemaId: string): ValidationResult<T> {
|
|
99
|
-
* // Implement query validation logic
|
|
100
|
-
* }
|
|
101
|
-
*
|
|
102
|
-
* validateParams<T>(params: unknown, schemaId: string): ValidationResult<T> {
|
|
103
|
-
* // Implement params validation logic
|
|
104
|
-
* }
|
|
105
|
-
* }
|
|
106
|
-
*
|
|
107
|
-
* // Usage in Express adapter
|
|
108
|
-
* const app = createAdornExpressApp({
|
|
109
|
-
* controllers: [UserController],
|
|
110
|
-
* validator: new MyValidator()
|
|
111
|
-
* });
|
|
112
|
-
* ```
|
|
113
|
-
*
|
|
114
|
-
* @see ValidationResult for the result type
|
|
115
|
-
* @see ValidationIssue for issue details
|
|
116
|
-
*/
|
|
117
|
-
export interface Validator {
|
|
118
|
-
/**
|
|
119
|
-
* Validates request body against a schema.
|
|
120
|
-
*
|
|
121
|
-
* @template T - Expected type after validation
|
|
122
|
-
* @param body - Request body to validate
|
|
123
|
-
* @param schemaId - Identifier for the schema to use
|
|
124
|
-
* @returns Validation result
|
|
125
|
-
*/
|
|
126
|
-
validateBody<T = unknown>(body: unknown, schemaId: string): ValidationResult<T>;
|
|
127
|
-
/**
|
|
128
|
-
* Validates query parameters against a schema.
|
|
129
|
-
*
|
|
130
|
-
* @template T - Expected type after validation
|
|
131
|
-
* @param query - Query parameters to validate
|
|
132
|
-
* @param schemaId - Identifier for the schema to use
|
|
133
|
-
* @returns Validation result
|
|
134
|
-
*/
|
|
135
|
-
validateQuery<T = unknown>(query: unknown, schemaId: string): ValidationResult<T>;
|
|
136
|
-
/**
|
|
137
|
-
* Validates path parameters against a schema.
|
|
138
|
-
*
|
|
139
|
-
* @template T - Expected type after validation
|
|
140
|
-
* @param params - Path parameters to validate
|
|
141
|
-
* @param schemaId - Identifier for the schema to use
|
|
142
|
-
* @returns Validation result
|
|
143
|
-
*/
|
|
144
|
-
validateParams<T = unknown>(params: unknown, schemaId: string): ValidationResult<T>;
|
|
145
|
-
}
|
|
146
|
-
//# sourceMappingURL=validator.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/contracts/validator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;AAEpD;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,kDAAkD;IAClD,IAAI,EAAE,cAAc,CAAC;IACrB,mCAAmC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAC1B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GACtB;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,eAAe,EAAE,CAAA;CAAE,CAAC;AAE7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,WAAW,SAAS;IACxB;;;;;;;OAOG;IACH,YAAY,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAEhF;;;;;;;OAOG;IACH,aAAa,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAElF;;;;;;;OAOG;IACH,cAAc,CAAC,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;CACrF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/contracts/validator.ts"],"names":[],"mappings":""}
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import type { RequestContext } from '../../contracts/context.js';
|
|
2
|
-
import type { RouteEntry } from '../registry/types.js';
|
|
3
|
-
import type { CoerceMode } from './coerce/primitives.js';
|
|
4
|
-
type HandlerFunction = (...args: unknown[]) => unknown;
|
|
5
|
-
/**
|
|
6
|
-
* Prepared binding data after argument binding.
|
|
7
|
-
* Contains the processed params, query, and body data.
|
|
8
|
-
*/
|
|
9
|
-
export type BindingPrepared = {
|
|
10
|
-
/** Path parameters extracted and coerced from the URL */
|
|
11
|
-
params: Record<string, unknown>;
|
|
12
|
-
/** Query parameters extracted and processed from the URL query string */
|
|
13
|
-
query: Record<string, unknown>;
|
|
14
|
-
/** Request body parsed and processed */
|
|
15
|
-
body: unknown;
|
|
16
|
-
};
|
|
17
|
-
/**
|
|
18
|
-
* Result of the bindArgs function containing:
|
|
19
|
-
* - args: The arguments to pass to the handler function
|
|
20
|
-
* - prepared: The processed binding data
|
|
21
|
-
*/
|
|
22
|
-
export type BindArgsResult = {
|
|
23
|
-
/** Arguments to pass to the handler function in order */
|
|
24
|
-
args: unknown[];
|
|
25
|
-
/** Prepared binding data for reference */
|
|
26
|
-
prepared: BindingPrepared;
|
|
27
|
-
};
|
|
28
|
-
/**
|
|
29
|
-
* Options for the bindArgs function to control binding behavior.
|
|
30
|
-
*/
|
|
31
|
-
export type BindOptions = {
|
|
32
|
-
/** Coercion mode for automatic type conversion ('smart', 'strict', or 'none') */
|
|
33
|
-
coerce?: CoerceMode;
|
|
34
|
-
/** Whether to parse CSV values in query parameters */
|
|
35
|
-
csv?: boolean;
|
|
36
|
-
/** Whether to pass the request context as the last argument */
|
|
37
|
-
passContext?: boolean;
|
|
38
|
-
};
|
|
39
|
-
/**
|
|
40
|
-
* Binds request data to handler function arguments based on route configuration.
|
|
41
|
-
*
|
|
42
|
-
* This function automatically maps path parameters, query parameters, and request body
|
|
43
|
-
* to the handler function arguments based on the route's binding configuration and
|
|
44
|
-
* HTTP method conventions.
|
|
45
|
-
*
|
|
46
|
-
* @param route - The route entry containing metadata about the handler
|
|
47
|
-
* @param handler - The handler function to bind arguments for
|
|
48
|
-
* @param ctx - The request context containing params, query, and body
|
|
49
|
-
* @param opts - Binding options to control behavior
|
|
50
|
-
* @returns Object containing args to pass to handler and prepared binding data
|
|
51
|
-
*
|
|
52
|
-
* @example
|
|
53
|
-
* ```typescript
|
|
54
|
-
* // For a route like: @Get('/users/:id')
|
|
55
|
-
* // With handler: async getUser(id: string, ctx: RequestContext)
|
|
56
|
-
* const { args } = bindArgs(route, handler, requestContext);
|
|
57
|
-
* const result = await handler(...args); // Automatically passes id and ctx
|
|
58
|
-
* ```
|
|
59
|
-
*
|
|
60
|
-
* @example
|
|
61
|
-
* ```typescript
|
|
62
|
-
* // For a POST route with body
|
|
63
|
-
* // @Post('/users')
|
|
64
|
-
* // async createUser(@Body() userData: CreateUserDto)
|
|
65
|
-
* const { args } = bindArgs(route, handler, requestContext);
|
|
66
|
-
* const result = await handler(...args); // Automatically passes parsed body
|
|
67
|
-
* ```
|
|
68
|
-
*
|
|
69
|
-
* @see RouteEntry for route metadata structure
|
|
70
|
-
* @see RequestContext for request data structure
|
|
71
|
-
*/
|
|
72
|
-
export declare function bindArgs(route: RouteEntry, handler: HandlerFunction, ctx: RequestContext, opts?: BindOptions): BindArgsResult;
|
|
73
|
-
export {};
|
|
74
|
-
//# sourceMappingURL=binder.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"binder.d.ts","sourceRoot":"","sources":["../../../src/core/binding/binder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAIvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGzD,KAAK,eAAe,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC;AAEvD;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,yDAAyD;IACzD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,yEAAyE;IACzE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,wCAAwC;IACxC,IAAI,EAAE,OAAO,CAAC;CACf,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,yDAAyD;IACzD,IAAI,EAAE,OAAO,EAAE,CAAC;IAChB,0CAA0C;IAC1C,QAAQ,EAAE,eAAe,CAAC;CAC3B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,iFAAiF;IACjF,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,sDAAsD;IACtD,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,+DAA+D;IAC/D,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,QAAQ,CACtB,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,eAAe,EACxB,GAAG,EAAE,cAAc,EACnB,IAAI,GAAE,WAAgB,GACrB,cAAc,CAoEhB"}
|