bootpress 6.0.0 → 6.0.1
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/index.d.ts +4 -2
- package/index.js +40 -9
- package/package.json +1 -1
package/index.d.ts
CHANGED
|
@@ -17,13 +17,14 @@ declare function Restify(target: any, key: string, desc: PropertyDescriptor): Pr
|
|
|
17
17
|
|
|
18
18
|
declare function PassBody(serviceFunction: RequestHandler | RequsetHandlerWithArgs): RequestHandler
|
|
19
19
|
declare function PassBodyAs(type: ValidTypeKeys | JsSchema | ArraySchema ): (serviceFunction: RequestHandler | RequsetHandlerWithArgs) => RequestHandler
|
|
20
|
-
declare function PassRequest(serviceFunction: RequestHandler | RequsetHandlerWithArgs): RequestHandler
|
|
21
20
|
declare function PassAllParams(serviceFunction: RequestHandler | RequsetHandlerWithArgs): RequestHandler
|
|
22
21
|
declare function PassAllQueries(serviceFunction: RequestHandler | RequsetHandlerWithArgs): RequestHandler
|
|
23
22
|
declare function PassAllCookies(serviceFunction: RequestHandler | RequsetHandlerWithArgs): RequestHandler
|
|
24
23
|
declare function PassParams(...paramNames: string[]): (serviceFunction: RequestHandler | RequsetHandlerWithArgs) => RequestHandler
|
|
25
24
|
declare function PassQueries(...queryNames: string[]): (serviceFunction: RequestHandler | RequsetHandlerWithArgs) => RequestHandler
|
|
26
25
|
declare function PassCookies(...cookieNames: string[]): (serviceFunction: RequestHandler | RequsetHandlerWithArgs) => RequestHandler
|
|
26
|
+
declare function PassRequest(serviceFunction: RequestHandler | RequsetHandlerWithArgs): RequestHandler
|
|
27
|
+
declare function PassResponse(serviceFunction: RequestHandler | RequsetHandlerWithArgs): RequestHandler
|
|
27
28
|
|
|
28
29
|
export {
|
|
29
30
|
RestService,
|
|
@@ -37,5 +38,6 @@ export {
|
|
|
37
38
|
PassAllCookies,
|
|
38
39
|
PassBody,
|
|
39
40
|
PassBodyAs,
|
|
40
|
-
PassRequest
|
|
41
|
+
PassRequest,
|
|
42
|
+
PassResponse
|
|
41
43
|
}
|
package/index.js
CHANGED
|
@@ -8,6 +8,14 @@ const protectedProperties = [
|
|
|
8
8
|
"toLocaleString"
|
|
9
9
|
]
|
|
10
10
|
|
|
11
|
+
function reply(res, status, data) {
|
|
12
|
+
if (typeof data == "object") {
|
|
13
|
+
res.status(status).json(data);
|
|
14
|
+
} else {
|
|
15
|
+
res.status(status).send(data);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
11
19
|
function RestService(service) {
|
|
12
20
|
if (typeof service == "function") {
|
|
13
21
|
try {
|
|
@@ -36,9 +44,9 @@ function RestService(service) {
|
|
|
36
44
|
} else if (result === null) {
|
|
37
45
|
throw new HttpError(200, "Your method is executed but it returned null. At least a value is expected to be returned.");
|
|
38
46
|
}
|
|
39
|
-
res
|
|
47
|
+
reply(res, result.status || 200, result.data || result)
|
|
40
48
|
} catch (e) {
|
|
41
|
-
res
|
|
49
|
+
reply(res, e.status || 500, e.message || e);
|
|
42
50
|
}
|
|
43
51
|
}),
|
|
44
52
|
configurable: keyvalue[1].configurable,
|
|
@@ -58,10 +66,10 @@ function RestMethod(callback) {
|
|
|
58
66
|
return (req, res) => {
|
|
59
67
|
try {
|
|
60
68
|
const result = callback();
|
|
61
|
-
res
|
|
69
|
+
reply(res, result.status || 200, result.data || result);
|
|
62
70
|
return result;
|
|
63
71
|
} catch (e) {
|
|
64
|
-
res
|
|
72
|
+
reply(res, e.status || 500, e.message || e)
|
|
65
73
|
}
|
|
66
74
|
}
|
|
67
75
|
}
|
|
@@ -74,10 +82,10 @@ function Restify(target, key, desc) {
|
|
|
74
82
|
return (req, res) => {
|
|
75
83
|
try {
|
|
76
84
|
const result = oldFunc(...args);
|
|
77
|
-
res
|
|
85
|
+
reply(res, result.status || 200, result.data || result);
|
|
78
86
|
return result;
|
|
79
87
|
} catch (e) {
|
|
80
|
-
res
|
|
88
|
+
reply(res, e.status || 500, e.message || e);
|
|
81
89
|
}
|
|
82
90
|
}
|
|
83
91
|
}).bind(target)
|
|
@@ -163,9 +171,20 @@ function PassBodyAs(type) {
|
|
|
163
171
|
return (...args) => {
|
|
164
172
|
if (isRequstHandlerArgs(args)) {
|
|
165
173
|
const req = args.at(-3); const res = args.at(-2);
|
|
166
|
-
|
|
174
|
+
try {
|
|
175
|
+
return actualHandler(as(req.body, type))(req, res);
|
|
176
|
+
} catch (e) {
|
|
177
|
+
reply(res, e.status || 500, e.message || e);
|
|
178
|
+
}
|
|
179
|
+
|
|
167
180
|
} else {
|
|
168
|
-
return (req, res) =>
|
|
181
|
+
return (req, res) => {
|
|
182
|
+
try{
|
|
183
|
+
return actualHandler(...args, as(req.body, type))(req, res);
|
|
184
|
+
}catch(e){
|
|
185
|
+
reply(res, e.status || 500, e.message || e)
|
|
186
|
+
}
|
|
187
|
+
}
|
|
169
188
|
}
|
|
170
189
|
}
|
|
171
190
|
}
|
|
@@ -182,6 +201,17 @@ function PassRequest(actualHandler) {
|
|
|
182
201
|
}
|
|
183
202
|
}
|
|
184
203
|
|
|
204
|
+
function PassResponse(actualHandler) {
|
|
205
|
+
return (...args) => {
|
|
206
|
+
if (isRequstHandlerArgs(args)) {
|
|
207
|
+
const req = args.at(-3); const res = args.at(-2);
|
|
208
|
+
return actualHandler(res)(req, res);
|
|
209
|
+
} else {
|
|
210
|
+
return (req, res) => actualHandler(...args, res)(req, res)
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
|
|
185
215
|
function PassAllCookies(actualHandler) {
|
|
186
216
|
return (...args) => {
|
|
187
217
|
if (isRequstHandlerArgs(args)) {
|
|
@@ -219,5 +249,6 @@ module.exports = {
|
|
|
219
249
|
PassCookies,
|
|
220
250
|
PassBody,
|
|
221
251
|
PassBodyAs,
|
|
222
|
-
PassRequest
|
|
252
|
+
PassRequest,
|
|
253
|
+
PassResponse
|
|
223
254
|
}
|