pwi-plata-type 0.4.62 → 0.4.63
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/__BUILD__/libs/router.js +21 -0
- package/__BUILD__/libs/router.js.map +1 -1
- package/package.json +1 -1
- package/src/@types/router.d.ts +4 -0
- package/src/libs/router.ts +28 -0
package/__BUILD__/libs/router.js
CHANGED
|
@@ -45,6 +45,14 @@ var Internals;
|
|
|
45
45
|
});
|
|
46
46
|
}
|
|
47
47
|
Internals.buildRouterObject = buildRouterObject;
|
|
48
|
+
Internals.ResolveOnResponseEventQueue = async (aReq, aRes, body, error) => {
|
|
49
|
+
if (aReq._onResponseEvent.length === 0) {
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
aReq._onResponseEvent.forEach((r) => {
|
|
53
|
+
Plata.FastPromise(() => r(aReq, aRes, body, error)).catch(() => undefined);
|
|
54
|
+
});
|
|
55
|
+
};
|
|
48
56
|
function buildRequestHandler(r) {
|
|
49
57
|
if (Array.isArray(r)) {
|
|
50
58
|
return r.map(h => buildRequestHandler(h));
|
|
@@ -58,10 +66,23 @@ var Internals;
|
|
|
58
66
|
if (aReq.extras === undefined) {
|
|
59
67
|
aReq.extras = new Object(null);
|
|
60
68
|
}
|
|
69
|
+
if (aReq._onResponseEvent === undefined) {
|
|
70
|
+
aReq._onResponseEvent = [];
|
|
71
|
+
}
|
|
72
|
+
if (aRes.addOnResponseEvent === undefined) {
|
|
73
|
+
aRes.addOnResponseEvent = (callback) => {
|
|
74
|
+
aReq._onResponseEvent.push(callback);
|
|
75
|
+
};
|
|
76
|
+
}
|
|
61
77
|
if (aRes.oldJson === undefined) {
|
|
62
78
|
aRes.oldJson = aRes.json;
|
|
63
79
|
}
|
|
80
|
+
aRes.json = (body) => {
|
|
81
|
+
Plata.FastPromise(async () => { Internals.ResolveOnResponseEventQueue(aReq, aRes, body, undefined); });
|
|
82
|
+
return aRes.oldJson(body);
|
|
83
|
+
};
|
|
64
84
|
aRes.error = error => {
|
|
85
|
+
Plata.FastPromise(async () => { Internals.ResolveOnResponseEventQueue(aReq, aRes, undefined, error); });
|
|
65
86
|
return aRes.oldJson(error);
|
|
66
87
|
};
|
|
67
88
|
return r(aReq, aRes, next);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/libs/router.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAC5B,qCAAyC;AAEzC,IAAiB,SAAS,
|
|
1
|
+
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/libs/router.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/@types/router.d.ts
CHANGED
|
@@ -7,11 +7,13 @@ declare global {
|
|
|
7
7
|
interface Request extends express.Request {
|
|
8
8
|
user: any
|
|
9
9
|
extras: any
|
|
10
|
+
_onResponseEvent: PlataOnResponseEvent[]
|
|
10
11
|
}
|
|
11
12
|
|
|
12
13
|
interface Response extends express.Response {
|
|
13
14
|
oldJson(body?: any): this
|
|
14
15
|
error(error: PlataError | PlataError[]): this
|
|
16
|
+
addOnResponseEvent<T = any>(callback: PlataOnResponseEvent<T>): void
|
|
15
17
|
}
|
|
16
18
|
|
|
17
19
|
type RequestHandler = (req: Request, res: Response, next: express.NextFunction) => Promise<any>
|
|
@@ -71,5 +73,7 @@ declare global {
|
|
|
71
73
|
export interface RequiredRoute extends RequiredInterface<RouterBuilder> {
|
|
72
74
|
httpRoute: string
|
|
73
75
|
}
|
|
76
|
+
|
|
77
|
+
type PlataOnResponseEvent<T = any> = (aReq: Request, aRes?: Response, body?: T, error?: PlataError | PlataError[]) => Promise<any>
|
|
74
78
|
}
|
|
75
79
|
}
|
package/src/libs/router.ts
CHANGED
|
@@ -45,6 +45,18 @@ export namespace Internals {
|
|
|
45
45
|
}) as Router.Router
|
|
46
46
|
}
|
|
47
47
|
|
|
48
|
+
export const ResolveOnResponseEventQueue = async(aReq: Router.Request, aRes: Router.Response, body?: any, error?: PlataError | PlataError[]) => {
|
|
49
|
+
if (aReq._onResponseEvent.length === 0) {
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
aReq._onResponseEvent.forEach((r) => {
|
|
55
|
+
Plata.FastPromise(() => r(aReq, aRes, body, error)).catch(() => undefined)
|
|
56
|
+
})
|
|
57
|
+
|
|
58
|
+
}
|
|
59
|
+
|
|
48
60
|
export function buildRequestHandler(r: Router.RequestHandler | Router.RequestHandler[]): express.RequestHandler | express.RequestHandler[] {
|
|
49
61
|
if (Array.isArray(r)) {
|
|
50
62
|
return r.map(h => buildRequestHandler(h)) as express.RequestHandler[]
|
|
@@ -62,11 +74,27 @@ export namespace Internals {
|
|
|
62
74
|
aReq.extras = new Object(null)
|
|
63
75
|
}
|
|
64
76
|
|
|
77
|
+
if (aReq._onResponseEvent === undefined) {
|
|
78
|
+
aReq._onResponseEvent = []
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
if (aRes.addOnResponseEvent === undefined) {
|
|
82
|
+
aRes.addOnResponseEvent = (callback) => {
|
|
83
|
+
aReq._onResponseEvent.push(callback)
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
65
87
|
if (aRes.oldJson === undefined) {
|
|
66
88
|
aRes.oldJson = aRes.json
|
|
67
89
|
}
|
|
68
90
|
|
|
91
|
+
aRes.json = (body?: any) => {
|
|
92
|
+
Plata.FastPromise(async () => { ResolveOnResponseEventQueue(aReq, aRes, body, undefined) })
|
|
93
|
+
return aRes.oldJson(body)
|
|
94
|
+
}
|
|
95
|
+
|
|
69
96
|
aRes.error = error => {
|
|
97
|
+
Plata.FastPromise(async () => { ResolveOnResponseEventQueue(aReq, aRes, undefined, error)})
|
|
70
98
|
return aRes.oldJson(error)
|
|
71
99
|
}
|
|
72
100
|
|