exisjs 0.7.5 → 0.7.7
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/dist/cli/commands/build.d.ts.map +1 -1
- package/dist/cli/commands/build.js +12 -0
- package/dist/cli/commands/build.js.map +1 -1
- package/dist/cli/commands/clean.d.ts +5 -0
- package/dist/cli/commands/clean.d.ts.map +1 -0
- package/dist/cli/commands/clean.js +30 -0
- package/dist/cli/commands/clean.js.map +1 -0
- package/dist/cli/commands/dev.d.ts.map +1 -1
- package/dist/cli/commands/dev.js +171 -86
- package/dist/cli/commands/dev.js.map +1 -1
- package/dist/cli/commands/generate.d.ts +6 -1
- package/dist/cli/commands/generate.d.ts.map +1 -1
- package/dist/cli/commands/generate.js +57 -2
- package/dist/cli/commands/generate.js.map +1 -1
- package/dist/cli/commands/start.d.ts.map +1 -1
- package/dist/cli/commands/start.js +54 -16
- package/dist/cli/commands/start.js.map +1 -1
- package/dist/cli/index.js +26 -3
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/manifest.d.ts +1 -0
- package/dist/cli/manifest.d.ts.map +1 -1
- package/dist/cli/manifest.js +264 -33
- package/dist/cli/manifest.js.map +1 -1
- package/dist/cli/resolve-aliases.d.ts +1 -1
- package/dist/cli/resolve-aliases.d.ts.map +1 -1
- package/dist/cli/resolve-aliases.js +30 -13
- package/dist/cli/resolve-aliases.js.map +1 -1
- package/dist/config/config.d.ts +3 -1
- package/dist/config/config.d.ts.map +1 -1
- package/dist/config/config.js +9 -0
- package/dist/config/config.js.map +1 -1
- package/dist/config/types.d.ts +6 -0
- package/dist/config/types.d.ts.map +1 -1
- package/dist/cron/expressions.d.ts +45 -0
- package/dist/cron/expressions.d.ts.map +1 -0
- package/dist/cron/expressions.js +87 -0
- package/dist/cron/expressions.js.map +1 -0
- package/dist/cron/index.d.ts +6 -0
- package/dist/cron/index.d.ts.map +1 -0
- package/dist/cron/index.js +22 -0
- package/dist/cron/index.js.map +1 -0
- package/dist/cron/job.d.ts +50 -0
- package/dist/cron/job.d.ts.map +1 -0
- package/dist/cron/job.js +247 -0
- package/dist/cron/job.js.map +1 -0
- package/dist/cron/manager.d.ts +105 -0
- package/dist/cron/manager.d.ts.map +1 -0
- package/dist/cron/manager.js +245 -0
- package/dist/cron/manager.js.map +1 -0
- package/dist/cron/parser.d.ts +22 -0
- package/dist/cron/parser.d.ts.map +1 -0
- package/dist/cron/parser.js +269 -0
- package/dist/cron/parser.js.map +1 -0
- package/dist/cron/types.d.ts +76 -0
- package/dist/cron/types.d.ts.map +1 -0
- package/dist/cron/types.js +3 -0
- package/dist/cron/types.js.map +1 -0
- package/dist/decorators/constants.d.ts +2 -0
- package/dist/decorators/constants.d.ts.map +1 -1
- package/dist/decorators/constants.js +3 -1
- package/dist/decorators/constants.js.map +1 -1
- package/dist/decorators/core.d.ts +29 -11
- package/dist/decorators/core.d.ts.map +1 -1
- package/dist/decorators/core.js +49 -11
- package/dist/decorators/core.js.map +1 -1
- package/dist/decorators/cron.d.ts +57 -0
- package/dist/decorators/cron.d.ts.map +1 -0
- package/dist/decorators/cron.js +143 -0
- package/dist/decorators/cron.js.map +1 -0
- package/dist/decorators/index.d.ts +2 -0
- package/dist/decorators/index.d.ts.map +1 -1
- package/dist/decorators/index.js +2 -0
- package/dist/decorators/index.js.map +1 -1
- package/dist/decorators/middleware.d.ts +65 -2
- package/dist/decorators/middleware.d.ts.map +1 -1
- package/dist/decorators/middleware.js +148 -62
- package/dist/decorators/middleware.js.map +1 -1
- package/dist/decorators/params.d.ts +102 -2
- package/dist/decorators/params.d.ts.map +1 -1
- package/dist/decorators/params.js +105 -3
- package/dist/decorators/params.js.map +1 -1
- package/dist/decorators/response.d.ts.map +1 -1
- package/dist/decorators/response.js +32 -22
- package/dist/decorators/response.js.map +1 -1
- package/dist/decorators/routing.d.ts +81 -16
- package/dist/decorators/routing.d.ts.map +1 -1
- package/dist/decorators/routing.js +81 -16
- package/dist/decorators/routing.js.map +1 -1
- package/dist/di/container.d.ts.map +1 -1
- package/dist/di/container.js +6 -1
- package/dist/di/container.js.map +1 -1
- package/dist/docs/content/cli/commands.mdx +1 -1
- package/dist/docs/content/controllers.mdx +127 -10
- package/dist/docs/content/cron.mdx +196 -0
- package/dist/docs/content/decorators.mdx +22 -4
- package/dist/docs/content/errors.mdx +58 -9
- package/dist/docs/content/introduction.mdx +7 -7
- package/dist/docs/content/middleware.mdx +269 -6
- package/dist/docs/content/requests.mdx +180 -6
- package/dist/docs/content/responses.mdx +283 -32
- package/dist/docs/content/routing.mdx +46 -0
- package/dist/docs/content/swagger.mdx +228 -0
- package/dist/docs/content/validation.mdx +190 -11
- package/dist/docs/reference/context.mdx +11 -0
- package/dist/docs/reference/cron.mdx +300 -0
- package/dist/docs/reference/decorators.mdx +22 -4
- package/dist/docs/reference/error.mdx +88 -0
- package/dist/docs/reference/logger.mdx +175 -43
- package/dist/docs/reference/middleware.mdx +31 -0
- package/dist/docs/reference/router.mdx +22 -0
- package/dist/docs/reference/swagger.mdx +143 -0
- package/dist/docs/reference/validator.mdx +83 -23
- package/dist/error/errors.d.ts.map +1 -1
- package/dist/error/errors.js +95 -43
- package/dist/error/errors.js.map +1 -1
- package/dist/error/index.d.ts +1 -0
- package/dist/error/index.d.ts.map +1 -1
- package/dist/error/index.js +11 -1
- package/dist/error/index.js.map +1 -1
- package/dist/error/overlay.d.ts +42 -0
- package/dist/error/overlay.d.ts.map +1 -0
- package/dist/error/overlay.js +306 -0
- package/dist/error/overlay.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +22 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/start-server.js +33 -7
- package/dist/lib/start-server.js.map +1 -1
- package/dist/logger/index.d.ts +1 -1
- package/dist/logger/index.d.ts.map +1 -1
- package/dist/logger/index.js +9 -1
- package/dist/logger/index.js.map +1 -1
- package/dist/middleware/guard.d.ts +2 -2
- package/dist/middleware/guard.d.ts.map +1 -1
- package/dist/middleware/guard.js.map +1 -1
- package/dist/middleware/ip-filter.d.ts +1 -0
- package/dist/middleware/ip-filter.d.ts.map +1 -1
- package/dist/middleware/ip-filter.js +2 -0
- package/dist/middleware/ip-filter.js.map +1 -1
- package/dist/middleware/middleware.d.ts +2 -2
- package/dist/middleware/middleware.d.ts.map +1 -1
- package/dist/middleware/middleware.js +20 -2
- package/dist/middleware/middleware.js.map +1 -1
- package/dist/middleware/security.d.ts +43 -1
- package/dist/middleware/security.d.ts.map +1 -1
- package/dist/middleware/security.js +101 -0
- package/dist/middleware/security.js.map +1 -1
- package/dist/response/index.d.ts +229 -6
- package/dist/response/index.d.ts.map +1 -1
- package/dist/response/index.js +272 -2
- package/dist/response/index.js.map +1 -1
- package/dist/router/boundary.d.ts +41 -11
- package/dist/router/boundary.d.ts.map +1 -1
- package/dist/router/boundary.js +24 -2
- package/dist/router/boundary.js.map +1 -1
- package/dist/router/controller-registrar.d.ts.map +1 -1
- package/dist/router/controller-registrar.js +108 -4
- package/dist/router/controller-registrar.js.map +1 -1
- package/dist/router/index.d.ts +2 -2
- package/dist/router/index.d.ts.map +1 -1
- package/dist/router/index.js +2 -1
- package/dist/router/index.js.map +1 -1
- package/dist/router/route-builder.d.ts +262 -65
- package/dist/router/route-builder.d.ts.map +1 -1
- package/dist/router/route-builder.js +181 -23
- package/dist/router/route-builder.js.map +1 -1
- package/dist/router/route-scanner.d.ts +6 -0
- package/dist/router/route-scanner.d.ts.map +1 -1
- package/dist/router/route-scanner.js +71 -792
- package/dist/router/route-scanner.js.map +1 -1
- package/dist/router/router.d.ts.map +1 -1
- package/dist/router/router.js +62 -17
- package/dist/router/router.js.map +1 -1
- package/dist/router/scanner/boundary-loader.d.ts +18 -0
- package/dist/router/scanner/boundary-loader.d.ts.map +1 -0
- package/dist/router/scanner/boundary-loader.js +539 -0
- package/dist/router/scanner/boundary-loader.js.map +1 -0
- package/dist/router/scanner/cron-mounter.d.ts +15 -0
- package/dist/router/scanner/cron-mounter.d.ts.map +1 -0
- package/dist/router/scanner/cron-mounter.js +216 -0
- package/dist/router/scanner/cron-mounter.js.map +1 -0
- package/dist/router/scanner/error-mounter.d.ts +14 -0
- package/dist/router/scanner/error-mounter.d.ts.map +1 -0
- package/dist/router/scanner/error-mounter.js +200 -0
- package/dist/router/scanner/error-mounter.js.map +1 -0
- package/dist/router/scanner/fs-scanner.d.ts +25 -0
- package/dist/router/scanner/fs-scanner.d.ts.map +1 -0
- package/dist/router/scanner/fs-scanner.js +115 -0
- package/dist/router/scanner/fs-scanner.js.map +1 -0
- package/dist/router/scanner/functional-compiler.d.ts +9 -0
- package/dist/router/scanner/functional-compiler.d.ts.map +1 -0
- package/dist/router/scanner/functional-compiler.js +233 -0
- package/dist/router/scanner/functional-compiler.js.map +1 -0
- package/dist/router/scanner/index.d.ts +9 -0
- package/dist/router/scanner/index.d.ts.map +1 -0
- package/dist/router/scanner/index.js +19 -0
- package/dist/router/scanner/index.js.map +1 -0
- package/dist/router/types.d.ts +23 -0
- package/dist/router/types.d.ts.map +1 -1
- package/dist/server/app.d.ts +3 -0
- package/dist/server/app.d.ts.map +1 -1
- package/dist/server/app.js +13 -0
- package/dist/server/app.js.map +1 -1
- package/dist/server/bootstrapper.d.ts.map +1 -1
- package/dist/server/bootstrapper.js +91 -30
- package/dist/server/bootstrapper.js.map +1 -1
- package/dist/server/cluster.d.ts.map +1 -1
- package/dist/server/cluster.js +13 -2
- package/dist/server/cluster.js.map +1 -1
- package/dist/server/context.d.ts +8 -0
- package/dist/server/context.d.ts.map +1 -1
- package/dist/server/context.js +50 -6
- package/dist/server/context.js.map +1 -1
- package/dist/server/helpers/body-parser.d.ts +18 -0
- package/dist/server/helpers/body-parser.d.ts.map +1 -0
- package/dist/server/helpers/body-parser.js +246 -0
- package/dist/server/helpers/body-parser.js.map +1 -0
- package/dist/server/helpers/cookie.d.ts +4 -0
- package/dist/server/helpers/cookie.d.ts.map +1 -0
- package/dist/server/helpers/cookie.js +61 -0
- package/dist/server/helpers/cookie.js.map +1 -0
- package/dist/server/helpers/etag.d.ts +3 -0
- package/dist/server/helpers/etag.d.ts.map +1 -0
- package/dist/server/helpers/etag.js +25 -0
- package/dist/server/helpers/etag.js.map +1 -0
- package/dist/server/helpers/index.d.ts +6 -0
- package/dist/server/helpers/index.d.ts.map +1 -0
- package/dist/server/helpers/index.js +21 -0
- package/dist/server/helpers/index.js.map +1 -0
- package/dist/server/helpers/ip.d.ts +9 -0
- package/dist/server/helpers/ip.d.ts.map +1 -0
- package/dist/server/helpers/ip.js +62 -0
- package/dist/server/helpers/ip.js.map +1 -0
- package/dist/server/helpers/stream.d.ts +4 -0
- package/dist/server/helpers/stream.d.ts.map +1 -0
- package/dist/server/helpers/stream.js +193 -0
- package/dist/server/helpers/stream.js.map +1 -0
- package/dist/server/lifecycle.d.ts +22 -0
- package/dist/server/lifecycle.d.ts.map +1 -0
- package/dist/server/lifecycle.js +106 -0
- package/dist/server/lifecycle.js.map +1 -0
- package/dist/server/request-handler.d.ts +1 -0
- package/dist/server/request-handler.d.ts.map +1 -1
- package/dist/server/request-handler.js +27 -17
- package/dist/server/request-handler.js.map +1 -1
- package/dist/server/request.d.ts +1 -139
- package/dist/server/request.d.ts.map +1 -1
- package/dist/server/request.js +37 -433
- package/dist/server/request.js.map +1 -1
- package/dist/server/response.d.ts +112 -156
- package/dist/server/response.d.ts.map +1 -1
- package/dist/server/response.js +129 -279
- package/dist/server/response.js.map +1 -1
- package/dist/swagger/decorators.d.ts +81 -0
- package/dist/swagger/decorators.d.ts.map +1 -0
- package/dist/swagger/decorators.js +172 -0
- package/dist/swagger/decorators.js.map +1 -0
- package/dist/swagger/generator.d.ts +19 -0
- package/dist/swagger/generator.d.ts.map +1 -0
- package/dist/swagger/generator.js +344 -0
- package/dist/swagger/generator.js.map +1 -0
- package/dist/swagger/index.d.ts +31 -0
- package/dist/swagger/index.d.ts.map +1 -0
- package/dist/swagger/index.js +53 -0
- package/dist/swagger/index.js.map +1 -0
- package/dist/swagger/mounter.d.ts +7 -0
- package/dist/swagger/mounter.d.ts.map +1 -0
- package/dist/swagger/mounter.js +56 -0
- package/dist/swagger/mounter.js.map +1 -0
- package/dist/swagger/types.d.ts +190 -0
- package/dist/swagger/types.d.ts.map +1 -0
- package/dist/swagger/types.js +3 -0
- package/dist/swagger/types.js.map +1 -0
- package/dist/swagger/ui.d.ts +6 -0
- package/dist/swagger/ui.d.ts.map +1 -0
- package/dist/swagger/ui.js +118 -0
- package/dist/swagger/ui.js.map +1 -0
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +6 -1
- package/dist/testing/index.js.map +1 -1
- package/dist/testing/mocks.d.ts.map +1 -1
- package/dist/testing/mocks.js +15 -3
- package/dist/testing/mocks.js.map +1 -1
- package/dist/utils/logger.d.ts +8 -0
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +184 -1
- package/dist/utils/logger.js.map +1 -1
- package/dist/validator/builder.d.ts +223 -0
- package/dist/validator/builder.d.ts.map +1 -0
- package/dist/validator/builder.js +517 -0
- package/dist/validator/builder.js.map +1 -0
- package/dist/validator/engine.d.ts +19 -0
- package/dist/validator/engine.d.ts.map +1 -0
- package/dist/validator/engine.js +568 -0
- package/dist/validator/engine.js.map +1 -0
- package/dist/validator/error.d.ts +12 -0
- package/dist/validator/error.d.ts.map +1 -0
- package/dist/validator/error.js +63 -0
- package/dist/validator/error.js.map +1 -0
- package/dist/validator/pagination.d.ts +40 -0
- package/dist/validator/pagination.d.ts.map +1 -0
- package/dist/validator/pagination.js +60 -0
- package/dist/validator/pagination.js.map +1 -0
- package/dist/validator/tex-types.d.ts +2 -1
- package/dist/validator/tex-types.d.ts.map +1 -1
- package/dist/validator/tex-types.js +2 -1
- package/dist/validator/tex-types.js.map +1 -1
- package/dist/validator/tex.d.ts +6 -142
- package/dist/validator/tex.d.ts.map +1 -1
- package/dist/validator/tex.js +14 -733
- package/dist/validator/tex.js.map +1 -1
- package/dist/validator/types.d.ts +83 -0
- package/dist/validator/types.d.ts.map +1 -0
- package/dist/validator/types.js +3 -0
- package/dist/validator/types.js.map +1 -0
- package/package.json +8 -4
- package/dist/dev/error-overlay.d.ts +0 -3
- package/dist/dev/error-overlay.d.ts.map +0 -1
- package/dist/dev/error-overlay.js +0 -118
- package/dist/dev/error-overlay.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PARAM_METADATA_PROP = exports.LIFECYCLE_METADATA_PROP = exports.ROUTE_METADATA_PROP = exports.METHOD_MIDDLEWARES = exports.ROUTE_META = exports.MODULE_METADATA = exports.BOUNDARY_CONFIG = exports.SERVER_CONFIG = exports.PARAM_METADATA = exports.LIFECYCLE_METADATA = exports.ROUTE_METADATA = exports.MIDDLEWARE_REGISTRY = exports.CONTROLLER_HOST = exports.CONTROLLER_PREFIX = exports.ROUTE_REGISTRY = void 0;
|
|
3
|
+
exports.PARAM_METADATA_PROP = exports.LIFECYCLE_METADATA_PROP = exports.ROUTE_METADATA_PROP = exports.METHOD_MIDDLEWARES = exports.ROUTE_META = exports.CRON_META = exports.CRON_REGISTRY = exports.MODULE_METADATA = exports.BOUNDARY_CONFIG = exports.SERVER_CONFIG = exports.PARAM_METADATA = exports.LIFECYCLE_METADATA = exports.ROUTE_METADATA = exports.MIDDLEWARE_REGISTRY = exports.CONTROLLER_HOST = exports.CONTROLLER_PREFIX = exports.ROUTE_REGISTRY = void 0;
|
|
4
4
|
// Store metadata on class prototypes using symbols to avoid reflect-metadata
|
|
5
5
|
exports.ROUTE_REGISTRY = Symbol.for('exisjs:routes');
|
|
6
6
|
exports.CONTROLLER_PREFIX = Symbol.for('exisjs:controller_prefix');
|
|
@@ -12,6 +12,8 @@ exports.PARAM_METADATA = Symbol.for('exisjs:param_metadata');
|
|
|
12
12
|
exports.SERVER_CONFIG = Symbol.for('exisjs:server_config');
|
|
13
13
|
exports.BOUNDARY_CONFIG = Symbol.for('exisjs:boundary_config');
|
|
14
14
|
exports.MODULE_METADATA = Symbol.for('exisjs:module_metadata');
|
|
15
|
+
exports.CRON_REGISTRY = Symbol.for('exisjs:cron_jobs');
|
|
16
|
+
exports.CRON_META = Symbol.for('exisjs:cron_meta');
|
|
15
17
|
exports.ROUTE_META = Symbol.for('exisjs:route_meta');
|
|
16
18
|
exports.METHOD_MIDDLEWARES = Symbol.for('exisjs:method_middlewares');
|
|
17
19
|
exports.ROUTE_METADATA_PROP = Symbol.for('exisjs:route_metadata_prop');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/decorators/constants.ts"],"names":[],"mappings":";;;AAEA,6EAA6E;AAChE,QAAA,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;AAC5C,QAAA,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAA;AAC1D,QAAA,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAA;AACtD,QAAA,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA;AACtD,QAAA,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAA;AACpD,QAAA,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAA;AAC5D,QAAA,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAA;AACpD,QAAA,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAA;AAClD,QAAA,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAA;AACtD,QAAA,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/decorators/constants.ts"],"names":[],"mappings":";;;AAEA,6EAA6E;AAChE,QAAA,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;AAC5C,QAAA,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAA;AAC1D,QAAA,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAA;AACtD,QAAA,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA;AACtD,QAAA,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAA;AACpD,QAAA,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAA;AAC5D,QAAA,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAA;AACpD,QAAA,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAA;AAClD,QAAA,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAA;AACtD,QAAA,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAA;AACtD,QAAA,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;AAC9C,QAAA,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;AAE1C,QAAA,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAA;AAC5C,QAAA,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAA;AAC5D,QAAA,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAA;AAC9D,QAAA,uBAAuB,GAAG,MAAM,CAAC,GAAG,CAC/C,gCAAgC,CACjC,CAAA;AACY,QAAA,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAA"}
|
|
@@ -1,21 +1,39 @@
|
|
|
1
1
|
import type { ControllerOptions, ServerConfig, BoundaryConfig, ClassModuleOptions } from './constants';
|
|
2
2
|
/**
|
|
3
3
|
* Marks a class as a controller, automatically grouping its routes under the provided prefix.
|
|
4
|
-
* Uses standard ES decorators, completely avoiding reflect-metadata bloat.
|
|
5
4
|
*
|
|
6
|
-
*
|
|
5
|
+
* @param prefixOrOptions Base route prefix string or configuration options
|
|
7
6
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```ts
|
|
9
|
+
* @Controller('/api/users')
|
|
10
|
+
* export class UserController {
|
|
11
|
+
* @Get('/')
|
|
12
|
+
* getUsers() {
|
|
13
|
+
* return []
|
|
14
|
+
* }
|
|
15
|
+
* }
|
|
16
|
+
* ```
|
|
16
17
|
*/
|
|
17
18
|
export declare function Controller(prefixOrOptions?: string | ControllerOptions): any;
|
|
18
19
|
export declare const INJECTABLE_REGISTRY: Set<any>;
|
|
20
|
+
/**
|
|
21
|
+
* Decorates a class as a Dependency Injection provider managed by the Exis container.
|
|
22
|
+
*
|
|
23
|
+
* @param options Scope options (`singleton`, `request`, `transient`)
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```ts
|
|
27
|
+
* @Injectable()
|
|
28
|
+
* export class UserService {
|
|
29
|
+
* constructor(@Inject(DatabaseService) private db: DatabaseService) {}
|
|
30
|
+
*
|
|
31
|
+
* async findById(id: string) {
|
|
32
|
+
* return this.db.query('SELECT * FROM users WHERE id = $1', [id])
|
|
33
|
+
* }
|
|
34
|
+
* }
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
19
37
|
export declare function Injectable(options?: {
|
|
20
38
|
scope?: 'singleton' | 'request' | 'transient';
|
|
21
39
|
}): any;
|
|
@@ -30,7 +48,7 @@ export declare function Boundary(options?: BoundaryConfig): any;
|
|
|
30
48
|
/**
|
|
31
49
|
* Marks a class as an OOP Module, configuring its imported modules, controllers, providers, and exports.
|
|
32
50
|
*
|
|
33
|
-
*
|
|
51
|
+
* @example
|
|
34
52
|
* ```ts
|
|
35
53
|
* @Module({
|
|
36
54
|
* imports: [DatabaseModule],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/decorators/core.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EACV,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,kBAAkB,EACnB,MAAM,aAAa,CAAA;AAGpB
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/decorators/core.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EACV,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,kBAAkB,EACnB,MAAM,aAAa,CAAA;AAGpB;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,UAAU,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,iBAAiB,GAAG,GAAG,CA8F5E;AAED,eAAO,MAAM,mBAAmB,UAAiB,CAAA;AAEjD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,UAAU,CAAC,OAAO,CAAC,EAAE;IACnC,KAAK,CAAC,EAAE,WAAW,GAAG,SAAS,GAAG,WAAW,CAAA;CAC9C,GAAG,GAAG,CAiCN;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,GAAG,CAIlD;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,GAAG,CAItD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,MAAM,CAAC,OAAO,GAAE,kBAAuB,GAAG,GAAG,CAO5D"}
|
package/dist/decorators/core.js
CHANGED
|
@@ -10,18 +10,19 @@ const constants_1 = require("./constants");
|
|
|
10
10
|
const metadata_1 = require("./core/metadata");
|
|
11
11
|
/**
|
|
12
12
|
* Marks a class as a controller, automatically grouping its routes under the provided prefix.
|
|
13
|
-
* Uses standard ES decorators, completely avoiding reflect-metadata bloat.
|
|
14
13
|
*
|
|
15
|
-
*
|
|
14
|
+
* @param prefixOrOptions Base route prefix string or configuration options
|
|
16
15
|
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```ts
|
|
18
|
+
* @Controller('/api/users')
|
|
19
|
+
* export class UserController {
|
|
20
|
+
* @Get('/')
|
|
21
|
+
* getUsers() {
|
|
22
|
+
* return []
|
|
23
|
+
* }
|
|
24
|
+
* }
|
|
25
|
+
* ```
|
|
25
26
|
*/
|
|
26
27
|
function Controller(prefixOrOptions) {
|
|
27
28
|
return function (target, context) {
|
|
@@ -104,12 +105,49 @@ function Controller(prefixOrOptions) {
|
|
|
104
105
|
};
|
|
105
106
|
}
|
|
106
107
|
exports.INJECTABLE_REGISTRY = new Set();
|
|
108
|
+
/**
|
|
109
|
+
* Decorates a class as a Dependency Injection provider managed by the Exis container.
|
|
110
|
+
*
|
|
111
|
+
* @param options Scope options (`singleton`, `request`, `transient`)
|
|
112
|
+
*
|
|
113
|
+
* @example
|
|
114
|
+
* ```ts
|
|
115
|
+
* @Injectable()
|
|
116
|
+
* export class UserService {
|
|
117
|
+
* constructor(@Inject(DatabaseService) private db: DatabaseService) {}
|
|
118
|
+
*
|
|
119
|
+
* async findById(id: string) {
|
|
120
|
+
* return this.db.query('SELECT * FROM users WHERE id = $1', [id])
|
|
121
|
+
* }
|
|
122
|
+
* }
|
|
123
|
+
* ```
|
|
124
|
+
*/
|
|
107
125
|
function Injectable(options) {
|
|
108
126
|
return function (target, _context) {
|
|
109
127
|
exports.INJECTABLE_REGISTRY.add(target);
|
|
110
128
|
if (options?.scope) {
|
|
111
129
|
metadata_1.MetadataEngine.set(target.prototype, Symbol.for('exisjs:scope'), options.scope);
|
|
112
130
|
}
|
|
131
|
+
const proto = target.prototype;
|
|
132
|
+
if (proto) {
|
|
133
|
+
const CRON_REGISTRY = Symbol.for('exisjs:cron_jobs');
|
|
134
|
+
const CRON_META = Symbol.for('exisjs:cron_meta');
|
|
135
|
+
metadata_1.MetadataEngine.init(proto, CRON_REGISTRY, []);
|
|
136
|
+
const cronRegistry = metadata_1.MetadataEngine.get(proto, CRON_REGISTRY);
|
|
137
|
+
for (const key of Object.getOwnPropertyNames(proto)) {
|
|
138
|
+
const descriptor = Object.getOwnPropertyDescriptor(proto, key);
|
|
139
|
+
if (descriptor && typeof descriptor.value === 'function') {
|
|
140
|
+
const fn = descriptor.value;
|
|
141
|
+
const cronMeta = metadata_1.MetadataEngine.get(fn, CRON_META);
|
|
142
|
+
if (cronMeta) {
|
|
143
|
+
const exists = cronRegistry.some((c) => c.methodName === key);
|
|
144
|
+
if (!exists) {
|
|
145
|
+
cronRegistry.push({ ...cronMeta, methodName: key });
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
}
|
|
113
151
|
};
|
|
114
152
|
}
|
|
115
153
|
/**
|
|
@@ -131,7 +169,7 @@ function Boundary(options) {
|
|
|
131
169
|
/**
|
|
132
170
|
* Marks a class as an OOP Module, configuring its imported modules, controllers, providers, and exports.
|
|
133
171
|
*
|
|
134
|
-
*
|
|
172
|
+
* @example
|
|
135
173
|
* ```ts
|
|
136
174
|
* @Module({
|
|
137
175
|
* imports: [DatabaseModule],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/decorators/core.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/decorators/core.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import type { CronJobOptions } from '../cron/types';
|
|
2
|
+
export interface DecoratedCronJobMeta {
|
|
3
|
+
methodName: string;
|
|
4
|
+
options: CronJobOptions;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Extracts decorated cron jobs from a class constructor or prototype.
|
|
8
|
+
*/
|
|
9
|
+
export declare function getCronJobsFromClass(target: any): DecoratedCronJobMeta[];
|
|
10
|
+
/**
|
|
11
|
+
* Method decorator to schedule a method on a class as a Cron Job.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```typescript
|
|
15
|
+
* @Injectable()
|
|
16
|
+
* export class CleanupService {
|
|
17
|
+
* @Cron('0 0 * * *', { name: 'nightly-purge', timezone: 'UTC', preventOverlap: true })
|
|
18
|
+
* async purgeOldSessions() {
|
|
19
|
+
* // Run nightly
|
|
20
|
+
* }
|
|
21
|
+
* }
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
export declare function Cron(schedule: string, options?: Omit<CronJobOptions, 'schedule' | 'run' | 'handle'>): any;
|
|
25
|
+
/**
|
|
26
|
+
* Method decorator to schedule a method on a class to run at recurring millisecond intervals.
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* ```typescript
|
|
30
|
+
* @Injectable()
|
|
31
|
+
* export class HealthService {
|
|
32
|
+
* @Interval(60000, { name: 'health-check' })
|
|
33
|
+
* async pingHealth() {
|
|
34
|
+
* // Runs every 60s
|
|
35
|
+
* }
|
|
36
|
+
* }
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
export declare function Interval(ms: number, options?: Omit<CronJobOptions, 'interval' | 'run' | 'handle'>): any;
|
|
40
|
+
/**
|
|
41
|
+
* Method decorator to schedule a method on a class to run once after a millisecond delay after server start.
|
|
42
|
+
*
|
|
43
|
+
* @example
|
|
44
|
+
* ```typescript
|
|
45
|
+
* @Injectable()
|
|
46
|
+
* export class CacheService {
|
|
47
|
+
* @Timeout(5000, { name: 'warmup-cache' })
|
|
48
|
+
* async warmupCache() {
|
|
49
|
+
* // Runs once 5s after startup
|
|
50
|
+
* }
|
|
51
|
+
* }
|
|
52
|
+
* ```
|
|
53
|
+
*/
|
|
54
|
+
export declare function TimeoutTask(ms: number, options?: Omit<CronJobOptions, 'timeout' | 'run' | 'handle'>): any;
|
|
55
|
+
export declare const ScheduledTimeout: typeof TimeoutTask;
|
|
56
|
+
export declare const Scheduled: typeof Cron;
|
|
57
|
+
//# sourceMappingURL=cron.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cron.d.ts","sourceRoot":"","sources":["../../src/decorators/cron.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAEnD,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,cAAc,CAAA;CACxB;AAiDD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,GAAG,GAAG,oBAAoB,EAAE,CAuBxE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,IAAI,CAClB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,IAAI,CAAC,cAAc,EAAE,UAAU,GAAG,KAAK,GAAG,QAAQ,CAAM,GAChE,GAAG,CAYL;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,QAAQ,CACtB,EAAE,EAAE,MAAM,EACV,OAAO,GAAE,IAAI,CAAC,cAAc,EAAE,UAAU,GAAG,KAAK,GAAG,QAAQ,CAAM,GAChE,GAAG,CAYL;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,WAAW,CACzB,EAAE,EAAE,MAAM,EACV,OAAO,GAAE,IAAI,CAAC,cAAc,EAAE,SAAS,GAAG,KAAK,GAAG,QAAQ,CAAM,GAC/D,GAAG,CAYL;AAED,eAAO,MAAM,gBAAgB,oBAAc,CAAA;AAC3C,eAAO,MAAM,SAAS,aAAO,CAAA"}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Scheduled = exports.ScheduledTimeout = void 0;
|
|
4
|
+
exports.getCronJobsFromClass = getCronJobsFromClass;
|
|
5
|
+
exports.Cron = Cron;
|
|
6
|
+
exports.Interval = Interval;
|
|
7
|
+
exports.TimeoutTask = TimeoutTask;
|
|
8
|
+
const constants_1 = require("./constants");
|
|
9
|
+
const metadata_1 = require("./core/metadata");
|
|
10
|
+
function applyCronDecorator(target, contextOrPropertyKey, descriptor, cronOptions) {
|
|
11
|
+
const isStandard = typeof contextOrPropertyKey === 'object' &&
|
|
12
|
+
contextOrPropertyKey !== null &&
|
|
13
|
+
'name' in contextOrPropertyKey;
|
|
14
|
+
if (isStandard) {
|
|
15
|
+
const methodName = String(contextOrPropertyKey.name);
|
|
16
|
+
const options = {
|
|
17
|
+
...cronOptions,
|
|
18
|
+
name: cronOptions.name || methodName,
|
|
19
|
+
};
|
|
20
|
+
metadata_1.MetadataEngine.set(target, constants_1.CRON_META, {
|
|
21
|
+
methodName,
|
|
22
|
+
options,
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
const proto = typeof target === 'function' && target.prototype
|
|
27
|
+
? target.prototype
|
|
28
|
+
: target || {};
|
|
29
|
+
const fn = descriptor ? descriptor.value : proto[contextOrPropertyKey];
|
|
30
|
+
const methodName = String(contextOrPropertyKey || descriptor?.name || '');
|
|
31
|
+
const options = {
|
|
32
|
+
...cronOptions,
|
|
33
|
+
name: cronOptions.name || methodName,
|
|
34
|
+
};
|
|
35
|
+
metadata_1.MetadataEngine.push(proto, constants_1.CRON_REGISTRY, {
|
|
36
|
+
methodName,
|
|
37
|
+
options,
|
|
38
|
+
});
|
|
39
|
+
if (fn && typeof fn === 'function') {
|
|
40
|
+
metadata_1.MetadataEngine.set(fn, constants_1.CRON_META, {
|
|
41
|
+
methodName,
|
|
42
|
+
options,
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Extracts decorated cron jobs from a class constructor or prototype.
|
|
49
|
+
*/
|
|
50
|
+
function getCronJobsFromClass(target) {
|
|
51
|
+
const proto = typeof target === 'function' ? target.prototype : target;
|
|
52
|
+
if (!proto)
|
|
53
|
+
return [];
|
|
54
|
+
const registry = [
|
|
55
|
+
...(metadata_1.MetadataEngine.get(proto, constants_1.CRON_REGISTRY) || []),
|
|
56
|
+
];
|
|
57
|
+
for (const key of Object.getOwnPropertyNames(proto)) {
|
|
58
|
+
const descriptor = Object.getOwnPropertyDescriptor(proto, key);
|
|
59
|
+
if (descriptor && typeof descriptor.value === 'function') {
|
|
60
|
+
const fn = descriptor.value;
|
|
61
|
+
const cronMeta = metadata_1.MetadataEngine.get(fn, constants_1.CRON_META);
|
|
62
|
+
if (cronMeta) {
|
|
63
|
+
const exists = registry.some((c) => c.methodName === key);
|
|
64
|
+
if (!exists) {
|
|
65
|
+
registry.push({ ...cronMeta, methodName: key });
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
return registry;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Method decorator to schedule a method on a class as a Cron Job.
|
|
74
|
+
*
|
|
75
|
+
* @example
|
|
76
|
+
* ```typescript
|
|
77
|
+
* @Injectable()
|
|
78
|
+
* export class CleanupService {
|
|
79
|
+
* @Cron('0 0 * * *', { name: 'nightly-purge', timezone: 'UTC', preventOverlap: true })
|
|
80
|
+
* async purgeOldSessions() {
|
|
81
|
+
* // Run nightly
|
|
82
|
+
* }
|
|
83
|
+
* }
|
|
84
|
+
* ```
|
|
85
|
+
*/
|
|
86
|
+
function Cron(schedule, options = {}) {
|
|
87
|
+
return function (target, contextOrPropertyKey, descriptor) {
|
|
88
|
+
applyCronDecorator(target, contextOrPropertyKey, descriptor, {
|
|
89
|
+
...options,
|
|
90
|
+
schedule,
|
|
91
|
+
});
|
|
92
|
+
return descriptor;
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Method decorator to schedule a method on a class to run at recurring millisecond intervals.
|
|
97
|
+
*
|
|
98
|
+
* @example
|
|
99
|
+
* ```typescript
|
|
100
|
+
* @Injectable()
|
|
101
|
+
* export class HealthService {
|
|
102
|
+
* @Interval(60000, { name: 'health-check' })
|
|
103
|
+
* async pingHealth() {
|
|
104
|
+
* // Runs every 60s
|
|
105
|
+
* }
|
|
106
|
+
* }
|
|
107
|
+
* ```
|
|
108
|
+
*/
|
|
109
|
+
function Interval(ms, options = {}) {
|
|
110
|
+
return function (target, contextOrPropertyKey, descriptor) {
|
|
111
|
+
applyCronDecorator(target, contextOrPropertyKey, descriptor, {
|
|
112
|
+
...options,
|
|
113
|
+
interval: ms,
|
|
114
|
+
});
|
|
115
|
+
return descriptor;
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Method decorator to schedule a method on a class to run once after a millisecond delay after server start.
|
|
120
|
+
*
|
|
121
|
+
* @example
|
|
122
|
+
* ```typescript
|
|
123
|
+
* @Injectable()
|
|
124
|
+
* export class CacheService {
|
|
125
|
+
* @Timeout(5000, { name: 'warmup-cache' })
|
|
126
|
+
* async warmupCache() {
|
|
127
|
+
* // Runs once 5s after startup
|
|
128
|
+
* }
|
|
129
|
+
* }
|
|
130
|
+
* ```
|
|
131
|
+
*/
|
|
132
|
+
function TimeoutTask(ms, options = {}) {
|
|
133
|
+
return function (target, contextOrPropertyKey, descriptor) {
|
|
134
|
+
applyCronDecorator(target, contextOrPropertyKey, descriptor, {
|
|
135
|
+
...options,
|
|
136
|
+
timeout: ms,
|
|
137
|
+
});
|
|
138
|
+
return descriptor;
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
exports.ScheduledTimeout = TimeoutTask;
|
|
142
|
+
exports.Scheduled = Cron;
|
|
143
|
+
//# sourceMappingURL=cron.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cron.js","sourceRoot":"","sources":["../../src/decorators/cron.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/decorators/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,QAAQ,CAAA;AACtB,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/decorators/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,QAAQ,CAAA;AACtB,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA;AACxB,cAAc,QAAQ,CAAA;AACtB,cAAc,uBAAuB,CAAA"}
|
package/dist/decorators/index.js
CHANGED
|
@@ -22,4 +22,6 @@ __exportStar(require("./params"), exports);
|
|
|
22
22
|
__exportStar(require("./middleware"), exports);
|
|
23
23
|
__exportStar(require("./response"), exports);
|
|
24
24
|
__exportStar(require("./upload"), exports);
|
|
25
|
+
__exportStar(require("./cron"), exports);
|
|
26
|
+
__exportStar(require("../swagger/decorators"), exports);
|
|
25
27
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/decorators/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA2B;AAC3B,yCAAsB;AACtB,+CAA4B;AAC5B,4CAAyB;AACzB,2CAAwB;AACxB,+CAA4B;AAC5B,6CAA0B;AAC1B,2CAAwB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/decorators/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA2B;AAC3B,yCAAsB;AACtB,+CAA4B;AAC5B,4CAAyB;AACzB,2CAAwB;AACxB,+CAA4B;AAC5B,6CAA0B;AAC1B,2CAAwB;AACxB,yCAAsB;AACtB,wDAAqC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type BlockProbesOptions } from '../middleware/security';
|
|
1
2
|
/**
|
|
2
3
|
* Applies middleware, guards, interceptors, or exception filters to a Controller class or route method.
|
|
3
4
|
* Unifies @Use, @UseGuards, @UseInterceptors, and @UseFilters into a single, cohesive decorator.
|
|
@@ -27,6 +28,7 @@ export declare function UseFilters(...filters: any[]): any;
|
|
|
27
28
|
/**
|
|
28
29
|
* Idempotency Decorator.
|
|
29
30
|
* Caches responses based on the provided Idempotency-Key header.
|
|
31
|
+
* Works on both Controller classes and individual route methods.
|
|
30
32
|
*
|
|
31
33
|
* Example:
|
|
32
34
|
* @Post('/checkout')
|
|
@@ -35,8 +37,8 @@ export declare function UseFilters(...filters: any[]): any;
|
|
|
35
37
|
*/
|
|
36
38
|
export declare function Idempotent(options?: import('../middleware/idempotency').IdempotentOptions): any;
|
|
37
39
|
/**
|
|
38
|
-
* Route-Level Timeout Decorator.
|
|
39
|
-
* Configures an explicit timeout override for a
|
|
40
|
+
* Route-Level / Controller-Level Timeout Decorator.
|
|
41
|
+
* Configures an explicit timeout override for a route method or entire controller.
|
|
40
42
|
*
|
|
41
43
|
* Example:
|
|
42
44
|
* @Post('/heavy-task')
|
|
@@ -44,4 +46,65 @@ export declare function Idempotent(options?: import('../middleware/idempotency')
|
|
|
44
46
|
* heavyTask() {}
|
|
45
47
|
*/
|
|
46
48
|
export declare function Timeout(msOrOptions: number | import('../middleware/security').TimeoutOptions): any;
|
|
49
|
+
/**
|
|
50
|
+
* Rate Limiting Decorator.
|
|
51
|
+
* Enforces request rate limits on a Controller class or route method.
|
|
52
|
+
*
|
|
53
|
+
* Example:
|
|
54
|
+
* @Get('/sensitive-data')
|
|
55
|
+
* @RateLimit({ max: 10, windowMs: 60000 })
|
|
56
|
+
* getSensitiveData() {}
|
|
57
|
+
*/
|
|
58
|
+
export declare function RateLimit(options?: import('../middleware/rate-limit').RateLimitOptions): any;
|
|
59
|
+
/**
|
|
60
|
+
* CORS Decorator.
|
|
61
|
+
* Configures Cross-Origin Resource Sharing on a Controller class or route method.
|
|
62
|
+
*
|
|
63
|
+
* Example:
|
|
64
|
+
* @Get('/public-api')
|
|
65
|
+
* @Cors({ origin: '*' })
|
|
66
|
+
* getPublicData() {}
|
|
67
|
+
*/
|
|
68
|
+
export declare function Cors(options?: import('../types').CorsConfig): any;
|
|
69
|
+
/**
|
|
70
|
+
* IP Filter Decorator.
|
|
71
|
+
* Enforces IP/CIDR allowlist and denylist on a Controller class or route method.
|
|
72
|
+
*
|
|
73
|
+
* Example:
|
|
74
|
+
* @Controller('/admin')
|
|
75
|
+
* @IpFilter({ allow: ['127.0.0.1', '10.0.0.0/8'] })
|
|
76
|
+
* export class AdminController {}
|
|
77
|
+
*/
|
|
78
|
+
export declare function IpFilter(options: import('../middleware/ip-filter').IpFilterOptions): any;
|
|
79
|
+
/**
|
|
80
|
+
* Compression Decorator.
|
|
81
|
+
* Enables automatic gzip/brotli response compression on a Controller class or route method.
|
|
82
|
+
*
|
|
83
|
+
* Example:
|
|
84
|
+
* @Get('/large-dataset')
|
|
85
|
+
* @Compress()
|
|
86
|
+
* getDataset() {}
|
|
87
|
+
*/
|
|
88
|
+
export declare function Compress(): any;
|
|
89
|
+
/**
|
|
90
|
+
* Request Deduplication Decorator.
|
|
91
|
+
* Prevents duplicate parallel requests sharing the same key.
|
|
92
|
+
*
|
|
93
|
+
* Example:
|
|
94
|
+
* @Post('/order/charge')
|
|
95
|
+
* @Dedupe({ keyGenerator: (req) => req.user?.id || req.ip })
|
|
96
|
+
* chargeOrder() {}
|
|
97
|
+
*/
|
|
98
|
+
export declare function Dedupe(options: import('../middleware/dedupe').DedupeOptions): any;
|
|
99
|
+
/**
|
|
100
|
+
* Security Scanner Noise Suppression & Blackhole Decorator.
|
|
101
|
+
* Intercepts exploit probes (`.env`, `/.git`, `/.DS_Store`) and blackholes them.
|
|
102
|
+
*
|
|
103
|
+
* Example:
|
|
104
|
+
* @Controller('/api')
|
|
105
|
+
* @BlockProbes({ statusCode: 404, silent: true })
|
|
106
|
+
* export default class ApiController {}
|
|
107
|
+
*/
|
|
108
|
+
export declare function BlockProbes(options?: BlockProbesOptions): any;
|
|
109
|
+
export declare const BlockSuspiciousProbes: typeof BlockProbes;
|
|
47
110
|
//# sourceMappingURL=middleware.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/decorators/middleware.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/decorators/middleware.ts"],"names":[],"mappings":"AAaA,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,wBAAwB,CAAA;AA6B/B;;;;;;;;;;;;GAYG;AACH,wBAAgB,GAAG,CAAC,GAAG,KAAK,EAAE,GAAG,EAAE,GAAG,GAAG,CAsFxC;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,CAE/C;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,YAAY,EAAE,GAAG,EAAE,GAAG,GAAG,CAE3D;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,GAAG,GAAG,CAEjD;AAqDD;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CACxB,OAAO,GAAE,OAAO,2BAA2B,EAAE,iBAAsB,GAClE,GAAG,CASL;AAED;;;;;;;;GAQG;AACH,wBAAgB,OAAO,CACrB,WAAW,EAAE,MAAM,GAAG,OAAO,wBAAwB,EAAE,cAAc,GACpE,GAAG,CAeL;AAED;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CACvB,OAAO,GAAE,OAAO,0BAA0B,EAAE,gBAAqB,GAChE,GAAG,CASL;AAED;;;;;;;;GAQG;AACH,wBAAgB,IAAI,CAAC,OAAO,GAAE,OAAO,UAAU,EAAE,UAAe,GAAG,GAAG,CAerE;AAED;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CACtB,OAAO,EAAE,OAAO,yBAAyB,EAAE,eAAe,GACzD,GAAG,CASL;AAED;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,IAAI,GAAG,CAS9B;AAED;;;;;;;;GAQG;AACH,wBAAgB,MAAM,CACpB,OAAO,EAAE,OAAO,sBAAsB,EAAE,aAAa,GACpD,GAAG,CASL;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,GAAG,CAS7D;AAED,eAAO,MAAM,qBAAqB,oBAAc,CAAA"}
|