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.
- package/README.md +65 -3
- package/dist/{app.d.ts → application.d.ts} +1 -1
- package/dist/{app.js → application.js} +12 -3
- package/dist/application.js.map +1 -0
- package/dist/enums.js.map +1 -1
- package/dist/index.d.ts +16 -12
- package/dist/index.js +19 -11
- package/dist/index.js.map +1 -1
- package/dist/initializable.d.ts +3 -3
- package/dist/initializable.js +20 -22
- package/dist/initializable.js.map +1 -1
- package/dist/lib.js +14 -42
- package/dist/lib.js.map +1 -1
- package/dist/router/index.d.ts +5 -5
- package/dist/router/index.js +5 -5
- package/dist/router/index.js.map +1 -1
- package/dist/router/router.d.ts +10 -18
- package/dist/router/router.internal.d.ts +15 -0
- package/dist/router/router.internal.js +47 -0
- package/dist/router/router.internal.js.map +1 -0
- package/dist/router/router.js +34 -26
- package/dist/router/router.js.map +1 -1
- package/dist/router/routes.d.ts +5 -0
- package/dist/router/routes.js +5 -0
- package/dist/router/routes.js.map +1 -0
- package/dist/server/controller.d.ts +60 -0
- package/dist/server/controller.js +55 -0
- package/dist/server/controller.js.map +1 -0
- package/dist/server/index.d.ts +2 -0
- package/dist/server/index.js +26 -0
- package/dist/server/index.js.map +1 -0
- package/dist/singleton.js.map +1 -1
- package/dist/throwable.js +1 -5
- package/dist/throwable.js.map +1 -1
- package/dist/types.d.ts +5 -0
- package/package.json +9 -9
- package/dist/app.js.map +0 -1
- package/dist/router/middleware.d.ts +0 -21
- package/dist/router/middleware.js +0 -47
- package/dist/router/middleware.js.map +0 -1
- package/dist/router/route.d.ts +0 -14
- package/dist/router/route.js +0 -22
- package/dist/router/route.js.map +0 -1
package/dist/router/index.js
CHANGED
@@ -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.
|
23
|
-
__exportStar(require("./
|
24
|
-
|
25
|
-
|
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
|
package/dist/router/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/router/index.ts"],"names":[],"mappings":";AAAA,6DAA6D;AAC7D,iCAAiC;;;;;;;;;;;;;;;;;;;;AAEjC
|
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"}
|
package/dist/router/router.d.ts
CHANGED
@@ -1,20 +1,12 @@
|
|
1
|
-
import
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
private
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
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"}
|
package/dist/router/router.js
CHANGED
@@ -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
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
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
|
-
|
12
|
-
*/
|
13
|
-
addRoute(route) {
|
14
|
-
this.routes.push(route);
|
15
|
-
return this;
|
15
|
+
setRoutes(routes) {
|
16
|
+
this.internal.setRoutes(routes);
|
16
17
|
}
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
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
|
-
|
25
|
-
|
26
|
-
|
27
|
-
const
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
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":"
|
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 @@
|
|
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,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/singleton.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"singleton.js","sourceRoot":"","sources":["../src/singleton.ts"],"names":[],"mappings":";;
|
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;
|
package/dist/throwable.js.map
CHANGED
@@ -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;
|
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
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "topsyde-utils",
|
3
|
-
"version": "1.0.
|
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
|
-
"
|
14
|
-
"
|
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
|
20
|
-
"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"}
|
package/dist/router/route.d.ts
DELETED
@@ -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;
|
package/dist/router/route.js
DELETED
@@ -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
|
package/dist/router/route.js.map
DELETED
@@ -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"}
|