@sharangyawali/sg-app 0.0.5

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.

Potentially problematic release.


This version of @sharangyawali/sg-app might be problematic. Click here for more details.

Files changed (165) hide show
  1. package/cls/cls.service.d.ts +8 -0
  2. package/cls/cls.service.js +33 -0
  3. package/cls/index.d.ts +1 -0
  4. package/cls/index.js +17 -0
  5. package/common/constants/index.d.ts +1 -0
  6. package/common/constants/index.js +17 -0
  7. package/common/constants/providers.constants.d.ts +1 -0
  8. package/common/constants/providers.constants.js +4 -0
  9. package/common/decorators/component.decorators.d.ts +2 -0
  10. package/common/decorators/component.decorators.js +14 -0
  11. package/common/decorators/controller.decorator.d.ts +2 -0
  12. package/common/decorators/controller.decorator.js +18 -0
  13. package/common/decorators/filters.decorator.d.ts +2 -0
  14. package/common/decorators/filters.decorator.js +19 -0
  15. package/common/decorators/guards.decorator.d.ts +4 -0
  16. package/common/decorators/guards.decorator.js +25 -0
  17. package/common/decorators/index.d.ts +10 -0
  18. package/common/decorators/index.js +26 -0
  19. package/common/decorators/inject.decorators.d.ts +3 -0
  20. package/common/decorators/inject.decorators.js +13 -0
  21. package/common/decorators/interceptors.decorator.d.ts +4 -0
  22. package/common/decorators/interceptors.decorator.js +25 -0
  23. package/common/decorators/middlewares.decorator.d.ts +3 -0
  24. package/common/decorators/middlewares.decorator.js +19 -0
  25. package/common/decorators/module.decorator.d.ts +2 -0
  26. package/common/decorators/module.decorator.js +31 -0
  27. package/common/decorators/parameter-validator.decorator.d.ts +5 -0
  28. package/common/decorators/parameter-validator.decorator.js +21 -0
  29. package/common/decorators/route-mapping.decorator.d.ts +5 -0
  30. package/common/decorators/route-mapping.decorator.js +32 -0
  31. package/common/enum/index.d.ts +3 -0
  32. package/common/enum/index.js +19 -0
  33. package/common/enum/request-method.enum.d.ts +11 -0
  34. package/common/enum/request-method.enum.js +15 -0
  35. package/common/enum/request-parameters.enum.d.ts +7 -0
  36. package/common/enum/request-parameters.enum.js +11 -0
  37. package/common/enum/scope.enum.d.ts +5 -0
  38. package/common/enum/scope.enum.js +9 -0
  39. package/common/http/http-context.d.ts +13 -0
  40. package/common/http/http-context.js +27 -0
  41. package/common/http/http-exception.d.ts +7 -0
  42. package/common/http/http-exception.js +17 -0
  43. package/common/http/index.d.ts +2 -0
  44. package/common/http/index.js +18 -0
  45. package/common/index.d.ts +5 -0
  46. package/common/index.js +21 -0
  47. package/common/interface/controller-method-paramenters.interface.d.ts +6 -0
  48. package/common/interface/controller-method-paramenters.interface.js +2 -0
  49. package/common/interface/controller-methods.interface.d.ts +6 -0
  50. package/common/interface/controller-methods.interface.js +2 -0
  51. package/common/interface/cors.interface.d.ts +14 -0
  52. package/common/interface/cors.interface.js +2 -0
  53. package/common/interface/features/index.d.ts +4 -0
  54. package/common/interface/features/index.js +20 -0
  55. package/common/interface/features/sg-filter.interface.d.ts +4 -0
  56. package/common/interface/features/sg-filter.interface.js +2 -0
  57. package/common/interface/features/sg-guard.interface.d.ts +4 -0
  58. package/common/interface/features/sg-guard.interface.js +2 -0
  59. package/common/interface/features/sg-interceptor.interface.d.ts +4 -0
  60. package/common/interface/features/sg-interceptor.interface.js +2 -0
  61. package/common/interface/features/sg-middleware.interface.d.ts +4 -0
  62. package/common/interface/features/sg-middleware.interface.js +2 -0
  63. package/common/interface/global-middleware-options.interface.d.ts +5 -0
  64. package/common/interface/global-middleware-options.interface.js +2 -0
  65. package/common/interface/global-prefix-options.interface.d.ts +4 -0
  66. package/common/interface/global-prefix-options.interface.js +2 -0
  67. package/common/interface/index.d.ts +15 -0
  68. package/common/interface/index.js +31 -0
  69. package/common/interface/injectable-options.interface.d.ts +5 -0
  70. package/common/interface/injectable-options.interface.js +2 -0
  71. package/common/interface/injection-token.interface.d.ts +2 -0
  72. package/common/interface/injection-token.interface.js +2 -0
  73. package/common/interface/module-options.interface.d.ts +6 -0
  74. package/common/interface/module-options.interface.js +2 -0
  75. package/common/interface/provider.interface.d.ts +30 -0
  76. package/common/interface/provider.interface.js +2 -0
  77. package/common/interface/route-info.interface.d.ts +5 -0
  78. package/common/interface/route-info.interface.js +2 -0
  79. package/common/interface/sg-application.interface.d.ts +8 -0
  80. package/common/interface/sg-application.interface.js +2 -0
  81. package/common/interface/sg-factory.interface.d.ts +8 -0
  82. package/common/interface/sg-factory.interface.js +2 -0
  83. package/common/interface/sg-interceptor.interface.d.ts +3 -0
  84. package/common/interface/sg-interceptor.interface.js +2 -0
  85. package/common/interface/static-route.interface.d.ts +20 -0
  86. package/common/interface/static-route.interface.js +2 -0
  87. package/common/interface/type.interface.d.ts +3 -0
  88. package/common/interface/type.interface.js +2 -0
  89. package/config/config-service.d.ts +3 -0
  90. package/config/config-service.js +11 -0
  91. package/config/index.d.ts +1 -0
  92. package/config/index.js +17 -0
  93. package/di-container.d.ts +15 -0
  94. package/di-container.js +103 -0
  95. package/index.d.ts +9 -0
  96. package/index.js +25 -0
  97. package/logger/index.d.ts +1 -0
  98. package/logger/index.js +17 -0
  99. package/logger/logger-service.d.ts +9 -0
  100. package/logger/logger-service.js +44 -0
  101. package/package.json +24 -0
  102. package/routes-config.d.ts +22 -0
  103. package/routes-config.js +204 -0
  104. package/set-meta-data.d.ts +1 -0
  105. package/set-meta-data.js +35 -0
  106. package/sg-application.d.ts +12 -0
  107. package/sg-application.js +37 -0
  108. package/sg-factory.d.ts +6 -0
  109. package/sg-factory.js +22 -0
  110. package/src/cls/cls.service.ts +31 -0
  111. package/src/cls/index.ts +1 -0
  112. package/src/common/constants/index.ts +1 -0
  113. package/src/common/constants/providers.constants.ts +1 -0
  114. package/src/common/decorators/component.decorators.ts +13 -0
  115. package/src/common/decorators/controller.decorator.ts +16 -0
  116. package/src/common/decorators/filters.decorator.ts +17 -0
  117. package/src/common/decorators/guards.decorator.ts +26 -0
  118. package/src/common/decorators/index.ts +10 -0
  119. package/src/common/decorators/inject.decorators.ts +12 -0
  120. package/src/common/decorators/interceptors.decorator.ts +26 -0
  121. package/src/common/decorators/middlewares.decorator.ts +18 -0
  122. package/src/common/decorators/module.decorator.ts +29 -0
  123. package/src/common/decorators/parameter-validator.decorator.ts +17 -0
  124. package/src/common/decorators/route-mapping.decorator.ts +27 -0
  125. package/src/common/enum/index.ts +3 -0
  126. package/src/common/enum/request-method.enum.ts +11 -0
  127. package/src/common/enum/request-parameters.enum.ts +7 -0
  128. package/src/common/enum/scope.enum.ts +5 -0
  129. package/src/common/http/http-context.ts +25 -0
  130. package/src/common/http/http-exception.ts +12 -0
  131. package/src/common/http/index.ts +2 -0
  132. package/src/common/index.ts +5 -0
  133. package/src/common/interface/controller-method-paramenters.interface.ts +7 -0
  134. package/src/common/interface/controller-methods.interface.ts +7 -0
  135. package/src/common/interface/cors.interface.ts +15 -0
  136. package/src/common/interface/features/index.ts +4 -0
  137. package/src/common/interface/features/sg-filter.interface.ts +5 -0
  138. package/src/common/interface/features/sg-guard.interface.ts +5 -0
  139. package/src/common/interface/features/sg-interceptor.interface.ts +5 -0
  140. package/src/common/interface/features/sg-middleware.interface.ts +5 -0
  141. package/src/common/interface/global-middleware-options.interface.ts +7 -0
  142. package/src/common/interface/global-prefix-options.interface.ts +5 -0
  143. package/src/common/interface/index.ts +15 -0
  144. package/src/common/interface/injectable-options.interface.ts +6 -0
  145. package/src/common/interface/injection-token.interface.ts +2 -0
  146. package/src/common/interface/module-options.interface.ts +7 -0
  147. package/src/common/interface/provider.interface.ts +36 -0
  148. package/src/common/interface/route-info.interface.ts +6 -0
  149. package/src/common/interface/sg-application.interface.ts +9 -0
  150. package/src/common/interface/sg-factory.interface.ts +10 -0
  151. package/src/common/interface/sg-interceptor.interface.ts +3 -0
  152. package/src/common/interface/static-route.interface.ts +22 -0
  153. package/src/common/interface/type.interface.ts +3 -0
  154. package/src/config/config-service.ts +7 -0
  155. package/src/config/index.ts +1 -0
  156. package/src/di-container.ts +135 -0
  157. package/src/index.ts +9 -0
  158. package/src/logger/index.ts +1 -0
  159. package/src/logger/logger-service.ts +48 -0
  160. package/src/routes-config.ts +305 -0
  161. package/src/set-meta-data.ts +30 -0
  162. package/src/sg-application.ts +29 -0
  163. package/src/sg-factory.ts +15 -0
  164. package/tsconfig.json +31 -0
  165. package/tsconfig.tsbuildinfo +1 -0
@@ -0,0 +1,8 @@
1
+ import { Request } from "express";
2
+ export declare class CLSService {
3
+ private readonly asyncLocalStorage;
4
+ constructor();
5
+ run(req: Request, fn: () => Promise<any> | any): any;
6
+ set(key: string, value: any): void;
7
+ get<T = any>(key: string): T;
8
+ }
@@ -0,0 +1,33 @@
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.CLSService = void 0;
7
+ const async_hooks_1 = require("async_hooks");
8
+ const crypto_1 = __importDefault(require("crypto"));
9
+ class CLSService {
10
+ asyncLocalStorage;
11
+ constructor() {
12
+ this.asyncLocalStorage = new async_hooks_1.AsyncLocalStorage();
13
+ }
14
+ run(req, fn) {
15
+ const requestId = crypto_1.default.randomUUID();
16
+ return this.asyncLocalStorage.run({ requestId, request: req }, fn);
17
+ }
18
+ set(key, value) {
19
+ const store = this.asyncLocalStorage.getStore();
20
+ if (!store) {
21
+ throw new Error("CLS context not initialized");
22
+ }
23
+ store[key] = value;
24
+ }
25
+ get(key) {
26
+ const store = this.asyncLocalStorage.getStore();
27
+ if (!store) {
28
+ throw new Error("CLS context not initialized");
29
+ }
30
+ return store[key];
31
+ }
32
+ }
33
+ exports.CLSService = CLSService;
package/cls/index.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from "./cls.service";
package/cls/index.js ADDED
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./cls.service"), exports);
@@ -0,0 +1 @@
1
+ export * from "./providers.constants";
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./providers.constants"), exports);
@@ -0,0 +1 @@
1
+ export declare const REQUEST = "request";
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.REQUEST = void 0;
4
+ exports.REQUEST = "request";
@@ -0,0 +1,2 @@
1
+ import { InjectableOptions } from "../interface";
2
+ export declare function Component(options?: InjectableOptions): ClassDecorator;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Component = Component;
4
+ const di_container_1 = require("../../di-container");
5
+ const enum_1 = require("../enum");
6
+ function Component(options) {
7
+ return function (target) {
8
+ di_container_1.container.register({
9
+ token: options && options.token ? options.token : target,
10
+ useClass: target,
11
+ scope: options && options.scope ? options.scope : enum_1.Scope.SINGLETON
12
+ });
13
+ };
14
+ }
@@ -0,0 +1,2 @@
1
+ export declare const controllers: any[];
2
+ export declare function RestController(prefix?: string): ClassDecorator;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.controllers = void 0;
4
+ exports.RestController = RestController;
5
+ const di_container_1 = require("../../di-container");
6
+ const enum_1 = require("../enum");
7
+ exports.controllers = [];
8
+ function RestController(prefix = "/") {
9
+ return function (target) {
10
+ target.prototype.prefix = prefix[0] !== "/" ? "/" + prefix : prefix;
11
+ exports.controllers.push(target);
12
+ di_container_1.container.register({
13
+ token: target,
14
+ useClass: target,
15
+ scope: enum_1.Scope.SINGLETON
16
+ });
17
+ };
18
+ }
@@ -0,0 +1,2 @@
1
+ export declare const filters: any[];
2
+ export declare function Catch(): ClassDecorator;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.filters = void 0;
4
+ exports.Catch = Catch;
5
+ const di_container_1 = require("../../di-container");
6
+ const enum_1 = require("../enum");
7
+ exports.filters = [];
8
+ function Catch() {
9
+ return function (target) {
10
+ if (typeof target.prototype.catch !== "function")
11
+ throw new Error(`${target.name} does not implements catch method`);
12
+ exports.filters.push(target);
13
+ di_container_1.container.register({
14
+ token: target,
15
+ useClass: target,
16
+ scope: enum_1.Scope.SINGLETON
17
+ });
18
+ };
19
+ }
@@ -0,0 +1,4 @@
1
+ import { SGGuard } from "../interface";
2
+ export declare const globalGuards: any[];
3
+ export declare function UseGuard(...guardClasses: (SGGuard | Function)[]): MethodDecorator;
4
+ export declare function GlobalGuard(): ClassDecorator;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.globalGuards = void 0;
4
+ exports.UseGuard = UseGuard;
5
+ exports.GlobalGuard = GlobalGuard;
6
+ const di_container_1 = require("../../di-container");
7
+ const enum_1 = require("../enum");
8
+ exports.globalGuards = [];
9
+ function UseGuard(...guardClasses) {
10
+ return function (target, propertyKey) {
11
+ target[propertyKey].guards = guardClasses;
12
+ };
13
+ }
14
+ function GlobalGuard() {
15
+ return function (target) {
16
+ if (typeof target.prototype.canAccess !== "function")
17
+ throw new Error(`${target.name} does not implements canActivate method`);
18
+ exports.globalGuards.push(target);
19
+ di_container_1.container.register({
20
+ token: target,
21
+ useClass: target,
22
+ scope: enum_1.Scope.SINGLETON
23
+ });
24
+ };
25
+ }
@@ -0,0 +1,10 @@
1
+ export * from "./controller.decorator";
2
+ export * from "./filters.decorator";
3
+ export * from "./guards.decorator";
4
+ export * from "./interceptors.decorator";
5
+ export * from "./middlewares.decorator";
6
+ export * from "./parameter-validator.decorator";
7
+ export * from "./route-mapping.decorator";
8
+ export * from "./module.decorator";
9
+ export * from "./component.decorators";
10
+ export * from "./inject.decorators";
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./controller.decorator"), exports);
18
+ __exportStar(require("./filters.decorator"), exports);
19
+ __exportStar(require("./guards.decorator"), exports);
20
+ __exportStar(require("./interceptors.decorator"), exports);
21
+ __exportStar(require("./middlewares.decorator"), exports);
22
+ __exportStar(require("./parameter-validator.decorator"), exports);
23
+ __exportStar(require("./route-mapping.decorator"), exports);
24
+ __exportStar(require("./module.decorator"), exports);
25
+ __exportStar(require("./component.decorators"), exports);
26
+ __exportStar(require("./inject.decorators"), exports);
@@ -0,0 +1,3 @@
1
+ import { Token } from "../interface";
2
+ import "reflect-metadata";
3
+ export declare function Inject(token: Token): ParameterDecorator & PropertyDecorator;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Inject = Inject;
4
+ require("reflect-metadata");
5
+ function Inject(token) {
6
+ return (target, _, index) => {
7
+ if (typeof index === "number") {
8
+ const existing = Reflect.getMetadata("custom:inject_tokens", target) || {};
9
+ existing[index] = token;
10
+ Reflect.defineMetadata("custom:inject_tokens", existing, target);
11
+ }
12
+ };
13
+ }
@@ -0,0 +1,4 @@
1
+ import { SGInterceptor } from "../interface";
2
+ export declare const globalInterceptors: any[];
3
+ export declare function UseInterceptor(...interceptorClasses: (SGInterceptor | Function)[]): MethodDecorator;
4
+ export declare function GlobalInterceptors(): ClassDecorator;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.globalInterceptors = void 0;
4
+ exports.UseInterceptor = UseInterceptor;
5
+ exports.GlobalInterceptors = GlobalInterceptors;
6
+ const di_container_1 = require("../../di-container");
7
+ const enum_1 = require("../enum");
8
+ exports.globalInterceptors = [];
9
+ function UseInterceptor(...interceptorClasses) {
10
+ return function (target, propertyKey) {
11
+ target[propertyKey].interceptors = interceptorClasses;
12
+ };
13
+ }
14
+ function GlobalInterceptors() {
15
+ return function (target) {
16
+ if (typeof target.prototype.intercept !== "function")
17
+ throw new Error(`${target.name} does not implements intercept method`);
18
+ exports.globalInterceptors.push(target);
19
+ di_container_1.container.register({
20
+ token: target,
21
+ useClass: target,
22
+ scope: enum_1.Scope.SINGLETON
23
+ });
24
+ };
25
+ }
@@ -0,0 +1,3 @@
1
+ import { MiddlewareOptions } from "../interface/global-middleware-options.interface";
2
+ export declare const middlewares: any[];
3
+ export declare function Middleware(options?: MiddlewareOptions): ClassDecorator;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.middlewares = void 0;
4
+ exports.Middleware = Middleware;
5
+ const di_container_1 = require("../../di-container");
6
+ const scope_enum_1 = require("../enum/scope.enum");
7
+ exports.middlewares = [];
8
+ function Middleware(options) {
9
+ return function (target) {
10
+ if (typeof target.prototype.use !== "function")
11
+ throw new Error(`${target.name} does not implements use method`);
12
+ exports.middlewares.push({ target, options });
13
+ di_container_1.container.register({
14
+ token: target,
15
+ useClass: target,
16
+ scope: scope_enum_1.Scope.SINGLETON
17
+ });
18
+ };
19
+ }
@@ -0,0 +1,2 @@
1
+ import { ModuleOptions } from "../interface";
2
+ export declare function Module(options?: ModuleOptions): ClassDecorator;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Module = Module;
4
+ const di_container_1 = require("../../di-container");
5
+ const enum_1 = require("../enum");
6
+ function Module(options) {
7
+ return function (target) {
8
+ if (options.providers) {
9
+ options.providers.forEach((p) => {
10
+ if (Object.keys(p).length > 0) {
11
+ const provider = p;
12
+ di_container_1.container.register({
13
+ scope: provider.scope || enum_1.Scope.SINGLETON,
14
+ token: provider.token,
15
+ useValue: provider.useValue,
16
+ useClass: provider.useClass,
17
+ useFactory: provider.useFactory,
18
+ inject: provider.inject
19
+ });
20
+ }
21
+ else {
22
+ di_container_1.container.register({
23
+ scope: enum_1.Scope.SINGLETON,
24
+ token: p,
25
+ useClass: p
26
+ });
27
+ }
28
+ });
29
+ }
30
+ };
31
+ }
@@ -0,0 +1,5 @@
1
+ export declare const Query: (dtoClass: any) => ParameterDecorator;
2
+ export declare const Body: (dtoClass: any) => ParameterDecorator;
3
+ export declare const Params: (dtoClass: any) => ParameterDecorator;
4
+ export declare const UploadedFile: () => ParameterDecorator;
5
+ export declare const UploadedFiles: () => ParameterDecorator;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UploadedFiles = exports.UploadedFile = exports.Params = exports.Body = exports.Query = void 0;
4
+ const enum_1 = require("../enum");
5
+ function Validator(data, dtoClass) {
6
+ return function (target, propertyKey, index) {
7
+ const parameters = target[propertyKey].parameters || [];
8
+ parameters.push({ index, dtoClass, paramType: data });
9
+ target[propertyKey].parameters = parameters;
10
+ };
11
+ }
12
+ const Query = (dtoClass) => Validator(enum_1.RequestParameters.QUERY, dtoClass);
13
+ exports.Query = Query;
14
+ const Body = (dtoClass) => Validator(enum_1.RequestParameters.BODY, dtoClass);
15
+ exports.Body = Body;
16
+ const Params = (dtoClass) => Validator(enum_1.RequestParameters.PARAMS, dtoClass);
17
+ exports.Params = Params;
18
+ const UploadedFile = () => Validator(enum_1.RequestParameters.FILE, null);
19
+ exports.UploadedFile = UploadedFile;
20
+ const UploadedFiles = () => Validator(enum_1.RequestParameters.FILES, null);
21
+ exports.UploadedFiles = UploadedFiles;
@@ -0,0 +1,5 @@
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;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Delete = exports.Patch = exports.Put = exports.Post = exports.Get = void 0;
4
+ function RequestMapping(method, path) {
5
+ return function (target, propertyKey) {
6
+ const methods = target.methods || [];
7
+ const index = methods.findIndex((m) => m.handler === propertyKey);
8
+ if (index > -1)
9
+ methods[index] = {
10
+ ...methods[index],
11
+ method: method,
12
+ path: path && path.length > 0 && path[0] !== "/" ? "/" + path : path
13
+ };
14
+ else
15
+ methods.push({
16
+ handler: propertyKey,
17
+ method,
18
+ path: path && path.length > 0 && path[0] !== "/" ? "/" + path : path
19
+ });
20
+ target.methods = methods;
21
+ };
22
+ }
23
+ const Get = (path) => RequestMapping("get", path);
24
+ exports.Get = Get;
25
+ const Post = (path) => RequestMapping("post", path);
26
+ exports.Post = Post;
27
+ const Put = (path) => RequestMapping("put", path);
28
+ exports.Put = Put;
29
+ const Patch = (path) => RequestMapping("patch", path);
30
+ exports.Patch = Patch;
31
+ const Delete = (path) => RequestMapping("delete", path);
32
+ exports.Delete = Delete;
@@ -0,0 +1,3 @@
1
+ export * from "./request-method.enum";
2
+ export * from "./request-parameters.enum";
3
+ export * from "./scope.enum";
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./request-method.enum"), exports);
18
+ __exportStar(require("./request-parameters.enum"), exports);
19
+ __exportStar(require("./scope.enum"), exports);
@@ -0,0 +1,11 @@
1
+ export declare enum RequestMethodEnum {
2
+ POST = "post",
3
+ GET = "get",
4
+ DELETE = "delete",
5
+ PUT = "put",
6
+ PATCH = "patch",
7
+ ALL = "all",
8
+ OPTIONS = "options",
9
+ HEAD = "head",
10
+ SEARCH = "search"
11
+ }
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RequestMethodEnum = void 0;
4
+ var RequestMethodEnum;
5
+ (function (RequestMethodEnum) {
6
+ RequestMethodEnum["POST"] = "post";
7
+ RequestMethodEnum["GET"] = "get";
8
+ RequestMethodEnum["DELETE"] = "delete";
9
+ RequestMethodEnum["PUT"] = "put";
10
+ RequestMethodEnum["PATCH"] = "patch";
11
+ RequestMethodEnum["ALL"] = "all";
12
+ RequestMethodEnum["OPTIONS"] = "options";
13
+ RequestMethodEnum["HEAD"] = "head";
14
+ RequestMethodEnum["SEARCH"] = "search";
15
+ })(RequestMethodEnum || (exports.RequestMethodEnum = RequestMethodEnum = {}));
@@ -0,0 +1,7 @@
1
+ export declare enum RequestParameters {
2
+ QUERY = "query",
3
+ BODY = "body",
4
+ PARAMS = "params",
5
+ FILE = "file",
6
+ FILES = "files"
7
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RequestParameters = void 0;
4
+ var RequestParameters;
5
+ (function (RequestParameters) {
6
+ RequestParameters["QUERY"] = "query";
7
+ RequestParameters["BODY"] = "body";
8
+ RequestParameters["PARAMS"] = "params";
9
+ RequestParameters["FILE"] = "file";
10
+ RequestParameters["FILES"] = "files";
11
+ })(RequestParameters || (exports.RequestParameters = RequestParameters = {}));
@@ -0,0 +1,5 @@
1
+ export declare enum Scope {
2
+ SINGLETON = "singleton",
3
+ TRANSIENT = "transient",
4
+ REQUEST = "request"
5
+ }
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Scope = void 0;
4
+ var Scope;
5
+ (function (Scope) {
6
+ Scope["SINGLETON"] = "singleton";
7
+ Scope["TRANSIENT"] = "transient";
8
+ Scope["REQUEST"] = "request";
9
+ })(Scope || (exports.Scope = Scope = {}));
@@ -0,0 +1,13 @@
1
+ import { Request, Response } from "express";
2
+ import { ControllerMethods } from "../interface";
3
+ export declare class HttpContext {
4
+ private readonly request;
5
+ private readonly response;
6
+ private readonly methodMeta;
7
+ private readonly req;
8
+ private readonly res;
9
+ constructor(request: Request, response: Response, methodMeta: ControllerMethods);
10
+ getRequest(): Request;
11
+ getResponse(): Response;
12
+ getMetaData<T>(key: string): T;
13
+ }
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HttpContext = void 0;
4
+ class HttpContext {
5
+ request;
6
+ response;
7
+ methodMeta;
8
+ req;
9
+ res;
10
+ constructor(request, response, methodMeta) {
11
+ this.request = request;
12
+ this.response = response;
13
+ this.methodMeta = methodMeta;
14
+ this.req = request;
15
+ this.res = response;
16
+ }
17
+ getRequest() {
18
+ return this.req;
19
+ }
20
+ getResponse() {
21
+ return this.res;
22
+ }
23
+ getMetaData(key) {
24
+ return this.methodMeta[key];
25
+ }
26
+ }
27
+ exports.HttpContext = HttpContext;
@@ -0,0 +1,7 @@
1
+ export declare class HttpException extends Error {
2
+ private readonly msg;
3
+ private readonly status;
4
+ readonly message: any;
5
+ readonly statusCode: number;
6
+ constructor(msg?: any, status?: number);
7
+ }
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HttpException = void 0;
4
+ class HttpException extends Error {
5
+ msg;
6
+ status;
7
+ message;
8
+ statusCode;
9
+ constructor(msg = "Internal Server Error", status = 500) {
10
+ super(msg);
11
+ this.msg = msg;
12
+ this.status = status;
13
+ this.message = msg;
14
+ this.statusCode = status;
15
+ }
16
+ }
17
+ exports.HttpException = HttpException;
@@ -0,0 +1,2 @@
1
+ export * from "./http-context";
2
+ export * from "./http-exception";
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./http-context"), exports);
18
+ __exportStar(require("./http-exception"), exports);
@@ -0,0 +1,5 @@
1
+ export * from "./decorators";
2
+ export * from "./enum";
3
+ export * from "./interface";
4
+ export * from "./http";
5
+ export * from "./constants";
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./decorators"), exports);
18
+ __exportStar(require("./enum"), exports);
19
+ __exportStar(require("./interface"), exports);
20
+ __exportStar(require("./http"), exports);
21
+ __exportStar(require("./constants"), exports);