tspace-spear 1.2.9-beta.1 → 1.3.0

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.
Files changed (55) hide show
  1. package/README.md +103 -0
  2. package/dist/cli/generators/controller/template.d.ts +1 -1
  3. package/dist/cli/generators/controller/template.js +1 -1
  4. package/dist/lib/core/client/index.js +19 -23
  5. package/dist/lib/core/client/index.js.map +1 -1
  6. package/dist/lib/core/client/types.d.ts +4 -3
  7. package/dist/lib/core/compiler/generator.js +2 -2
  8. package/dist/lib/core/compiler/generator.js.map +1 -1
  9. package/dist/lib/core/compiler/pre-routes.d.ts +260 -6
  10. package/dist/lib/core/compiler/pre-routes.js +54 -4
  11. package/dist/lib/core/compiler/pre-routes.js.map +1 -1
  12. package/dist/lib/core/const/index.d.ts +12 -0
  13. package/dist/lib/core/const/index.js +6 -1
  14. package/dist/lib/core/const/index.js.map +1 -1
  15. package/dist/lib/core/decorators/headers.js +1 -0
  16. package/dist/lib/core/decorators/headers.js.map +1 -1
  17. package/dist/lib/core/decorators/middleware.d.ts +9 -3
  18. package/dist/lib/core/decorators/middleware.js +55 -15
  19. package/dist/lib/core/decorators/middleware.js.map +1 -1
  20. package/dist/lib/core/decorators/statusCode.js.map +1 -1
  21. package/dist/lib/core/server/fast-router.d.ts +5 -5
  22. package/dist/lib/core/server/fast-router.js +2 -2
  23. package/dist/lib/core/server/fast-router.js.map +1 -1
  24. package/dist/lib/core/server/http/index.d.ts +22 -0
  25. package/dist/lib/core/server/http/index.js +220 -0
  26. package/dist/lib/core/server/http/index.js.map +1 -0
  27. package/dist/lib/core/server/index.d.ts +3 -2
  28. package/dist/lib/core/server/index.js +94 -60
  29. package/dist/lib/core/server/index.js.map +1 -1
  30. package/dist/lib/core/server/net/index.d.ts +13 -8
  31. package/dist/lib/core/server/net/index.js +2 -2
  32. package/dist/lib/core/server/net/index.js.map +1 -1
  33. package/dist/lib/core/server/parser-factory.d.ts +3 -4
  34. package/dist/lib/core/server/parser-factory.js +17 -157
  35. package/dist/lib/core/server/parser-factory.js.map +1 -1
  36. package/dist/lib/core/server/response.d.ts +1 -2
  37. package/dist/lib/core/server/response.js +173 -171
  38. package/dist/lib/core/server/response.js.map +1 -1
  39. package/dist/lib/core/server/uWS/index.d.ts +2 -3
  40. package/dist/lib/core/server/uWS/index.js +15 -10
  41. package/dist/lib/core/server/uWS/index.js.map +1 -1
  42. package/dist/lib/core/types/index.d.ts +15 -6
  43. package/dist/lib/core/utils/index.d.ts +3 -3
  44. package/dist/lib/core/utils/index.js +19 -16
  45. package/dist/lib/core/utils/index.js.map +1 -1
  46. package/package.json +27 -10
  47. package/dist/cli/app.d.ts +0 -1
  48. package/dist/cli/app.js +0 -28
  49. package/dist/cli/app.js.map +0 -1
  50. package/dist/cli/controller.d.ts +0 -1
  51. package/dist/cli/controller.js +0 -158
  52. package/dist/cli/controller.js.map +0 -1
  53. package/dist/lib/core/compiler/types.d.ts +0 -39
  54. package/dist/lib/core/compiler/types.js +0 -3
  55. package/dist/lib/core/compiler/types.js.map +0 -1
@@ -14,11 +14,61 @@ exports.appRoutes = {
14
14
  query: { id: 123, name: "example" },
15
15
  body: undefined,
16
16
  files: undefined,
17
- response: { req: { cat1: "example", cat2: "example" }, cats: [
18
- { id: 123, name: "example" },
19
- { id: 123, name: "example" },
20
- { id: 123, name: "example" }
17
+ response: { message: "example", query: { id: 123, name: "example" }, cats: [
18
+ { id: 123, name: "example", age: 123 },
19
+ { id: 123, name: "example", age: 123 },
20
+ { id: 123, name: "example", age: 123 }
21
21
  ] }
22
+ },
23
+ POST: {
24
+ params: undefined,
25
+ query: undefined,
26
+ body: { name: "example", age: 123 },
27
+ files: undefined,
28
+ response: { message: "example", cat: { name: "example", age: 123, id: 123 } }
29
+ }
30
+ },
31
+ "/cats/:id": {
32
+ GET: {
33
+ params: { id: 123 },
34
+ query: undefined,
35
+ body: undefined,
36
+ files: undefined,
37
+ response: { message: "example", cat: { id: 123, name: "example", age: 123 } }
38
+ },
39
+ PUT: {
40
+ params: { id: 123 },
41
+ query: undefined,
42
+ body: { name: "example", age: 123 },
43
+ files: undefined,
44
+ response: { message: "example", cat: { id: 123, name: "example", age: 123 } }
45
+ },
46
+ PATCH: {
47
+ params: { id: 123 },
48
+ query: undefined,
49
+ body: { name: "example", age: 123 },
50
+ files: undefined,
51
+ response: { message: "example", cat: { id: 123, name: "example", age: 123 } }
52
+ },
53
+ DELETE: {
54
+ params: { id: 123 },
55
+ query: undefined,
56
+ body: undefined,
57
+ files: undefined,
58
+ response: { message: "example", deleted: true }
59
+ }
60
+ },
61
+ "/cats/upload": {
62
+ POST: {
63
+ params: undefined,
64
+ query: undefined,
65
+ body: undefined,
66
+ files: { image: [
67
+ { size: 123, sizes: { bytes: 123, kb: 123, mb: 123, gb: 123 }, tempFilePath: "example", tempFileName: "example", mimetype: "example", extension: "example", name: "example" },
68
+ { size: 123, sizes: { bytes: 123, kb: 123, mb: 123, gb: 123 }, tempFilePath: "example", tempFileName: "example", mimetype: "example", extension: "example", name: "example" },
69
+ { size: 123, sizes: { bytes: 123, kb: 123, mb: 123, gb: 123 }, tempFilePath: "example", tempFileName: "example", mimetype: "example", extension: "example", name: "example" }
70
+ ] },
71
+ response: { message: "example", image: { size: 123, sizes: { bytes: 123, kb: 123, mb: 123, gb: 123 }, tempFilePath: "example", tempFileName: "example", mimetype: "example", extension: "example", name: "example" } }
22
72
  }
23
73
  }
24
74
  };
@@ -1 +1 @@
1
- {"version":3,"file":"pre-routes.js","sourceRoot":"","sources":["../../../../src/lib/core/compiler/pre-routes.ts"],"names":[],"mappings":";AACA,cAAc;AACd,sBAAsB;AACtB,cAAc;AACd,kDAAkD;AAClD,wCAAwC;AACxC,sBAAsB;;;AAET,QAAA,SAAS,GAAG;IAEvB,OAAO,EAAE;QAEP,GAAG,EAAE;YACH,MAAM,EAAE,SAAS;YACjB,KAAK,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE;YACnC,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,SAAS;YAChB,QAAQ,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE;oBAC3D,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE;oBAC5B,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE;oBAC5B,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE;iBAC7B,EAAE;SACJ;KACF;CACF,CAAC;AAcD,CAAC"}
1
+ {"version":3,"file":"pre-routes.js","sourceRoot":"","sources":["../../../../src/lib/core/compiler/pre-routes.ts"],"names":[],"mappings":"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"}
@@ -75,6 +75,12 @@ export declare const HEADER_CONTENT_TYPES: {
75
75
  readonly js: {
76
76
  readonly 'Content-Type': "application/javascript";
77
77
  };
78
+ readonly jsText: {
79
+ readonly 'Content-Type': "application/javascript";
80
+ };
81
+ readonly jsX: {
82
+ readonly 'Content-Type': "application/x-javascript";
83
+ };
78
84
  readonly json: {
79
85
  readonly 'Content-Type': "application/json";
80
86
  };
@@ -150,4 +156,10 @@ export declare const HEADER_CONTENT_TYPES: {
150
156
  readonly octet: {
151
157
  readonly 'Content-Type': "application/octet-stream";
152
158
  };
159
+ readonly xml: {
160
+ readonly 'Content-Type': "application/xml";
161
+ };
162
+ readonly xmlText: {
163
+ readonly 'Content-Type': "text/xml";
164
+ };
153
165
  };
@@ -70,6 +70,8 @@ exports.HEADER_CONTENT_TYPES = {
70
70
  html: { 'Content-Type': 'text/html' },
71
71
  css: { 'Content-Type': 'text/css' },
72
72
  js: { 'Content-Type': 'application/javascript' },
73
+ jsText: { 'Content-Type': 'application/javascript' },
74
+ jsX: { 'Content-Type': 'application/x-javascript' },
73
75
  json: { 'Content-Type': 'application/json' },
74
76
  form: { 'Content-Type': 'application/x-www-form-urlencoded' },
75
77
  multipart: { 'Content-Type': 'multipart/form-data' },
@@ -100,6 +102,9 @@ exports.HEADER_CONTENT_TYPES = {
100
102
  ttf: { 'Content-Type': 'font/ttf' },
101
103
  otf: { 'Content-Type': 'font/otf' },
102
104
  // binary
103
- octet: { 'Content-Type': 'application/octet-stream' }
105
+ octet: { 'Content-Type': 'application/octet-stream' },
106
+ // xml
107
+ xml: { 'Content-Type': 'application/xml' },
108
+ xmlText: { 'Content-Type': 'text/xml' },
104
109
  };
105
110
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/core/const/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/core/const/index.ts"],"names":[],"mappings":"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"}
@@ -34,6 +34,7 @@ const WriteHeader = (statusCode, contentType) => {
34
34
  return (target, key, descriptor) => {
35
35
  const originalMethod = descriptor.value;
36
36
  descriptor.value = async function (ctx, next) {
37
+ //@ts-ignore
37
38
  ctx.res.writeHead(...[statusCode, contentType]);
38
39
  return await originalMethod.call(this, ctx, next);
39
40
  };
@@ -1 +1 @@
1
- {"version":3,"file":"headers.js","sourceRoot":"","sources":["../../../../src/lib/core/decorators/headers.ts"],"names":[],"mappings":";;;AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACI,MAAM,WAAW,GAAG,CAAC,UAAkB,EAAE,WAAgC,EAAmB,EAAE;IACnG,OAAO,CAAC,MAAW,EAAE,GAAQ,EAAE,UAA8B,EAAE,EAAE;QAC/D,MAAM,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC;QAExC,UAAU,CAAC,KAAK,GAAG,KAAK,WAAW,GAAc,EAAE,IAAoB;YACrE,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;YAChD,OAAO,MAAM,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QACpD,CAAC,CAAC;QAEF,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;AACJ,CAAC,CAAC;AAXW,QAAA,WAAW,eAWtB"}
1
+ {"version":3,"file":"headers.js","sourceRoot":"","sources":["../../../../src/lib/core/decorators/headers.ts"],"names":[],"mappings":";;;AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACI,MAAM,WAAW,GAAG,CAAC,UAAkB,EAAE,WAAgC,EAAmB,EAAE;IACnG,OAAO,CAAC,MAAW,EAAE,GAAQ,EAAE,UAA8B,EAAE,EAAE;QAC/D,MAAM,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC;QAExC,UAAU,CAAC,KAAK,GAAG,KAAK,WAAW,GAAc,EAAE,IAAoB;YACrE,YAAY;YACZ,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;YAChD,OAAO,MAAM,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QACpD,CAAC,CAAC;QAEF,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;AACJ,CAAC,CAAC;AAZW,QAAA,WAAW,eAYtB"}
@@ -1,4 +1,9 @@
1
1
  import { T } from '../types';
2
+ type MiddlewareDecorator = {
3
+ <TFunction extends Function>(target: TFunction): void | TFunction;
4
+ <T>(target: Object, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<T>): void | TypedPropertyDescriptor<T>;
5
+ };
6
+ type MiddlewareClass = new (...args: any) => any;
2
7
  /**
3
8
  * Attaches a middleware function to a controller method.
4
9
  *
@@ -34,9 +39,9 @@ import { T } from '../types';
34
39
  * ```
35
40
  *
36
41
  * @param {T.ContextHandler[]} middlewares - Middleware function to execute before the route handler.
37
- * @returns {MethodDecorator}
42
+ * @returns {MiddlewareDecorator}
38
43
  */
39
- export declare const Middleware: (...middlewares: (T.ContextHandler | T.ContextHandler[])[]) => MethodDecorator;
44
+ export declare function Middleware(...middlewares: (T.ContextHandler | T.ContextHandler[])[] | (MiddlewareClass | MiddlewareClass[])[]): MiddlewareDecorator;
40
45
  /**
41
46
  * Attaches a middleware function to a controller method.
42
47
  *
@@ -74,4 +79,5 @@ export declare const Middleware: (...middlewares: (T.ContextHandler | T.ContextH
74
79
  * @param {T.ContextHandler[]} middlewares - Middleware function to execute before the route handler.
75
80
  * @returns {MethodDecorator}
76
81
  */
77
- export declare const UseGuards: (...middlewares: (T.ContextHandler | T.ContextHandler[])[]) => MethodDecorator;
82
+ export declare const UseGuards: typeof Middleware;
83
+ export {};
@@ -1,7 +1,36 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UseGuards = exports.Middleware = void 0;
3
+ exports.UseGuards = void 0;
4
+ exports.Middleware = Middleware;
4
5
  const metadata_1 = require("../metadata");
6
+ const normalizeMiddlewares = (mid) => {
7
+ const result = [];
8
+ const visit = (item) => {
9
+ if (Array.isArray(item)) {
10
+ item.forEach(visit);
11
+ return;
12
+ }
13
+ if (!item)
14
+ return;
15
+ if (typeof item === "function") {
16
+ const proto = item.prototype;
17
+ if (proto && proto !== Object.prototype) {
18
+ const instance = new item();
19
+ Object.getOwnPropertyNames(proto)
20
+ .filter(name => name !== "constructor")
21
+ .forEach(name => {
22
+ if (typeof instance[name] === "function") {
23
+ result.push(instance[name].bind(instance));
24
+ }
25
+ });
26
+ return;
27
+ }
28
+ result.push(item);
29
+ }
30
+ };
31
+ visit(mid);
32
+ return result;
33
+ };
5
34
  /**
6
35
  * Attaches a middleware function to a controller method.
7
36
  *
@@ -37,34 +66,45 @@ const metadata_1 = require("../metadata");
37
66
  * ```
38
67
  *
39
68
  * @param {T.ContextHandler[]} middlewares - Middleware function to execute before the route handler.
40
- * @returns {MethodDecorator}
69
+ * @returns {MiddlewareDecorator}
41
70
  */
42
- const Middleware = (...middlewares) => {
43
- return (target, _, descriptor) => {
71
+ function Middleware(...middlewares) {
72
+ return ((target, propertyKey, descriptor) => {
73
+ if (descriptor == null) {
74
+ Reflect.defineMetadata(metadata_1.MIDDLEWARE_METADATA, middlewares.flat(), target);
75
+ return;
76
+ }
44
77
  const originalMethod = descriptor.value;
45
78
  descriptor.value = function (ctx, next) {
46
79
  try {
47
- Reflect.defineMetadata(metadata_1.MIDDLEWARE_METADATA, descriptor, target);
48
- let index = 0;
80
+ let groupIndex = 0;
49
81
  const nextMiddleware = (err) => {
50
82
  if (err) {
51
83
  return next(err);
52
84
  }
53
- const middleware = middlewares.flat()[index++];
54
- if (!middleware) {
85
+ const currentMiddlewares = normalizeMiddlewares(middlewares.flat()[groupIndex++]);
86
+ if (currentMiddlewares.length === 0) {
55
87
  return originalMethod.call(this, ctx, next);
56
88
  }
57
- return middleware(ctx, nextMiddleware);
89
+ const last = currentMiddlewares.length - 1;
90
+ for (let i = 0; i <= last; i++) {
91
+ const middleware = currentMiddlewares[i];
92
+ if (i === last) {
93
+ return middleware(ctx, nextMiddleware);
94
+ }
95
+ middleware(ctx, nextMiddleware);
96
+ continue;
97
+ }
58
98
  };
59
99
  return nextMiddleware();
60
100
  }
61
- catch (error) {
62
- return next(error);
101
+ catch (err) {
102
+ return next(err);
63
103
  }
64
104
  };
65
- };
66
- };
67
- exports.Middleware = Middleware;
105
+ });
106
+ }
107
+ ;
68
108
  /**
69
109
  * Attaches a middleware function to a controller method.
70
110
  *
@@ -102,5 +142,5 @@ exports.Middleware = Middleware;
102
142
  * @param {T.ContextHandler[]} middlewares - Middleware function to execute before the route handler.
103
143
  * @returns {MethodDecorator}
104
144
  */
105
- exports.UseGuards = exports.Middleware;
145
+ exports.UseGuards = Middleware;
106
146
  //# sourceMappingURL=middleware.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../../../src/lib/core/decorators/middleware.ts"],"names":[],"mappings":";;;AAAA,0CAAkD;AAGlD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACI,MAAM,UAAU,GAAG,CAAC,GAAG,WAAsD,EAAmB,EAAE;IAEvG,OAAO,CAAC,MAAW,EAAE,CAAM,EAAE,UAA8B,EAAE,EAAE;QAC7D,MAAM,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC;QAExC,UAAU,CAAC,KAAK,GAAG,UAAU,GAAc,EAAE,IAAoB;YAC/D,IAAI,CAAC;gBAEH,OAAO,CAAC,cAAc,CAAC,8BAAmB,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;gBAEhE,IAAI,KAAK,GAAG,CAAC,CAAC;gBAEd,MAAM,cAAc,GAAG,CAAC,GAAS,EAAO,EAAE;oBACxC,IAAI,GAAG,EAAE,CAAC;wBACR,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;oBACnB,CAAC;oBAED,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;oBAE/C,IAAI,CAAC,UAAU,EAAE,CAAC;wBAChB,OAAO,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;oBAC9C,CAAC;oBAED,OAAO,UAAU,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;gBACzC,CAAC,CAAC;gBAEF,OAAO,cAAc,EAAE,CAAC;YAE1B,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBAEpB,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;QACH,CAAC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC,CAAC;AAlCW,QAAA,UAAU,cAkCrB;AAGF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACU,QAAA,SAAS,GAAG,kBAAU,CAAA"}
1
+ {"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../../../src/lib/core/decorators/middleware.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"statusCode.js","sourceRoot":"","sources":["../../../../src/lib/core/decorators/statusCode.ts"],"names":[],"mappings":";;;AAEA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACI,MAAM,UAAU,GAAG,CAAC,UAAwB,EAAmB,EAAE;IACpE,OAAO,CAAC,MAAW,EAAE,GAAQ,EAAE,UAA8B,EAAE,EAAE;QAC7D,MAAM,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC;QAExC,MAAM,IAAI,GAAG,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC;QAE1E,UAAU,CAAC,KAAK,GAAG,KAAK,WAAW,GAAc,EAAE,IAAoB;YACnE,IAAG,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;gBACtB,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;YACpE,CAAC;YACD,OAAO,MAAM,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QACtD,CAAC,CAAC;QAEF,OAAO,UAAU,CAAC;IACtB,CAAC,CAAC;AACN,CAAC,CAAC;AAfW,QAAA,UAAU,cAerB"}
1
+ {"version":3,"file":"statusCode.js","sourceRoot":"","sources":["../../../../src/lib/core/decorators/statusCode.ts"],"names":[],"mappings":";;;AAEA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACI,MAAM,UAAU,GAAG,CAAC,UAAwB,EAAmB,EAAE;IACpE,OAAO,CAAC,MAAW,EAAE,GAAQ,EAAE,UAA8B,EAAE,EAAE;QAC7D,MAAM,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC;QAExC,MAAM,IAAI,GAAG,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC;QAE1E,UAAU,CAAC,KAAK,GAAG,KAAK,WAAW,GAAc,EAAE,IAAoB;YACnE,IAAG,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;gBACtB,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,IAAoB,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;YACpF,CAAC;YACD,OAAO,MAAM,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QACtD,CAAC,CAAC;QAEF,OAAO,UAAU,CAAC;IACtB,CAAC,CAAC;AACN,CAAC,CAAC;AAfW,QAAA,UAAU,cAerB"}
@@ -1,5 +1,5 @@
1
- import { IncomingMessage, ServerResponse } from "http";
2
- type Handler = (req: IncomingMessage, res: ServerResponse, params: Record<string, string>) => any;
1
+ import type { T } from "../..";
2
+ type Handler = (req: T.Request, res: T.Response, params: Record<string, string>) => any;
3
3
  export declare class FastRouter {
4
4
  private trees;
5
5
  private _routes;
@@ -113,8 +113,8 @@ export declare class FastRouter {
113
113
  * It supports parameterized routes, static routes, and (optionally)
114
114
  * wildcard matching depending on router implementation.
115
115
  *
116
- * @param {IncomingMessage} req Incoming HTTP request object
117
- * @param {ServerResponse} res Server response object used to send output
116
+ * @param {T.Request} req Incoming HTTP request object
117
+ * @param {T.Response} res Server response object used to send output
118
118
  *
119
119
  * @returns void
120
120
  *
@@ -125,7 +125,7 @@ export declare class FastRouter {
125
125
  * This is typically called by the HTTP server layer and should not
126
126
  * be invoked directly in most application code.
127
127
  */
128
- lookup(req: IncomingMessage, res: ServerResponse): any;
128
+ lookup(req: T.Request, res: T.Response): any;
129
129
  private _createNode;
130
130
  private _add;
131
131
  private _extractParams;
@@ -160,8 +160,8 @@ class FastRouter {
160
160
  * It supports parameterized routes, static routes, and (optionally)
161
161
  * wildcard matching depending on router implementation.
162
162
  *
163
- * @param {IncomingMessage} req Incoming HTTP request object
164
- * @param {ServerResponse} res Server response object used to send output
163
+ * @param {T.Request} req Incoming HTTP request object
164
+ * @param {T.Response} res Server response object used to send output
165
165
  *
166
166
  * @returns void
167
167
  *
@@ -1 +1 @@
1
- {"version":3,"file":"fast-router.js","sourceRoot":"","sources":["../../../../src/lib/core/server/fast-router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fast-router.js","sourceRoot":"","sources":["../../../../src/lib/core/server/fast-router.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import type { IncomingMessage, ServerResponse } from "http";
2
+ import type { T } from "../../types";
3
+ export declare const httpAdaptRequestResponse: (req: IncomingMessage, res: ServerResponse) => {
4
+ req: T.Request;
5
+ res: T.Response;
6
+ };
7
+ export declare const httpBody: (req: T.Request, res: T.Response) => Promise<unknown>;
8
+ export declare const httpfiles: ({ req, res, options, }: {
9
+ req: T.Request;
10
+ res: T.Response;
11
+ options: {
12
+ limit: number;
13
+ tempFileDir: string;
14
+ removeTempFile: {
15
+ remove: boolean;
16
+ ms: number;
17
+ };
18
+ };
19
+ }) => Promise<{
20
+ body: T.Body;
21
+ files: T.FileUpload;
22
+ }>;
@@ -0,0 +1,220 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.httpfiles = exports.httpBody = exports.httpAdaptRequestResponse = void 0;
7
+ const fs_1 = __importDefault(require("fs"));
8
+ const path_1 = __importDefault(require("path"));
9
+ const mime_types_1 = __importDefault(require("mime-types"));
10
+ const crypto_1 = __importDefault(require("crypto"));
11
+ const string_decoder_1 = require("string_decoder");
12
+ const busboy_1 = __importDefault(require("busboy"));
13
+ const utils_1 = require("../../utils");
14
+ const httpAdaptRequestResponse = (req, res) => {
15
+ const headers = req.headers || {};
16
+ const request = {
17
+ http: req,
18
+ method: req.method?.toUpperCase() || "GET",
19
+ url: req.url || "/",
20
+ headers,
21
+ on(event, cb) {
22
+ return req.on(event, cb);
23
+ },
24
+ pipe(cb) {
25
+ return req.pipe(cb);
26
+ }
27
+ };
28
+ const response = {
29
+ http: res,
30
+ writableEnded: false,
31
+ aborted: false,
32
+ writeHeaders: Object.create(null),
33
+ headersSent: false,
34
+ statusCode: 200,
35
+ setHeader(key, value) {
36
+ if (!response.headersSent && !response.writableEnded) {
37
+ res.setHeader(key, value);
38
+ }
39
+ return response;
40
+ },
41
+ writeHeader(key, value) {
42
+ return response.setHeader(key, value);
43
+ },
44
+ writeHead(status, context) {
45
+ response.statusCode = status;
46
+ if (!response.headersSent) {
47
+ res.writeHead(status, context);
48
+ response.headersSent = true;
49
+ }
50
+ return response;
51
+ },
52
+ writeStatus(status) {
53
+ response.statusCode = status;
54
+ if (!response.headersSent) {
55
+ res.statusCode = status;
56
+ }
57
+ return response;
58
+ },
59
+ end(chunk) {
60
+ if (response.writableEnded)
61
+ return;
62
+ if (chunk == null) {
63
+ res.end();
64
+ return;
65
+ }
66
+ response.writableEnded = true;
67
+ if (!response.headersSent) {
68
+ res.statusCode = response.statusCode;
69
+ }
70
+ if (typeof chunk === 'string' ||
71
+ Buffer.isBuffer(chunk) ||
72
+ chunk instanceof Uint8Array) {
73
+ res.end(chunk);
74
+ return;
75
+ }
76
+ res.end(JSON.stringify(chunk));
77
+ return;
78
+ },
79
+ };
80
+ return {
81
+ req: request,
82
+ res: response,
83
+ };
84
+ };
85
+ exports.httpAdaptRequestResponse = httpAdaptRequestResponse;
86
+ const httpBody = (req, res) => {
87
+ return new Promise((resolve, reject) => {
88
+ const decoder = new string_decoder_1.StringDecoder("utf-8");
89
+ let payload = "";
90
+ req.on("data", (data) => {
91
+ payload += decoder.write(data);
92
+ });
93
+ req.on("end", async () => {
94
+ payload += decoder.end();
95
+ const contentType = req.headers["content-type"]?.toLowerCase() || null;
96
+ try {
97
+ const body = await (0, utils_1.normalizeRequestBody)({ contentType, payload });
98
+ return resolve(body);
99
+ }
100
+ catch (err) {
101
+ return reject(err);
102
+ }
103
+ });
104
+ req.on("error", (err) => {
105
+ return reject(err);
106
+ });
107
+ });
108
+ };
109
+ exports.httpBody = httpBody;
110
+ const httpfiles = async ({ req, res, options, }) => {
111
+ const temp = options.tempFileDir;
112
+ if (!fs_1.default.existsSync(temp)) {
113
+ try {
114
+ fs_1.default.mkdirSync(temp, { recursive: true });
115
+ }
116
+ catch (err) { }
117
+ }
118
+ return new Promise((resolve, reject) => {
119
+ const body = {};
120
+ const files = {};
121
+ const fileWritePromises = [];
122
+ const bb = (0, busboy_1.default)({ headers: req.headers, defParamCharset: "utf8" });
123
+ const removeTemp = (fileTemp, ms) => {
124
+ const remove = () => {
125
+ try {
126
+ fs_1.default.unlinkSync(fileTemp);
127
+ }
128
+ catch (err) { }
129
+ };
130
+ setTimeout(remove, ms);
131
+ };
132
+ bb.on("file", (fieldName, fileData, info) => {
133
+ const { filename, mimeType } = info;
134
+ const extension = mime_types_1.default.extension(mimeType) ||
135
+ path_1.default.extname(filename).replace(".", "") ||
136
+ "bin";
137
+ const tempFilename = crypto_1.default.randomBytes(16).toString("hex");
138
+ const filePath = path_1.default.join(path_1.default.resolve(), `${temp}/${tempFilename}`);
139
+ const writeStream = fs_1.default.createWriteStream(filePath);
140
+ let fileSize = 0;
141
+ fileData.on("data", (data) => {
142
+ fileSize += data.length;
143
+ if (fileSize > options.limit) {
144
+ fileData.unpipe(writeStream);
145
+ writeStream.destroy();
146
+ return reject(new Error(`The file '${fieldName}' is too large to be uploaded. The limit is '${options.limit}' bytes.`));
147
+ }
148
+ });
149
+ const fileWritePromise = new Promise((resolve, reject) => {
150
+ fileData.pipe(writeStream);
151
+ writeStream.on("finish", () => {
152
+ const file = {
153
+ name: filename,
154
+ tempFilePath: filePath,
155
+ tempFileName: tempFilename,
156
+ mimetype: mimeType,
157
+ extension: extension,
158
+ size: fileSize,
159
+ sizes: {
160
+ bytes: fileSize,
161
+ kb: fileSize / 1024,
162
+ mb: fileSize / 1024 / 1024,
163
+ gb: fileSize / 1024 / 1024 / 1024,
164
+ },
165
+ write: (to) => {
166
+ return new Promise((resolve, reject) => {
167
+ fs_1.default
168
+ .createReadStream(filePath)
169
+ .pipe(fs_1.default.createWriteStream(to))
170
+ .on("finish", () => {
171
+ return resolve(null);
172
+ })
173
+ .on("error", (err) => {
174
+ return reject(err);
175
+ });
176
+ });
177
+ },
178
+ remove: () => {
179
+ return new Promise((resolve) => setTimeout(() => {
180
+ fs_1.default.unlinkSync(filePath);
181
+ return resolve(null);
182
+ }, 100));
183
+ },
184
+ };
185
+ if (files[fieldName] == null) {
186
+ files[fieldName] = [];
187
+ }
188
+ files[fieldName].push(file);
189
+ if (options.removeTempFile.remove) {
190
+ removeTemp(filePath, options.removeTempFile.ms);
191
+ }
192
+ return resolve(null);
193
+ });
194
+ writeStream.on("error", reject);
195
+ });
196
+ fileWritePromises.push(fileWritePromise);
197
+ });
198
+ bb.on("field", (name, value) => {
199
+ body[name] = value;
200
+ });
201
+ bb.on("finish", () => {
202
+ Promise.all(fileWritePromises)
203
+ .then(() => {
204
+ return resolve({
205
+ files,
206
+ body,
207
+ });
208
+ })
209
+ .catch((err) => {
210
+ return reject(err);
211
+ });
212
+ });
213
+ bb.on("error", (err) => {
214
+ return reject(err);
215
+ });
216
+ req.pipe(bb);
217
+ });
218
+ };
219
+ exports.httpfiles = httpfiles;
220
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/lib/core/server/http/index.ts"],"names":[],"mappings":"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"}