tspace-spear 1.2.0 → 1.2.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/README.md +777 -705
- package/{build → dist}/lib/core/decorators/context.js +86 -0
- package/dist/lib/core/decorators/context.js.map +1 -0
- package/dist/lib/core/decorators/controller.js +43 -0
- package/dist/lib/core/decorators/controller.js.map +1 -0
- package/dist/lib/core/decorators/headers.js +44 -0
- package/dist/lib/core/decorators/headers.js.map +1 -0
- package/dist/lib/core/decorators/methods.js +102 -0
- package/dist/lib/core/decorators/methods.js.map +1 -0
- package/dist/lib/core/decorators/middleware.js +61 -0
- package/dist/lib/core/decorators/middleware.js.map +1 -0
- package/dist/lib/core/decorators/statusCode.js +40 -0
- package/dist/lib/core/decorators/statusCode.js.map +1 -0
- package/dist/lib/core/decorators/swagger.js +52 -0
- package/dist/lib/core/decorators/swagger.js.map +1 -0
- package/{build → dist}/lib/core/server/index.js +272 -205
- package/dist/lib/core/server/index.js.map +1 -0
- package/{build → dist}/lib/core/server/parser-factory.js +29 -7
- package/dist/lib/core/server/parser-factory.js.map +1 -0
- package/dist/lib/core/server/radix-router.js +65 -0
- package/dist/lib/core/server/radix-router.js.map +1 -0
- package/{build → dist}/lib/core/server/router.js +34 -0
- package/dist/lib/core/server/router.js.map +1 -0
- package/{build → dist}/lib/index.js +0 -1
- package/{build → dist}/lib/index.js.map +1 -1
- package/{build → dist}/tests/benchmark.test.js +38 -8
- package/{build → dist}/tests/benchmark.test.js.map +1 -1
- package/package.json +15 -10
- package/build/lib/core/decorators/context.d.ts +0 -5
- package/build/lib/core/decorators/context.js.map +0 -1
- package/build/lib/core/decorators/controller.d.ts +0 -1
- package/build/lib/core/decorators/controller.js +0 -10
- package/build/lib/core/decorators/controller.js.map +0 -1
- package/build/lib/core/decorators/headers.d.ts +0 -3
- package/build/lib/core/decorators/headers.js +0 -15
- package/build/lib/core/decorators/headers.js.map +0 -1
- package/build/lib/core/decorators/index.d.ts +0 -9
- package/build/lib/core/decorators/methods.d.ts +0 -5
- package/build/lib/core/decorators/methods.js +0 -25
- package/build/lib/core/decorators/methods.js.map +0 -1
- package/build/lib/core/decorators/middleware.d.ts +0 -2
- package/build/lib/core/decorators/middleware.js +0 -24
- package/build/lib/core/decorators/middleware.js.map +0 -1
- package/build/lib/core/decorators/statusCode.d.ts +0 -1
- package/build/lib/core/decorators/statusCode.js +0 -16
- package/build/lib/core/decorators/statusCode.js.map +0 -1
- package/build/lib/core/decorators/swagger.d.ts +0 -2
- package/build/lib/core/decorators/swagger.js +0 -18
- package/build/lib/core/decorators/swagger.js.map +0 -1
- package/build/lib/core/server/index.d.ts +0 -312
- package/build/lib/core/server/index.js.map +0 -1
- package/build/lib/core/server/parser-factory.d.ts +0 -24
- package/build/lib/core/server/parser-factory.js.map +0 -1
- package/build/lib/core/server/router.d.ts +0 -79
- package/build/lib/core/server/router.js.map +0 -1
- package/build/lib/core/types/index.d.ts +0 -168
- package/build/lib/index.d.ts +0 -11
- package/build/tests/benchmark.test.d.ts +0 -1
- /package/{build → dist}/lib/core/decorators/index.js +0 -0
- /package/{build → dist}/lib/core/decorators/index.js.map +0 -0
- /package/{build → dist}/lib/core/types/index.js +0 -0
- /package/{build → dist}/lib/core/types/index.js.map +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/core/server/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -199,6 +199,14 @@ class ParserFactory {
|
|
|
199
199
|
continue;
|
|
200
200
|
const path = r.path.replace(/:(\w+)/g, "{$1}");
|
|
201
201
|
const method = r.method.toLocaleLowerCase();
|
|
202
|
+
const swagger = (doc.specs ?? []).find(s => {
|
|
203
|
+
return s.path === r.path &&
|
|
204
|
+
s.method.toLocaleLowerCase() === method;
|
|
205
|
+
});
|
|
206
|
+
const decoratedOnly = doc.options?.decoratedOnly ?? false;
|
|
207
|
+
if ((swagger == null && decoratedOnly) || swagger?.disabled) {
|
|
208
|
+
continue;
|
|
209
|
+
}
|
|
202
210
|
if (paths[path] == null) {
|
|
203
211
|
paths[path] = {
|
|
204
212
|
[method]: {}
|
|
@@ -240,7 +248,6 @@ class ParserFactory {
|
|
|
240
248
|
...responses
|
|
241
249
|
};
|
|
242
250
|
}
|
|
243
|
-
const swagger = doc.options.find(s => (s.path === r.path) && (s.method.toLocaleLowerCase() === method));
|
|
244
251
|
if (swagger != null) {
|
|
245
252
|
spec.tags = [
|
|
246
253
|
swagger.tags == null
|
|
@@ -375,14 +382,16 @@ class ParserFactory {
|
|
|
375
382
|
}
|
|
376
383
|
return paths;
|
|
377
384
|
};
|
|
378
|
-
spec.paths = specPaths(doc.routes);
|
|
385
|
+
spec.paths = specPaths(doc.routes ?? []);
|
|
379
386
|
const normalizePath = (...paths) => {
|
|
380
387
|
const path = paths
|
|
381
388
|
.join('/')
|
|
382
389
|
.replace(/\/+/g, '/')
|
|
383
390
|
.replace(/\/+$/, '');
|
|
384
391
|
const normalizedPath = path.startsWith('/') ? path : `/${path}`;
|
|
385
|
-
return /\/api\/api/.test(normalizedPath)
|
|
392
|
+
return /\/api\/api/.test(normalizedPath)
|
|
393
|
+
? normalizedPath.replace(/\/api\/api\//, "/api/")
|
|
394
|
+
: normalizedPath;
|
|
386
395
|
};
|
|
387
396
|
const STATIC_URL = '/swagger-ui';
|
|
388
397
|
const iconURL = normalizePath(doc.staticUrl ?? '', `${STATIC_URL}/favicon-32x32.png`).replace(/^\/(http[s]?:\/{0,2})/, '$1');
|
|
@@ -398,6 +407,11 @@ class ParserFactory {
|
|
|
398
407
|
<title>SwaggerUI</title>
|
|
399
408
|
<link rel="icon" href="${iconURL}">
|
|
400
409
|
<link rel="stylesheet" href="${cssURL}" />
|
|
410
|
+
<style>
|
|
411
|
+
.swagger-ui .topbar .download-url-wrapper {
|
|
412
|
+
visibility: hidden;
|
|
413
|
+
}
|
|
414
|
+
</style>
|
|
401
415
|
</head>
|
|
402
416
|
<body>
|
|
403
417
|
<div id="swagger-ui"></div>
|
|
@@ -406,10 +420,18 @@ class ParserFactory {
|
|
|
406
420
|
<script src="${scriptStandalonePreset}"></script>
|
|
407
421
|
<script>
|
|
408
422
|
window.onload = () => {
|
|
409
|
-
window.ui = SwaggerUIBundle({
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
423
|
+
window.ui = SwaggerUIBundle({
|
|
424
|
+
dom_id: '#swagger-ui',
|
|
425
|
+
presets: [SwaggerUIBundle.presets.apis, SwaggerUIStandalonePreset],
|
|
426
|
+
spec : ${JSON.stringify(spec)},
|
|
427
|
+
withCredentials: ${doc.options?.withCredentials ?? "true"},
|
|
428
|
+
layout: "${doc.options?.layout ?? 'StandaloneLayout'}",
|
|
429
|
+
filter: "${doc.options?.filter ?? "false"}",
|
|
430
|
+
docExpansion: "${doc.options?.docExpansion ?? "list"}",
|
|
431
|
+
deepLinking: "${doc.options?.deepLinking ?? "true"}",
|
|
432
|
+
displayOperationId: "${doc.options?.displayOperationId ?? "false"}",
|
|
433
|
+
displayRequestDuration: "${doc.options?.displayRequestDuration ?? "false"}"
|
|
434
|
+
});
|
|
413
435
|
};
|
|
414
436
|
</script>
|
|
415
437
|
</html>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parser-factory.js","sourceRoot":"","sources":["../../../../src/lib/core/server/parser-factory.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RadixRouter = void 0;
|
|
4
|
+
class RadixNode {
|
|
5
|
+
part;
|
|
6
|
+
children = new Map();
|
|
7
|
+
paramChild;
|
|
8
|
+
handler;
|
|
9
|
+
paramName;
|
|
10
|
+
constructor(part) {
|
|
11
|
+
this.part = part;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
class RadixRouter {
|
|
15
|
+
root = new RadixNode("");
|
|
16
|
+
add(path, handler) {
|
|
17
|
+
const parts = path.split("/").filter(Boolean);
|
|
18
|
+
let node = this.root;
|
|
19
|
+
for (const part of parts) {
|
|
20
|
+
if (part.startsWith(":")) {
|
|
21
|
+
if (!node.paramChild) {
|
|
22
|
+
node.paramChild = new RadixNode(part);
|
|
23
|
+
node.paramChild.paramName = part.slice(1);
|
|
24
|
+
}
|
|
25
|
+
node = node.paramChild;
|
|
26
|
+
continue;
|
|
27
|
+
}
|
|
28
|
+
if (!node.children.has(part)) {
|
|
29
|
+
node.children.set(part, new RadixNode(part));
|
|
30
|
+
}
|
|
31
|
+
node = node.children.get(part);
|
|
32
|
+
}
|
|
33
|
+
node.handler = handler;
|
|
34
|
+
}
|
|
35
|
+
lookup(req, res) {
|
|
36
|
+
const url = req.url || "/";
|
|
37
|
+
const path = url.split("?")[0];
|
|
38
|
+
const parts = path.split("/").filter(Boolean);
|
|
39
|
+
let node = this.root;
|
|
40
|
+
const params = {};
|
|
41
|
+
for (const part of parts) {
|
|
42
|
+
const child = node.children.get(part);
|
|
43
|
+
if (child) {
|
|
44
|
+
node = child;
|
|
45
|
+
continue;
|
|
46
|
+
}
|
|
47
|
+
if (node.paramChild) {
|
|
48
|
+
params[node.paramChild.paramName] = part;
|
|
49
|
+
node = node.paramChild;
|
|
50
|
+
continue;
|
|
51
|
+
}
|
|
52
|
+
res.statusCode = 404;
|
|
53
|
+
res.end("Not Found");
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
if (!node.handler) {
|
|
57
|
+
res.statusCode = 404;
|
|
58
|
+
res.end("Not Found");
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
node.handler(req, res, params);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
exports.RadixRouter = RadixRouter;
|
|
65
|
+
//# sourceMappingURL=radix-router.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"radix-router.js","sourceRoot":"","sources":["../../../../src/lib/core/server/radix-router.ts"],"names":[],"mappings":";;;AAEA,MAAM,SAAS;IAEb,IAAI,CAAQ;IACZ,QAAQ,GAA2B,IAAI,GAAG,EAAE,CAAA;IAC5C,UAAU,CAAY;IACtB,OAAO,CAAU;IACjB,SAAS,CAAS;IAElB,YAAY,IAAY;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;CACF;AAED,MAAa,WAAW;IAEd,IAAI,GAAG,IAAI,SAAS,CAAC,EAAE,CAAC,CAAA;IAEhC,GAAG,CAAC,IAAY,EAAE,OAAgB;QAEhC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QAE7C,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QAEpB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YAExB,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;gBAExB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;oBACpB,IAAI,CAAC,UAAU,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,CAAA;oBACrC,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;iBAC1C;gBAED,IAAI,GAAG,IAAI,CAAC,UAAU,CAAA;gBACtB,SAAQ;aACT;YAED,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBAC5B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;aAC7C;YAED,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAE,CAAA;SAChC;QAED,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAED,MAAM,CAAC,GAAQ,EAAE,GAAQ;QAEvB,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,CAAA;QAC1B,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QAE9B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QAE7C,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QACpB,MAAM,MAAM,GAA0B,EAAE,CAAA;QAExC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YAExB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YAErC,IAAI,KAAK,EAAE;gBACT,IAAI,GAAG,KAAK,CAAA;gBACZ,SAAQ;aACT;YAED,IAAI,IAAI,CAAC,UAAU,EAAE;gBAEnB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,SAAU,CAAC,GAAG,IAAI,CAAA;gBACzC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAA;gBACtB,SAAQ;aACT;YAED,GAAG,CAAC,UAAU,GAAG,GAAG,CAAA;YACpB,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;YACpB,OAAM;SACP;QAED,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB,GAAG,CAAC,UAAU,GAAG,GAAG,CAAA;YACpB,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;YACpB,OAAM;SACP;QAED,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAA;IAChC,CAAC;CACF;AAxED,kCAwEC"}
|
|
@@ -122,6 +122,40 @@ class Router {
|
|
|
122
122
|
});
|
|
123
123
|
return this;
|
|
124
124
|
}
|
|
125
|
+
/**
|
|
126
|
+
* The 'head' method is used to add the request handler to the router for the 'HEAD' method.
|
|
127
|
+
*
|
|
128
|
+
* @param {string} path
|
|
129
|
+
* @callback {...Function[]} handlers of the middlewares
|
|
130
|
+
* @property {Object} ctx - context { req , res , query , params , cookies , files , body}
|
|
131
|
+
* @property {Function} next - go to next function
|
|
132
|
+
* @returns {this}
|
|
133
|
+
*/
|
|
134
|
+
head(path, ...handlers) {
|
|
135
|
+
this._routes.push({
|
|
136
|
+
path,
|
|
137
|
+
method: 'head',
|
|
138
|
+
handlers
|
|
139
|
+
});
|
|
140
|
+
return this;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* The 'options' method is used to add the request handler to the router for the 'OPTIONS' method.
|
|
144
|
+
*
|
|
145
|
+
* @param {string} path
|
|
146
|
+
* @callback {...Function[]} handlers of the middlewares
|
|
147
|
+
* @property {Object} ctx - context { req , res , query , params , cookies , files , body}
|
|
148
|
+
* @property {Function} next - go to next function
|
|
149
|
+
* @returns {this}
|
|
150
|
+
*/
|
|
151
|
+
options(path, ...handlers) {
|
|
152
|
+
this._routes.push({
|
|
153
|
+
path,
|
|
154
|
+
method: 'options',
|
|
155
|
+
handlers
|
|
156
|
+
});
|
|
157
|
+
return this;
|
|
158
|
+
}
|
|
125
159
|
}
|
|
126
160
|
exports.Router = Router;
|
|
127
161
|
exports.default = Router;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../../../src/lib/core/server/router.ts"],"names":[],"mappings":";;;AAEA,MAAM,MAAM;IAEA,OAAO,GAIT,EAAE,CAAA;IAER,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,OAAO,CAAA;IACvB,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAE,MAAqB,EAAE,MAAoC;QACtE,MAAM,MAAM,GAAI,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC,CAAA;QACpC,KAAI,MAAM,KAAK,IAAI,MAAM,CAAC,OAAO,EAAE;YAC/B,KAAK,CAAC,IAAI,GAAG,GAAG,MAAM,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;YAC1D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;SAC3B;IACL,CAAC;IAED;;;;;;;;OAQG;IACI,GAAG,CAAC,IAAmB,EAAG,GAAG,QAA+D;QAC/F,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YACd,IAAI;YACJ,MAAM,EAAG,KAAK;YACd,QAAQ;SACX,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACf,CAAC;IAED;;;;;;;;OAQG;IACI,IAAI,CAAC,IAAmB,EAAG,GAAG,QAA+D;QAChG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YACd,IAAI;YACJ,MAAM,EAAG,MAAM;YACf,QAAQ;SACX,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACf,CAAC;IAED;;;;;;;;OAQG;IACI,GAAG,CAAC,IAAmB,EAAG,GAAG,QAA+D;QAC/F,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YACd,IAAI;YACJ,MAAM,EAAG,KAAK;YACd,QAAQ;SACX,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACf,CAAC;IAED;;;;;;;;OAQG;IACI,KAAK,CAAC,IAAmB,EAAG,GAAG,QAA+D;QACjG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YACd,IAAI;YACJ,MAAM,EAAG,OAAO;YAChB,QAAQ;SACX,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACf,CAAC;IAEA;;;;;;;;MAQE;IACI,MAAM,CAAC,IAAmB,EAAG,GAAG,QAA+D;QAClG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YACd,IAAI;YACJ,MAAM,EAAG,QAAQ;YACjB,QAAQ;SACX,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACf,CAAC;IAED;;;;;;;;OAQG;IACI,GAAG,CAAC,IAAmB,EAAG,GAAG,QAA+D;QAC/F,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YACd,IAAI;YACJ,MAAM,EAAG,KAAK;YACd,QAAQ;SACX,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACf,CAAC;IAED;;;;;;;;OAQG;IACI,IAAI,CAAC,IAAmB,EAAG,GAAG,QAA+D;QAChG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YACd,IAAI;YACJ,MAAM,EAAG,MAAM;YACf,QAAQ;SACX,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACf,CAAC;IAED;;;;;;;;OAQG;IACI,OAAO,CAAC,IAAmB,EAAG,GAAG,QAA+D;QACnG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YACd,IAAI;YACJ,MAAM,EAAG,SAAS;YAClB,QAAQ;SACX,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACf,CAAC;CACJ;AAEQ,wBAAM;AACf,kBAAe,MAAM,CAAA"}
|
|
@@ -23,7 +23,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
23
23
|
* @module tspace-spear
|
|
24
24
|
*/
|
|
25
25
|
__exportStar(require("./core/decorators"), exports);
|
|
26
|
-
__exportStar(require("./core/types"), exports);
|
|
27
26
|
__exportStar(require("./core/server/router"), exports);
|
|
28
27
|
__exportStar(require("./core/server"), exports);
|
|
29
28
|
const server_1 = __importDefault(require("./core/server"));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;;;IAII;AACJ,oDAAiC;AACjC
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;;;IAII;AACJ,oDAAiC;AACjC,uDAAoC;AACpC,gDAA6B;AAG7B,2DAAkC;AAElC,kBAAe,gBAAK,CAAA"}
|
|
@@ -16,7 +16,7 @@ let connections = argv.c || argv.connections;
|
|
|
16
16
|
let pipelining = argv.p || argv.pipelining;
|
|
17
17
|
connections = connections == null ? 100 : Number(connections);
|
|
18
18
|
pipelining = pipelining == null ? 10 : Number(pipelining);
|
|
19
|
-
duration = duration == null ?
|
|
19
|
+
duration = duration == null ? 10 : Number(duration);
|
|
20
20
|
function runExpress() {
|
|
21
21
|
const port = 3000;
|
|
22
22
|
(0, express_1.default)()
|
|
@@ -54,7 +54,7 @@ function runFastify() {
|
|
|
54
54
|
});
|
|
55
55
|
}
|
|
56
56
|
function runSpear() {
|
|
57
|
-
const port =
|
|
57
|
+
const port = 3003;
|
|
58
58
|
new lib_1.default()
|
|
59
59
|
.get('/', () => MESSAGE)
|
|
60
60
|
.listen(port, () => console.log(`server 'Spear' running at : http://localhost:${port}`));
|
|
@@ -64,14 +64,26 @@ const urls = [
|
|
|
64
64
|
{ name: 'express', url: url(3000) },
|
|
65
65
|
{ name: 'http', url: url(3001) },
|
|
66
66
|
{ name: 'fastify', url: url(3002) },
|
|
67
|
-
{ name: 'tspace-spear', url: url(
|
|
67
|
+
{ name: 'tspace-spear', url: url(3003) }
|
|
68
68
|
];
|
|
69
69
|
const sleep = (ms) => {
|
|
70
70
|
return new Promise(resolve => setTimeout(resolve, ms, null));
|
|
71
71
|
};
|
|
72
72
|
const runBenchmark = async () => {
|
|
73
73
|
const results = [];
|
|
74
|
-
|
|
74
|
+
const randomized = shuffle(urls);
|
|
75
|
+
await new Promise((resolve, reject) => {
|
|
76
|
+
(0, autocannon_1.default)({
|
|
77
|
+
url: randomized[0].url,
|
|
78
|
+
connections,
|
|
79
|
+
duration: 3
|
|
80
|
+
}, (err) => {
|
|
81
|
+
if (err)
|
|
82
|
+
return reject(err);
|
|
83
|
+
resolve(null);
|
|
84
|
+
});
|
|
85
|
+
});
|
|
86
|
+
for (const { name, url } of randomized) {
|
|
75
87
|
const result = await new Promise((resolve, reject) => {
|
|
76
88
|
(0, autocannon_1.default)({
|
|
77
89
|
url,
|
|
@@ -84,14 +96,24 @@ const runBenchmark = async () => {
|
|
|
84
96
|
return resolve(result);
|
|
85
97
|
});
|
|
86
98
|
});
|
|
99
|
+
const toMs = (v) => Number((v / 1000).toFixed(3));
|
|
100
|
+
const latency = result.latency;
|
|
87
101
|
results.push({
|
|
88
102
|
name,
|
|
89
103
|
url,
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
104
|
+
"req/sec": Number(result.requests.average.toFixed(0)),
|
|
105
|
+
"avg(ms)": toMs(latency.average),
|
|
106
|
+
"p50(ms)": toMs(latency.p50),
|
|
107
|
+
"p90(ms)": toMs(latency.p90),
|
|
108
|
+
"p97(ms)": toMs(latency.p97_5),
|
|
109
|
+
"p99(ms)": toMs(latency.p99),
|
|
110
|
+
"max(ms)": toMs(latency.max),
|
|
111
|
+
"stddev": Number(latency.stddev.toFixed(2)),
|
|
112
|
+
"requests": result.requests.total
|
|
93
113
|
});
|
|
94
114
|
}
|
|
115
|
+
// sort ตาม performance
|
|
116
|
+
results.sort((a, b) => Number(b["req/sec"]) - Number(a["req/sec"]));
|
|
95
117
|
console.log({
|
|
96
118
|
connections,
|
|
97
119
|
duration,
|
|
@@ -99,6 +121,14 @@ const runBenchmark = async () => {
|
|
|
99
121
|
});
|
|
100
122
|
console.table(results);
|
|
101
123
|
};
|
|
124
|
+
const shuffle = (arr) => {
|
|
125
|
+
const a = [...arr];
|
|
126
|
+
for (let i = a.length - 1; i > 0; i--) {
|
|
127
|
+
const j = Math.floor(Math.random() * (i + 1));
|
|
128
|
+
[a[i], a[j]] = [a[j], a[i]];
|
|
129
|
+
}
|
|
130
|
+
return a;
|
|
131
|
+
};
|
|
102
132
|
async function runApps() {
|
|
103
133
|
await Promise.all([
|
|
104
134
|
runSpear,
|
|
@@ -106,7 +136,7 @@ async function runApps() {
|
|
|
106
136
|
runExpress,
|
|
107
137
|
runHttp
|
|
108
138
|
].map(v => v()));
|
|
109
|
-
await sleep(
|
|
139
|
+
await sleep(5000);
|
|
110
140
|
console.log('benchmarking !!');
|
|
111
141
|
await runBenchmark();
|
|
112
142
|
console.log('benchmarking done !!');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"benchmark.test.js","sourceRoot":"","sources":["../../src/tests/benchmark.test.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"benchmark.test.js","sourceRoot":"","sources":["../../src/tests/benchmark.test.ts"],"names":[],"mappings":";;;;;AAAA,4DAAgD;AAChD,sDAA6B;AAC7B,sDAAoD;AACpD,gDAAuB;AACvB,kDAA0B;AAC1B,iDAA0B;AAE1B,MAAM,OAAO,GAAG,cAAc,CAAA;AAE9B,MAAM,EAAE,IAAI,EAAE,GAAwB,IAAA,eAAK,EAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;AAClE,IAAI,QAAQ,GAAG,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAA;AACtC,IAAI,WAAW,GAAG,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,WAAW,CAAA;AAC5C,IAAI,UAAU,GAAG,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAA;AAE1C,WAAW,GAAG,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;AAC7D,UAAU,GAAI,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;AAC1D,QAAQ,GAAM,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;AAEtD,SAAS,UAAU;IAEf,MAAM,IAAI,GAAG,IAAI,CAAC;IAElB,IAAA,iBAAO,GAAE;SACR,GAAG,CAAC,GAAG,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;QACtC,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;QAC5C,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC,CAAC;SACD,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;QACf,OAAO,CAAC,GAAG,CAAC,gDAAgD,IAAI,EAAE,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,OAAO;IACZ,MAAM,IAAI,GAAG,IAAI,CAAC;IAClB,MAAM,MAAM,GAAG,cAAI,CAAC,YAAY,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC1C,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;QACrB,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;QAC5C,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;QACrB,OAAO,CAAC,GAAG,CAAC,6CAA6C,IAAI,EAAE,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,UAAU;IACf,MAAM,IAAI,GAAG,IAAI,CAAA;IAEjB,IAAA,iBAAO,GAAE;SACR,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;QACzB,OAAO,KAAK;aACX,MAAM,CAAC,cAAc,EAAE,YAAY,CAAC;aACpC,IAAI,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC,CAAC;SACD,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;QAC/B,IAAI,GAAG;YAAE,MAAM,GAAG,CAAA;QAClB,OAAO,CAAC,GAAG,CAAC,kDAAkD,IAAI,EAAE,CAAC,CAAA;IACzE,CAAC,CAAC,CAAA;AACN,CAAC;AAED,SAAS,QAAQ;IACb,MAAM,IAAI,GAAG,IAAI,CAAA;IAEjB,IAAI,aAAK,EAAE;SACV,GAAG,CAAC,GAAG,EAAG,GAAG,EAAE,CAAC,OAAO,CAAC;SACxB,MAAM,CAAC,IAAI,EAAG,GAAG,EAAE,CAChB,OAAO,CAAC,GAAG,CAAC,gDAAgD,IAAI,EAAE,CAAC,CACtE,CAAA;AACL,CAAC;AAED,MAAM,GAAG,GAAG,CAAC,IAAa,EAAE,EAAE,CAAC,oBAAoB,IAAI,EAAE,CAAA;AAEzD,MAAM,IAAI,GAAG;IACT,EAAE,IAAI,EAAE,SAAS,EAAY,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,EAAC;IAC5C,EAAE,IAAI,EAAE,MAAM,EAAe,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,EAAC;IAC5C,EAAE,IAAI,EAAE,SAAS,EAAY,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,EAAC;IAC5C,EAAE,IAAI,EAAE,cAAc,EAAO,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,EAAC;CAC/C,CAAC;AAEF,MAAM,KAAK,GAAG,CAAC,EAAW,EAAE,EAAE;IAC1B,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,EAAC,IAAI,CAAC,CAAC,CAAC;AAChE,CAAC,CAAA;AAED,MAAM,YAAY,GAAG,KAAK,IAAmB,EAAE;IAE3C,MAAM,OAAO,GAAU,EAAE,CAAA;IACzB,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAEhC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAClC,IAAA,oBAAU,EAAC;YACP,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG;YACtB,WAAW;YACX,QAAQ,EAAE,CAAC;SACd,EAAE,CAAC,GAAG,EAAE,EAAE;YACP,IAAI,GAAG;gBAAE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAA;YAC3B,OAAO,CAAC,IAAI,CAAC,CAAA;QACjB,CAAC,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;IAEF,KAAK,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,UAAU,EAAE;QAEpC,MAAM,MAAM,GAAW,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACzD,IAAA,oBAAU,EAAC;gBACP,GAAG;gBACH,WAAW;gBACX,QAAQ;gBACR,UAAU;aACb,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;gBAEf,IAAI,GAAG;oBAAE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAA;gBAE3B,OAAO,OAAO,CAAC,MAAM,CAAC,CAAA;YAE1B,CAAC,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;QAEF,MAAM,IAAI,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;QAEzD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;QAE9B,OAAO,CAAC,IAAI,CAAC;YACV,IAAI;YACH,GAAG;YAEH,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAErD,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;YAChC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;YAC5B,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;YAC5B,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;YAC9B,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;YAC5B,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;YAC5B,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC3C,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK;SACpC,CAAC,CAAA;KACL;IAED,uBAAuB;IACvB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;IAEnE,OAAO,CAAC,GAAG,CAAC;QACR,WAAW;QACX,QAAQ;QACR,UAAU;KACb,CAAC,CAAA;IAEF,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;AAC1B,CAAC,CAAA;AAED,MAAM,OAAO,GAAG,CAAI,GAAQ,EAAO,EAAE;IACjC,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;IAEnB,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;QACnC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAC/B;IAED,OAAO,CAAC,CAAC;AACb,CAAC,CAAC;AAEF,KAAK,UAAU,OAAO;IAElB,MAAM,OAAO,CAAC,GAAG,CAAC;QACd,QAAQ;QACR,UAAU;QACV,UAAU;QACV,OAAO;KACV,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAEhB,MAAM,KAAK,CAAC,IAAI,CAAC,CAAA;IACjB,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;IAC9B,MAAM,YAAY,EAAE,CAAA;IAEpB,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAA;AACvC,CAAC;AAED,OAAO,EAAE,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tspace-spear",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.1",
|
|
4
4
|
"description": "tspace-spear is a lightweight API framework for Node.js that is fast and highly focused on providing the best developer experience. It utilizes the native HTTP server",
|
|
5
|
-
"main": "./
|
|
6
|
-
"types": "./
|
|
5
|
+
"main": "./dist/lib/index.js",
|
|
6
|
+
"types": "./dist/lib/index.d.ts",
|
|
7
7
|
"files": [
|
|
8
|
-
"
|
|
8
|
+
"dist"
|
|
9
9
|
],
|
|
10
10
|
"type": "commonjs",
|
|
11
11
|
"repository": {
|
|
@@ -30,9 +30,10 @@
|
|
|
30
30
|
"build": "tsc",
|
|
31
31
|
"prepare": "npm run build",
|
|
32
32
|
"release": "npm run build && npm publish",
|
|
33
|
-
"
|
|
34
|
-
"test
|
|
35
|
-
"load": "autocannon -c 100 -d 40 -p 10 localhost:3000"
|
|
33
|
+
"beta": "npm run build && npm publish --tag beta",
|
|
34
|
+
"test": "npm run build && node dist/tests/benchmark.test.js",
|
|
35
|
+
"load": "autocannon -c 100 -d 40 -p 10 localhost:3000",
|
|
36
|
+
"docs": "npx docsify-cli serve docs"
|
|
36
37
|
},
|
|
37
38
|
"dependencies": {
|
|
38
39
|
"busboy": "1.6.0",
|
|
@@ -40,7 +41,7 @@
|
|
|
40
41
|
"mime-types": "2.1.35",
|
|
41
42
|
"on-finished": "2.4.1",
|
|
42
43
|
"reflect-metadata": "0.1.14",
|
|
43
|
-
"swagger-ui-dist": "5.
|
|
44
|
+
"swagger-ui-dist": "5.32.0"
|
|
44
45
|
},
|
|
45
46
|
"devDependencies": {
|
|
46
47
|
"@types/autocannon": "7.12.5",
|
|
@@ -50,12 +51,16 @@
|
|
|
50
51
|
"@types/node": "16.4.0",
|
|
51
52
|
"@types/on-finished": "2.3.4",
|
|
52
53
|
"@types/swagger-ui-dist": "3.30.4",
|
|
54
|
+
"@types/ws": "8.18.1",
|
|
53
55
|
"@types/yargs": "17.0.32",
|
|
54
56
|
"autocannon": "7.15.0",
|
|
57
|
+
"docsify-cli": "4.4.4",
|
|
55
58
|
"express": "4.19.2",
|
|
56
59
|
"fastify": "4.28.1",
|
|
57
60
|
"ts-node": "10.9.2",
|
|
58
|
-
"typescript": "5.
|
|
59
|
-
"
|
|
61
|
+
"typescript": "5.1.6",
|
|
62
|
+
"ws": "8.18.3",
|
|
63
|
+
"yargs": "17.7.2",
|
|
64
|
+
"zod": "4.3.6"
|
|
60
65
|
}
|
|
61
66
|
}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export declare const Body: (...bodyParms: string[]) => (target: any, key: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
|
|
2
|
-
export declare const Files: (...filesParms: string[]) => (target: any, key: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
|
|
3
|
-
export declare const Params: (...paramsData: string[]) => (target: any, key: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
|
|
4
|
-
export declare const Query: (...queryParms: string[]) => (target: any, key: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
|
|
5
|
-
export declare const Cookies: (...cookiesParms: string[]) => (target: any, key: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../src/lib/core/decorators/context.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const Controller: (path: `/${string}`) => ClassDecorator;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Controller = void 0;
|
|
4
|
-
const Controller = (path) => {
|
|
5
|
-
return (target) => {
|
|
6
|
-
Reflect.defineMetadata("controllers", path, target);
|
|
7
|
-
};
|
|
8
|
-
};
|
|
9
|
-
exports.Controller = Controller;
|
|
10
|
-
//# sourceMappingURL=controller.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"controller.js","sourceRoot":"","sources":["../../../../src/lib/core/decorators/controller.ts"],"names":[],"mappings":";;;AAAO,MAAM,UAAU,GAAG,CAAC,IAAkB,EAAkB,EAAE;IAC/D,OAAO,CAAC,MAAM,EAAE,EAAE;QAChB,OAAO,CAAC,cAAc,CAAC,aAAa,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACtD,CAAC,CAAC;AACJ,CAAC,CAAA;AAJY,QAAA,UAAU,cAItB"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.WriteHeader = void 0;
|
|
4
|
-
const WriteHeader = (statusCode, contentType) => {
|
|
5
|
-
return (target, key, descriptor) => {
|
|
6
|
-
const originalMethod = descriptor.value;
|
|
7
|
-
descriptor.value = async function (ctx, next) {
|
|
8
|
-
ctx.res.writeHead(...[statusCode, contentType]);
|
|
9
|
-
return await originalMethod.call(this, ctx, next);
|
|
10
|
-
};
|
|
11
|
-
return descriptor;
|
|
12
|
-
};
|
|
13
|
-
};
|
|
14
|
-
exports.WriteHeader = WriteHeader;
|
|
15
|
-
//# sourceMappingURL=headers.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"headers.js","sourceRoot":"","sources":["../../../../src/lib/core/decorators/headers.ts"],"names":[],"mappings":";;;AAGO,MAAO,WAAW,GAAG,CAAC,UAAmB,EAAG,WAAiC,EAAE,EAAE;IACpF,OAAO,CAAC,MAAW,EAAE,GAAW,EAAE,UAA8B,EAAE,EAAE;QAChE,MAAM,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC;QAExC,UAAU,CAAC,KAAK,GAAG,KAAK,WAAU,GAAc,EAAG,IAAmB;YAClE,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAE,UAAU,EAAG,WAAW,CAAE,CAAC,CAAA;YAClD,OAAO,MAAM,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAG,IAAI,CAAC,CAAC;QACvD,CAAC,CAAC;QAEF,OAAO,UAAU,CAAC;IACtB,CAAC,CAAC;AACN,CAAC,CAAA;AAXa,QAAA,WAAW,eAWxB"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import 'reflect-metadata';
|
|
2
|
-
export * from './methods';
|
|
3
|
-
export * from './headers';
|
|
4
|
-
export * from './middleware';
|
|
5
|
-
export * from './controller';
|
|
6
|
-
export * from './headers';
|
|
7
|
-
export * from './statusCode';
|
|
8
|
-
export * from './context';
|
|
9
|
-
export * from './swagger';
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export declare const Get: (path: `/${string}`) => MethodDecorator;
|
|
2
|
-
export declare const Post: (path: `/${string}`) => MethodDecorator;
|
|
3
|
-
export declare const Put: (path: `/${string}`) => MethodDecorator;
|
|
4
|
-
export declare const Patch: (path: `/${string}`) => MethodDecorator;
|
|
5
|
-
export declare const Delete: (path: `/${string}`) => MethodDecorator;
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Delete = exports.Patch = exports.Put = exports.Post = exports.Get = void 0;
|
|
4
|
-
const methodDecorator = (method) => {
|
|
5
|
-
return (path) => {
|
|
6
|
-
return (target, propertyKey) => {
|
|
7
|
-
const controller = target.constructor;
|
|
8
|
-
const routers = Reflect.hasMetadata("routers", controller)
|
|
9
|
-
? Reflect.getMetadata("routers", controller)
|
|
10
|
-
: [];
|
|
11
|
-
routers.push({
|
|
12
|
-
method,
|
|
13
|
-
path,
|
|
14
|
-
handler: propertyKey,
|
|
15
|
-
});
|
|
16
|
-
Reflect.defineMetadata("routers", routers, controller);
|
|
17
|
-
};
|
|
18
|
-
};
|
|
19
|
-
};
|
|
20
|
-
exports.Get = methodDecorator('get');
|
|
21
|
-
exports.Post = methodDecorator('post');
|
|
22
|
-
exports.Put = methodDecorator('put');
|
|
23
|
-
exports.Patch = methodDecorator('patch');
|
|
24
|
-
exports.Delete = methodDecorator('delete');
|
|
25
|
-
//# sourceMappingURL=methods.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"methods.js","sourceRoot":"","sources":["../../../../src/lib/core/decorators/methods.ts"],"names":[],"mappings":";;;AAEA,MAAM,eAAe,GAAG,CAAC,MAAgB,EAAE,EAAE;IAC3C,OAAO,CAAC,IAAkB,EAAmB,EAAE;QAC7C,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE;YAC7B,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC;YAEtC,MAAM,OAAO,GAAc,OAAO,CAAC,WAAW,CAAC,SAAS,EAAE,UAAU,CAAC;gBACnE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,EAAE,UAAU,CAAC;gBAC5C,CAAC,CAAC,EAAE,CAAC;YAEP,OAAO,CAAC,IAAI,CAAC;gBACX,MAAM;gBACN,IAAI;gBACJ,OAAO,EAAE,WAAW;aACrB,CAAC,CAAC;YAEH,OAAO,CAAC,cAAc,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QACzD,CAAC,CAAA;IACH,CAAC,CAAA;AACH,CAAC,CAAA;AAEY,QAAA,GAAG,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;AAC7B,QAAA,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;AAC/B,QAAA,GAAG,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;AAC7B,QAAA,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;AACjC,QAAA,MAAM,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC"}
|