topsyde-utils 1.0.3 → 1.0.4

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.
@@ -4,7 +4,7 @@ export declare const RESPONSE_METHOD_OPTIONS: {
4
4
  value: string;
5
5
  };
6
6
  declare class Application {
7
- static Response(data: any, status?: number, headers?: HeadersInit): Response;
7
+ static Response<T>(data: T, status?: number, headers?: HeadersInit): Response;
8
8
  static Error<T extends BodyInit | unknown | Error>(error: T, status?: number, headers?: HeadersInit): Response;
9
9
  static Throw<T extends BodyInit | unknown | Error>(error: T, status?: number, headers?: HeadersInit): Response;
10
10
  }
@@ -19,10 +19,19 @@ exports.RESPONSE_METHOD_OPTIONS = {
19
19
  };
20
20
  class Application {
21
21
  static Response(data, status = 200, headers) {
22
- return Response.json({ status: true, data }, (0, exports.RESPONSE_INIT)(status, headers));
22
+ const response = {
23
+ status: true,
24
+ data,
25
+ };
26
+ return Response.json(response, (0, exports.RESPONSE_INIT)(status, headers));
23
27
  }
24
28
  static Error(error, status = 200, headers) {
25
- return Response.json({ status: false, error }, (0, exports.RESPONSE_INIT)(status, headers));
29
+ const response = {
30
+ status: false,
31
+ data: error,
32
+ error,
33
+ };
34
+ return Response.json(response, (0, exports.RESPONSE_INIT)(status, headers));
26
35
  }
27
36
  static Throw(error, status = 400, headers) {
28
37
  return Response.json(error, (0, exports.RESPONSE_INIT)(status, headers));
@@ -1 +1 @@
1
- {"version":3,"file":"application.js","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":";;;AAAO,MAAM,aAAa,GAAG,CAAC,MAAe,EAAE,OAAqB,EAAgB,EAAE;IACrF,OAAO;QACN,MAAM,EAAE,MAAM,IAAI,GAAG;QACrB,OAAO,EAAE;YACR,cAAc,EAAE,kBAAkB;YAClC,8BAA8B,EAAE,oBAAoB;YACpD,8BAA8B,EAAE,6BAA6B;YAC7D,kCAAkC,EAAE,MAAM;SAC1C;KACD,CAAC;AACH,CAAC,CAAC;AAVW,QAAA,aAAa,iBAUxB;AAEW,QAAA,uBAAuB,GAAG;IACtC,IAAI,EAAE,wBAAwB;IAC9B,KAAK,EAAE,OAAO;CACd,CAAC;AAEF,MAAM,WAAW;IACT,MAAM,CAAC,QAAQ,CAAC,IAAS,EAAE,SAAiB,GAAG,EAAE,OAAqB;QAC5E,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,IAAA,qBAAa,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC9E,CAAC;IAEM,MAAM,CAAC,KAAK,CAAuC,KAAQ,EAAE,SAAiB,GAAG,EAAE,OAAqB;QAC9G,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAA,qBAAa,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAChF,CAAC;IAEM,MAAM,CAAC,KAAK,CAAuC,KAAQ,EAAE,SAAiB,GAAG,EAAE,OAAqB;QAC9G,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAA,qBAAa,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7D,CAAC;CACD;AAED,kBAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"application.js","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":";;;AAEO,MAAM,aAAa,GAAG,CAAC,MAAe,EAAE,OAAqB,EAAgB,EAAE;IACrF,OAAO;QACN,MAAM,EAAE,MAAM,IAAI,GAAG;QACrB,OAAO,EAAE;YACR,cAAc,EAAE,kBAAkB;YAClC,8BAA8B,EAAE,oBAAoB;YACpD,8BAA8B,EAAE,6BAA6B;YAC7D,kCAAkC,EAAE,MAAM;SAC1C;KACD,CAAC;AACH,CAAC,CAAC;AAVW,QAAA,aAAa,iBAUxB;AAEW,QAAA,uBAAuB,GAAG;IACtC,IAAI,EAAE,wBAAwB;IAC9B,KAAK,EAAE,OAAO;CACd,CAAC;AAEF,MAAM,WAAW;IACT,MAAM,CAAC,QAAQ,CAAI,IAAO,EAAE,SAAiB,GAAG,EAAE,OAAqB;QAC7E,MAAM,QAAQ,GAA6B;YAC1C,MAAM,EAAE,IAAI;YACZ,IAAI;SACJ,CAAC;QACF,OAAO,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAA,qBAAa,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAChE,CAAC;IAEM,MAAM,CAAC,KAAK,CAAuC,KAAQ,EAAE,SAAiB,GAAG,EAAE,OAAqB;QAC9G,MAAM,QAAQ,GAA6B;YAC1C,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,KAAK;YACX,KAAK;SACL,CAAC;QACF,OAAO,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAA,qBAAa,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAChE,CAAC;IAEM,MAAM,CAAC,KAAK,CAAuC,KAAQ,EAAE,SAAiB,GAAG,EAAE,OAAqB;QAC9G,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAA,qBAAa,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7D,CAAC;CACD;AAED,kBAAe,WAAW,CAAC"}
package/dist/index.d.ts CHANGED
@@ -4,6 +4,7 @@ export { default as Initializable } from "./initializable";
4
4
  export { default as Lib } from "./lib";
5
5
  export { default as RouterRouter_internal } from "./router/router.internal";
6
6
  export { default as RouterRouter } from "./router/router";
7
+ export { default as ServerController } from "./server/controller";
7
8
  export { default as Singleton } from "./singleton";
8
9
  export { default as Throwable } from "./throwable";
9
10
  export { RESPONSE_INIT, RESPONSE_METHOD_OPTIONS } from "./application";
@@ -12,3 +13,5 @@ export { E_IS, E_ENVIRONMENTS } from "./enums";
12
13
  export { ERROR_CODE, HTTP_ERROR_CODE, WS_ERROR_CODE } from "./errors";
13
14
  import * as RouterModule from "./router";
14
15
  export { RouterModule as Router };
16
+ import * as ServerModule from "./server";
17
+ export { ServerModule as Server };
package/dist/index.js CHANGED
@@ -38,7 +38,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
38
38
  return (mod && mod.__esModule) ? mod : { "default": mod };
39
39
  };
40
40
  Object.defineProperty(exports, "__esModule", { value: true });
41
- exports.Router = exports.WS_ERROR_CODE = exports.HTTP_ERROR_CODE = exports.ERROR_CODE = exports.E_ENVIRONMENTS = exports.E_IS = exports.LOG_COLORS = exports.DEFAULT_FALSE_RESPONSE = exports.RESPONSE_METHOD_OPTIONS = exports.RESPONSE_INIT = exports.Throwable = exports.Singleton = exports.RouterRouter = exports.RouterRouter_internal = exports.Lib = exports.Initializable = exports.Guards = exports.Application = void 0;
41
+ exports.Server = exports.Router = exports.WS_ERROR_CODE = exports.HTTP_ERROR_CODE = exports.ERROR_CODE = exports.E_ENVIRONMENTS = exports.E_IS = exports.LOG_COLORS = exports.DEFAULT_FALSE_RESPONSE = exports.RESPONSE_METHOD_OPTIONS = exports.RESPONSE_INIT = exports.Throwable = exports.Singleton = exports.ServerController = exports.RouterRouter = exports.RouterRouter_internal = exports.Lib = exports.Initializable = exports.Guards = exports.Application = void 0;
42
42
  // Export all modules
43
43
  // Export default classes
44
44
  var application_1 = require("./application");
@@ -53,6 +53,8 @@ var router_internal_1 = require("./router/router.internal");
53
53
  Object.defineProperty(exports, "RouterRouter_internal", { enumerable: true, get: function () { return __importDefault(router_internal_1).default; } });
54
54
  var router_1 = require("./router/router");
55
55
  Object.defineProperty(exports, "RouterRouter", { enumerable: true, get: function () { return __importDefault(router_1).default; } });
56
+ var controller_1 = require("./server/controller");
57
+ Object.defineProperty(exports, "ServerController", { enumerable: true, get: function () { return __importDefault(controller_1).default; } });
56
58
  var singleton_1 = require("./singleton");
57
59
  Object.defineProperty(exports, "Singleton", { enumerable: true, get: function () { return __importDefault(singleton_1).default; } });
58
60
  var throwable_1 = require("./throwable");
@@ -75,4 +77,7 @@ Object.defineProperty(exports, "WS_ERROR_CODE", { enumerable: true, get: functio
75
77
  // Create module for router
76
78
  const RouterModule = __importStar(require("./router"));
77
79
  exports.Router = RouterModule;
80
+ // Create module for server
81
+ const ServerModule = __importStar(require("./server"));
82
+ exports.Server = ServerModule;
78
83
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,6DAA6D;AAC7D,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEjC,qBAAqB;AAErB,yBAAyB;AACzB,6CAAuD;AAA9C,2HAAA,OAAO,OAAe;AAC/B,mCAA6C;AAApC,iHAAA,OAAO,OAAU;AAC1B,iDAA2D;AAAlD,+HAAA,OAAO,OAAiB;AACjC,6BAAuC;AAA9B,2GAAA,OAAO,OAAO;AACvB,4DAA4E;AAAnE,yIAAA,OAAO,OAAyB;AACzC,0CAA0D;AAAjD,uHAAA,OAAO,OAAgB;AAChC,yCAAmD;AAA1C,uHAAA,OAAO,OAAa;AAC7B,yCAAmD;AAA1C,uHAAA,OAAO,OAAa;AAE7B,sDAAsD;AACtD,6CAAuE;AAA9D,4GAAA,aAAa,OAAA;AAAE,sHAAA,uBAAuB,OAAA;AAC/C,mCAA8D;AAArD,gHAAA,sBAAsB,OAAA;AAAE,oGAAA,UAAU,OAAA;AAC3C,iCAA+C;AAAtC,6FAAA,IAAI,OAAA;AAAE,uGAAA,cAAc,OAAA;AAC7B,mCAAsE;AAA7D,oGAAA,UAAU,OAAA;AAAE,yGAAA,eAAe,OAAA;AAAE,uGAAA,aAAa,OAAA;AAEnD,oCAAoC;AACpC,2BAA2B;AAC3B,uDAAyC;AAChB,8BAAM"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,6DAA6D;AAC7D,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEjC,qBAAqB;AAErB,yBAAyB;AACzB,6CAAuD;AAA9C,2HAAA,OAAO,OAAe;AAC/B,mCAA6C;AAApC,iHAAA,OAAO,OAAU;AAC1B,iDAA2D;AAAlD,+HAAA,OAAO,OAAiB;AACjC,6BAAuC;AAA9B,2GAAA,OAAO,OAAO;AACvB,4DAA4E;AAAnE,yIAAA,OAAO,OAAyB;AACzC,0CAA0D;AAAjD,uHAAA,OAAO,OAAgB;AAChC,kDAAkE;AAAzD,+HAAA,OAAO,OAAoB;AACpC,yCAAmD;AAA1C,uHAAA,OAAO,OAAa;AAC7B,yCAAmD;AAA1C,uHAAA,OAAO,OAAa;AAE7B,sDAAsD;AACtD,6CAAuE;AAA9D,4GAAA,aAAa,OAAA;AAAE,sHAAA,uBAAuB,OAAA;AAC/C,mCAA8D;AAArD,gHAAA,sBAAsB,OAAA;AAAE,oGAAA,UAAU,OAAA;AAC3C,iCAA+C;AAAtC,6FAAA,IAAI,OAAA;AAAE,uGAAA,cAAc,OAAA;AAC7B,mCAAsE;AAA7D,oGAAA,UAAU,OAAA;AAAE,yGAAA,eAAe,OAAA;AAAE,uGAAA,aAAa,OAAA;AAEnD,oCAAoC;AACpC,2BAA2B;AAC3B,uDAAyC;AAChB,8BAAM;AAE/B,2BAA2B;AAC3B,uDAAyC;AAChB,8BAAM"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Configuration options for initialization
3
3
  */
4
- export interface InitOptions {
4
+ export interface InitializableOptions {
5
5
  /** Number of retry attempts (default: 25) */
6
6
  retries?: number;
7
7
  /** Time in milliseconds between retry attempts (default: 200) */
@@ -60,7 +60,7 @@ declare class Initializable {
60
60
  * Creates a new Initializable instance
61
61
  * @param options Configuration options
62
62
  */
63
- constructor(options?: InitOptions);
63
+ constructor(options?: InitializableOptions);
64
64
  /**
65
65
  * Initialize the object
66
66
  * @returns Promise that resolves when initialization is complete
@@ -1 +1 @@
1
- {"version":3,"file":"initializable.js","sourceRoot":"","sources":["../src/initializable.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"initializable.js","sourceRoot":"","sources":["../src/initializable.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,8 @@
1
- import { Controller } from "./routes";
2
1
  import Singleton from "../singleton";
3
- export type Routes = {
4
- [key: string]: new () => Controller;
5
- };
2
+ import { Routes } from "./routes";
6
3
  declare class Router extends Singleton {
7
4
  private internal;
8
- constructor();
5
+ constructor(routes?: Routes);
9
6
  private setRoutes;
10
7
  static Call<T>(request: Request): Promise<T>;
11
8
  static SetRoutes(routes: Routes): void;
@@ -1,7 +1,8 @@
1
- import type { Routes } from "./router";
1
+ import { Routes } from "./routes";
2
2
  declare class Router_Internal {
3
3
  private registry;
4
4
  private routes;
5
+ constructor(routes?: Routes);
5
6
  post<T>(req: Request): Promise<T>;
6
7
  get<T>(req: Request): Promise<T>;
7
8
  private handleRequest;
@@ -1,12 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const errors_1 = require("../errors");
4
3
  const __1 = require("..");
4
+ const errors_1 = require("../errors");
5
5
  const lib_1 = require("../lib");
6
6
  class Router_Internal {
7
- constructor() {
7
+ constructor(routes) {
8
8
  this.registry = new Map();
9
- this.routes = {};
9
+ this.routes = routes ?? {};
10
10
  }
11
11
  async post(req) {
12
12
  return await this.handleRequest(req);
@@ -1 +1 @@
1
- {"version":3,"file":"router.internal.js","sourceRoot":"","sources":["../../src/router/router.internal.ts"],"names":[],"mappings":";;AAAA,sCAAuC;AACvC,0BAA+B;AAC/B,gCAA+B;AAI/B,MAAM,eAAe;IAArB;QACS,aAAQ,GAAG,IAAI,GAAG,EAAsB,CAAC;QACzC,WAAM,GAAW,EAAE,CAAC;IA4C7B,CAAC;IA1CA,KAAK,CAAC,IAAI,CAAI,GAAY;QACzB,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,GAAG,CAAI,GAAY;QACxB,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC;IAEO,KAAK,CAAC,aAAa,CAAI,OAAgB;QAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtD,OAAO,MAAM,CAAC;IACf,CAAC;IAEO,OAAO,CAAC,OAAgB;QAC/B,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;IACtC,CAAC;IAEO,OAAO,CAAC,IAAY;QAC3B,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC;IAClF,CAAC;IAEO,QAAQ,CAAC,aAAqB,EAAE,OAAyB;QAChE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;YACvC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,EAAE,OAAO,EAAE,CAAC,CAAC;YAC5C,WAAK,CAAC,GAAG,CAAC,wBAAwB,aAAa,EAAE,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAe,CAAC;IACvD,CAAC;IAEM,SAAS,CAAC,MAAc;QAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACtB,CAAC;IAEO,iBAAiB,CAAC,aAAqB;QAC9C,IAAI,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC,MAAM,CAAC;YAAE,MAAM,IAAI,aAAS,CAAC,GAAG,mBAAU,CAAC,kBAAkB,KAAK,aAAa,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QAEpI,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,aAAyC,CAAC,CAAC;QAE/E,OAAO,IAAI,eAAe,EAAE,CAAC;IAC9B,CAAC;CACD;AAED,kBAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"router.internal.js","sourceRoot":"","sources":["../../src/router/router.internal.ts"],"names":[],"mappings":";;AAAA,0BAA+B;AAC/B,sCAAuC;AACvC,gCAA+B;AAI/B,MAAM,eAAe;IAIpB,YAAY,MAAe;QAHnB,aAAQ,GAAG,IAAI,GAAG,EAAsB,CAAC;QAIhD,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,EAAE,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,IAAI,CAAI,GAAY;QACzB,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,GAAG,CAAI,GAAY;QACxB,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC;IAEO,KAAK,CAAC,aAAa,CAAI,OAAgB;QAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAI,OAAO,CAAC,CAAC;QACzD,OAAO,MAAM,CAAC;IACf,CAAC;IAEO,OAAO,CAAC,OAAgB;QAC/B,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;IACtC,CAAC;IAEO,OAAO,CAAC,IAAY;QAC3B,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC;IAClF,CAAC;IAEO,QAAQ,CAAC,aAAqB,EAAE,OAAyB;QAChE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;YACvC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,EAAE,OAAO,EAAE,CAAC,CAAC;YAC5C,WAAK,CAAC,GAAG,CAAC,wBAAwB,aAAa,EAAE,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAe,CAAC;IACvD,CAAC;IAEM,SAAS,CAAC,MAAc;QAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACtB,CAAC;IAEO,iBAAiB,CAAC,aAAqB;QAC9C,IAAI,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC,MAAM,CAAC;YAAE,MAAM,IAAI,aAAS,CAAC,GAAG,mBAAU,CAAC,kBAAkB,KAAK,aAAa,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QAEpI,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,aAAyC,CAAC,CAAC;QAE/E,OAAO,IAAI,eAAe,EAAE,CAAC;IAC9B,CAAC;CACD;AAED,kBAAe,eAAe,CAAC"}
@@ -3,14 +3,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const router_internal_1 = __importDefault(require("./router.internal"));
7
6
  const errors_1 = require("../errors");
8
7
  const guards_1 = __importDefault(require("../guards"));
9
8
  const singleton_1 = __importDefault(require("../singleton"));
9
+ const router_internal_1 = __importDefault(require("./router.internal"));
10
10
  class Router extends singleton_1.default {
11
- constructor() {
11
+ constructor(routes) {
12
12
  super();
13
- this.internal = new router_internal_1.default();
13
+ this.internal = new router_internal_1.default(routes);
14
14
  }
15
15
  setRoutes(routes) {
16
16
  this.internal.setRoutes(routes);
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/router/router.ts"],"names":[],"mappings":";;;;;AACA,wEAAgD;AAChD,sCAAuC;AACvC,uDAA+B;AAC/B,6DAAqC;AAUrC,MAAM,MAAO,SAAQ,mBAAS;IAG7B;QACC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,QAAQ,GAAG,IAAI,yBAAe,EAAE,CAAC;IACvC,CAAC;IAEO,SAAS,CAAC,MAAc;QAC/B,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,IAAI,CAAI,OAAgB;QAC3C,IAAI,gBAAM,CAAC,KAAK,CAAC,OAAO,CAAC;YAAE,MAAM,mBAAU,CAAC,UAAU,CAAC;QACvD,MAAM,OAAO,GAAiB,IAAI,CAAC,YAAY,EAAE,CAAC;QAClD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAEvC,IAAI,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC;YAAE,MAAM,mBAAU,CAAC,cAAc,CAAC;QAE1D,OAAO,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IAEM,MAAM,CAAC,SAAS,CAAC,MAAc;QACrC,MAAM,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAEO,MAAM,CAAC,YAAY;QAC1B,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QACpC,OAAO;YACN,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,MAAM,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC;YAClD,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,MAAM,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;SACpD,CAAC;IACH,CAAC;IAEM,MAAM,CAAC,cAAc,CAAC,OAAgB;QAC5C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjC,OAAO,GAAG,CAAC,YAAY,CAAC;IACzB,CAAC;CACD;AAED,kBAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/router/router.ts"],"names":[],"mappings":";;;;;AAAA,sCAAuC;AACvC,uDAA+B;AAC/B,6DAAqC;AACrC,wEAAgD;AAOhD,MAAM,MAAO,SAAQ,mBAAS;IAG7B,YAAmB,MAAe;QACjC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,QAAQ,GAAG,IAAI,yBAAe,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;IAEO,SAAS,CAAC,MAAc;QAC/B,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,IAAI,CAAI,OAAgB;QAC3C,IAAI,gBAAM,CAAC,KAAK,CAAC,OAAO,CAAC;YAAE,MAAM,mBAAU,CAAC,UAAU,CAAC;QACvD,MAAM,OAAO,GAAiB,IAAI,CAAC,YAAY,EAAE,CAAC;QAClD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAEvC,IAAI,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC;YAAE,MAAM,mBAAU,CAAC,cAAc,CAAC;QAE1D,OAAO,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IAEM,MAAM,CAAC,SAAS,CAAC,MAAc;QACrC,MAAM,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAEO,MAAM,CAAC,YAAY;QAC1B,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QACpC,OAAO;YACN,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,MAAM,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC;YAClD,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,MAAM,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;SACpD,CAAC;IACH,CAAC;IAEM,MAAM,CAAC,cAAc,CAAC,OAAgB;QAC5C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjC,OAAO,GAAG,CAAC,YAAY,CAAC;IACzB,CAAC;CACD;AAED,kBAAe,MAAM,CAAC"}
@@ -1,5 +1,5 @@
1
- import type { Routes } from "./router";
1
+ import Controller from "../server/controller";
2
+ export type Routes = {
3
+ [key: string]: new () => Controller;
4
+ };
2
5
  export declare const routes: Routes;
3
- export declare class Controller {
4
- call: any;
5
- }
@@ -1,10 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Controller = exports.routes = void 0;
3
+ exports.routes = void 0;
4
4
  exports.routes = {};
5
- class Controller {
6
- }
7
- exports.Controller = Controller;
8
- class MockController extends Controller {
9
- }
10
5
  //# sourceMappingURL=routes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../src/router/routes.ts"],"names":[],"mappings":";;;AAEa,QAAA,MAAM,GAAW,EAAE,CAAC;AAEjC,MAAa,UAAU;CAEtB;AAFD,gCAEC;AAED,MAAM,cAAe,SAAQ,UAAU;CAAG"}
1
+ {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../src/router/routes.ts"],"names":[],"mappings":";;;AAMa,QAAA,MAAM,GAAW,EAAE,CAAC"}
@@ -0,0 +1,60 @@
1
+ import Initializable, { InitializableOptions } from "../initializable";
2
+ import { I_ApplicationResponse } from "../types";
3
+ export type ControllerResponse<T = unknown> = Promise<I_ApplicationResponse<T> | PromiseLike<I_ApplicationResponse<T>>>;
4
+ export type ControllerAction<T> = (req: Request) => ControllerResponse<T>;
5
+ export type ControllerMap<T = unknown> = Map<string, ControllerAction<T>>;
6
+ export type ControllerOptions<T = unknown> = InitializableOptions & {
7
+ path: string | undefined;
8
+ post: Map<string, ControllerAction<T>>;
9
+ get: ControllerMap<T>;
10
+ controllerMap: Map<string, ControllerMap<T>>;
11
+ };
12
+ export default abstract class Controller extends Initializable {
13
+ path: string | undefined;
14
+ post: Map<string, ControllerAction<any>>;
15
+ get: ControllerMap;
16
+ controllerMap: Map<string, ControllerMap>;
17
+ protected constructor(options: ControllerOptions);
18
+ static Create<T>(this: new () => T): T;
19
+ static AsyncCreate<T>(this: new () => T): Promise<T>;
20
+ call<T>(request: Request): Promise<T>;
21
+ private setControllerMap;
22
+ private resolve;
23
+ private resolveAction;
24
+ /**
25
+ * Abstract method that needs to be implemented in derived classes.
26
+ * This method is used to map post actions to their corresponding handler methods.
27
+ *
28
+ * Each action is a string that represents a specific operation, and the handler is a function that performs this operation.
29
+ * The handler is bound to the current context (`this`) to ensure it has access to the class's properties and methods.
30
+ *
31
+ * Example implementation:
32
+ *
33
+ * ```typescript
34
+ * setActionsMap() {
35
+ * this.post.set("action", this.controllerMethod.bind(this));
36
+ * }
37
+ * ```
38
+ *
39
+ * In this example, when "https://webserver_url:port/controller/action" is called by the router, the `controllerMethod` method will be called.
40
+ */
41
+ abstract POST(): void;
42
+ /**
43
+ * Abstract method that needs to be implemented in derived classes.
44
+ * This method is used to map actions to their corresponding handler methods.
45
+ *
46
+ * Each action is a string that represents a specific operation, and the handler is a function that performs this operation.
47
+ * The handler is bound to the current context (`this`) to ensure it has access to the class's properties and methods.
48
+ *
49
+ * Example implementation:
50
+ *
51
+ * ```typescript
52
+ * setActionsMap() {
53
+ * this.get.set("action", this.controllerMethod.bind(this));
54
+ * }
55
+ * ```
56
+ *
57
+ * In this example, when "https://webserver_url:port/controller/action" is called by the router, the `controllerMethod` method will be called.
58
+ */
59
+ abstract GET(): void;
60
+ }
@@ -0,0 +1,55 @@
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
+ const errors_1 = require("../errors");
7
+ const guards_1 = __importDefault(require("../guards"));
8
+ const initializable_1 = __importDefault(require("../initializable"));
9
+ class Controller extends initializable_1.default {
10
+ constructor(options) {
11
+ super(options);
12
+ this.post = new Map();
13
+ this.get = new Map();
14
+ this.controllerMap = new Map();
15
+ this.POST();
16
+ this.GET();
17
+ this.setControllerMap();
18
+ }
19
+ static Create() {
20
+ return new this();
21
+ }
22
+ static async AsyncCreate() {
23
+ return new this();
24
+ }
25
+ async call(request) {
26
+ await this.isInitialized();
27
+ const action = this.resolve(request);
28
+ return await action(request);
29
+ }
30
+ setControllerMap() {
31
+ this.controllerMap.set("GET", this.get);
32
+ this.controllerMap.set("POST", this.post);
33
+ }
34
+ resolve(req) {
35
+ const url = new URL(req.url);
36
+ const endpointArray = url.pathname.split("/");
37
+ const actionName = endpointArray.slice(2).join("/");
38
+ if (!guards_1.default.IsString(actionName, true))
39
+ throw errors_1.ERROR_CODE.INVALID_ACTION;
40
+ const methodMap = this.controllerMap.get(req.method);
41
+ if (guards_1.default.IsNil(methodMap)) {
42
+ throw errors_1.ERROR_CODE.INVALID_METHOD;
43
+ }
44
+ return this.resolveAction(methodMap, actionName);
45
+ }
46
+ resolveAction(methodMap, actionName) {
47
+ const action = methodMap.get(actionName);
48
+ if (!guards_1.default.IsFunction(action, true)) {
49
+ throw errors_1.ERROR_CODE.NO_ACTION_IN_MAP;
50
+ }
51
+ return action;
52
+ }
53
+ }
54
+ exports.default = Controller;
55
+ //# sourceMappingURL=controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controller.js","sourceRoot":"","sources":["../../src/server/controller.ts"],"names":[],"mappings":";;;;;AAAA,sCAAuC;AACvC,uDAA+B;AAC/B,qEAAuE;AAavE,MAA8B,UAAW,SAAQ,uBAAa;IAM7D,YAAsB,OAA0B;QAC/C,KAAK,CAAC,OAAO,CAAC,CAAC;QALhB,SAAI,GAAuC,IAAI,GAAG,EAAE,CAAC;QACrD,QAAG,GAAkB,IAAI,GAAG,EAAE,CAAC;QAC/B,kBAAa,GAA+B,IAAI,GAAG,EAAE,CAAC;QAIrD,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,IAAI,CAAC,GAAG,EAAE,CAAC;QACX,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACzB,CAAC;IAEM,MAAM,CAAC,MAAM;QACnB,OAAO,IAAI,IAAI,EAAE,CAAC;IACnB,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,WAAW;QAC9B,OAAO,IAAI,IAAI,EAAE,CAAC;IACnB,CAAC;IAEM,KAAK,CAAC,IAAI,CAAI,OAAgB;QACpC,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACrC,OAAO,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IAEO,gBAAgB;QACvB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAEO,OAAO,CAAC,GAAY;QAC3B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC7B,MAAM,aAAa,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9C,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEpD,IAAI,CAAC,gBAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC;YAAE,MAAM,mBAAU,CAAC,cAAc,CAAC;QAExE,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAErD,IAAI,gBAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7B,MAAM,mBAAU,CAAC,cAAc,CAAC;QACjC,CAAC;QAED,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAClD,CAAC;IAEO,aAAa,CAAC,SAAwB,EAAE,UAAkB;QACjE,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAa,CAAC;QAErD,IAAI,CAAC,gBAAM,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;YACtC,MAAM,mBAAU,CAAC,gBAAgB,CAAC;QACnC,CAAC;QAED,OAAO,MAAM,CAAC;IACf,CAAC;CAuCD;AA/FD,6BA+FC"}
@@ -0,0 +1,2 @@
1
+ export * from "./controller";
2
+ export { default as Controller } from "./controller";
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ // This file is auto-generated by scripts/generate-indexes.sh
3
+ // Do not edit this file directly
4
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5
+ if (k2 === undefined) k2 = k;
6
+ var desc = Object.getOwnPropertyDescriptor(m, k);
7
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
8
+ desc = { enumerable: true, get: function() { return m[k]; } };
9
+ }
10
+ Object.defineProperty(o, k2, desc);
11
+ }) : (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ o[k2] = m[k];
14
+ }));
15
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
17
+ };
18
+ var __importDefault = (this && this.__importDefault) || function (mod) {
19
+ return (mod && mod.__esModule) ? mod : { "default": mod };
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.Controller = void 0;
23
+ __exportStar(require("./controller"), exports);
24
+ var controller_1 = require("./controller");
25
+ Object.defineProperty(exports, "Controller", { enumerable: true, get: function () { return __importDefault(controller_1).default; } });
26
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":";AAAA,6DAA6D;AAC7D,iCAAiC;;;;;;;;;;;;;;;;;;;;AAEjC,+CAA6B;AAC7B,2CAAqD;AAA5C,yHAAA,OAAO,OAAc"}
package/dist/types.d.ts CHANGED
@@ -6,4 +6,9 @@ export type KVObj<T> = {
6
6
  key: string;
7
7
  value: T;
8
8
  };
9
+ export interface I_ApplicationResponse<T = unknown> {
10
+ status: boolean | number;
11
+ data: T;
12
+ error?: T;
13
+ }
9
14
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "topsyde-utils",
3
- "version": "1.0.3",
3
+ "version": "1.0.4",
4
4
  "description": "A bundle of TypeScript utility classes and functions",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",