adorn-api 1.0.0 → 1.0.2
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 +54 -249
- package/dist/adapters/express/createApp.d.ts +158 -0
- package/dist/adapters/express/createApp.d.ts.map +1 -0
- package/dist/adapters/express/createApp.js +141 -0
- package/dist/adapters/express/createApp.js.map +1 -0
- package/dist/adapters/express/index.d.ts +7 -0
- package/dist/adapters/express/index.d.ts.map +1 -0
- package/dist/adapters/express/index.js +7 -0
- package/dist/adapters/express/index.js.map +1 -0
- package/dist/adapters/express/middleware/errorHandler.d.ts +194 -0
- package/dist/adapters/express/middleware/errorHandler.d.ts.map +1 -0
- package/dist/adapters/express/middleware/errorHandler.js +167 -0
- package/dist/adapters/express/middleware/errorHandler.js.map +1 -0
- package/dist/adapters/express/middleware/requestContext.d.ts +2 -0
- package/dist/adapters/express/middleware/requestContext.d.ts.map +1 -0
- package/dist/adapters/express/middleware/requestContext.js +3 -0
- package/dist/adapters/express/middleware/requestContext.js.map +1 -0
- package/dist/adapters/express/router.d.ts +10 -0
- package/dist/adapters/express/router.d.ts.map +1 -0
- package/dist/adapters/express/router.js +105 -0
- package/dist/adapters/express/router.js.map +1 -0
- package/dist/adapters/express/swagger/index.d.ts +2 -0
- package/dist/adapters/express/swagger/index.d.ts.map +1 -0
- package/dist/adapters/express/swagger/index.js +2 -0
- package/dist/adapters/express/swagger/index.js.map +1 -0
- package/dist/adapters/express/swagger/serve.d.ts +12 -0
- package/dist/adapters/express/swagger/serve.d.ts.map +1 -0
- package/dist/adapters/express/swagger/serve.js +72 -0
- package/dist/adapters/express/swagger/serve.js.map +1 -0
- package/dist/adapters/express/transport/request.d.ts +4 -0
- package/dist/adapters/express/transport/request.d.ts.map +1 -0
- package/dist/adapters/express/transport/request.js +12 -0
- package/dist/adapters/express/transport/request.js.map +1 -0
- package/dist/adapters/express/transport/response.d.ts +5 -0
- package/dist/adapters/express/transport/response.d.ts.map +1 -0
- package/dist/adapters/express/transport/response.js +36 -0
- package/dist/adapters/express/transport/response.js.map +1 -0
- package/dist/cli/commands/dev.d.ts +2 -0
- package/dist/cli/commands/dev.d.ts.map +1 -0
- package/dist/cli/commands/dev.js +3 -0
- package/dist/cli/commands/dev.js.map +1 -0
- package/dist/cli/commands/gen.d.ts +2 -0
- package/dist/cli/commands/gen.d.ts.map +1 -0
- package/dist/cli/commands/gen.js +3 -0
- package/dist/cli/commands/gen.js.map +1 -0
- package/dist/cli/main.d.ts +2 -0
- package/dist/cli/main.d.ts.map +1 -0
- package/dist/cli/main.js +3 -0
- package/dist/cli/main.js.map +1 -0
- package/dist/cli.d.ts +2 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +3 -0
- package/dist/cli.js.map +1 -0
- package/dist/compiler/config/defaults.d.ts +2 -0
- package/dist/compiler/config/defaults.d.ts.map +1 -0
- package/dist/compiler/config/defaults.js +3 -0
- package/dist/compiler/config/defaults.js.map +1 -0
- package/dist/compiler/config/loadConfig.d.ts +2 -0
- package/dist/compiler/config/loadConfig.d.ts.map +1 -0
- package/dist/compiler/config/loadConfig.js +3 -0
- package/dist/compiler/config/loadConfig.js.map +1 -0
- package/dist/compiler/diagnostics/errors.d.ts +2 -0
- package/dist/compiler/diagnostics/errors.d.ts.map +1 -0
- package/dist/compiler/diagnostics/errors.js +3 -0
- package/dist/compiler/diagnostics/errors.js.map +1 -0
- package/dist/compiler/emit/openapi.d.ts +2 -0
- package/dist/compiler/emit/openapi.d.ts.map +1 -0
- package/dist/compiler/emit/openapi.js +3 -0
- package/dist/compiler/emit/openapi.js.map +1 -0
- package/dist/compiler/emit/routes.d.ts +2 -0
- package/dist/compiler/emit/routes.d.ts.map +1 -0
- package/dist/compiler/emit/routes.js +3 -0
- package/dist/compiler/emit/routes.js.map +1 -0
- package/dist/compiler/program/loadTsProgram.d.ts +2 -0
- package/dist/compiler/program/loadTsProgram.d.ts.map +1 -0
- package/dist/compiler/program/loadTsProgram.js +3 -0
- package/dist/compiler/program/loadTsProgram.js.map +1 -0
- package/dist/compiler/scan/actions.d.ts +2 -0
- package/dist/compiler/scan/actions.d.ts.map +1 -0
- package/dist/compiler/scan/actions.js +3 -0
- package/dist/compiler/scan/actions.js.map +1 -0
- package/dist/compiler/scan/controllers.d.ts +2 -0
- package/dist/compiler/scan/controllers.d.ts.map +1 -0
- package/dist/compiler/scan/controllers.js +3 -0
- package/dist/compiler/scan/controllers.js.map +1 -0
- package/dist/compiler/scan/types.d.ts +2 -0
- package/dist/compiler/scan/types.d.ts.map +1 -0
- package/dist/compiler/scan/types.js +3 -0
- package/dist/compiler/scan/types.js.map +1 -0
- package/dist/contracts/context.d.ts +10 -0
- package/dist/contracts/context.d.ts.map +1 -0
- package/dist/contracts/context.js +2 -0
- package/dist/contracts/context.js.map +1 -0
- package/dist/contracts/errors.d.ts +22 -0
- package/dist/contracts/errors.d.ts.map +1 -0
- package/dist/contracts/errors.js +2 -0
- package/dist/contracts/errors.js.map +1 -0
- package/dist/contracts/http.d.ts +2 -0
- package/dist/contracts/http.d.ts.map +1 -0
- package/dist/contracts/http.js +3 -0
- package/dist/contracts/http.js.map +1 -0
- package/dist/contracts/middleware.d.ts +2 -0
- package/dist/contracts/middleware.d.ts.map +1 -0
- package/dist/contracts/middleware.js +3 -0
- package/dist/contracts/middleware.js.map +1 -0
- package/dist/contracts/openapi-v3.d.ts +538 -0
- package/dist/contracts/openapi-v3.d.ts.map +1 -0
- package/dist/contracts/openapi-v3.js +2 -0
- package/dist/contracts/openapi-v3.js.map +1 -0
- package/dist/contracts/openapi.d.ts +2 -0
- package/dist/contracts/openapi.d.ts.map +1 -0
- package/dist/contracts/openapi.js +2 -0
- package/dist/contracts/openapi.js.map +1 -0
- package/dist/contracts/reply.d.ts +119 -0
- package/dist/contracts/reply.d.ts.map +1 -0
- package/dist/contracts/reply.js +43 -0
- package/dist/contracts/reply.js.map +1 -0
- package/dist/contracts/response-types.d.ts +40 -0
- package/dist/contracts/response-types.d.ts.map +1 -0
- package/dist/contracts/response-types.js +2 -0
- package/dist/contracts/response-types.js.map +1 -0
- package/dist/contracts/responses.d.ts +98 -0
- package/dist/contracts/responses.d.ts.map +1 -0
- package/dist/contracts/responses.js +2 -0
- package/dist/contracts/responses.js.map +1 -0
- package/dist/contracts/route-options.d.ts +155 -0
- package/dist/contracts/route-options.d.ts.map +1 -0
- package/dist/contracts/route-options.js +2 -0
- package/dist/contracts/route-options.js.map +1 -0
- package/dist/contracts/route-typing.d.ts +25 -0
- package/dist/contracts/route-typing.d.ts.map +1 -0
- package/dist/contracts/route-typing.js +2 -0
- package/dist/contracts/route-typing.js.map +1 -0
- package/dist/contracts/validator.d.ts +146 -0
- package/dist/contracts/validator.d.ts.map +1 -0
- package/dist/contracts/validator.js +2 -0
- package/dist/contracts/validator.js.map +1 -0
- package/dist/core/binding/binder.d.ts +74 -0
- package/dist/core/binding/binder.d.ts.map +1 -0
- package/dist/core/binding/binder.js +161 -0
- package/dist/core/binding/binder.js.map +1 -0
- package/dist/core/binding/coerce/arrays.d.ts +7 -0
- package/dist/core/binding/coerce/arrays.d.ts.map +1 -0
- package/dist/core/binding/coerce/arrays.js +28 -0
- package/dist/core/binding/coerce/arrays.js.map +1 -0
- package/dist/core/binding/coerce/csv.d.ts +2 -0
- package/dist/core/binding/coerce/csv.d.ts.map +1 -0
- package/dist/core/binding/coerce/csv.js +7 -0
- package/dist/core/binding/coerce/csv.js.map +1 -0
- package/dist/core/binding/coerce/objects.d.ts +2 -0
- package/dist/core/binding/coerce/objects.d.ts.map +1 -0
- package/dist/core/binding/coerce/objects.js +3 -0
- package/dist/core/binding/coerce/objects.js.map +1 -0
- package/dist/core/binding/coerce/primitives.d.ts +70 -0
- package/dist/core/binding/coerce/primitives.d.ts.map +1 -0
- package/dist/core/binding/coerce/primitives.js +88 -0
- package/dist/core/binding/coerce/primitives.js.map +1 -0
- package/dist/core/binding/index.d.ts +2 -0
- package/dist/core/binding/index.d.ts.map +1 -0
- package/dist/core/binding/index.js +2 -0
- package/dist/core/binding/index.js.map +1 -0
- package/dist/core/binding/rules/inferFromHttpMethod.d.ts +6 -0
- package/dist/core/binding/rules/inferFromHttpMethod.d.ts.map +1 -0
- package/dist/core/binding/rules/inferFromHttpMethod.js +11 -0
- package/dist/core/binding/rules/inferFromHttpMethod.js.map +1 -0
- package/dist/core/binding/rules/inferFromPath.d.ts +2 -0
- package/dist/core/binding/rules/inferFromPath.d.ts.map +1 -0
- package/dist/core/binding/rules/inferFromPath.js +9 -0
- package/dist/core/binding/rules/inferFromPath.js.map +1 -0
- package/dist/core/binding/rules/wrappers.d.ts +2 -0
- package/dist/core/binding/rules/wrappers.d.ts.map +1 -0
- package/dist/core/binding/rules/wrappers.js +3 -0
- package/dist/core/binding/rules/wrappers.js.map +1 -0
- package/dist/core/errors/http-error.d.ts +63 -0
- package/dist/core/errors/http-error.d.ts.map +1 -0
- package/dist/core/errors/http-error.js +71 -0
- package/dist/core/errors/http-error.js.map +1 -0
- package/dist/core/errors/index.d.ts +4 -0
- package/dist/core/errors/index.d.ts.map +1 -0
- package/dist/core/errors/index.js +4 -0
- package/dist/core/errors/index.js.map +1 -0
- package/dist/core/errors/problem.d.ts +3 -0
- package/dist/core/errors/problem.d.ts.map +1 -0
- package/dist/core/errors/problem.js +33 -0
- package/dist/core/errors/problem.js.map +1 -0
- package/dist/core/errors/validation-error.d.ts +73 -0
- package/dist/core/errors/validation-error.d.ts.map +1 -0
- package/dist/core/errors/validation-error.js +82 -0
- package/dist/core/errors/validation-error.js.map +1 -0
- package/dist/core/openapi/buildOpenApi.d.ts +79 -0
- package/dist/core/openapi/buildOpenApi.d.ts.map +1 -0
- package/dist/core/openapi/buildOpenApi.js +196 -0
- package/dist/core/openapi/buildOpenApi.js.map +1 -0
- package/dist/core/openapi/index.d.ts +2 -0
- package/dist/core/openapi/index.d.ts.map +1 -0
- package/dist/core/openapi/index.js +2 -0
- package/dist/core/openapi/index.js.map +1 -0
- package/dist/core/openapi/schema/formats.d.ts +2 -0
- package/dist/core/openapi/schema/formats.d.ts.map +1 -0
- package/dist/core/openapi/schema/formats.js +3 -0
- package/dist/core/openapi/schema/formats.js.map +1 -0
- package/dist/core/openapi/schema/registry.d.ts +9 -0
- package/dist/core/openapi/schema/registry.d.ts.map +1 -0
- package/dist/core/openapi/schema/registry.js +21 -0
- package/dist/core/openapi/schema/registry.js.map +1 -0
- package/dist/core/openapi/schema/schemaModel.d.ts +2 -0
- package/dist/core/openapi/schema/schemaModel.d.ts.map +1 -0
- package/dist/core/openapi/schema/schemaModel.js +3 -0
- package/dist/core/openapi/schema/schemaModel.js.map +1 -0
- package/dist/core/openapi/schema/schemaRegistry.d.ts +2 -0
- package/dist/core/openapi/schema/schemaRegistry.d.ts.map +1 -0
- package/dist/core/openapi/schema/schemaRegistry.js +3 -0
- package/dist/core/openapi/schema/schemaRegistry.js.map +1 -0
- package/dist/core/openapi/schema/toOpenApi.d.ts +4 -0
- package/dist/core/openapi/schema/toOpenApi.d.ts.map +1 -0
- package/dist/core/openapi/schema/toOpenApi.js +82 -0
- package/dist/core/openapi/schema/toOpenApi.js.map +1 -0
- package/dist/core/pipeline/compose.d.ts +2 -0
- package/dist/core/pipeline/compose.d.ts.map +1 -0
- package/dist/core/pipeline/compose.js +3 -0
- package/dist/core/pipeline/compose.js.map +1 -0
- package/dist/core/pipeline/errorMap.d.ts +2 -0
- package/dist/core/pipeline/errorMap.d.ts.map +1 -0
- package/dist/core/pipeline/errorMap.js +3 -0
- package/dist/core/pipeline/errorMap.js.map +1 -0
- package/dist/core/pipeline/invoke.d.ts +2 -0
- package/dist/core/pipeline/invoke.d.ts.map +1 -0
- package/dist/core/pipeline/invoke.js +3 -0
- package/dist/core/pipeline/invoke.js.map +1 -0
- package/dist/core/pipeline/result.d.ts +2 -0
- package/dist/core/pipeline/result.d.ts.map +1 -0
- package/dist/core/pipeline/result.js +3 -0
- package/dist/core/pipeline/result.js.map +1 -0
- package/dist/core/registry/buildRegistry.d.ts +3 -0
- package/dist/core/registry/buildRegistry.d.ts.map +1 -0
- package/dist/core/registry/buildRegistry.js +105 -0
- package/dist/core/registry/buildRegistry.js.map +1 -0
- package/dist/core/registry/conflicts.d.ts +6 -0
- package/dist/core/registry/conflicts.d.ts.map +1 -0
- package/dist/core/registry/conflicts.js +21 -0
- package/dist/core/registry/conflicts.js.map +1 -0
- package/dist/core/registry/index.d.ts +5 -0
- package/dist/core/registry/index.d.ts.map +1 -0
- package/dist/core/registry/index.js +5 -0
- package/dist/core/registry/index.js.map +1 -0
- package/dist/core/registry/normalize.d.ts +3 -0
- package/dist/core/registry/normalize.d.ts.map +1 -0
- package/dist/core/registry/normalize.js +24 -0
- package/dist/core/registry/normalize.js.map +1 -0
- package/dist/core/registry/types.d.ts +225 -0
- package/dist/core/registry/types.d.ts.map +1 -0
- package/dist/core/registry/types.js +2 -0
- package/dist/core/registry/types.js.map +1 -0
- package/dist/core/reply/index.d.ts +3 -0
- package/dist/core/reply/index.d.ts.map +1 -0
- package/dist/core/reply/index.js +3 -0
- package/dist/core/reply/index.js.map +1 -0
- package/dist/core/reply/reply.d.ts +102 -0
- package/dist/core/reply/reply.d.ts.map +1 -0
- package/dist/core/reply/reply.js +105 -0
- package/dist/core/reply/reply.js.map +1 -0
- package/dist/core/reply/typed.d.ts +161 -0
- package/dist/core/reply/typed.d.ts.map +1 -0
- package/dist/core/reply/typed.js +154 -0
- package/dist/core/reply/typed.js.map +1 -0
- package/dist/core/responses/helpers.d.ts +10 -0
- package/dist/core/responses/helpers.d.ts.map +1 -0
- package/dist/core/responses/helpers.js +8 -0
- package/dist/core/responses/helpers.js.map +1 -0
- package/dist/core/responses/index.d.ts +4 -0
- package/dist/core/responses/index.d.ts.map +1 -0
- package/dist/core/responses/index.js +4 -0
- package/dist/core/responses/index.js.map +1 -0
- package/dist/core/responses/normalize.d.ts +3 -0
- package/dist/core/responses/normalize.d.ts.map +1 -0
- package/dist/core/responses/normalize.js +33 -0
- package/dist/core/responses/normalize.js.map +1 -0
- package/dist/core/responses/pickStatus.d.ts +3 -0
- package/dist/core/responses/pickStatus.d.ts.map +1 -0
- package/dist/core/responses/pickStatus.js +27 -0
- package/dist/core/responses/pickStatus.js.map +1 -0
- package/dist/core/route/defineRoute.d.ts +74 -0
- package/dist/core/route/defineRoute.d.ts.map +1 -0
- package/dist/core/route/defineRoute.js +59 -0
- package/dist/core/route/defineRoute.js.map +1 -0
- package/dist/core/route/index.d.ts +2 -0
- package/dist/core/route/index.d.ts.map +1 -0
- package/dist/core/route/index.js +2 -0
- package/dist/core/route/index.js.map +1 -0
- package/dist/core/serialization/json.d.ts +2 -0
- package/dist/core/serialization/json.d.ts.map +1 -0
- package/dist/core/serialization/json.js +3 -0
- package/dist/core/serialization/json.js.map +1 -0
- package/dist/core/typing/path-params.d.ts +2 -0
- package/dist/core/typing/path-params.d.ts.map +1 -0
- package/dist/core/typing/path-params.js +2 -0
- package/dist/core/typing/path-params.js.map +1 -0
- package/dist/decorators/binding.d.ts +9 -0
- package/dist/decorators/binding.d.ts.map +1 -0
- package/dist/decorators/binding.js +18 -0
- package/dist/decorators/binding.js.map +1 -0
- package/dist/decorators/controller.d.ts +6 -0
- package/dist/decorators/controller.d.ts.map +1 -0
- package/dist/decorators/controller.js +26 -0
- package/dist/decorators/controller.js.map +1 -0
- package/dist/decorators/db.d.ts +2 -0
- package/dist/decorators/db.d.ts.map +1 -0
- package/dist/decorators/db.js +3 -0
- package/dist/decorators/db.js.map +1 -0
- package/dist/decorators/docs.d.ts +8 -0
- package/dist/decorators/docs.d.ts.map +1 -0
- package/dist/decorators/docs.js +46 -0
- package/dist/decorators/docs.js.map +1 -0
- package/dist/decorators/index.d.ts +7 -0
- package/dist/decorators/index.d.ts.map +1 -0
- package/dist/decorators/index.js +7 -0
- package/dist/decorators/index.js.map +1 -0
- package/dist/decorators/methods.d.ts +146 -0
- package/dist/decorators/methods.d.ts.map +1 -0
- package/dist/decorators/methods.js +170 -0
- package/dist/decorators/methods.js.map +1 -0
- package/dist/decorators/middleware.d.ts +2 -0
- package/dist/decorators/middleware.d.ts.map +1 -0
- package/dist/decorators/middleware.js +3 -0
- package/dist/decorators/middleware.js.map +1 -0
- package/dist/decorators/responses.d.ts +7 -0
- package/dist/decorators/responses.d.ts.map +1 -0
- package/dist/decorators/responses.js +44 -0
- package/dist/decorators/responses.js.map +1 -0
- package/dist/decorators/security.d.ts +8 -0
- package/dist/decorators/security.d.ts.map +1 -0
- package/dist/decorators/security.js +39 -0
- package/dist/decorators/security.js.map +1 -0
- package/dist/express.d.ts +2 -0
- package/dist/express.d.ts.map +1 -0
- package/dist/express.js +2 -0
- package/dist/express.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +13 -2
- package/dist/index.js.map +1 -0
- package/dist/integrations/metal-orm/index.d.ts +2 -0
- package/dist/integrations/metal-orm/index.d.ts.map +1 -0
- package/dist/integrations/metal-orm/index.js +2 -0
- package/dist/integrations/metal-orm/index.js.map +1 -0
- package/dist/integrations/metal-orm/pagination/executePaged.d.ts +2 -0
- package/dist/integrations/metal-orm/pagination/executePaged.d.ts.map +1 -0
- package/dist/integrations/metal-orm/pagination/executePaged.js +3 -0
- package/dist/integrations/metal-orm/pagination/executePaged.js.map +1 -0
- package/dist/integrations/metal-orm/pagination/page.d.ts +2 -0
- package/dist/integrations/metal-orm/pagination/page.d.ts.map +1 -0
- package/dist/integrations/metal-orm/pagination/page.js +3 -0
- package/dist/integrations/metal-orm/pagination/page.js.map +1 -0
- package/dist/integrations/metal-orm/query/filters.d.ts +2 -0
- package/dist/integrations/metal-orm/query/filters.d.ts.map +1 -0
- package/dist/integrations/metal-orm/query/filters.js +3 -0
- package/dist/integrations/metal-orm/query/filters.js.map +1 -0
- package/dist/integrations/metal-orm/query/search.d.ts +2 -0
- package/dist/integrations/metal-orm/query/search.d.ts.map +1 -0
- package/dist/integrations/metal-orm/query/search.js +3 -0
- package/dist/integrations/metal-orm/query/search.js.map +1 -0
- package/dist/integrations/metal-orm/query/sort.d.ts +2 -0
- package/dist/integrations/metal-orm/query/sort.d.ts.map +1 -0
- package/dist/integrations/metal-orm/query/sort.js +3 -0
- package/dist/integrations/metal-orm/query/sort.js.map +1 -0
- package/dist/integrations/metal-orm/save-graph/helpers.d.ts +2 -0
- package/dist/integrations/metal-orm/save-graph/helpers.d.ts.map +1 -0
- package/dist/integrations/metal-orm/save-graph/helpers.js +3 -0
- package/dist/integrations/metal-orm/save-graph/helpers.js.map +1 -0
- package/dist/integrations/metal-orm/save-graph/types.d.ts +2 -0
- package/dist/integrations/metal-orm/save-graph/types.d.ts.map +1 -0
- package/dist/integrations/metal-orm/save-graph/types.js +3 -0
- package/dist/integrations/metal-orm/save-graph/types.js.map +1 -0
- package/dist/integrations/metal-orm/schema/column-map.d.ts +96 -0
- package/dist/integrations/metal-orm/schema/column-map.d.ts.map +1 -0
- package/dist/integrations/metal-orm/schema/column-map.js +207 -0
- package/dist/integrations/metal-orm/schema/column-map.js.map +1 -0
- package/dist/integrations/metal-orm/schema/ddl.d.ts +2 -0
- package/dist/integrations/metal-orm/schema/ddl.d.ts.map +1 -0
- package/dist/integrations/metal-orm/schema/ddl.js +3 -0
- package/dist/integrations/metal-orm/schema/ddl.js.map +1 -0
- package/dist/integrations/metal-orm/schema/dto.d.ts +7 -0
- package/dist/integrations/metal-orm/schema/dto.d.ts.map +1 -0
- package/dist/integrations/metal-orm/schema/dto.js +34 -0
- package/dist/integrations/metal-orm/schema/dto.js.map +1 -0
- package/dist/integrations/metal-orm/schema/entity.d.ts +99 -0
- package/dist/integrations/metal-orm/schema/entity.d.ts.map +1 -0
- package/dist/integrations/metal-orm/schema/entity.js +99 -0
- package/dist/integrations/metal-orm/schema/entity.js.map +1 -0
- package/dist/integrations/metal-orm/schema/filters.d.ts +11 -0
- package/dist/integrations/metal-orm/schema/filters.d.ts.map +1 -0
- package/dist/integrations/metal-orm/schema/filters.js +21 -0
- package/dist/integrations/metal-orm/schema/filters.js.map +1 -0
- package/dist/integrations/metal-orm/schema/index.d.ts +5 -0
- package/dist/integrations/metal-orm/schema/index.d.ts.map +1 -0
- package/dist/integrations/metal-orm/schema/index.js +5 -0
- package/dist/integrations/metal-orm/schema/index.js.map +1 -0
- package/dist/integrations/metal-orm/schema/openapi/entityToSchema.d.ts +2 -0
- package/dist/integrations/metal-orm/schema/openapi/entityToSchema.d.ts.map +1 -0
- package/dist/integrations/metal-orm/schema/openapi/entityToSchema.js +3 -0
- package/dist/integrations/metal-orm/schema/openapi/entityToSchema.js.map +1 -0
- package/dist/integrations/metal-orm/schema/openapi/tableDefToSchema.d.ts +2 -0
- package/dist/integrations/metal-orm/schema/openapi/tableDefToSchema.d.ts.map +1 -0
- package/dist/integrations/metal-orm/schema/openapi/tableDefToSchema.js +3 -0
- package/dist/integrations/metal-orm/schema/openapi/tableDefToSchema.js.map +1 -0
- package/dist/integrations/metal-orm/schema/sqlite.d.ts +2 -0
- package/dist/integrations/metal-orm/schema/sqlite.d.ts.map +1 -0
- package/dist/integrations/metal-orm/schema/sqlite.js +3 -0
- package/dist/integrations/metal-orm/schema/sqlite.js.map +1 -0
- package/dist/integrations/metal-orm/schema/tabledef.d.ts +4 -0
- package/dist/integrations/metal-orm/schema/tabledef.d.ts.map +1 -0
- package/dist/integrations/metal-orm/schema/tabledef.js +10 -0
- package/dist/integrations/metal-orm/schema/tabledef.js.map +1 -0
- package/dist/integrations/metal-orm/schema/types.d.ts +7 -0
- package/dist/integrations/metal-orm/schema/types.d.ts.map +1 -0
- package/dist/integrations/metal-orm/schema/types.js +2 -0
- package/dist/integrations/metal-orm/schema/types.js.map +1 -0
- package/dist/integrations/metal-orm/serialization/entitySerializer.d.ts +2 -0
- package/dist/integrations/metal-orm/serialization/entitySerializer.d.ts.map +1 -0
- package/dist/integrations/metal-orm/serialization/entitySerializer.js +3 -0
- package/dist/integrations/metal-orm/serialization/entitySerializer.js.map +1 -0
- package/dist/integrations/metal-orm/serialization/relationPolicy.d.ts +2 -0
- package/dist/integrations/metal-orm/serialization/relationPolicy.d.ts.map +1 -0
- package/dist/integrations/metal-orm/serialization/relationPolicy.js +3 -0
- package/dist/integrations/metal-orm/serialization/relationPolicy.js.map +1 -0
- package/dist/integrations/metal-orm/session/context.d.ts +2 -0
- package/dist/integrations/metal-orm/session/context.d.ts.map +1 -0
- package/dist/integrations/metal-orm/session/context.js +3 -0
- package/dist/integrations/metal-orm/session/context.js.map +1 -0
- package/dist/integrations/metal-orm/session/middleware.d.ts +2 -0
- package/dist/integrations/metal-orm/session/middleware.d.ts.map +1 -0
- package/dist/integrations/metal-orm/session/middleware.js +3 -0
- package/dist/integrations/metal-orm/session/middleware.js.map +1 -0
- package/dist/integrations/metal-orm/session/transaction.d.ts +2 -0
- package/dist/integrations/metal-orm/session/transaction.d.ts.map +1 -0
- package/dist/integrations/metal-orm/session/transaction.js +3 -0
- package/dist/integrations/metal-orm/session/transaction.js.map +1 -0
- package/dist/integrations/metal-orm/testing/setupSchema.d.ts +2 -0
- package/dist/integrations/metal-orm/testing/setupSchema.d.ts.map +1 -0
- package/dist/integrations/metal-orm/testing/setupSchema.js +3 -0
- package/dist/integrations/metal-orm/testing/setupSchema.js.map +1 -0
- package/dist/integrations/metal-orm/testing/sqliteMemory.d.ts +2 -0
- package/dist/integrations/metal-orm/testing/sqliteMemory.d.ts.map +1 -0
- package/dist/integrations/metal-orm/testing/sqliteMemory.js +3 -0
- package/dist/integrations/metal-orm/testing/sqliteMemory.js.map +1 -0
- package/dist/metadata/bag.d.ts +18 -0
- package/dist/metadata/bag.d.ts.map +1 -0
- package/dist/metadata/bag.js +39 -0
- package/dist/metadata/bag.js.map +1 -0
- package/dist/metadata/index.d.ts +4 -0
- package/dist/metadata/index.d.ts.map +1 -0
- package/dist/metadata/index.js +4 -0
- package/dist/metadata/index.js.map +1 -0
- package/dist/metadata/keys.d.ts +254 -0
- package/dist/metadata/keys.d.ts.map +1 -0
- package/dist/metadata/keys.js +23 -0
- package/dist/metadata/keys.js.map +1 -0
- package/dist/metadata/merge.d.ts +9 -0
- package/dist/metadata/merge.d.ts.map +1 -0
- package/dist/metadata/merge.js +30 -0
- package/dist/metadata/merge.js.map +1 -0
- package/dist/metal-orm.d.ts +2 -0
- package/dist/metal-orm.d.ts.map +1 -0
- package/dist/metal-orm.js +2 -0
- package/dist/metal-orm.js.map +1 -0
- package/dist/validation/native/index.d.ts +3 -0
- package/dist/validation/native/index.d.ts.map +1 -0
- package/dist/validation/native/index.js +3 -0
- package/dist/validation/native/index.js.map +1 -0
- package/dist/validation/native/ir.d.ts +38 -0
- package/dist/validation/native/ir.d.ts.map +1 -0
- package/dist/validation/native/ir.js +2 -0
- package/dist/validation/native/ir.js.map +1 -0
- package/dist/validation/native/schema.d.ts +63 -0
- package/dist/validation/native/schema.d.ts.map +1 -0
- package/dist/validation/native/schema.js +271 -0
- package/dist/validation/native/schema.js.map +1 -0
- package/dist/validation/native/validator.d.ts +21 -0
- package/dist/validation/native/validator.d.ts.map +1 -0
- package/dist/validation/native/validator.js +48 -0
- package/dist/validation/native/validator.js.map +1 -0
- package/package.json +57 -34
- package/dist/cli/generate-routes.js +0 -101
- package/dist/cli/generate-swagger.js +0 -197
- package/dist/controllers/advanced.controller.js +0 -131
- package/dist/controllers/user.controller.js +0 -121
- package/dist/entities/user.entity.js +0 -1
- package/dist/lib/common.js +0 -62
- package/dist/lib/decorators.js +0 -116
- package/dist/middleware/auth.middleware.js +0 -13
- package/dist/routes.js +0 -80
- package/dist/server.js +0 -18
- package/dist/src/cli/generate-routes.js +0 -105
- package/dist/src/cli/generate-swagger.js +0 -197
- package/dist/src/index.js +0 -4
- package/dist/src/lib/common.js +0 -62
- package/dist/src/lib/decorators.js +0 -116
- package/dist/src/routes.js +0 -80
- package/dist/src/server.js +0 -18
- package/dist/tests/example-app/controllers/advanced.controller.js +0 -130
- package/dist/tests/example-app/controllers/controllers/advanced.controller.js +0 -131
- package/dist/tests/example-app/controllers/controllers/user.controller.js +0 -121
- package/dist/tests/example-app/controllers/user.controller.js +0 -121
- package/dist/tests/example-app/entities/entities/user.entity.js +0 -1
- package/dist/tests/example-app/entities/user.entity.js +0 -1
- package/dist/tests/example-app/middleware/auth.middleware.js +0 -13
- package/dist/tests/example-app/middleware/middleware/auth.middleware.js +0 -13
- package/dist/tests/example-app/routes.js +0 -80
- package/dist/tests/example-app/server.js +0 -23
- package/scripts/run-example.js +0 -32
- package/src/cli/generate-routes.ts +0 -123
- package/src/cli/generate-swagger.ts +0 -216
- package/src/index.js +0 -20
- package/src/index.ts +0 -4
- package/src/lib/common.js +0 -68
- package/src/lib/common.ts +0 -35
- package/src/lib/decorators.js +0 -128
- package/src/lib/decorators.ts +0 -136
- package/swagger.json +0 -238
- package/tests/e2e.test.ts +0 -72
- package/tests/example-app/controllers/advanced.controller.ts +0 -52
- package/tests/example-app/controllers/user.controller.ts +0 -35
- package/tests/example-app/entities/user.entity.ts +0 -8
- package/tests/example-app/middleware/auth.middleware.ts +0 -16
- package/tests/example-app/routes.ts +0 -102
- package/tests/example-app/server.ts +0 -30
- package/tests/generators.test.ts +0 -48
- package/tests/utils.ts +0 -46
- package/tsconfig.json +0 -20
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pickStatus.js","sourceRoot":"","sources":["../../../src/core/responses/pickStatus.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpD,MAAM,UAAU,iBAAiB,CAAC,MAAc,EAAE,SAAyB,EAAE,QAAiB;IAC5F,IAAI,OAAO,QAAQ,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAElD,MAAM,CAAC,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IAE/B,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,UAAU,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAEjD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;aAClC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aAC9B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;aACrB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;aAClC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAEzB,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,KAAK,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,OAAO,GAAG,CAAC;YACpD,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,OAAO,GAAG,CAAC;YACpC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,IAAI,CAAC,KAAK,MAAM;QAAE,OAAO,GAAG,CAAC;IAC7B,IAAI,CAAC,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC;IAC/B,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import type { ResponsesSpec } from '../../contracts/responses.js';
|
|
2
|
+
import type { RouteOptions } from '../../contracts/route-options.js';
|
|
3
|
+
import { makeReply } from '../reply/typed.js';
|
|
4
|
+
/**
|
|
5
|
+
* Route definition that carries:
|
|
6
|
+
* - path: use in decorator
|
|
7
|
+
* - options: use in decorator
|
|
8
|
+
* - reply: typed reply/noContent bound to responses
|
|
9
|
+
*
|
|
10
|
+
* @template Path - The route path as a string literal
|
|
11
|
+
* @template R - The responses specification for this route
|
|
12
|
+
*/
|
|
13
|
+
export type RouteDef<Path extends string, R extends ResponsesSpec> = {
|
|
14
|
+
/** The route path */
|
|
15
|
+
path: Path;
|
|
16
|
+
/** Route configuration and responses */
|
|
17
|
+
options: RouteOptions<Path> & {
|
|
18
|
+
responses: R;
|
|
19
|
+
};
|
|
20
|
+
/** Typed reply function bound to the route's responses */
|
|
21
|
+
reply: ReturnType<typeof makeReply<R>>;
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Creates a route definition with typed responses and reply functions.
|
|
25
|
+
*
|
|
26
|
+
* @template Path - The route path as a string literal
|
|
27
|
+
* @template R - The responses specification for this route
|
|
28
|
+
* @param path - The route path (e.g., '/users', '/users/:id')
|
|
29
|
+
* @param options - Route configuration including responses specification
|
|
30
|
+
* @returns Route definition with typed reply function
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```typescript
|
|
34
|
+
* const userRoute = defineRoute('/users', {
|
|
35
|
+
* responses: {
|
|
36
|
+
* 200: { content: { 'application/json': { schema: userSchema } } },
|
|
37
|
+
* 404: { description: 'User not found' }
|
|
38
|
+
* }
|
|
39
|
+
* });
|
|
40
|
+
*
|
|
41
|
+
* // Use the typed reply function
|
|
42
|
+
* const reply = userRoute.reply(200, userData);
|
|
43
|
+
* ```
|
|
44
|
+
*
|
|
45
|
+
* @see RouteOptions for available configuration options
|
|
46
|
+
* @see ResponsesSpec for response specification format
|
|
47
|
+
*/
|
|
48
|
+
export declare function defineRoute<Path extends string, const R extends ResponsesSpec>(path: Path, options: RouteOptions<Path> & {
|
|
49
|
+
responses: R;
|
|
50
|
+
}): RouteDef<Path, R>;
|
|
51
|
+
/**
|
|
52
|
+
* Nice builder style for route definitions:
|
|
53
|
+
* const getUser = routeFor('/{id}')({ ... })
|
|
54
|
+
*
|
|
55
|
+
* @template Path - The route path as a string literal
|
|
56
|
+
* @param path - The route path
|
|
57
|
+
* @returns A function that takes route options and returns a RouteDef
|
|
58
|
+
*
|
|
59
|
+
* @example
|
|
60
|
+
* ```typescript
|
|
61
|
+
* const getUserRoute = routeFor('/users/:id')({
|
|
62
|
+
* responses: {
|
|
63
|
+
* 200: { content: { 'application/json': { schema: userSchema } } },
|
|
64
|
+
* 404: { description: 'User not found' }
|
|
65
|
+
* }
|
|
66
|
+
* });
|
|
67
|
+
* ```
|
|
68
|
+
*
|
|
69
|
+
* @see defineRoute for the underlying implementation
|
|
70
|
+
*/
|
|
71
|
+
export declare function routeFor<Path extends string>(path: Path): <const R extends ResponsesSpec>(options: RouteOptions<Path> & {
|
|
72
|
+
responses: R;
|
|
73
|
+
}) => RouteDef<Path, R>;
|
|
74
|
+
//# sourceMappingURL=defineRoute.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defineRoute.d.ts","sourceRoot":"","sources":["../../../src/core/route/defineRoute.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C;;;;;;;;GAQG;AACH,MAAM,MAAM,QAAQ,CAAC,IAAI,SAAS,MAAM,EAAE,CAAC,SAAS,aAAa,IAAI;IACnE,qBAAqB;IACrB,IAAI,EAAE,IAAI,CAAC;IACX,wCAAwC;IACxC,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,GAAG;QAAE,SAAS,EAAE,CAAC,CAAA;KAAE,CAAC;IAC/C,0DAA0D;IAC1D,KAAK,EAAE,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;CACxC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,WAAW,CAAC,IAAI,SAAS,MAAM,EAAE,KAAK,CAAC,CAAC,SAAS,aAAa,EAC5E,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,GAAG;IAAE,SAAS,EAAE,CAAC,CAAA;CAAE,GAC7C,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAMnB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,QAAQ,CAAC,IAAI,SAAS,MAAM,EAAE,IAAI,EAAE,IAAI,IACrC,KAAK,CAAC,CAAC,SAAS,aAAa,EAC5C,SAAS,YAAY,CAAC,IAAI,CAAC,GAAG;IAAE,SAAS,EAAE,CAAC,CAAA;CAAE,KAC7C,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAGrB"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { makeReply } from '../reply/typed.js';
|
|
2
|
+
/**
|
|
3
|
+
* Creates a route definition with typed responses and reply functions.
|
|
4
|
+
*
|
|
5
|
+
* @template Path - The route path as a string literal
|
|
6
|
+
* @template R - The responses specification for this route
|
|
7
|
+
* @param path - The route path (e.g., '/users', '/users/:id')
|
|
8
|
+
* @param options - Route configuration including responses specification
|
|
9
|
+
* @returns Route definition with typed reply function
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```typescript
|
|
13
|
+
* const userRoute = defineRoute('/users', {
|
|
14
|
+
* responses: {
|
|
15
|
+
* 200: { content: { 'application/json': { schema: userSchema } } },
|
|
16
|
+
* 404: { description: 'User not found' }
|
|
17
|
+
* }
|
|
18
|
+
* });
|
|
19
|
+
*
|
|
20
|
+
* // Use the typed reply function
|
|
21
|
+
* const reply = userRoute.reply(200, userData);
|
|
22
|
+
* ```
|
|
23
|
+
*
|
|
24
|
+
* @see RouteOptions for available configuration options
|
|
25
|
+
* @see ResponsesSpec for response specification format
|
|
26
|
+
*/
|
|
27
|
+
export function defineRoute(path, options) {
|
|
28
|
+
return {
|
|
29
|
+
path,
|
|
30
|
+
options,
|
|
31
|
+
reply: makeReply(options.responses),
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Nice builder style for route definitions:
|
|
36
|
+
* const getUser = routeFor('/{id}')({ ... })
|
|
37
|
+
*
|
|
38
|
+
* @template Path - The route path as a string literal
|
|
39
|
+
* @param path - The route path
|
|
40
|
+
* @returns A function that takes route options and returns a RouteDef
|
|
41
|
+
*
|
|
42
|
+
* @example
|
|
43
|
+
* ```typescript
|
|
44
|
+
* const getUserRoute = routeFor('/users/:id')({
|
|
45
|
+
* responses: {
|
|
46
|
+
* 200: { content: { 'application/json': { schema: userSchema } } },
|
|
47
|
+
* 404: { description: 'User not found' }
|
|
48
|
+
* }
|
|
49
|
+
* });
|
|
50
|
+
* ```
|
|
51
|
+
*
|
|
52
|
+
* @see defineRoute for the underlying implementation
|
|
53
|
+
*/
|
|
54
|
+
export function routeFor(path) {
|
|
55
|
+
return function (options) {
|
|
56
|
+
return defineRoute(path, options);
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=defineRoute.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defineRoute.js","sourceRoot":"","sources":["../../../src/core/route/defineRoute.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAoB9C;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,WAAW,CACzB,IAAU,EACV,OAA8C;IAE9C,OAAO;QACL,IAAI;QACJ,OAAO;QACP,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC;KACpC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,QAAQ,CAAsB,IAAU;IACtD,OAAO,UACL,OAA8C;QAE9C,OAAO,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACpC,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/route/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/route/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../../src/core/serialization/json.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json.js","sourceRoot":"","sources":["../../../src/core/serialization/json.ts"],"names":[],"mappings":";AAAA,iDAAiD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"path-params.d.ts","sourceRoot":"","sources":["../../../src/core/typing/path-params.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,MAAM,IAC5C,CAAC,SAAS,GAAG,MAAM,IAAI,MAAM,CAAC,IAAI,MAAM,IAAI,EAAE,GAC1C,CAAC,GAAG,iBAAiB,CAAC,IAAI,CAAC,GAC3B,KAAK,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"path-params.js","sourceRoot":"","sources":["../../../src/core/typing/path-params.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export type BindingsOptions = {
|
|
2
|
+
/**
|
|
3
|
+
* Hint coercion for path params by name.
|
|
4
|
+
* Example: @Bindings({ path: { id: 'int' } })
|
|
5
|
+
*/
|
|
6
|
+
path?: Record<string, 'string' | 'int' | 'number' | 'boolean' | 'uuid'>;
|
|
7
|
+
};
|
|
8
|
+
export declare function Bindings(opts: BindingsOptions): (_value: unknown, context: ClassMethodDecoratorContext) => void;
|
|
9
|
+
//# sourceMappingURL=binding.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"binding.d.ts","sourceRoot":"","sources":["../../src/decorators/binding.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,eAAe,GAAG;IAC5B;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC,CAAC;CACzE,CAAC;AAEF,wBAAgB,QAAQ,CAAC,IAAI,EAAE,eAAe,IAC3B,QAAQ,OAAO,EAAE,SAAS,2BAA2B,UAevE"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { META } from '../metadata/keys.js';
|
|
2
|
+
import { bagFromContext, bagEnsureObject } from '../metadata/bag.js';
|
|
3
|
+
export function Bindings(opts) {
|
|
4
|
+
return function (_value, context) {
|
|
5
|
+
const bag = bagFromContext(context);
|
|
6
|
+
const meta = bagEnsureObject(bag, META.bindings, () => ({}));
|
|
7
|
+
const method = String(context.name);
|
|
8
|
+
meta.byMethod ??= {};
|
|
9
|
+
meta.byMethod[method] ??= {};
|
|
10
|
+
if (opts.path) {
|
|
11
|
+
meta.byMethod[method].path = {
|
|
12
|
+
...(meta.byMethod[method].path ?? {}),
|
|
13
|
+
...opts.path,
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=binding.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"binding.js","sourceRoot":"","sources":["../../src/decorators/binding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAqB,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAUrE,MAAM,UAAU,QAAQ,CAAC,IAAqB;IAC5C,OAAO,UAAU,MAAe,EAAE,OAAoC;QACpE,MAAM,GAAG,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,IAAI,GAAG,eAAe,CAAe,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAE3E,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,QAAQ,KAAK,EAAE,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAE7B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,GAAG;gBAC3B,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;gBACrC,GAAG,IAAI,CAAC,IAAI;aACb,CAAC;QACJ,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/decorators/controller.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,IACxB,QAAQ,OAAO,EAAE,SAAS,qBAAqB,UASjE"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { META } from '../metadata/keys.js';
|
|
2
|
+
import { bagFromContext, bagSet } from '../metadata/bag.js';
|
|
3
|
+
/**
|
|
4
|
+
* Stage-3 class decorator.
|
|
5
|
+
* Usage: @Controller('/users')
|
|
6
|
+
*/
|
|
7
|
+
export function Controller(basePath) {
|
|
8
|
+
return function (_value, context) {
|
|
9
|
+
const bag = bagFromContext(context);
|
|
10
|
+
const meta = {
|
|
11
|
+
basePath: normalizeBasePath(basePath),
|
|
12
|
+
};
|
|
13
|
+
bagSet(bag, META.controller, meta);
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
function normalizeBasePath(p) {
|
|
17
|
+
if (!p)
|
|
18
|
+
return '';
|
|
19
|
+
let out = p.trim();
|
|
20
|
+
if (!out.startsWith('/'))
|
|
21
|
+
out = `/${out}`;
|
|
22
|
+
if (out !== '/' && out.endsWith('/'))
|
|
23
|
+
out = out.slice(0, -1);
|
|
24
|
+
return out;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"controller.js","sourceRoot":"","sources":["../../src/decorators/controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAuB,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5D;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,QAAgB;IACzC,OAAO,UAAU,MAAe,EAAE,OAA8B;QAC9D,MAAM,GAAG,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;QAEpC,MAAM,IAAI,GAAmB;YAC3B,QAAQ,EAAE,iBAAiB,CAAC,QAAQ,CAAC;SACtC,CAAC;QAEF,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,CAAS;IAClC,IAAI,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC;IAClB,IAAI,GAAG,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACnB,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;IAC1C,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7D,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/decorators/db.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/decorators/db.ts"],"names":[],"mappings":";AAAA,uCAAuC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
type Stage3ClassContext = ClassDecoratorContext;
|
|
2
|
+
type Stage3MethodContext = ClassMethodDecoratorContext<unknown, (this: unknown, ...args: unknown[]) => unknown>;
|
|
3
|
+
type DecoratorContext = Stage3ClassContext | Stage3MethodContext;
|
|
4
|
+
export declare function Tags(...tags: string[]): (_value: unknown, context: DecoratorContext) => void;
|
|
5
|
+
export declare function OperationId(id: string): (_value: unknown, context: Stage3MethodContext) => void;
|
|
6
|
+
export declare function Deprecated(value?: boolean): (_value: unknown, context: Stage3MethodContext) => void;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=docs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../src/decorators/docs.ts"],"names":[],"mappings":"AAIA,KAAK,kBAAkB,GAAG,qBAAqB,CAAC;AAChD,KAAK,mBAAmB,GAAG,2BAA2B,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,CAAC;AAChH,KAAK,gBAAgB,GAAG,kBAAkB,GAAG,mBAAmB,CAAC;AAkBjE,wBAAgB,IAAI,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,IACnB,QAAQ,OAAO,EAAE,SAAS,gBAAgB,UAc5D;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,IACnB,QAAQ,OAAO,EAAE,SAAS,mBAAmB,UAM/D;AAED,wBAAgB,UAAU,CAAC,KAAK,UAAO,IACpB,QAAQ,OAAO,EAAE,SAAS,mBAAmB,UAM/D"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { META } from '../metadata/keys.js';
|
|
2
|
+
import { bagEnsureObject, bagFromContext } from '../metadata/bag.js';
|
|
3
|
+
function ensureDocsMeta(context) {
|
|
4
|
+
const bag = bagFromContext(context);
|
|
5
|
+
return bagEnsureObject(bag, META.docs, () => ({}));
|
|
6
|
+
}
|
|
7
|
+
function ensureMethodDocs(meta, method) {
|
|
8
|
+
meta.byMethod ??= {};
|
|
9
|
+
meta.byMethod[method] ??= {};
|
|
10
|
+
return meta.byMethod[method];
|
|
11
|
+
}
|
|
12
|
+
function mergeTags(existing, next) {
|
|
13
|
+
return [...(existing ?? []), ...next];
|
|
14
|
+
}
|
|
15
|
+
export function Tags(...tags) {
|
|
16
|
+
return function (_value, context) {
|
|
17
|
+
const meta = ensureDocsMeta(context);
|
|
18
|
+
const cleaned = tags.map((t) => t.trim()).filter(Boolean);
|
|
19
|
+
if (!cleaned.length)
|
|
20
|
+
return;
|
|
21
|
+
if (context.kind === 'class') {
|
|
22
|
+
meta.tags = mergeTags(meta.tags, cleaned);
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
const method = String(context.name);
|
|
26
|
+
const methodDocs = ensureMethodDocs(meta, method);
|
|
27
|
+
methodDocs.tags = mergeTags(methodDocs.tags, cleaned);
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
export function OperationId(id) {
|
|
31
|
+
return function (_value, context) {
|
|
32
|
+
const meta = ensureDocsMeta(context);
|
|
33
|
+
const method = String(context.name);
|
|
34
|
+
const methodDocs = ensureMethodDocs(meta, method);
|
|
35
|
+
methodDocs.operationId = id;
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
export function Deprecated(value = true) {
|
|
39
|
+
return function (_value, context) {
|
|
40
|
+
const meta = ensureDocsMeta(context);
|
|
41
|
+
const method = String(context.name);
|
|
42
|
+
const methodDocs = ensureMethodDocs(meta, method);
|
|
43
|
+
methodDocs.deprecated = value;
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=docs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docs.js","sourceRoot":"","sources":["../../src/decorators/docs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAiB,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAQrE,SAAS,cAAc,CAAC,OAAyB;IAC/C,MAAM,GAAG,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACpC,OAAO,eAAe,CAAW,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAc,EAAE,MAAc;IACtD,IAAI,CAAC,QAAQ,KAAK,EAAE,CAAC;IACrB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IAC7B,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAc,CAAC;AAC5C,CAAC;AAED,SAAS,SAAS,CAAC,QAA8B,EAAE,IAAc;IAC/D,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,GAAG,IAAc;IACpC,OAAO,UAAU,MAAe,EAAE,OAAyB;QACzD,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC1D,IAAI,CAAC,OAAO,CAAC,MAAM;YAAE,OAAO;QAE5B,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC7B,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC1C,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAClD,UAAU,CAAC,IAAI,GAAG,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,EAAU;IACpC,OAAO,UAAU,MAAe,EAAE,OAA4B;QAC5D,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;QACrC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAClD,UAAU,CAAC,WAAW,GAAG,EAAE,CAAC;IAC9B,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAK,GAAG,IAAI;IACrC,OAAO,UAAU,MAAe,EAAE,OAA4B;QAC5D,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;QACrC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAClD,UAAU,CAAC,UAAU,GAAG,KAAK,CAAC;IAChC,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/decorators/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/decorators/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC"}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import type { RouteOptions } from '../contracts/route-options.js';
|
|
2
|
+
import type { ResponsesSpec } from '../contracts/responses.js';
|
|
3
|
+
import type { Reply } from '../contracts/reply.js';
|
|
4
|
+
import type { Schema } from '../validation/native/schema.js';
|
|
5
|
+
import type { BodySchemaFor, SuccessStatusesWithBody, SuccessStatusesNoBody } from '../contracts/response-types.js';
|
|
6
|
+
type MaybePromise<T> = T | Promise<T>;
|
|
7
|
+
type ResponsesFromOptions<O> = O extends {
|
|
8
|
+
responses: infer R extends ResponsesSpec;
|
|
9
|
+
} ? R : undefined;
|
|
10
|
+
type BodySchemaFromResponses<R extends ResponsesSpec> = SuccessStatusesWithBody<R> extends never ? never : BodySchemaFor<R, SuccessStatusesWithBody<R>>;
|
|
11
|
+
type BodyTypeFromResponses<R extends ResponsesSpec | undefined> = R extends ResponsesSpec ? BodySchemaFromResponses<R> extends Schema<infer T> ? T : unknown : unknown;
|
|
12
|
+
type SuccessBodyType<O> = BodyTypeFromResponses<ResponsesFromOptions<O>>;
|
|
13
|
+
type ReplyWithBodyTypes<R extends ResponsesSpec | undefined> = R extends ResponsesSpec ? SuccessStatusesWithBody<R> extends never ? never : Reply<BodySchemaFromResponses<R> extends Schema<infer T> ? T : unknown, SuccessStatusesWithBody<R>> : never;
|
|
14
|
+
type ReplyNoBodyTypes<R extends ResponsesSpec | undefined> = R extends ResponsesSpec ? SuccessStatusesNoBody<R> extends never ? never : Reply<undefined, SuccessStatusesNoBody<R>> : never;
|
|
15
|
+
type IsNever<T> = [T] extends [never] ? true : false;
|
|
16
|
+
type HandlerReply<R extends ResponsesSpec | undefined> = R extends ResponsesSpec ? (IsNever<ReplyWithBodyTypes<R>> extends true ? never : ReplyWithBodyTypes<R>) | (IsNever<ReplyNoBodyTypes<R>> extends true ? never : ReplyNoBodyTypes<R>) : Reply<unknown, number>;
|
|
17
|
+
type HandlerReturn<O extends RouteOptions<string> | undefined> = MaybePromise<SuccessBodyType<O> | HandlerReply<ResponsesFromOptions<O>>>;
|
|
18
|
+
/**
|
|
19
|
+
* Decorator for HTTP GET method endpoints.
|
|
20
|
+
*
|
|
21
|
+
* @template Path - The route path as a string literal
|
|
22
|
+
* @template O - Route options extending RouteOptions for the path
|
|
23
|
+
* @param path - The route path (e.g., '/users', '/users/:id')
|
|
24
|
+
* @param options - Optional route configuration including responses, validation, etc.
|
|
25
|
+
* @returns Method decorator for class methods
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* ```typescript
|
|
29
|
+
* class UserController {
|
|
30
|
+
* @Get('/users')
|
|
31
|
+
* async listUsers() {
|
|
32
|
+
* return await userService.findAll();
|
|
33
|
+
* }
|
|
34
|
+
*
|
|
35
|
+
* @Get('/users/:id')
|
|
36
|
+
* async getUser(id: string) {
|
|
37
|
+
* return await userService.findById(id);
|
|
38
|
+
* }
|
|
39
|
+
* }
|
|
40
|
+
* ```
|
|
41
|
+
*
|
|
42
|
+
* @see RouteOptions for available configuration options
|
|
43
|
+
*/
|
|
44
|
+
export declare function Get<Path extends string, const O extends RouteOptions<Path> | undefined>(path: Path, options?: O): <This, Args extends unknown[], Ret extends HandlerReturn<O>>(value: (this: This, ...args: Args) => Ret, context: ClassMethodDecoratorContext<This, (this: This, ...args: Args) => Ret>) => (this: This, ...args: Args) => Ret;
|
|
45
|
+
/**
|
|
46
|
+
* Decorator for HTTP POST method endpoints.
|
|
47
|
+
*
|
|
48
|
+
* @template Path - The route path as a string literal
|
|
49
|
+
* @template O - Route options extending RouteOptions for the path
|
|
50
|
+
* @param path - The route path (e.g., '/users', '/users/:id/comments')
|
|
51
|
+
* @param options - Optional route configuration including responses, validation, etc.
|
|
52
|
+
* @returns Method decorator for class methods
|
|
53
|
+
*
|
|
54
|
+
* @example
|
|
55
|
+
* ```typescript
|
|
56
|
+
* class UserController {
|
|
57
|
+
* @Post('/users')
|
|
58
|
+
* async createUser(@Body() userData: CreateUserDto) {
|
|
59
|
+
* return await userService.create(userData);
|
|
60
|
+
* }
|
|
61
|
+
*
|
|
62
|
+
* @Post('/users/:id/activate')
|
|
63
|
+
* async activateUser(id: string) {
|
|
64
|
+
* return await userService.activate(id);
|
|
65
|
+
* }
|
|
66
|
+
* }
|
|
67
|
+
* ```
|
|
68
|
+
*
|
|
69
|
+
* @see RouteOptions for available configuration options
|
|
70
|
+
*/
|
|
71
|
+
export declare function Post<Path extends string, const O extends RouteOptions<Path> | undefined>(path: Path, options?: O): <This, Args extends unknown[], Ret extends HandlerReturn<O>>(value: (this: This, ...args: Args) => Ret, context: ClassMethodDecoratorContext<This, (this: This, ...args: Args) => Ret>) => (this: This, ...args: Args) => Ret;
|
|
72
|
+
/**
|
|
73
|
+
* Decorator for HTTP PUT method endpoints.
|
|
74
|
+
*
|
|
75
|
+
* @template Path - The route path as a string literal
|
|
76
|
+
* @template O - Route options extending RouteOptions for the path
|
|
77
|
+
* @param path - The route path (e.g., '/users/:id')
|
|
78
|
+
* @param options - Optional route configuration including responses, validation, etc.
|
|
79
|
+
* @returns Method decorator for class methods
|
|
80
|
+
*
|
|
81
|
+
* @example
|
|
82
|
+
* ```typescript
|
|
83
|
+
* class UserController {
|
|
84
|
+
* @Put('/users/:id')
|
|
85
|
+
* async updateUser(id: string, @Body() userData: UpdateUserDto) {
|
|
86
|
+
* return await userService.update(id, userData);
|
|
87
|
+
* }
|
|
88
|
+
* }
|
|
89
|
+
* ```
|
|
90
|
+
*
|
|
91
|
+
* @see RouteOptions for available configuration options
|
|
92
|
+
*/
|
|
93
|
+
export declare function Put<Path extends string, const O extends RouteOptions<Path> | undefined>(path: Path, options?: O): <This, Args extends unknown[], Ret extends HandlerReturn<O>>(value: (this: This, ...args: Args) => Ret, context: ClassMethodDecoratorContext<This, (this: This, ...args: Args) => Ret>) => (this: This, ...args: Args) => Ret;
|
|
94
|
+
/**
|
|
95
|
+
* Decorator for HTTP PATCH method endpoints.
|
|
96
|
+
*
|
|
97
|
+
* @template Path - The route path as a string literal
|
|
98
|
+
* @template O - Route options extending RouteOptions for the path
|
|
99
|
+
* @param path - The route path (e.g., '/users/:id')
|
|
100
|
+
* @param options - Optional route configuration including responses, validation, etc.
|
|
101
|
+
* @returns Method decorator for class methods
|
|
102
|
+
*
|
|
103
|
+
* @example
|
|
104
|
+
* ```typescript
|
|
105
|
+
* class UserController {
|
|
106
|
+
* @Patch('/users/:id')
|
|
107
|
+
* async partialUpdate(id: string, @Body() partialData: Partial<User>) {
|
|
108
|
+
* return await userService.patch(id, partialData);
|
|
109
|
+
* }
|
|
110
|
+
* }
|
|
111
|
+
* ```
|
|
112
|
+
*
|
|
113
|
+
* @see RouteOptions for available configuration options
|
|
114
|
+
*/
|
|
115
|
+
export declare function Patch<Path extends string, const O extends RouteOptions<Path> | undefined>(path: Path, options?: O): <This, Args extends unknown[], Ret extends HandlerReturn<O>>(value: (this: This, ...args: Args) => Ret, context: ClassMethodDecoratorContext<This, (this: This, ...args: Args) => Ret>) => (this: This, ...args: Args) => Ret;
|
|
116
|
+
/**
|
|
117
|
+
* Decorator for HTTP DELETE method endpoints.
|
|
118
|
+
*
|
|
119
|
+
* @template Path - The route path as a string literal
|
|
120
|
+
* @template O - Route options extending RouteOptions for the path
|
|
121
|
+
* @param path - The route path (e.g., '/users/:id')
|
|
122
|
+
* @param options - Optional route configuration including responses, validation, etc.
|
|
123
|
+
* @returns Method decorator for class methods
|
|
124
|
+
*
|
|
125
|
+
* @example
|
|
126
|
+
* ```typescript
|
|
127
|
+
* class UserController {
|
|
128
|
+
* @Delete('/users/:id')
|
|
129
|
+
* async deleteUser(id: string) {
|
|
130
|
+
* await userService.delete(id);
|
|
131
|
+
* return { success: true };
|
|
132
|
+
* }
|
|
133
|
+
*
|
|
134
|
+
* @Delete('/users')
|
|
135
|
+
* async deleteAllUsers() {
|
|
136
|
+
* await userService.deleteAll();
|
|
137
|
+
* return { deletedCount: await userService.count() };
|
|
138
|
+
* }
|
|
139
|
+
* }
|
|
140
|
+
* ```
|
|
141
|
+
*
|
|
142
|
+
* @see RouteOptions for available configuration options
|
|
143
|
+
*/
|
|
144
|
+
export declare function Delete<Path extends string, const O extends RouteOptions<Path> | undefined>(path: Path, options?: O): <This, Args extends unknown[], Ret extends HandlerReturn<O>>(value: (this: This, ...args: Args) => Ret, context: ClassMethodDecoratorContext<This, (this: This, ...args: Args) => Ret>) => (this: This, ...args: Args) => Ret;
|
|
145
|
+
export {};
|
|
146
|
+
//# sourceMappingURL=methods.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"methods.d.ts","sourceRoot":"","sources":["../../src/decorators/methods.ts"],"names":[],"mappings":"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"}
|