@midwayjs/core 3.0.0-beta.3 → 3.0.0-beta.4
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/CHANGELOG.md +18 -0
- package/dist/baseFramework.d.ts +11 -9
- package/dist/baseFramework.js +17 -14
- package/dist/{util → common}/fileDetector.d.ts +0 -0
- package/dist/{util → common}/fileDetector.js +0 -0
- package/dist/common/filterManager.d.ts +19 -0
- package/dist/common/filterManager.js +85 -0
- package/dist/common/middlewareManager.d.ts +11 -0
- package/dist/{util → common}/middlewareManager.js +0 -0
- package/dist/{util → common}/serviceFactory.d.ts +0 -0
- package/dist/{util → common}/serviceFactory.js +0 -0
- package/dist/{util → common}/triggerCollector.d.ts +0 -0
- package/dist/{util → common}/triggerCollector.js +0 -0
- package/dist/{util → common}/webGenerator.d.ts +6 -9
- package/dist/{util → common}/webGenerator.js +14 -21
- package/dist/{util → common}/webRouterCollector.d.ts +9 -4
- package/dist/{util → common}/webRouterCollector.js +39 -21
- package/dist/error/base.d.ts +3 -1
- package/dist/error/base.js +1 -0
- package/dist/error/code.d.ts +1 -1
- package/dist/error/code.js +1 -1
- package/dist/error/framework.d.ts +2 -2
- package/dist/error/framework.js +8 -5
- package/dist/error/http.d.ts +2 -1
- package/dist/error/http.js +3 -3
- package/dist/error/index.d.ts +1 -0
- package/dist/error/index.js +1 -0
- package/dist/index.d.ts +8 -8
- package/dist/index.js +9 -8
- package/dist/interface.d.ts +31 -28
- package/dist/service/decoratorService.js +2 -0
- package/dist/service/frameworkService.d.ts +4 -3
- package/dist/service/frameworkService.js +10 -0
- package/dist/service/lifeCycleService.js +2 -0
- package/dist/service/loggerService.d.ts +1 -2
- package/dist/service/loggerService.js +1 -10
- package/dist/service/middlewareService.d.ts +2 -2
- package/dist/service/middlewareService.js +3 -25
- package/dist/setup.js +2 -0
- package/dist/util/contextUtil.d.ts +1 -1
- package/dist/util/index.d.ts +9 -0
- package/dist/util/index.js +61 -1
- package/dist/util/webRouterParam.d.ts +2 -2
- package/dist/util/webRouterParam.js +17 -18
- package/package.json +5 -5
- package/dist/util/exceptionFilterManager.d.ts +0 -13
- package/dist/util/exceptionFilterManager.js +0 -53
- package/dist/util/middlewareManager.d.ts +0 -11
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.extractExpressLikeValue = exports.extractKoaLikeValue = void 0;
|
|
4
4
|
const decorator_1 = require("@midwayjs/decorator");
|
|
5
|
-
const
|
|
5
|
+
const index_1 = require("./index");
|
|
6
|
+
const extractKoaLikeValue = (key, data, paramType) => {
|
|
6
7
|
if (decorator_1.ALL === data) {
|
|
7
8
|
data = undefined;
|
|
8
9
|
}
|
|
@@ -11,17 +12,15 @@ const extractKoaLikeValue = (key, data) => {
|
|
|
11
12
|
case decorator_1.RouteParamTypes.NEXT:
|
|
12
13
|
return next;
|
|
13
14
|
case decorator_1.RouteParamTypes.BODY:
|
|
14
|
-
return data && ctx.request.body
|
|
15
|
-
? ctx.request.body[data]
|
|
16
|
-
: ctx.request.body;
|
|
15
|
+
return (0, index_1.transformRequestObjectByType)(data && ctx.request.body ? ctx.request.body[data] : ctx.request.body, paramType);
|
|
17
16
|
case decorator_1.RouteParamTypes.PARAM:
|
|
18
|
-
return data ? ctx.params[data] : ctx.params;
|
|
17
|
+
return (0, index_1.transformRequestObjectByType)(data ? ctx.params[data] : ctx.params, paramType);
|
|
19
18
|
case decorator_1.RouteParamTypes.QUERY:
|
|
20
|
-
return data ? ctx.query[data] : ctx.query;
|
|
19
|
+
return (0, index_1.transformRequestObjectByType)(data ? ctx.query[data] : ctx.query, paramType);
|
|
21
20
|
case decorator_1.RouteParamTypes.HEADERS:
|
|
22
|
-
return data ? ctx.get(data) : ctx.headers;
|
|
21
|
+
return (0, index_1.transformRequestObjectByType)(data ? ctx.get(data) : ctx.headers, paramType);
|
|
23
22
|
case decorator_1.RouteParamTypes.SESSION:
|
|
24
|
-
return data ? ctx.session[data] : ctx.session;
|
|
23
|
+
return (0, index_1.transformRequestObjectByType)(data ? ctx.session[data] : ctx.session, paramType);
|
|
25
24
|
case decorator_1.RouteParamTypes.FILESTREAM:
|
|
26
25
|
return ctx.getFileStream && ctx.getFileStream(data);
|
|
27
26
|
case decorator_1.RouteParamTypes.FILESSTREAM:
|
|
@@ -32,10 +31,10 @@ const extractKoaLikeValue = (key, data) => {
|
|
|
32
31
|
return ctx['ip'];
|
|
33
32
|
case decorator_1.RouteParamTypes.QUERIES:
|
|
34
33
|
if (ctx.queries) {
|
|
35
|
-
return data ? ctx.queries[data] : ctx.queries;
|
|
34
|
+
return (0, index_1.transformRequestObjectByType)(data ? ctx.queries[data] : ctx.queries, paramType);
|
|
36
35
|
}
|
|
37
36
|
else {
|
|
38
|
-
return data ? ctx.query[data] : ctx.query;
|
|
37
|
+
return (0, index_1.transformRequestObjectByType)(data ? ctx.query[data] : ctx.query, paramType);
|
|
39
38
|
}
|
|
40
39
|
default:
|
|
41
40
|
return null;
|
|
@@ -43,7 +42,7 @@ const extractKoaLikeValue = (key, data) => {
|
|
|
43
42
|
};
|
|
44
43
|
};
|
|
45
44
|
exports.extractKoaLikeValue = extractKoaLikeValue;
|
|
46
|
-
const extractExpressLikeValue = (key, data) => {
|
|
45
|
+
const extractExpressLikeValue = (key, data, paramType) => {
|
|
47
46
|
if (decorator_1.ALL === data) {
|
|
48
47
|
data = undefined;
|
|
49
48
|
}
|
|
@@ -52,15 +51,15 @@ const extractExpressLikeValue = (key, data) => {
|
|
|
52
51
|
case decorator_1.RouteParamTypes.NEXT:
|
|
53
52
|
return next;
|
|
54
53
|
case decorator_1.RouteParamTypes.BODY:
|
|
55
|
-
return data && req.body ? req.body[data] : req.body;
|
|
54
|
+
return (0, index_1.transformRequestObjectByType)(data && req.body ? req.body[data] : req.body, paramType);
|
|
56
55
|
case decorator_1.RouteParamTypes.PARAM:
|
|
57
|
-
return data ? req.params[data] : req.params;
|
|
56
|
+
return (0, index_1.transformRequestObjectByType)(data ? req.params[data] : req.params, paramType);
|
|
58
57
|
case decorator_1.RouteParamTypes.QUERY:
|
|
59
|
-
return data ? req.query[data] : req.query;
|
|
58
|
+
return (0, index_1.transformRequestObjectByType)(data ? req.query[data] : req.query, paramType);
|
|
60
59
|
case decorator_1.RouteParamTypes.HEADERS:
|
|
61
|
-
return data ? req.get(data) : req.headers;
|
|
60
|
+
return (0, index_1.transformRequestObjectByType)(data ? req.get(data) : req.headers, paramType);
|
|
62
61
|
case decorator_1.RouteParamTypes.SESSION:
|
|
63
|
-
return data ? req.session[data] : req.session;
|
|
62
|
+
return (0, index_1.transformRequestObjectByType)(data ? req.session[data] : req.session, paramType);
|
|
64
63
|
case decorator_1.RouteParamTypes.FILESTREAM:
|
|
65
64
|
return req.getFileStream && req.getFileStream(data);
|
|
66
65
|
case decorator_1.RouteParamTypes.FILESSTREAM:
|
|
@@ -71,10 +70,10 @@ const extractExpressLikeValue = (key, data) => {
|
|
|
71
70
|
return req['ip'];
|
|
72
71
|
case decorator_1.RouteParamTypes.QUERIES:
|
|
73
72
|
if (req.queries) {
|
|
74
|
-
return data ? req.queries[data] : req.queries;
|
|
73
|
+
return (0, index_1.transformRequestObjectByType)(data ? req.queries[data] : req.queries, paramType);
|
|
75
74
|
}
|
|
76
75
|
else {
|
|
77
|
-
return data ? req.query[data] : req.query;
|
|
76
|
+
return (0, index_1.transformRequestObjectByType)(data ? req.query[data] : req.query, paramType);
|
|
78
77
|
}
|
|
79
78
|
default:
|
|
80
79
|
return null;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@midwayjs/core",
|
|
3
|
-
"version": "3.0.0-beta.
|
|
3
|
+
"version": "3.0.0-beta.4",
|
|
4
4
|
"description": "midway core",
|
|
5
5
|
"main": "dist/index",
|
|
6
6
|
"typings": "dist/index.d.ts",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
],
|
|
22
22
|
"license": "MIT",
|
|
23
23
|
"devDependencies": {
|
|
24
|
-
"@midwayjs/decorator": "^3.0.0-beta.
|
|
24
|
+
"@midwayjs/decorator": "^3.0.0-beta.4",
|
|
25
25
|
"midway-test-component": "*",
|
|
26
26
|
"mm": "3",
|
|
27
27
|
"sinon": "^7.2.2"
|
|
@@ -31,8 +31,8 @@
|
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
33
|
"@midwayjs/glob": "^1.0.2",
|
|
34
|
-
"@midwayjs/logger": "^3.0.0-beta.
|
|
35
|
-
"class-transformer": "^0.
|
|
34
|
+
"@midwayjs/logger": "^3.0.0-beta.4",
|
|
35
|
+
"class-transformer": "^0.4.0",
|
|
36
36
|
"extend2": "^1.0.0",
|
|
37
37
|
"picomatch": "^2.2.2",
|
|
38
38
|
"reflect-metadata": "^0.1.13"
|
|
@@ -45,5 +45,5 @@
|
|
|
45
45
|
"engines": {
|
|
46
46
|
"node": ">=12"
|
|
47
47
|
},
|
|
48
|
-
"gitHead": "
|
|
48
|
+
"gitHead": "02e2144e302f807770b512b0d89da3145b1cbf2e"
|
|
49
49
|
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { CommonExceptionFilterUnion, IMidwayContainer, IMidwayContext } from '../interface';
|
|
2
|
-
export declare class ExceptionFilterManager<T extends IMidwayContext = IMidwayContext, R = any, N = any> {
|
|
3
|
-
private filterList;
|
|
4
|
-
private exceptionMap;
|
|
5
|
-
private defaultFilter;
|
|
6
|
-
useFilter(Filter: CommonExceptionFilterUnion<T, R, N>): void;
|
|
7
|
-
init(applicationContext: IMidwayContainer): Promise<void>;
|
|
8
|
-
run(err: Error, ctx: T, res?: R, next?: N): Promise<{
|
|
9
|
-
result: any;
|
|
10
|
-
error: any;
|
|
11
|
-
}>;
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=exceptionFilterManager.d.ts.map
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ExceptionFilterManager = void 0;
|
|
4
|
-
const decorator_1 = require("@midwayjs/decorator");
|
|
5
|
-
class ExceptionFilterManager {
|
|
6
|
-
constructor() {
|
|
7
|
-
this.filterList = [];
|
|
8
|
-
this.exceptionMap = new WeakMap();
|
|
9
|
-
this.defaultFilter = undefined;
|
|
10
|
-
}
|
|
11
|
-
useFilter(Filter) {
|
|
12
|
-
if (Array.isArray(Filter)) {
|
|
13
|
-
this.filterList.push(...Filter);
|
|
14
|
-
}
|
|
15
|
-
else {
|
|
16
|
-
this.filterList.push(Filter);
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
async init(applicationContext) {
|
|
20
|
-
for (const FilterClass of this.filterList) {
|
|
21
|
-
const filter = await applicationContext.getAsync(FilterClass);
|
|
22
|
-
const exceptionMetadata = (0, decorator_1.getClassMetadata)(decorator_1.CATCH_KEY, FilterClass);
|
|
23
|
-
if (exceptionMetadata && exceptionMetadata.catchTargets) {
|
|
24
|
-
for (const Exception of exceptionMetadata.catchTargets) {
|
|
25
|
-
this.exceptionMap.set(Exception, filter);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
else {
|
|
29
|
-
// default filter
|
|
30
|
-
this.defaultFilter = filter;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
async run(err, ctx, res, next) {
|
|
35
|
-
let result, error;
|
|
36
|
-
if (this.exceptionMap.has(err.constructor)) {
|
|
37
|
-
const filter = this.exceptionMap.get(err.constructor);
|
|
38
|
-
result = await filter.catch(err, ctx, res, next);
|
|
39
|
-
}
|
|
40
|
-
else if (this.defaultFilter) {
|
|
41
|
-
result = await this.defaultFilter.catch(err, ctx, res, next);
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
error = err;
|
|
45
|
-
}
|
|
46
|
-
return {
|
|
47
|
-
result,
|
|
48
|
-
error,
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
exports.ExceptionFilterManager = ExceptionFilterManager;
|
|
53
|
-
//# sourceMappingURL=exceptionFilterManager.js.map
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { CommonMiddleware, CommonMiddlewareUnion, IMidwayContext } from '../interface';
|
|
2
|
-
export declare class ContextMiddlewareManager<T extends IMidwayContext = IMidwayContext, R = any, N = any> extends Array<CommonMiddleware<T, R, N>> {
|
|
3
|
-
insertFirst(middleware: CommonMiddlewareUnion<T, R, N>): void;
|
|
4
|
-
insertBefore(middleware: CommonMiddlewareUnion<T, R, N>, idxOrBeforeMiddleware: number): any;
|
|
5
|
-
insertBefore(middleware: CommonMiddlewareUnion<T, R, N>, idxOrBeforeMiddleware: CommonMiddlewareUnion<T, R, N>): any;
|
|
6
|
-
insertAfter(middleware: CommonMiddlewareUnion<T, R, N>, idxOrAfterMiddleware: number): any;
|
|
7
|
-
insertAfter(middleware: CommonMiddlewareUnion<T, R, N>, idxOrAfterMiddleware: CommonMiddlewareUnion<T, R, N>): any;
|
|
8
|
-
insertLast(middleware: CommonMiddlewareUnion<T, R, N>): void;
|
|
9
|
-
private findItemIndex;
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=middlewareManager.d.ts.map
|