topsyde-utils 1.0.1 → 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.
Files changed (43) hide show
  1. package/README.md +65 -3
  2. package/dist/{app.d.ts → application.d.ts} +1 -1
  3. package/dist/{app.js → application.js} +12 -3
  4. package/dist/application.js.map +1 -0
  5. package/dist/enums.js.map +1 -1
  6. package/dist/index.d.ts +16 -12
  7. package/dist/index.js +19 -11
  8. package/dist/index.js.map +1 -1
  9. package/dist/initializable.d.ts +3 -3
  10. package/dist/initializable.js +20 -22
  11. package/dist/initializable.js.map +1 -1
  12. package/dist/lib.js +14 -42
  13. package/dist/lib.js.map +1 -1
  14. package/dist/router/index.d.ts +5 -5
  15. package/dist/router/index.js +5 -5
  16. package/dist/router/index.js.map +1 -1
  17. package/dist/router/router.d.ts +10 -18
  18. package/dist/router/router.internal.d.ts +15 -0
  19. package/dist/router/router.internal.js +47 -0
  20. package/dist/router/router.internal.js.map +1 -0
  21. package/dist/router/router.js +34 -26
  22. package/dist/router/router.js.map +1 -1
  23. package/dist/router/routes.d.ts +5 -0
  24. package/dist/router/routes.js +5 -0
  25. package/dist/router/routes.js.map +1 -0
  26. package/dist/server/controller.d.ts +60 -0
  27. package/dist/server/controller.js +55 -0
  28. package/dist/server/controller.js.map +1 -0
  29. package/dist/server/index.d.ts +2 -0
  30. package/dist/server/index.js +26 -0
  31. package/dist/server/index.js.map +1 -0
  32. package/dist/singleton.js.map +1 -1
  33. package/dist/throwable.js +1 -5
  34. package/dist/throwable.js.map +1 -1
  35. package/dist/types.d.ts +5 -0
  36. package/package.json +9 -9
  37. package/dist/app.js.map +0 -1
  38. package/dist/router/middleware.d.ts +0 -21
  39. package/dist/router/middleware.js +0 -47
  40. package/dist/router/middleware.js.map +0 -1
  41. package/dist/router/route.d.ts +0 -14
  42. package/dist/router/route.js +0 -22
  43. package/dist/router/route.js.map +0 -1
@@ -19,12 +19,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
19
19
  return (mod && mod.__esModule) ? mod : { "default": mod };
20
20
  };
21
21
  Object.defineProperty(exports, "__esModule", { value: true });
22
- exports.Router = exports.Route = void 0;
23
- __exportStar(require("./middleware"), exports);
24
- __exportStar(require("./route"), exports);
25
- var route_1 = require("./route");
26
- Object.defineProperty(exports, "Route", { enumerable: true, get: function () { return __importDefault(route_1).default; } });
22
+ exports.Router = exports.Router_internal = void 0;
23
+ __exportStar(require("./router.internal"), exports);
24
+ var router_internal_1 = require("./router.internal");
25
+ Object.defineProperty(exports, "Router_internal", { enumerable: true, get: function () { return __importDefault(router_internal_1).default; } });
27
26
  __exportStar(require("./router"), exports);
28
27
  var router_1 = require("./router");
29
28
  Object.defineProperty(exports, "Router", { enumerable: true, get: function () { return __importDefault(router_1).default; } });
29
+ __exportStar(require("./routes"), exports);
30
30
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/router/index.ts"],"names":[],"mappings":";AAAA,6DAA6D;AAC7D,iCAAiC;;;;;;;;;;;;;;;;;;;;AAEjC,+CAA6B;AAC7B,0CAAwB;AACxB,iCAA2C;AAAlC,+GAAA,OAAO,OAAS;AACzB,2CAAyB;AACzB,mCAA6C;AAApC,iHAAA,OAAO,OAAU"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/router/index.ts"],"names":[],"mappings":";AAAA,6DAA6D;AAC7D,iCAAiC;;;;;;;;;;;;;;;;;;;;AAEjC,oDAAkC;AAClC,qDAA+D;AAAtD,mIAAA,OAAO,OAAmB;AACnC,2CAAyB;AACzB,mCAA6C;AAApC,iHAAA,OAAO,OAAU;AAC1B,2CAAyB"}
@@ -1,20 +1,12 @@
1
- import { Route } from './route';
2
- /**
3
- * Simple router for handling HTTP requests
4
- */
5
- declare class Router {
6
- private routes;
7
- /**
8
- * Add a new route to the router
9
- */
10
- addRoute(route: Route): Router;
11
- /**
12
- * Find a route that matches the given path and method
13
- */
14
- findRoute(path: string, method: string): Route | undefined;
15
- /**
16
- * Handle a request by finding and executing the matching route
17
- */
18
- handleRequest(req: any, res: any): Promise<any>;
1
+ import Singleton from "../singleton";
2
+ import { Routes } from "./routes";
3
+ declare class Router extends Singleton {
4
+ private internal;
5
+ constructor(routes?: Routes);
6
+ private setRoutes;
7
+ static Call<T>(request: Request): Promise<T>;
8
+ static SetRoutes(routes: Routes): void;
9
+ private static getMethodMap;
10
+ static GetQueryParams(request: Request): URLSearchParams;
19
11
  }
20
12
  export default Router;
@@ -0,0 +1,15 @@
1
+ import { Routes } from "./routes";
2
+ declare class Router_Internal {
3
+ private registry;
4
+ private routes;
5
+ constructor(routes?: Routes);
6
+ post<T>(req: Request): Promise<T>;
7
+ get<T>(req: Request): Promise<T>;
8
+ private handleRequest;
9
+ private getPath;
10
+ private resolve;
11
+ private register;
12
+ setRoutes(routes: Routes): void;
13
+ private controllerFactory;
14
+ }
15
+ export default Router_Internal;
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const __1 = require("..");
4
+ const errors_1 = require("../errors");
5
+ const lib_1 = require("../lib");
6
+ class Router_Internal {
7
+ constructor(routes) {
8
+ this.registry = new Map();
9
+ this.routes = routes ?? {};
10
+ }
11
+ async post(req) {
12
+ return await this.handleRequest(req);
13
+ }
14
+ async get(req) {
15
+ return await this.handleRequest(req);
16
+ }
17
+ async handleRequest(request) {
18
+ const path = this.getPath(request);
19
+ const output = await this.resolve(path).call(request);
20
+ return output;
21
+ }
22
+ getPath(request) {
23
+ return new URL(request.url).pathname;
24
+ }
25
+ resolve(path) {
26
+ const controllerKey = path.split("/")[1];
27
+ return this.register(controllerKey, () => this.controllerFactory(controllerKey));
28
+ }
29
+ register(controllerKey, factory) {
30
+ if (!this.registry.has(controllerKey)) {
31
+ this.registry.set(controllerKey, factory());
32
+ lib_1.Debug.Log(`Caching controller: /${controllerKey}`);
33
+ }
34
+ return this.registry.get(controllerKey);
35
+ }
36
+ setRoutes(routes) {
37
+ this.routes = routes;
38
+ }
39
+ controllerFactory(controllerKey) {
40
+ if (!(controllerKey in this.routes))
41
+ throw new __1.Throwable(`${errors_1.ERROR_CODE.INVALID_CONTROLLER}: ${controllerKey}`, { logError: false });
42
+ const ControllerClass = this.routes[controllerKey];
43
+ return new ControllerClass();
44
+ }
45
+ }
46
+ exports.default = Router_Internal;
47
+ //# sourceMappingURL=router.internal.js.map
@@ -0,0 +1 @@
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"}
@@ -1,34 +1,42 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
- /**
4
- * Simple router for handling HTTP requests
5
- */
6
- class Router {
7
- constructor() {
8
- this.routes = [];
6
+ const errors_1 = require("../errors");
7
+ const guards_1 = __importDefault(require("../guards"));
8
+ const singleton_1 = __importDefault(require("../singleton"));
9
+ const router_internal_1 = __importDefault(require("./router.internal"));
10
+ class Router extends singleton_1.default {
11
+ constructor(routes) {
12
+ super();
13
+ this.internal = new router_internal_1.default(routes);
9
14
  }
10
- /**
11
- * Add a new route to the router
12
- */
13
- addRoute(route) {
14
- this.routes.push(route);
15
- return this;
15
+ setRoutes(routes) {
16
+ this.internal.setRoutes(routes);
16
17
  }
17
- /**
18
- * Find a route that matches the given path and method
19
- */
20
- findRoute(path, method) {
21
- return this.routes.find(route => route.matches(path, method));
18
+ static async Call(request) {
19
+ if (guards_1.default.IsNil(request))
20
+ throw errors_1.ERROR_CODE.NO_REQUEST;
21
+ const methods = this.getMethodMap();
22
+ const method = methods[request.method];
23
+ if (guards_1.default.IsNil(method))
24
+ throw errors_1.ERROR_CODE.INVALID_METHOD;
25
+ return await method(request);
22
26
  }
23
- /**
24
- * Handle a request by finding and executing the matching route
25
- */
26
- async handleRequest(req, res) {
27
- const route = this.findRoute(req.path, req.method);
28
- if (!route) {
29
- throw new Error(`No route found for ${req.method} ${req.path}`);
30
- }
31
- return route.handler(req, res);
27
+ static SetRoutes(routes) {
28
+ Router.GetInstance().setRoutes(routes);
29
+ }
30
+ static getMethodMap() {
31
+ const router = Router.GetInstance();
32
+ return {
33
+ GET: async (req) => await router.internal.get(req),
34
+ POST: async (req) => await router.internal.post(req),
35
+ };
36
+ }
37
+ static GetQueryParams(request) {
38
+ const url = new URL(request.url);
39
+ return url.searchParams;
32
40
  }
33
41
  }
34
42
  exports.default = Router;
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/router/router.ts"],"names":[],"mappings":";;AAEA;;GAEG;AACH,MAAM,MAAM;IAAZ;QACU,WAAM,GAAY,EAAE,CAAC;IA6B/B,CAAC;IA3BC;;OAEG;IACI,QAAQ,CAAC,KAAY;QAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACI,SAAS,CAAC,IAAY,EAAE,MAAc;QAC3C,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAChE,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,aAAa,CAAC,GAAQ,EAAE,GAAQ;QAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAEnD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACjC,CAAC;CACF;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"}
@@ -0,0 +1,5 @@
1
+ import Controller from "../server/controller";
2
+ export type Routes = {
3
+ [key: string]: new () => Controller;
4
+ };
5
+ export declare const routes: Routes;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.routes = void 0;
4
+ exports.routes = {};
5
+ //# sourceMappingURL=routes.js.map
@@ -0,0 +1 @@
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"}
@@ -1 +1 @@
1
- {"version":3,"file":"singleton.js","sourceRoot":"","sources":["../src/singleton.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"singleton.js","sourceRoot":"","sources":["../src/singleton.ts"],"names":[],"mappings":"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"}
package/dist/throwable.js CHANGED
@@ -23,11 +23,7 @@ class Throwable extends Error {
23
23
  constructor(message, options = {}) {
24
24
  const { logError = true, context } = options;
25
25
  // Format the message appropriately based on type
26
- const _message = guards_1.default.IsString(message)
27
- ? message
28
- : message instanceof Error
29
- ? message.message
30
- : JSON.stringify(message);
26
+ const _message = guards_1.default.IsString(message) ? message : message instanceof Error ? message.message : JSON.stringify(message);
31
27
  super(_message);
32
28
  /** Flag indicating this is a deliberate error that shouldn't be retried */
33
29
  this.isDeliberate = true;
@@ -1 +1 @@
1
- {"version":3,"file":"throwable.js","sourceRoot":"","sources":["../src/throwable.ts"],"names":[],"mappings":";;;;;AAAA,sDAA8B;AAC9B,gDAAwB;AAExB;;;;;;;;GAQG;AACH,MAAM,SAAU,SAAQ,KAAK;IAU3B;;;;OAIG;IACH,YACE,OAAgB,EAChB,UAKI,EAAE;QAEN,MAAM,EAAE,QAAQ,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QAE7C,iDAAiD;QACjD,MAAM,QAAQ,GAAG,gBAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;YACvC,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,OAAO,YAAY,KAAK;gBACxB,CAAC,CAAC,OAAO,CAAC,OAAO;gBACjB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAE9B,KAAK,CAAC,QAAQ,CAAC,CAAC;QAhClB,2EAA2E;QAC3D,iBAAY,GAAY,IAAI,CAAC;QAgC3C,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,6BAA6B;QAC7B,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,OAAO,EAAE,CAAC;gBACZ,aAAG,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;YACzD,CAAC;iBAAM,CAAC;gBACN,aAAG,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;QAED,8DAA8D;QAC9D,IAAI,OAAO,YAAY,KAAK,EAAE,CAAC;YAC7B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;YAC3B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;YAC3B,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;QAC/B,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,WAAW,CAAC,CAAM;QACvB,OAAO,CAAC,YAAY,SAAS,CAAC;IAChC,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,IAAI,CAAC,KAAc,EAAE,OAAiC;QAC3D,IAAI,KAAK,YAAY,SAAS,EAAE,CAAC;YAC/B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,SAAS,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAC3C,CAAC;CACF;AAED,kBAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"throwable.js","sourceRoot":"","sources":["../src/throwable.ts"],"names":[],"mappings":";;;;;AAAA,sDAA8B;AAC9B,gDAAwB;AAExB;;;;;;;;GAQG;AACH,MAAM,SAAU,SAAQ,KAAK;IAU5B;;;;OAIG;IACH,YACC,OAAgB,EAChB,UAKI,EAAE;QAEN,MAAM,EAAE,QAAQ,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QAE7C,iDAAiD;QACjD,MAAM,QAAQ,GAAG,gBAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,YAAY,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAE3H,KAAK,CAAC,QAAQ,CAAC,CAAC;QA5BjB,2EAA2E;QAC3D,iBAAY,GAAY,IAAI,CAAC;QA4B5C,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,6BAA6B;QAC7B,IAAI,QAAQ,EAAE,CAAC;YACd,IAAI,OAAO,EAAE,CAAC;gBACb,aAAG,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;YACxD,CAAC;iBAAM,CAAC;gBACP,aAAG,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;YAClC,CAAC;QACF,CAAC;QAED,8DAA8D;QAC9D,IAAI,OAAO,YAAY,KAAK,EAAE,CAAC;YAC9B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;YAC3B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;YAC3B,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;QAC9B,CAAC;IACF,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,WAAW,CAAC,CAAM;QACxB,OAAO,CAAC,YAAY,SAAS,CAAC;IAC/B,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,IAAI,CAAC,KAAc,EAAE,OAAiC;QAC5D,IAAI,KAAK,YAAY,SAAS,EAAE,CAAC;YAChC,OAAO,KAAK,CAAC;QACd,CAAC;QAED,OAAO,IAAI,SAAS,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAC1C,CAAC;CACD;AAED,kBAAe,SAAS,CAAC"}
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.1",
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",
@@ -8,16 +8,16 @@
8
8
  "dist"
9
9
  ],
10
10
  "scripts": {
11
- "build": "bun run tsc",
12
11
  "clean": "rimraf dist",
13
- "prebuild": "bun run clean",
14
- "prepublishOnly": "bun run build",
15
- "test": "bun test",
16
- "lint": "eslint . --ext .ts",
17
- "format": "prettier --write \"**/*.ts\"",
12
+ "format": "prettier --cache --write \"**/*.ts\"",
13
+ "lint": "eslint . --ext .ts --cache",
18
14
  "generate-indexes": "./scripts/generate-indexes.sh",
19
- "prebuild:indexes": "bun run generate-indexes",
20
- "build:indexes": "bun run build"
15
+ "prebuild": "bun run clean && bun run generate-indexes && bun run format",
16
+ "build": "bun run tsc",
17
+ "test": "bun test",
18
+ "prepublishOnly": "bun run build",
19
+ "prepare": "bun run build",
20
+ "release": "./scripts/release.sh"
21
21
  },
22
22
  "keywords": [
23
23
  "typescript",
package/dist/app.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.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,21 +0,0 @@
1
- /**
2
- * Middleware function type
3
- */
4
- export type MiddlewareFunction = (req: any, res: any, next: () => Promise<void>) => Promise<void>;
5
- /**
6
- * Apply a chain of middleware functions
7
- */
8
- export declare const applyMiddleware: (req: any, res: any, middlewares: MiddlewareFunction[]) => Promise<void>;
9
- /**
10
- * Common middleware functions
11
- */
12
- export declare const commonMiddleware: {
13
- /**
14
- * Log request details
15
- */
16
- logger: (req: any, res: any, next: () => Promise<void>) => Promise<void>;
17
- /**
18
- * Add CORS headers
19
- */
20
- cors: (req: any, res: any, next: () => Promise<void>) => Promise<void>;
21
- };
@@ -1,47 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.commonMiddleware = exports.applyMiddleware = void 0;
4
- /**
5
- * Apply a chain of middleware functions
6
- */
7
- const applyMiddleware = async (req, res, middlewares) => {
8
- const executeMiddleware = async (index) => {
9
- if (index >= middlewares.length) {
10
- return;
11
- }
12
- const middleware = middlewares[index];
13
- await middleware(req, res, async () => {
14
- await executeMiddleware(index + 1);
15
- });
16
- };
17
- await executeMiddleware(0);
18
- };
19
- exports.applyMiddleware = applyMiddleware;
20
- /**
21
- * Common middleware functions
22
- */
23
- exports.commonMiddleware = {
24
- /**
25
- * Log request details
26
- */
27
- logger: async (req, res, next) => {
28
- console.log(`${req.method} ${req.path}`);
29
- const start = Date.now();
30
- await next();
31
- const duration = Date.now() - start;
32
- console.log(`${req.method} ${req.path} completed in ${duration}ms`);
33
- },
34
- /**
35
- * Add CORS headers
36
- */
37
- cors: async (req, res, next) => {
38
- res.headers = {
39
- ...res.headers,
40
- 'Access-Control-Allow-Origin': '*',
41
- 'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE, OPTIONS',
42
- 'Access-Control-Allow-Headers': 'Content-Type, Authorization',
43
- };
44
- await next();
45
- }
46
- };
47
- //# sourceMappingURL=middleware.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../src/router/middleware.ts"],"names":[],"mappings":";;;AAKA;;GAEG;AACI,MAAM,eAAe,GAAG,KAAK,EAClC,GAAQ,EACR,GAAQ,EACR,WAAiC,EAClB,EAAE;IACjB,MAAM,iBAAiB,GAAG,KAAK,EAAE,KAAa,EAAiB,EAAE;QAC/D,IAAI,KAAK,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;YAChC,OAAO;QACT,CAAC;QAED,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;QACtC,MAAM,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,IAAI,EAAE;YACpC,MAAM,iBAAiB,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,iBAAiB,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC,CAAC;AAjBW,QAAA,eAAe,mBAiB1B;AAEF;;GAEG;AACU,QAAA,gBAAgB,GAAG;IAC9B;;OAEG;IACH,MAAM,EAAE,KAAK,EAAE,GAAQ,EAAE,GAAQ,EAAE,IAAyB,EAAiB,EAAE;QAC7E,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,MAAM,IAAI,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,iBAAiB,QAAQ,IAAI,CAAC,CAAC;IACtE,CAAC;IAED;;OAEG;IACH,IAAI,EAAE,KAAK,EAAE,GAAQ,EAAE,GAAQ,EAAE,IAAyB,EAAiB,EAAE;QAC3E,GAAG,CAAC,OAAO,GAAG;YACZ,GAAG,GAAG,CAAC,OAAO;YACd,6BAA6B,EAAE,GAAG;YAClC,8BAA8B,EAAE,iCAAiC;YACjE,8BAA8B,EAAE,6BAA6B;SAC9D,CAAC;QACF,MAAM,IAAI,EAAE,CAAC;IACf,CAAC;CACF,CAAC"}
@@ -1,14 +0,0 @@
1
- /**
2
- * Represents a route in the application
3
- */
4
- export declare class Route {
5
- readonly path: string;
6
- readonly method: string;
7
- readonly handler: (req: any, res: any) => Promise<any>;
8
- constructor(path: string, method: string, handler: (req: any, res: any) => Promise<any>);
9
- /**
10
- * Check if this route matches the given path and method
11
- */
12
- matches(path: string, method: string): boolean;
13
- }
14
- export default Route;
@@ -1,22 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Route = void 0;
4
- /**
5
- * Represents a route in the application
6
- */
7
- class Route {
8
- constructor(path, method, handler) {
9
- this.path = path;
10
- this.method = method;
11
- this.handler = handler;
12
- }
13
- /**
14
- * Check if this route matches the given path and method
15
- */
16
- matches(path, method) {
17
- return this.path === path && this.method === method;
18
- }
19
- }
20
- exports.Route = Route;
21
- exports.default = Route;
22
- //# sourceMappingURL=route.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"route.js","sourceRoot":"","sources":["../../src/router/route.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,MAAa,KAAK;IAChB,YACkB,IAAY,EACZ,MAAc,EACd,OAA6C;QAF7C,SAAI,GAAJ,IAAI,CAAQ;QACZ,WAAM,GAAN,MAAM,CAAQ;QACd,YAAO,GAAP,OAAO,CAAsC;IAC5D,CAAC;IAEJ;;OAEG;IACI,OAAO,CAAC,IAAY,EAAE,MAAc;QACzC,OAAO,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC;IACtD,CAAC;CACF;AAbD,sBAaC;AAED,kBAAe,KAAK,CAAC"}