@hestjs/core 0.1.2 → 0.1.3
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/application/application-factory.js +20 -16
- package/dist/application/application-factory.js.map +1 -1
- package/dist/application/hest-application.js +5 -1
- package/dist/application/hest-application.js.map +1 -1
- package/dist/application/index.js +18 -2
- package/dist/application/index.js.map +1 -1
- package/dist/container/container.js +12 -8
- package/dist/container/container.js.map +1 -1
- package/dist/container/index.js +18 -2
- package/dist/container/index.js.map +1 -1
- package/dist/container/injection-token.js +4 -1
- package/dist/container/injection-token.js.map +1 -1
- package/dist/decorators/controller.js +11 -8
- package/dist/decorators/controller.js.map +1 -1
- package/dist/decorators/index.js +20 -4
- package/dist/decorators/index.js.map +1 -1
- package/dist/decorators/injectable.js +10 -7
- package/dist/decorators/injectable.js.map +1 -1
- package/dist/decorators/module.js +9 -6
- package/dist/decorators/module.js.map +1 -1
- package/dist/decorators/route.js +20 -17
- package/dist/decorators/route.js.map +1 -1
- package/dist/exceptions/base-exception.js +5 -1
- package/dist/exceptions/base-exception.js.map +1 -1
- package/dist/exceptions/exception-filter.js +11 -5
- package/dist/exceptions/exception-filter.js.map +1 -1
- package/dist/exceptions/http-exception.js +20 -9
- package/dist/exceptions/http-exception.js.map +1 -1
- package/dist/exceptions/index.js +19 -3
- package/dist/exceptions/index.js.map +1 -1
- package/dist/index.js +40 -14
- package/dist/index.js.map +1 -1
- package/dist/interceptors/index.js +17 -1
- package/dist/interceptors/index.js.map +1 -1
- package/dist/interceptors/interceptor.js +18 -12
- package/dist/interceptors/interceptor.js.map +1 -1
- package/dist/interfaces/application.js +2 -1
- package/dist/interfaces/index.js +19 -3
- package/dist/interfaces/index.js.map +1 -1
- package/dist/interfaces/metadata.js +2 -1
- package/dist/interfaces/router.js +2 -1
- package/dist/metadata/index.js +18 -2
- package/dist/metadata/index.js.map +1 -1
- package/dist/metadata/metadata-scanner.js +15 -11
- package/dist/metadata/metadata-scanner.js.map +1 -1
- package/dist/metadata/reflector.js +6 -2
- package/dist/metadata/reflector.js.map +1 -1
- package/dist/middlewares/index.js +17 -1
- package/dist/middlewares/index.js.map +1 -1
- package/dist/middlewares/middleware.js +13 -7
- package/dist/middlewares/middleware.js.map +1 -1
- package/dist/router/index.js +18 -2
- package/dist/router/index.js.map +1 -1
- package/dist/router/route-metadata.js +5 -1
- package/dist/router/route-metadata.js.map +1 -1
- package/dist/router/router-explorer.js +25 -21
- package/dist/router/router-explorer.js.map +1 -1
- package/dist/utils/constants.js +10 -7
- package/dist/utils/constants.js.map +1 -1
- package/dist/utils/helpers.js +13 -6
- package/dist/utils/helpers.js.map +1 -1
- package/dist/utils/index.js +18 -2
- package/dist/utils/index.js.map +1 -1
- package/package.json +2 -2
@@ -1,30 +1,33 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.HestFactory = void 0;
|
4
|
+
const hono_1 = require("hono");
|
5
|
+
const container_1 = require("../container/container");
|
6
|
+
const metadata_scanner_1 = require("../metadata/metadata-scanner");
|
7
|
+
const router_explorer_1 = require("../router/router-explorer");
|
8
|
+
const hest_application_1 = require("./hest-application");
|
9
|
+
const logger_1 = require("@hestjs/logger");
|
7
10
|
/**
|
8
11
|
* HestJS 应用工厂
|
9
12
|
*/
|
10
|
-
|
13
|
+
class HestFactory {
|
11
14
|
/**
|
12
15
|
* 创建应用实例
|
13
16
|
*/
|
14
17
|
static async create(moduleClass) {
|
15
18
|
// 创建 Hono 实例
|
16
|
-
const app = new Hono();
|
19
|
+
const app = new hono_1.Hono();
|
17
20
|
// 创建 DI 容器
|
18
|
-
const container = Container.getInstance();
|
21
|
+
const container = container_1.Container.getInstance();
|
19
22
|
// 初始化模块
|
20
23
|
await HestFactory.initializeModule(moduleClass, container);
|
21
24
|
// 创建应用实例
|
22
|
-
const appInstance = new HestApplicationInstance(app, container);
|
25
|
+
const appInstance = new hest_application_1.HestApplicationInstance(app, container);
|
23
26
|
// 设置路由
|
24
|
-
const routerExplorer = new RouterExplorer(app, container);
|
27
|
+
const routerExplorer = new router_explorer_1.RouterExplorer(app, container);
|
25
28
|
routerExplorer.setGlobalFilters(appInstance.getGlobalFilters());
|
26
29
|
routerExplorer.setGlobalInterceptors(appInstance.getGlobalInterceptors());
|
27
|
-
const moduleMetadata = MetadataScanner.scanModule(moduleClass);
|
30
|
+
const moduleMetadata = metadata_scanner_1.MetadataScanner.scanModule(moduleClass);
|
28
31
|
if (moduleMetadata?.controllers) {
|
29
32
|
routerExplorer.explore(moduleMetadata.controllers);
|
30
33
|
}
|
@@ -34,7 +37,7 @@ export class HestFactory {
|
|
34
37
|
* 初始化模块
|
35
38
|
*/
|
36
39
|
static async initializeModule(moduleClass, container) {
|
37
|
-
const moduleMetadata = MetadataScanner.scanModule(moduleClass);
|
40
|
+
const moduleMetadata = metadata_scanner_1.MetadataScanner.scanModule(moduleClass);
|
38
41
|
if (!moduleMetadata) {
|
39
42
|
throw new Error(`Module metadata not found for ${moduleClass.name}`);
|
40
43
|
}
|
@@ -43,7 +46,7 @@ export class HestFactory {
|
|
43
46
|
// 注册提供者
|
44
47
|
if (moduleMetadata.providers) {
|
45
48
|
for (const provider of moduleMetadata.providers) {
|
46
|
-
if (MetadataScanner.isInjectable(provider)) {
|
49
|
+
if (metadata_scanner_1.MetadataScanner.isInjectable(provider)) {
|
47
50
|
// 注册类本身作为令牌
|
48
51
|
container.register(provider, provider);
|
49
52
|
// 同时注册类名字符串作为令牌,以支持 @Inject('ClassName') 语法
|
@@ -57,7 +60,7 @@ export class HestFactory {
|
|
57
60
|
// 注册控制器
|
58
61
|
if (moduleMetadata.controllers) {
|
59
62
|
for (const controller of moduleMetadata.controllers) {
|
60
|
-
if (MetadataScanner.isController(controller)) {
|
63
|
+
if (metadata_scanner_1.MetadataScanner.isController(controller)) {
|
61
64
|
container.register(controller, controller);
|
62
65
|
}
|
63
66
|
else {
|
@@ -71,7 +74,8 @@ export class HestFactory {
|
|
71
74
|
await HestFactory.initializeModule(importedModule, container);
|
72
75
|
}
|
73
76
|
}
|
74
|
-
logger.info(`✅ Module ${moduleClass.name} initialized`);
|
77
|
+
logger_1.logger.info(`✅ Module ${moduleClass.name} initialized`);
|
75
78
|
}
|
76
79
|
}
|
80
|
+
exports.HestFactory = HestFactory;
|
77
81
|
//# sourceMappingURL=application-factory.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"application-factory.js","sourceRoot":"","sources":["../../src/application/application-factory.ts"],"names":[],"mappings":"AAAA
|
1
|
+
{"version":3,"file":"application-factory.js","sourceRoot":"","sources":["../../src/application/application-factory.ts"],"names":[],"mappings":"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"}
|
@@ -1,7 +1,10 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.HestApplicationInstance = void 0;
|
1
4
|
/**
|
2
5
|
* HestJS 应用实例
|
3
6
|
*/
|
4
|
-
|
7
|
+
class HestApplicationInstance {
|
5
8
|
app;
|
6
9
|
container;
|
7
10
|
globalFilters = [];
|
@@ -47,4 +50,5 @@ export class HestApplicationInstance {
|
|
47
50
|
return this.globalInterceptors;
|
48
51
|
}
|
49
52
|
}
|
53
|
+
exports.HestApplicationInstance = HestApplicationInstance;
|
50
54
|
//# sourceMappingURL=hest-application.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"hest-application.js","sourceRoot":"","sources":["../../src/application/hest-application.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,
|
1
|
+
{"version":3,"file":"hest-application.js","sourceRoot":"","sources":["../../src/application/hest-application.ts"],"names":[],"mappings":";;;AAMA;;GAEG;AACH,MAAa,uBAAuB;IACjB,GAAG,CAAO;IACV,SAAS,CAAY;IAC9B,aAAa,GAAsB,EAAE,CAAC;IACtC,kBAAkB,GAAkB,EAAE,CAAC;IAE/C,YAAY,GAAS,EAAE,SAAoB;QACzC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,IAAI;QACF,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,YAAY;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,GAAG,OAA0B;QAC5C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,qBAAqB,CAAC,GAAG,YAA2B;QAClD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,gBAAgB;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,qBAAqB;QACnB,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACjC,CAAC;CACF;AApDD,0DAoDC"}
|
@@ -1,3 +1,19 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
"use strict";
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
+
if (k2 === undefined) k2 = k;
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
7
|
+
}
|
8
|
+
Object.defineProperty(o, k2, desc);
|
9
|
+
}) : (function(o, m, k, k2) {
|
10
|
+
if (k2 === undefined) k2 = k;
|
11
|
+
o[k2] = m[k];
|
12
|
+
}));
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
15
|
+
};
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
17
|
+
__exportStar(require("./hest-application"), exports);
|
18
|
+
__exportStar(require("./application-factory"), exports);
|
3
19
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/application/index.ts"],"names":[],"mappings":"AAAA,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/application/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,wDAAsC"}
|
@@ -1,14 +1,17 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.Container = void 0;
|
4
|
+
require("reflect-metadata");
|
5
|
+
const tsyringe_1 = require("tsyringe");
|
6
|
+
const constants_1 = require("../utils/constants");
|
4
7
|
/**
|
5
8
|
* HestJS DI 容器封装
|
6
9
|
*/
|
7
|
-
|
10
|
+
class Container {
|
8
11
|
static instance;
|
9
12
|
container;
|
10
13
|
constructor() {
|
11
|
-
this.container =
|
14
|
+
this.container = tsyringe_1.container.createChildContainer();
|
12
15
|
}
|
13
16
|
/**
|
14
17
|
* 获取容器单例
|
@@ -23,12 +26,12 @@ export class Container {
|
|
23
26
|
* 注册服务
|
24
27
|
*/
|
25
28
|
register(token, provider) {
|
26
|
-
const metadata = Reflect.getMetadata(METADATA_KEYS.INJECTABLE, provider) || {};
|
29
|
+
const metadata = Reflect.getMetadata(constants_1.METADATA_KEYS.INJECTABLE, provider) || {};
|
27
30
|
switch (metadata.scope) {
|
28
|
-
case Scope.SINGLETON:
|
31
|
+
case constants_1.Scope.SINGLETON:
|
29
32
|
this.container.registerSingleton(token, provider);
|
30
33
|
break;
|
31
|
-
case Scope.TRANSIENT:
|
34
|
+
case constants_1.Scope.TRANSIENT:
|
32
35
|
this.container.register(token, { useClass: provider });
|
33
36
|
break;
|
34
37
|
default:
|
@@ -74,4 +77,5 @@ export class Container {
|
|
74
77
|
return this.container;
|
75
78
|
}
|
76
79
|
}
|
80
|
+
exports.Container = Container;
|
77
81
|
//# sourceMappingURL=container.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"container.js","sourceRoot":"","sources":["../../src/container/container.ts"],"names":[],"mappings":"AAAA,
|
1
|
+
{"version":3,"file":"container.js","sourceRoot":"","sources":["../../src/container/container.ts"],"names":[],"mappings":";;;AAAA,4BAA0B;AAC1B,uCAIkB;AAElB,kDAA0D;AAS1D;;GAEG;AACH,MAAa,SAAS;IACZ,MAAM,CAAC,QAAQ,CAAY;IAC3B,SAAS,CAAsB;IAEvC;QACE,IAAI,CAAC,SAAS,GAAG,oBAAiB,CAAC,oBAAoB,EAAE,CAAC;IAC5D,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,WAAW;QAChB,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;YACxB,SAAS,CAAC,QAAQ,GAAG,IAAI,SAAS,EAAE,CAAC;QACvC,CAAC;QACD,OAAO,SAAS,CAAC,QAAQ,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,QAAQ,CAAI,KAAwB,EAAE,QAAa;QACjD,MAAM,QAAQ,GACZ,OAAO,CAAC,WAAW,CAAC,yBAAa,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;QAEhE,QAAQ,QAAQ,CAAC,KAAK,EAAE,CAAC;YACvB,KAAK,iBAAK,CAAC,SAAS;gBAClB,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;gBAClD,MAAM;YACR,KAAK,iBAAK,CAAC,SAAS;gBAClB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACvD,MAAM;YACR;gBACE,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAI,KAAwB,EAAE,QAAW;QACvD,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,OAAO,CAAI,KAAwB;QACjC,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,YAAY,CAAI,KAAwB;QACtC,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,WAAW;QACT,MAAM,KAAK,GAAG,IAAI,SAAS,EAAE,CAAC;QAC9B,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,oBAAoB,EAAE,CAAC;QACxD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,YAAY;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;CACF;AAhFD,8BAgFC"}
|
package/dist/container/index.js
CHANGED
@@ -1,3 +1,19 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
"use strict";
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
+
if (k2 === undefined) k2 = k;
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
7
|
+
}
|
8
|
+
Object.defineProperty(o, k2, desc);
|
9
|
+
}) : (function(o, m, k, k2) {
|
10
|
+
if (k2 === undefined) k2 = k;
|
11
|
+
o[k2] = m[k];
|
12
|
+
}));
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
15
|
+
};
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
17
|
+
__exportStar(require("./container"), exports);
|
18
|
+
__exportStar(require("./injection-token"), exports);
|
3
19
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/container/index.ts"],"names":[],"mappings":"AAAA,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/container/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,oDAAkC"}
|
@@ -1,7 +1,10 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.INJECTION_TOKENS = void 0;
|
1
4
|
/**
|
2
5
|
* 预定义的注入令牌
|
3
6
|
*/
|
4
|
-
|
7
|
+
exports.INJECTION_TOKENS = {
|
5
8
|
HTTP_ADAPTER: Symbol("HttpAdapter"),
|
6
9
|
APPLICATION: Symbol("HestApplication"),
|
7
10
|
LOGGER: Symbol("Logger"),
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"injection-token.js","sourceRoot":"","sources":["../../src/container/injection-token.ts"],"names":[],"mappings":"AASA;;GAEG;
|
1
|
+
{"version":3,"file":"injection-token.js","sourceRoot":"","sources":["../../src/container/injection-token.ts"],"names":[],"mappings":";;;AASA;;GAEG;AACU,QAAA,gBAAgB,GAAG;IAC9B,YAAY,EAAE,MAAM,CAAC,aAAa,CAAC;IACnC,WAAW,EAAE,MAAM,CAAC,iBAAiB,CAAC;IACtC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC;CAChB,CAAC"}
|
@@ -1,22 +1,25 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.Controller = Controller;
|
4
|
+
require("reflect-metadata");
|
5
|
+
const tsyringe_1 = require("tsyringe");
|
6
|
+
const constants_1 = require("../utils/constants");
|
4
7
|
/**
|
5
8
|
* 控制器装饰器
|
6
9
|
* @param path 控制器路径前缀
|
7
10
|
*/
|
8
|
-
|
11
|
+
function Controller(path = "") {
|
9
12
|
return (target) => {
|
10
13
|
const metadata = {
|
11
14
|
path: path.startsWith("/") ? path : `/${path}`,
|
12
15
|
};
|
13
|
-
Reflect.defineMetadata(METADATA_KEYS.CONTROLLER, metadata, target);
|
16
|
+
Reflect.defineMetadata(constants_1.METADATA_KEYS.CONTROLLER, metadata, target);
|
14
17
|
// 确保类可以被注入
|
15
|
-
if (!Reflect.hasMetadata(METADATA_KEYS.INJECTABLE, target)) {
|
16
|
-
Reflect.defineMetadata(METADATA_KEYS.INJECTABLE, { scope: "singleton" }, target);
|
18
|
+
if (!Reflect.hasMetadata(constants_1.METADATA_KEYS.INJECTABLE, target)) {
|
19
|
+
Reflect.defineMetadata(constants_1.METADATA_KEYS.INJECTABLE, { scope: "singleton" }, target);
|
17
20
|
}
|
18
21
|
// 自动应用 TSyringe 的 injectable 装饰器
|
19
|
-
injectable()(target);
|
22
|
+
(0, tsyringe_1.injectable)()(target);
|
20
23
|
return target;
|
21
24
|
};
|
22
25
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"controller.js","sourceRoot":"","sources":["../../src/decorators/controller.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"controller.js","sourceRoot":"","sources":["../../src/decorators/controller.ts"],"names":[],"mappings":";;AA+BA,gCAsBC;AArDD,4BAA0B;AAC1B,uCAAsC;AAEtC,kDAAmD;AAwBnD;;;GAGG;AACH,SAAgB,UAAU,CAAC,IAAI,GAAG,EAAE;IAClC,OAAO,CAAC,MAAW,EAAE,EAAE;QACrB,MAAM,QAAQ,GAAuB;YACnC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE;SAC/C,CAAC;QAEF,OAAO,CAAC,cAAc,CAAC,yBAAa,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QAEnE,WAAW;QACX,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,yBAAa,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC;YAC3D,OAAO,CAAC,cAAc,CACpB,yBAAa,CAAC,UAAU,EACxB,EAAE,KAAK,EAAE,WAAW,EAAE,EACtB,MAAM,CACP,CAAC;QACJ,CAAC;QAED,iCAAiC;QACjC,IAAA,qBAAU,GAAE,CAAC,MAAM,CAAC,CAAC;QAErB,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC"}
|
package/dist/decorators/index.js
CHANGED
@@ -1,5 +1,21 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
1
|
+
"use strict";
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
+
if (k2 === undefined) k2 = k;
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
7
|
+
}
|
8
|
+
Object.defineProperty(o, k2, desc);
|
9
|
+
}) : (function(o, m, k, k2) {
|
10
|
+
if (k2 === undefined) k2 = k;
|
11
|
+
o[k2] = m[k];
|
12
|
+
}));
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
15
|
+
};
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
17
|
+
__exportStar(require("./controller"), exports);
|
18
|
+
__exportStar(require("./injectable"), exports);
|
19
|
+
__exportStar(require("./module"), exports);
|
20
|
+
__exportStar(require("./route"), exports);
|
5
21
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/decorators/index.ts"],"names":[],"mappings":"AAAA
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/decorators/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,+CAA6B;AAC7B,2CAAyB;AACzB,0CAAwB"}
|
@@ -1,19 +1,22 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.Injectable = Injectable;
|
4
|
+
require("reflect-metadata");
|
5
|
+
const tsyringe_1 = require("tsyringe");
|
6
|
+
const constants_1 = require("../utils/constants");
|
4
7
|
/**
|
5
8
|
* 可注入装饰器
|
6
9
|
* @param options 注入选项
|
7
10
|
*/
|
8
|
-
|
11
|
+
function Injectable(options = {}) {
|
9
12
|
return (target) => {
|
10
13
|
const metadata = {
|
11
|
-
scope: options.scope || Scope.SINGLETON,
|
14
|
+
scope: options.scope || constants_1.Scope.SINGLETON,
|
12
15
|
};
|
13
|
-
Reflect.defineMetadata(METADATA_KEYS.INJECTABLE, metadata, target);
|
16
|
+
Reflect.defineMetadata(constants_1.METADATA_KEYS.INJECTABLE, metadata, target);
|
14
17
|
// 使用 autoInjectable 来自动解析依赖
|
15
18
|
// 这样就不需要手动 @Inject 装饰器了
|
16
|
-
autoInjectable()(target);
|
19
|
+
(0, tsyringe_1.autoInjectable)()(target);
|
17
20
|
return target;
|
18
21
|
};
|
19
22
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"injectable.js","sourceRoot":"","sources":["../../src/decorators/injectable.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"injectable.js","sourceRoot":"","sources":["../../src/decorators/injectable.ts"],"names":[],"mappings":";;AAgBA,gCAaC;AA7BD,4BAA0B;AAC1B,uCAA0C;AAC1C,kDAA0D;AAU1D;;;GAGG;AACH,SAAgB,UAAU,CAAC,UAA8B,EAAE;IACzD,OAAO,CAAC,MAAW,EAAE,EAAE;QACrB,MAAM,QAAQ,GAAuB;YACnC,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,iBAAK,CAAC,SAAS;SACxC,CAAC;QAEF,OAAO,CAAC,cAAc,CAAC,yBAAa,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QAEnE,4BAA4B;QAC5B,wBAAwB;QACxB,IAAA,yBAAc,GAAE,CAAC,MAAM,CAAC,CAAC;QACzB,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC"}
|
@@ -1,15 +1,18 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.Module = Module;
|
4
|
+
require("reflect-metadata");
|
5
|
+
const constants_1 = require("../utils/constants");
|
3
6
|
/**
|
4
7
|
* 模块装饰器
|
5
8
|
* @param metadata 模块元数据
|
6
9
|
*/
|
7
|
-
|
10
|
+
function Module(metadata) {
|
8
11
|
return (target) => {
|
9
|
-
Reflect.defineMetadata(METADATA_KEYS.MODULE, metadata, target);
|
12
|
+
Reflect.defineMetadata(constants_1.METADATA_KEYS.MODULE, metadata, target);
|
10
13
|
// 确保模块可以被注入
|
11
|
-
if (!Reflect.hasMetadata(METADATA_KEYS.INJECTABLE, target)) {
|
12
|
-
Reflect.defineMetadata(METADATA_KEYS.INJECTABLE, { scope: 'singleton' }, target);
|
14
|
+
if (!Reflect.hasMetadata(constants_1.METADATA_KEYS.INJECTABLE, target)) {
|
15
|
+
Reflect.defineMetadata(constants_1.METADATA_KEYS.INJECTABLE, { scope: 'singleton' }, target);
|
13
16
|
}
|
14
17
|
};
|
15
18
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/decorators/module.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/decorators/module.ts"],"names":[],"mappings":";;AAgBA,wBASC;AAzBD,4BAA0B;AAC1B,kDAAmD;AAWnD;;;GAGG;AACH,SAAgB,MAAM,CAAC,QAAwB;IAC7C,OAAO,CAAC,MAAW,EAAE,EAAE;QACrB,OAAO,CAAC,cAAc,CAAC,yBAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QAE/D,YAAY;QACZ,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,yBAAa,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC;YAC3D,OAAO,CAAC,cAAc,CAAC,yBAAa,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,MAAM,CAAC,CAAC;QACnF,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
|
package/dist/decorators/route.js
CHANGED
@@ -1,5 +1,8 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.Context = exports.Res = exports.Req = exports.Header = exports.Query = exports.Param = exports.Body = exports.Patch = exports.Delete = exports.Put = exports.Post = exports.Get = void 0;
|
4
|
+
require("reflect-metadata");
|
5
|
+
const constants_1 = require("../utils/constants");
|
3
6
|
/**
|
4
7
|
* 创建路由装饰器
|
5
8
|
*/
|
@@ -11,9 +14,9 @@ function createRouteDecorator(method) {
|
|
11
14
|
path: path.startsWith('/') ? path : `/${path}`,
|
12
15
|
methodName: String(propertyKey),
|
13
16
|
};
|
14
|
-
const existingRoutes = Reflect.getMetadata(METADATA_KEYS.ROUTE, target.constructor) || [];
|
17
|
+
const existingRoutes = Reflect.getMetadata(constants_1.METADATA_KEYS.ROUTE, target.constructor) || [];
|
15
18
|
existingRoutes.push(metadata);
|
16
|
-
Reflect.defineMetadata(METADATA_KEYS.ROUTE, existingRoutes, target.constructor);
|
19
|
+
Reflect.defineMetadata(constants_1.METADATA_KEYS.ROUTE, existingRoutes, target.constructor);
|
17
20
|
return descriptor || {
|
18
21
|
value: target[propertyKey],
|
19
22
|
writable: true,
|
@@ -26,23 +29,23 @@ function createRouteDecorator(method) {
|
|
26
29
|
/**
|
27
30
|
* GET 请求装饰器
|
28
31
|
*/
|
29
|
-
|
32
|
+
exports.Get = createRouteDecorator(constants_1.HttpMethod.GET);
|
30
33
|
/**
|
31
34
|
* POST 请求装饰器
|
32
35
|
*/
|
33
|
-
|
36
|
+
exports.Post = createRouteDecorator(constants_1.HttpMethod.POST);
|
34
37
|
/**
|
35
38
|
* PUT 请求装饰器
|
36
39
|
*/
|
37
|
-
|
40
|
+
exports.Put = createRouteDecorator(constants_1.HttpMethod.PUT);
|
38
41
|
/**
|
39
42
|
* DELETE 请求装饰器
|
40
43
|
*/
|
41
|
-
|
44
|
+
exports.Delete = createRouteDecorator(constants_1.HttpMethod.DELETE);
|
42
45
|
/**
|
43
46
|
* PATCH 请求装饰器
|
44
47
|
*/
|
45
|
-
|
48
|
+
exports.Patch = createRouteDecorator(constants_1.HttpMethod.PATCH);
|
46
49
|
/**
|
47
50
|
* 创建参数装饰器
|
48
51
|
*/
|
@@ -56,7 +59,7 @@ function createParamDecorator(type) {
|
|
56
59
|
type,
|
57
60
|
key,
|
58
61
|
};
|
59
|
-
const paramKey = `${METADATA_KEYS.PARAM.toString()}_${String(propertyKey)}`;
|
62
|
+
const paramKey = `${constants_1.METADATA_KEYS.PARAM.toString()}_${String(propertyKey)}`;
|
60
63
|
const existingParams = Reflect.getMetadata(paramKey, target.constructor) || [];
|
61
64
|
existingParams.push(metadata);
|
62
65
|
Reflect.defineMetadata(paramKey, existingParams, target.constructor);
|
@@ -66,29 +69,29 @@ function createParamDecorator(type) {
|
|
66
69
|
/**
|
67
70
|
* 请求体参数装饰器
|
68
71
|
*/
|
69
|
-
|
72
|
+
exports.Body = createParamDecorator(constants_1.ParamType.BODY);
|
70
73
|
/**
|
71
74
|
* 路径参数装饰器
|
72
75
|
*/
|
73
|
-
|
76
|
+
exports.Param = createParamDecorator(constants_1.ParamType.PARAM);
|
74
77
|
/**
|
75
78
|
* 查询参数装饰器
|
76
79
|
*/
|
77
|
-
|
80
|
+
exports.Query = createParamDecorator(constants_1.ParamType.QUERY);
|
78
81
|
/**
|
79
82
|
* 请求头参数装饰器
|
80
83
|
*/
|
81
|
-
|
84
|
+
exports.Header = createParamDecorator(constants_1.ParamType.HEADER);
|
82
85
|
/**
|
83
86
|
* 完整请求对象装饰器
|
84
87
|
*/
|
85
|
-
|
88
|
+
exports.Req = createParamDecorator(constants_1.ParamType.REQUEST);
|
86
89
|
/**
|
87
90
|
* 响应对象装饰器
|
88
91
|
*/
|
89
|
-
|
92
|
+
exports.Res = createParamDecorator(constants_1.ParamType.RESPONSE);
|
90
93
|
/**
|
91
94
|
* 上下文装饰器 - 获取完整的 Hono Context
|
92
95
|
*/
|
93
|
-
|
96
|
+
exports.Context = createParamDecorator(constants_1.ParamType.CONTEXT);
|
94
97
|
//# sourceMappingURL=route.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"route.js","sourceRoot":"","sources":["../../src/decorators/route.ts"],"names":[],"mappings":"AAAA,
|
1
|
+
{"version":3,"file":"route.js","sourceRoot":"","sources":["../../src/decorators/route.ts"],"names":[],"mappings":";;;AAAA,4BAA0B;AAC1B,kDAA0E;AAW1E;;GAEG;AACH,SAAS,oBAAoB,CAAC,MAAkB;IAC9C,OAAO,CAAC,IAAI,GAAG,EAAE,EAAE,EAAE;QACnB,OAAO,CAAC,MAAW,EAAE,WAA4B,EAAE,UAA+B,EAAsB,EAAE;YACxG,MAAM,QAAQ,GAAkB;gBAC9B,MAAM;gBACN,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE;gBAC9C,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC;aAChC,CAAC;YAEF,MAAM,cAAc,GAAoB,OAAO,CAAC,WAAW,CAAC,yBAAa,CAAC,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;YAC3G,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAE9B,OAAO,CAAC,cAAc,CAAC,yBAAa,CAAC,KAAK,EAAE,cAAc,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;YAEhF,OAAO,UAAU,IAAI;gBACnB,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC;gBAC1B,QAAQ,EAAE,IAAI;gBACd,UAAU,EAAE,IAAI;gBAChB,YAAY,EAAE,IAAI;aACnB,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAED;;GAEG;AACU,QAAA,GAAG,GAAG,oBAAoB,CAAC,sBAAU,CAAC,GAAG,CAAC,CAAC;AAExD;;GAEG;AACU,QAAA,IAAI,GAAG,oBAAoB,CAAC,sBAAU,CAAC,IAAI,CAAC,CAAC;AAE1D;;GAEG;AACU,QAAA,GAAG,GAAG,oBAAoB,CAAC,sBAAU,CAAC,GAAG,CAAC,CAAC;AAExD;;GAEG;AACU,QAAA,MAAM,GAAG,oBAAoB,CAAC,sBAAU,CAAC,MAAM,CAAC,CAAC;AAE9D;;GAEG;AACU,QAAA,KAAK,GAAG,oBAAoB,CAAC,sBAAU,CAAC,KAAK,CAAC,CAAC;AAE5D;;GAEG;AACH,SAAS,oBAAoB,CAAC,IAAe;IAC3C,OAAO,CAAC,GAAY,EAAE,EAAE;QACtB,OAAO,CAAC,MAAW,EAAE,WAAwC,EAAE,cAAsB,EAAE,EAAE;YACvF,IAAI,CAAC,WAAW;gBAAE,OAAO;YAEzB,MAAM,QAAQ,GAAsB;gBAClC,KAAK,EAAE,cAAc;gBACrB,IAAI;gBACJ,GAAG;aACJ,CAAC;YAEF,MAAM,QAAQ,GAAG,GAAG,yBAAa,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;YAC5E,MAAM,cAAc,GAAwB,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;YACpG,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAE9B,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,cAAc,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QACvE,CAAC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAED;;GAEG;AACU,QAAA,IAAI,GAAG,oBAAoB,CAAC,qBAAS,CAAC,IAAI,CAAC,CAAC;AAEzD;;GAEG;AACU,QAAA,KAAK,GAAG,oBAAoB,CAAC,qBAAS,CAAC,KAAK,CAAC,CAAC;AAE3D;;GAEG;AACU,QAAA,KAAK,GAAG,oBAAoB,CAAC,qBAAS,CAAC,KAAK,CAAC,CAAC;AAE3D;;GAEG;AACU,QAAA,MAAM,GAAG,oBAAoB,CAAC,qBAAS,CAAC,MAAM,CAAC,CAAC;AAE7D;;GAEG;AACU,QAAA,GAAG,GAAG,oBAAoB,CAAC,qBAAS,CAAC,OAAO,CAAC,CAAC;AAE3D;;GAEG;AACU,QAAA,GAAG,GAAG,oBAAoB,CAAC,qBAAS,CAAC,QAAQ,CAAC,CAAC;AAE5D;;GAEG;AACU,QAAA,OAAO,GAAG,oBAAoB,CAAC,qBAAS,CAAC,OAAO,CAAC,CAAC"}
|
@@ -1,7 +1,10 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.BaseException = void 0;
|
1
4
|
/**
|
2
5
|
* 基础异常类
|
3
6
|
*/
|
4
|
-
|
7
|
+
class BaseException extends Error {
|
5
8
|
status;
|
6
9
|
error;
|
7
10
|
timestamp;
|
@@ -35,4 +38,5 @@ export class BaseException extends Error {
|
|
35
38
|
return this;
|
36
39
|
}
|
37
40
|
}
|
41
|
+
exports.BaseException = BaseException;
|
38
42
|
//# sourceMappingURL=base-exception.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"base-exception.js","sourceRoot":"","sources":["../../src/exceptions/base-exception.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,
|
1
|
+
{"version":3,"file":"base-exception.js","sourceRoot":"","sources":["../../src/exceptions/base-exception.ts"],"names":[],"mappings":";;;AAEA;;GAEG;AACH,MAAsB,aAAc,SAAQ,KAAK;IAM7B;IACA;IANF,SAAS,CAAO;IAChB,IAAI,CAAU;IAE9B,YACE,OAAe,EACC,SAA+B,GAAG,EAClC,QAAgB,uBAAuB;QAEvD,KAAK,CAAC,OAAO,CAAC,CAAC;QAHC,WAAM,GAAN,MAAM,CAA4B;QAClC,UAAK,GAAL,KAAK,CAAkC;QAGvD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QAClC,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAE5B,WAAW;QACX,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,WAAW;QACT,OAAO;YACL,UAAU,EAAE,IAAI,CAAC,MAAM;YACvB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE;YACvC,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,IAAY;QACjB,IAAY,CAAC,IAAI,GAAG,IAAI,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AArCD,sCAqCC"}
|
@@ -1,8 +1,11 @@
|
|
1
|
-
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.HttpExceptionFilter = exports.DefaultExceptionFilter = exports.DefaultArgumentsHost = void 0;
|
4
|
+
const base_exception_1 = require("./base-exception");
|
2
5
|
/**
|
3
6
|
* 默认参数宿主实现
|
4
7
|
*/
|
5
|
-
|
8
|
+
class DefaultArgumentsHost {
|
6
9
|
context;
|
7
10
|
constructor(context) {
|
8
11
|
this.context = context;
|
@@ -17,10 +20,11 @@ export class DefaultArgumentsHost {
|
|
17
20
|
return this.context;
|
18
21
|
}
|
19
22
|
}
|
23
|
+
exports.DefaultArgumentsHost = DefaultArgumentsHost;
|
20
24
|
/**
|
21
25
|
* 默认全局异常过滤器
|
22
26
|
*/
|
23
|
-
|
27
|
+
class DefaultExceptionFilter {
|
24
28
|
catch(exception, host) {
|
25
29
|
const ctx = host.getContext();
|
26
30
|
const request = host.getRequest();
|
@@ -31,7 +35,7 @@ export class DefaultExceptionFilter {
|
|
31
35
|
timestamp: new Date().toISOString(),
|
32
36
|
path: request.url,
|
33
37
|
};
|
34
|
-
if (exception instanceof BaseException) {
|
38
|
+
if (exception instanceof base_exception_1.BaseException) {
|
35
39
|
status = exception.status;
|
36
40
|
response = exception.getResponse();
|
37
41
|
response.path = request.url;
|
@@ -45,10 +49,11 @@ export class DefaultExceptionFilter {
|
|
45
49
|
return ctx.json(response, status);
|
46
50
|
}
|
47
51
|
}
|
52
|
+
exports.DefaultExceptionFilter = DefaultExceptionFilter;
|
48
53
|
/**
|
49
54
|
* HTTP 异常过滤器
|
50
55
|
*/
|
51
|
-
|
56
|
+
class HttpExceptionFilter {
|
52
57
|
catch(exception, host) {
|
53
58
|
const ctx = host.getContext();
|
54
59
|
const request = host.getRequest();
|
@@ -60,4 +65,5 @@ export class HttpExceptionFilter {
|
|
60
65
|
return ctx.json(response, status);
|
61
66
|
}
|
62
67
|
}
|
68
|
+
exports.HttpExceptionFilter = HttpExceptionFilter;
|
63
69
|
//# sourceMappingURL=exception-filter.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"exception-filter.js","sourceRoot":"","sources":["../../src/exceptions/exception-filter.ts"],"names":[],"mappings":"AACA,
|
1
|
+
{"version":3,"file":"exception-filter.js","sourceRoot":"","sources":["../../src/exceptions/exception-filter.ts"],"names":[],"mappings":";;;AACA,qDAAiD;AAmBjD;;GAEG;AACH,MAAa,oBAAoB;IACF;IAA7B,YAA6B,OAAgB;QAAhB,YAAO,GAAP,OAAO,CAAS;IAAG,CAAC;IAEjD,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;IAC1B,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;CACF;AAdD,oDAcC;AAED;;GAEG;AACH,MAAa,sBAAsB;IACjC,KAAK,CAAC,SAAc,EAAE,IAAmB;QACvC,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAElC,IAAI,MAAM,GAAG,GAAG,CAAC;QACjB,IAAI,QAAQ,GAAQ;YAClB,UAAU,EAAE,GAAG;YACf,OAAO,EAAE,uBAAuB;YAChC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,IAAI,EAAE,OAAO,CAAC,GAAG;SAClB,CAAC;QAEF,IAAI,SAAS,YAAY,8BAAa,EAAE,CAAC;YACvC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;YAC1B,QAAQ,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;YACnC,QAAQ,CAAC,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC;QAC9B,CAAC;aAAM,IAAI,SAAS,YAAY,KAAK,EAAE,CAAC;YACtC,QAAQ,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;YACrC,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;QACnC,CAAC;QAED,SAAS;QACT,OAAO,CAAC,KAAK,CAAC,qBAAqB,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;QAEzE,OAAO,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAa,CAAC,CAAC;IAC3C,CAAC;CACF;AA3BD,wDA2BC;AAED;;GAEG;AACH,MAAa,mBAAmB;IAC9B,KAAK,CAAC,SAAwB,EAAE,IAAmB;QACjD,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAElC,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;QAChC,MAAM,QAAQ,GAAG;YACf,GAAG,SAAS,CAAC,WAAW,EAAE;YAC1B,IAAI,EAAE,OAAO,CAAC,GAAG;SAClB,CAAC;QAEF,OAAO,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAa,CAAC,CAAC;IAC3C,CAAC;CACF;AAbD,kDAaC"}
|