itrm-tools 1.0.7 → 1.0.9

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 (51) hide show
  1. package/dist/api/APIRequest.d.ts +5 -2
  2. package/dist/api/APIRequest.js +19 -9
  3. package/dist/api/APIRequest.js.map +1 -1
  4. package/dist/api/APIRouter.d.ts +9 -0
  5. package/dist/api/APIRouter.js +18 -0
  6. package/dist/api/APIRouter.js.map +1 -0
  7. package/dist/api/APIService.d.ts +3 -0
  8. package/dist/api/APIService.js +6 -1
  9. package/dist/api/APIService.js.map +1 -1
  10. package/dist/api/check/APIChecker.d.ts +21 -0
  11. package/dist/api/check/APIChecker.js +37 -0
  12. package/dist/api/check/APIChecker.js.map +1 -0
  13. package/dist/api/check/CheckableAPIRequest.d.ts +3 -18
  14. package/dist/api/check/CheckableAPIRequest.js +6 -20
  15. package/dist/api/check/CheckableAPIRequest.js.map +1 -1
  16. package/dist/api/check/request/CheckableDeleteRequest.d.ts +3 -2
  17. package/dist/api/check/request/CheckableDeleteRequest.js +4 -1
  18. package/dist/api/check/request/CheckableDeleteRequest.js.map +1 -1
  19. package/dist/api/check/request/CheckableGetRequest.d.ts +3 -2
  20. package/dist/api/check/request/CheckableGetRequest.js +4 -1
  21. package/dist/api/check/request/CheckableGetRequest.js.map +1 -1
  22. package/dist/api/check/request/CheckablePostRequest.d.ts +3 -2
  23. package/dist/api/check/request/CheckablePostRequest.js +4 -1
  24. package/dist/api/check/request/CheckablePostRequest.js.map +1 -1
  25. package/dist/api/check/request/CheckablePutRequest.d.ts +3 -2
  26. package/dist/api/check/request/CheckablePutRequest.js +4 -1
  27. package/dist/api/check/request/CheckablePutRequest.js.map +1 -1
  28. package/dist/api/check/route/CheckableAPIRouter.d.ts +9 -0
  29. package/dist/api/check/route/CheckableAPIRouter.js +35 -0
  30. package/dist/api/check/route/CheckableAPIRouter.js.map +1 -0
  31. package/dist/api/express/ExpressStandardConfiguration.js +3 -3
  32. package/dist/api/express/ExpressStandardConfiguration.js.map +1 -1
  33. package/dist/api/request/DeleteRequest.d.ts +3 -2
  34. package/dist/api/request/DeleteRequest.js +4 -1
  35. package/dist/api/request/DeleteRequest.js.map +1 -1
  36. package/dist/api/request/GetRequest.d.ts +3 -2
  37. package/dist/api/request/GetRequest.js +4 -1
  38. package/dist/api/request/GetRequest.js.map +1 -1
  39. package/dist/api/request/PostRequest.d.ts +3 -2
  40. package/dist/api/request/PostRequest.js +4 -1
  41. package/dist/api/request/PostRequest.js.map +1 -1
  42. package/dist/api/request/PutRequest.d.ts +3 -2
  43. package/dist/api/request/PutRequest.js +4 -1
  44. package/dist/api/request/PutRequest.js.map +1 -1
  45. package/dist/api/route/SimpleAPIRouter.d.ts +6 -0
  46. package/dist/api/route/SimpleAPIRouter.js +25 -0
  47. package/dist/api/route/SimpleAPIRouter.js.map +1 -0
  48. package/dist/index.d.ts +5 -1
  49. package/dist/index.js +9 -1
  50. package/dist/index.js.map +1 -1
  51. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import { Express, Request, Response } from 'express';
1
+ import { Express, Request, Response, Router } from 'express';
2
2
  export declare enum RequestMethod {
3
3
  GET = "GET",
4
4
  POST = "POST",
@@ -24,10 +24,13 @@ export declare abstract class APIRequest {
24
24
  path: string;
25
25
  private params;
26
26
  constructor(method: RequestMethod, config: APIRequestConfig);
27
- abstract init(app: Express): void;
27
+ abstract addToApp(app: Express): void;
28
+ abstract addToRouter(router: Router): void;
28
29
  abstract apply(req: Request, res: Response): Promise<any>;
29
30
  process(req: Request, res: Response): Promise<any>;
31
+ static buildKey(req: Request): string;
30
32
  private checkParameters;
33
+ private buildResponseMessage;
31
34
  private buildMissingParametersMessage;
32
35
  private findMissingParameters;
33
36
  }
@@ -33,25 +33,35 @@ class APIRequest {
33
33
  }
34
34
  process(req, res) {
35
35
  return __awaiter(this, void 0, void 0, function* () {
36
- let request = APIService_1.ITRMAPIServiceGlobal.requests[req.method + "_" + req.route.path];
37
- let check = request.checkParameters(req, request);
36
+ let request = APIService_1.ITRMAPIServiceGlobal.requests[APIRequest.buildKey(req)];
37
+ let check = request.checkParameters(req);
38
38
  for (let key of Object.keys(check))
39
39
  if (check[key].status !== 'OK')
40
40
  return yield res.status(400).json(check[key]);
41
41
  return yield request.apply(req, res);
42
42
  });
43
43
  }
44
- checkParameters(req, request) {
44
+ static buildKey(req) {
45
+ if (req.route.path.includes(req.baseUrl))
46
+ return req.method + "_" + req.route.path;
47
+ return req.method + "_" + req.baseUrl + req.route.path;
48
+ }
49
+ checkParameters(req) {
45
50
  let result = {};
46
- for (let group of request.params) {
47
- let missing = request.findMissingParameters(req[group.context], group.properties);
48
- if (missing.length > 0)
49
- result[group.context] = result[group.context] ? result[group.context] : { status: 'Error', message: request.buildMissingParametersMessage(group.context, missing) };
51
+ for (let group of this.params)
52
+ if (req[group.context]) {
53
+ let missing = this.findMissingParameters(req[group.context], group.properties);
54
+ result[group.context] = this.buildResponseMessage(result[group.context], group.context, missing);
55
+ }
50
56
  else
51
- result[group.context] = { status: 'OK' };
52
- }
57
+ return { status: 'Error', message: group.context + " was not found, check your express configuration" };
53
58
  return result;
54
59
  }
60
+ buildResponseMessage(response, context, missing) {
61
+ if (missing.length > 0)
62
+ return response ? response : { status: 'Error', message: this.buildMissingParametersMessage(context, missing) };
63
+ return { status: 'OK' };
64
+ }
55
65
  buildMissingParametersMessage(context, missing) {
56
66
  let message = "Parameters";
57
67
  for (let i = 0; i < missing.length; i++)
@@ -1 +1 @@
1
- {"version":3,"file":"APIRequest.js","sourceRoot":"","sources":["../../src/api/APIRequest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"APIRequest.js","sourceRoot":"","sources":["../../src/api/APIRequest.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,6CAAoD;AAEpD,IAAY,aAKX;AALD,WAAY,aAAa;IACrB,4BAAW,CAAA;IACX,8BAAa,CAAA;IACb,4BAAW,CAAA;IACX,kCAAiB,CAAA;AACrB,CAAC,EALW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAKxB;AAED,IAAY,cAKX;AALD,WAAY,cAAc;IACtB,+BAAa,CAAA;IACb,qCAAmB,CAAA;IACnB,mCAAiB,CAAA;IACjB,iCAAe,CAAA;AACnB,CAAC,EALW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAKzB;AAYD,MAAsB,UAAU;IAK5B,YAAY,MAAqB,EAAE,MAAwB;QACvD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAChC,CAAC;IAMY,OAAO,CAAC,GAAY,EAAE,GAAa;;YAC5C,IAAI,OAAO,GAAe,iCAAoB,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;YAClF,IAAI,KAAK,GAAQ,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;YAC9C,KAAK,IAAI,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC9B,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,IAAI;oBAC1B,OAAO,MAAM,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YACtD,OAAO,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACzC,CAAC;KAAA;IAEM,MAAM,CAAC,QAAQ,CAAC,GAAY;QAC/B,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;YACpC,OAAO,GAAG,CAAC,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;QAC7C,OAAO,GAAG,CAAC,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;IAC3D,CAAC;IAEO,eAAe,CAAC,GAAY;QAChC,IAAI,MAAM,GAAQ,EAAE,CAAC;QACrB,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM;YACzB,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;gBACpB,IAAI,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;gBAC/E,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;aACpG;;gBACG,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,GAAG,kDAAkD,EAAE,CAAA;QAC/G,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,oBAAoB,CAAC,QAAa,EAAE,OAAuB,EAAE,OAAiB;QAClF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YAClB,OAAO,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,6BAA6B,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;QACpH,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAC5B,CAAC;IAEO,6BAA6B,CAAC,OAAuB,EAAE,OAAiB;QAC5E,IAAI,OAAO,GAAG,YAAY,CAAC;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE;YACnC,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QAC7D,OAAO,IAAI,sBAAsB,GAAG,OAAO,CAAC;QAC5C,OAAO,OAAO,CAAC;IACnB,CAAC;IAEO,qBAAqB,CAAC,OAAY,EAAE,UAAoB;QAC5D,IAAI,OAAO,GAAa,EAAE,CAAC;QAC3B,KAAK,IAAI,QAAQ,IAAI,UAAU;YAC3B,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC;gBACjC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/B,OAAO,OAAO,CAAC;IACnB,CAAC;CACJ;AA9DD,gCA8DC"}
@@ -0,0 +1,9 @@
1
+ import { NextFunction, Router, RouterOptions, Request, Response } from 'express';
2
+ import { APIRequest } from './APIRequest';
3
+ export declare abstract class APIRouter {
4
+ path: string;
5
+ router: Router;
6
+ constructor(path: string, options?: RouterOptions);
7
+ addRequest(request: APIRequest): void;
8
+ protected abstract middleware(req: Request, res: Response, next: NextFunction): Promise<void | Response>;
9
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.APIRouter = void 0;
4
+ const express_1 = require("express");
5
+ const APIService_1 = require("./APIService");
6
+ class APIRouter {
7
+ constructor(path, options) {
8
+ this.path = path;
9
+ this.router = (0, express_1.Router)(options);
10
+ this.router.use(this.middleware);
11
+ }
12
+ addRequest(request) {
13
+ APIService_1.ITRMAPIServiceGlobal.requests[request.method + "_" + this.path + request.path] = request;
14
+ request.addToRouter(this.router);
15
+ }
16
+ }
17
+ exports.APIRouter = APIRouter;
18
+ //# sourceMappingURL=APIRouter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"APIRouter.js","sourceRoot":"","sources":["../../src/api/APIRouter.ts"],"names":[],"mappings":";;;AAAA,qCAAgF;AAEhF,6CAAoD;AAEpD,MAAsB,SAAS;IAI3B,YAAY,IAAY,EAAE,OAAuB;QAC7C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,IAAA,gBAAM,EAAC,OAAO,CAAC,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACrC,CAAC;IAEM,UAAU,CAAC,OAAmB;QACjC,iCAAoB,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;QACzF,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;CAGJ;AAhBD,8BAgBC"}
@@ -1,10 +1,12 @@
1
1
  import { Express } from 'express';
2
2
  import { APIRequest } from './APIRequest';
3
+ import { APIRouter } from './APIRouter';
3
4
  import { ExpressConfiguration } from './ExpressConfiguration';
4
5
  export declare namespace ITRMAPIServiceGlobal {
5
6
  var memory: any;
6
7
  var service: APIService | undefined;
7
8
  var requests: any;
9
+ var routers: any;
8
10
  var whitelist: string[];
9
11
  }
10
12
  export declare interface APIServiceConfig {
@@ -25,6 +27,7 @@ export declare class APIService {
25
27
  protected config: ExpressConfiguration;
26
28
  constructor(config: APIServiceConfig);
27
29
  init(): void;
30
+ addRouter(router: APIRouter): void;
28
31
  addRequest(request: APIRequest): void;
29
32
  run(init: Function): Promise<APIServiceResponse>;
30
33
  close(finish: Function): Promise<APIServiceResponse>;
@@ -19,6 +19,7 @@ var ITRMAPIServiceGlobal;
19
19
  ITRMAPIServiceGlobal.memory = {};
20
20
  ITRMAPIServiceGlobal.service = undefined;
21
21
  ITRMAPIServiceGlobal.requests = {};
22
+ ITRMAPIServiceGlobal.routers = {};
22
23
  ITRMAPIServiceGlobal.whitelist = [];
23
24
  })(ITRMAPIServiceGlobal = exports.ITRMAPIServiceGlobal || (exports.ITRMAPIServiceGlobal = {}));
24
25
  class APIService {
@@ -36,9 +37,13 @@ class APIService {
36
37
  return res.send('Server working!');
37
38
  });
38
39
  }
40
+ addRouter(router) {
41
+ ITRMAPIServiceGlobal.routers[router.path] = router;
42
+ this.app.use(router.path, router.router);
43
+ }
39
44
  addRequest(request) {
40
45
  ITRMAPIServiceGlobal.requests[request.method + "_" + request.path] = request;
41
- request.init(this.app);
46
+ request.addToApp(this.app);
42
47
  }
43
48
  run(init) {
44
49
  return new Promise((resolve, reject) => {
@@ -1 +1 @@
1
- {"version":3,"file":"APIService.js","sourceRoot":"","sources":["../../src/api/APIService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"APIService.js","sourceRoot":"","sources":["../../src/api/APIService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import { Request, Response } from "express";
2
+ export declare interface APICheckResult {
3
+ approved: boolean;
4
+ rejection?: {
5
+ code: number;
6
+ payload: any;
7
+ };
8
+ }
9
+ export declare interface APICheckConfig {
10
+ check: string;
11
+ }
12
+ export interface APICheck {
13
+ getConfig(): APICheckConfig;
14
+ apply(config: APICheckConfig, req: Request): PromiseLike<APICheckResult>;
15
+ }
16
+ export declare class APIChecker {
17
+ private checks;
18
+ addCheck(checker: APICheck): void;
19
+ applyChecks(req: Request): Promise<APICheckResult>;
20
+ reject(res: Response, result: APICheckResult): Response<any, Record<string, any>>;
21
+ }
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.APIChecker = void 0;
13
+ class APIChecker {
14
+ constructor() {
15
+ this.checks = [];
16
+ }
17
+ addCheck(checker) {
18
+ this.checks.push(checker);
19
+ }
20
+ applyChecks(req) {
21
+ return __awaiter(this, void 0, void 0, function* () {
22
+ for (let check of this.checks) {
23
+ let result = yield check.apply(check.getConfig(), req);
24
+ if (!result.approved)
25
+ return result;
26
+ }
27
+ return { approved: true };
28
+ });
29
+ }
30
+ reject(res, result) {
31
+ if (result.rejection)
32
+ return res.status(result.rejection.code).json(result.rejection.payload);
33
+ return res.status(401).json({ message: 'Unknown reason' });
34
+ }
35
+ }
36
+ exports.APIChecker = APIChecker;
37
+ //# sourceMappingURL=APIChecker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"APIChecker.js","sourceRoot":"","sources":["../../../src/api/check/APIChecker.ts"],"names":[],"mappings":";;;;;;;;;;;;AAmBA,MAAa,UAAU;IAAvB;QACY,WAAM,GAAe,EAAE,CAAC;IAoBpC,CAAC;IAlBU,QAAQ,CAAC,OAAiB;QAC7B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IAEY,WAAW,CAAC,GAAY;;YACjC,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE;gBAC3B,IAAI,MAAM,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,GAAG,CAAC,CAAC;gBACvD,IAAI,CAAC,MAAM,CAAC,QAAQ;oBAChB,OAAO,MAAM,CAAC;aACrB;YACD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC9B,CAAC;KAAA;IAEM,MAAM,CAAC,GAAa,EAAE,MAAsB;QAC/C,IAAI,MAAM,CAAC,SAAS;YAChB,OAAO,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC5E,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAC/D,CAAC;CACJ;AArBD,gCAqBC"}
@@ -1,24 +1,9 @@
1
1
  import { Request, Response, NextFunction } from "express";
2
2
  import { APIRequest, APIRequestConfig, RequestMethod } from "../APIRequest";
3
- export declare interface APICheckResult {
4
- approved: boolean;
5
- rejection?: {
6
- code: number;
7
- payload: any;
8
- };
9
- }
10
- export declare interface APICheckConfig {
11
- check: string;
12
- }
13
- export interface APIChecker {
14
- getConfig(): APICheckConfig;
15
- apply(config: APICheckConfig, req: Request): PromiseLike<APICheckResult>;
16
- }
3
+ import { APICheck } from "./APIChecker";
17
4
  export declare abstract class CheckableAPIRequest extends APIRequest {
18
- private checkers;
5
+ private checker;
19
6
  constructor(method: RequestMethod, config: APIRequestConfig);
20
- addChecker(checker: APIChecker): void;
7
+ addCheck(checker: APICheck): void;
21
8
  check(req: Request, res: Response, next: NextFunction): Promise<void | Response<any, Record<string, any>>>;
22
- private reject;
23
- protected applyChecks(req: Request): Promise<APICheckResult>;
24
9
  }
@@ -12,36 +12,22 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.CheckableAPIRequest = void 0;
13
13
  const APIRequest_1 = require("../APIRequest");
14
14
  const APIService_1 = require("../APIService");
15
+ const APIChecker_1 = require("./APIChecker");
15
16
  class CheckableAPIRequest extends APIRequest_1.APIRequest {
16
17
  constructor(method, config) {
17
18
  super(method, config);
18
- this.checkers = [];
19
+ this.checker = new APIChecker_1.APIChecker();
19
20
  }
20
- addChecker(checker) {
21
- this.checkers.push(checker);
21
+ addCheck(checker) {
22
+ this.checker.addCheck(checker);
22
23
  }
23
24
  check(req, res, next) {
24
25
  return __awaiter(this, void 0, void 0, function* () {
25
26
  let request = APIService_1.ITRMAPIServiceGlobal.requests[req.method + "_" + req.route.path];
26
- let result = yield request.applyChecks(req);
27
+ let result = yield request.checker.applyChecks(req);
27
28
  if (result.approved)
28
29
  return next();
29
- return request.reject(res, result);
30
- });
31
- }
32
- reject(res, result) {
33
- if (result.rejection)
34
- return res.status(result.rejection.code).json(result.rejection.payload);
35
- return res.status(401).json({ message: 'Unknown reason' });
36
- }
37
- applyChecks(req) {
38
- return __awaiter(this, void 0, void 0, function* () {
39
- for (let checker of this.checkers) {
40
- let result = yield checker.apply(checker.getConfig(), req);
41
- if (!result.approved)
42
- return result;
43
- }
44
- return { approved: true };
30
+ return request.checker.reject(res, result);
45
31
  });
46
32
  }
47
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CheckableAPIRequest.js","sourceRoot":"","sources":["../../../src/api/check/CheckableAPIRequest.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,8CAA4E;AAC5E,8CAAqD;AAmBrD,MAAsB,mBAAoB,SAAQ,uBAAU;IAGxD,YAAY,MAAqB,EAAE,MAAwB;QACvD,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAHlB,aAAQ,GAAiB,EAAE,CAAC;IAIpC,CAAC;IAEM,UAAU,CAAC,OAAmB;QACjC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAEY,KAAK,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB;;YAC9D,IAAI,OAAO,GAAwB,iCAAoB,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACpG,IAAI,MAAM,GAAmB,MAAM,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;YAC3D,IAAI,MAAM,CAAC,QAAQ;gBACf,OAAO,IAAI,EAAE,CAAC;YAClB,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACvC,CAAC;KAAA;IAEO,MAAM,CAAC,GAAa,EAAE,MAAsB;QAChD,IAAI,MAAM,CAAC,SAAS;YAChB,OAAO,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC5E,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAC/D,CAAC;IAEe,WAAW,CAAC,GAAY;;YACpC,KAAK,IAAI,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE;gBAC/B,IAAI,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,GAAG,CAAC,CAAC;gBAC3D,IAAI,CAAC,MAAM,CAAC,QAAQ;oBAChB,OAAO,MAAM,CAAC;aACrB;YACD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC9B,CAAC;KAAA;CACJ;AAjCD,kDAiCC"}
1
+ {"version":3,"file":"CheckableAPIRequest.js","sourceRoot":"","sources":["../../../src/api/check/CheckableAPIRequest.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,8CAA4E;AAC5E,8CAAqD;AACrD,6CAAoE;AAEpE,MAAsB,mBAAoB,SAAQ,uBAAU;IAGxD,YAAY,MAAqB,EAAE,MAAwB;QACvD,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAHlB,YAAO,GAAe,IAAI,uBAAU,EAAE,CAAC;IAI/C,CAAC;IAEM,QAAQ,CAAC,OAAiB;QAC7B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAEY,KAAK,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB;;YAC9D,IAAI,OAAO,GAAwB,iCAAoB,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACpG,IAAI,MAAM,GAAmB,MAAM,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;YACnE,IAAI,MAAM,CAAC,QAAQ;gBACf,OAAO,IAAI,EAAE,CAAC;YAClB,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC/C,CAAC;KAAA;CACJ;AAlBD,kDAkBC"}
@@ -1,7 +1,8 @@
1
- import { Express } from "express";
1
+ import { Express, Router } from "express";
2
2
  import { APIRequestConfig } from "../../APIRequest";
3
3
  import { CheckableAPIRequest } from "../CheckableAPIRequest";
4
4
  export declare abstract class CheckableDeleteRequest extends CheckableAPIRequest {
5
5
  constructor(config: APIRequestConfig);
6
- init(app: Express): void;
6
+ addToApp(app: Express): void;
7
+ addToRouter(router: Router): void;
7
8
  }
@@ -7,9 +7,12 @@ class CheckableDeleteRequest extends CheckableAPIRequest_1.CheckableAPIRequest {
7
7
  constructor(config) {
8
8
  super(APIRequest_1.RequestMethod.DELETE, config);
9
9
  }
10
- init(app) {
10
+ addToApp(app) {
11
11
  app.delete(this.path, this.check, this.process);
12
12
  }
13
+ addToRouter(router) {
14
+ router.delete(this.path, this.check, this.process);
15
+ }
13
16
  }
14
17
  exports.CheckableDeleteRequest = CheckableDeleteRequest;
15
18
  //# sourceMappingURL=CheckableDeleteRequest.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CheckableDeleteRequest.js","sourceRoot":"","sources":["../../../../src/api/check/request/CheckableDeleteRequest.ts"],"names":[],"mappings":";;;AACA,iDAAmE;AACnE,gEAA6D;AAE7D,MAAsB,sBAAuB,SAAQ,yCAAmB;IACpE,YAAY,MAAwB;QAChC,KAAK,CAAC,0BAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,CAAC;IAEM,IAAI,CAAC,GAAY;QACpB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC;CACJ;AARD,wDAQC"}
1
+ {"version":3,"file":"CheckableDeleteRequest.js","sourceRoot":"","sources":["../../../../src/api/check/request/CheckableDeleteRequest.ts"],"names":[],"mappings":";;;AACA,iDAAmE;AACnE,gEAA6D;AAE7D,MAAsB,sBAAuB,SAAQ,yCAAmB;IACpE,YAAY,MAAwB;QAChC,KAAK,CAAC,0BAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,CAAC;IAEM,QAAQ,CAAC,GAAY;QACxB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC;IAEM,WAAW,CAAC,MAAc;QAC7B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACvD,CAAC;CACJ;AAZD,wDAYC"}
@@ -1,7 +1,8 @@
1
- import { Express } from "express";
1
+ import { Express, Router } from "express";
2
2
  import { APIRequestConfig } from "../../APIRequest";
3
3
  import { CheckableAPIRequest } from "../CheckableAPIRequest";
4
4
  export declare abstract class CheckableGetRequest extends CheckableAPIRequest {
5
5
  constructor(config: APIRequestConfig);
6
- init(app: Express): void;
6
+ addToApp(app: Express): void;
7
+ addToRouter(router: Router): void;
7
8
  }
@@ -7,9 +7,12 @@ class CheckableGetRequest extends CheckableAPIRequest_1.CheckableAPIRequest {
7
7
  constructor(config) {
8
8
  super(APIRequest_1.RequestMethod.GET, config);
9
9
  }
10
- init(app) {
10
+ addToApp(app) {
11
11
  app.get(this.path, this.check, this.process);
12
12
  }
13
+ addToRouter(router) {
14
+ router.get(this.path, this.check, this.process);
15
+ }
13
16
  }
14
17
  exports.CheckableGetRequest = CheckableGetRequest;
15
18
  //# sourceMappingURL=CheckableGetRequest.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CheckableGetRequest.js","sourceRoot":"","sources":["../../../../src/api/check/request/CheckableGetRequest.ts"],"names":[],"mappings":";;;AACA,iDAAmE;AACnE,gEAA6D;AAE7D,MAAsB,mBAAoB,SAAQ,yCAAmB;IACjE,YAAY,MAAwB;QAChC,KAAK,CAAC,0BAAa,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC;IAEM,IAAI,CAAC,GAAY;QACpB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC;CACJ;AARD,kDAQC"}
1
+ {"version":3,"file":"CheckableGetRequest.js","sourceRoot":"","sources":["../../../../src/api/check/request/CheckableGetRequest.ts"],"names":[],"mappings":";;;AACA,iDAAmE;AACnE,gEAA6D;AAE7D,MAAsB,mBAAoB,SAAQ,yCAAmB;IACjE,YAAY,MAAwB;QAChC,KAAK,CAAC,0BAAa,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC;IAEM,QAAQ,CAAC,GAAY;QACxB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC;IAEM,WAAW,CAAC,MAAc;QAC7B,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC;CACJ;AAZD,kDAYC"}
@@ -1,7 +1,8 @@
1
- import { Express } from "express";
1
+ import { Express, Router } from "express";
2
2
  import { APIRequestConfig } from "../../APIRequest";
3
3
  import { CheckableAPIRequest } from "../CheckableAPIRequest";
4
4
  export declare abstract class CheckablePostRequest extends CheckableAPIRequest {
5
5
  constructor(config: APIRequestConfig);
6
- init(app: Express): void;
6
+ addToApp(app: Express): void;
7
+ addToRouter(router: Router): void;
7
8
  }
@@ -7,9 +7,12 @@ class CheckablePostRequest extends CheckableAPIRequest_1.CheckableAPIRequest {
7
7
  constructor(config) {
8
8
  super(APIRequest_1.RequestMethod.POST, config);
9
9
  }
10
- init(app) {
10
+ addToApp(app) {
11
11
  app.post(this.path, this.check, this.process);
12
12
  }
13
+ addToRouter(router) {
14
+ router.post(this.path, this.check, this.process);
15
+ }
13
16
  }
14
17
  exports.CheckablePostRequest = CheckablePostRequest;
15
18
  //# sourceMappingURL=CheckablePostRequest.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CheckablePostRequest.js","sourceRoot":"","sources":["../../../../src/api/check/request/CheckablePostRequest.ts"],"names":[],"mappings":";;;AACA,iDAAmE;AACnE,gEAA6D;AAE7D,MAAsB,oBAAqB,SAAQ,yCAAmB;IAClE,YAAY,MAAwB;QAChC,KAAK,CAAC,0BAAa,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACtC,CAAC;IAEM,IAAI,CAAC,GAAY;QACpB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAClD,CAAC;CACJ;AARD,oDAQC"}
1
+ {"version":3,"file":"CheckablePostRequest.js","sourceRoot":"","sources":["../../../../src/api/check/request/CheckablePostRequest.ts"],"names":[],"mappings":";;;AACA,iDAAmE;AACnE,gEAA6D;AAE7D,MAAsB,oBAAqB,SAAQ,yCAAmB;IAClE,YAAY,MAAwB;QAChC,KAAK,CAAC,0BAAa,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACtC,CAAC;IAEM,QAAQ,CAAC,GAAY;QACxB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAClD,CAAC;IAEM,WAAW,CAAC,MAAc;QAC7B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACrD,CAAC;CACJ;AAZD,oDAYC"}
@@ -1,7 +1,8 @@
1
- import { Express } from "express";
1
+ import { Express, Router } from "express";
2
2
  import { APIRequestConfig } from "../../APIRequest";
3
3
  import { CheckableAPIRequest } from "../CheckableAPIRequest";
4
4
  export declare abstract class CheckablePutRequest extends CheckableAPIRequest {
5
5
  constructor(config: APIRequestConfig);
6
- init(app: Express): void;
6
+ addToApp(app: Express): void;
7
+ addToRouter(router: Router): void;
7
8
  }
@@ -7,9 +7,12 @@ class CheckablePutRequest extends CheckableAPIRequest_1.CheckableAPIRequest {
7
7
  constructor(config) {
8
8
  super(APIRequest_1.RequestMethod.PUT, config);
9
9
  }
10
- init(app) {
10
+ addToApp(app) {
11
11
  app.put(this.path, this.check, this.process);
12
12
  }
13
+ addToRouter(router) {
14
+ router.put(this.path, this.check, this.process);
15
+ }
13
16
  }
14
17
  exports.CheckablePutRequest = CheckablePutRequest;
15
18
  //# sourceMappingURL=CheckablePutRequest.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CheckablePutRequest.js","sourceRoot":"","sources":["../../../../src/api/check/request/CheckablePutRequest.ts"],"names":[],"mappings":";;;AACA,iDAAmE;AACnE,gEAA6D;AAE7D,MAAsB,mBAAoB,SAAQ,yCAAmB;IACjE,YAAY,MAAwB;QAChC,KAAK,CAAC,0BAAa,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC;IAEM,IAAI,CAAC,GAAY;QACpB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC;CACJ;AARD,kDAQC"}
1
+ {"version":3,"file":"CheckablePutRequest.js","sourceRoot":"","sources":["../../../../src/api/check/request/CheckablePutRequest.ts"],"names":[],"mappings":";;;AACA,iDAAmE;AACnE,gEAA6D;AAE7D,MAAsB,mBAAoB,SAAQ,yCAAmB;IACjE,YAAY,MAAwB;QAChC,KAAK,CAAC,0BAAa,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC;IAEM,QAAQ,CAAC,GAAY;QACxB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC;IAEM,WAAW,CAAC,MAAc;QAC7B,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC;CACJ;AAZD,kDAYC"}
@@ -0,0 +1,9 @@
1
+ import { RouterOptions, Request, Response, NextFunction } from "express";
2
+ import { APIRouter } from "../../APIRouter";
3
+ import { APICheck } from "../APIChecker";
4
+ export declare class CheckableAPIRouter extends APIRouter {
5
+ private checker;
6
+ constructor(path: string, options?: RouterOptions);
7
+ addCheck(checker: APICheck): void;
8
+ protected middleware(req: Request, res: Response, next: NextFunction): Promise<void | Response>;
9
+ }
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.CheckableAPIRouter = void 0;
13
+ const APIRouter_1 = require("../../APIRouter");
14
+ const APIService_1 = require("../../APIService");
15
+ const APIChecker_1 = require("../APIChecker");
16
+ class CheckableAPIRouter extends APIRouter_1.APIRouter {
17
+ constructor(path, options) {
18
+ super(path, options);
19
+ this.checker = new APIChecker_1.APIChecker();
20
+ }
21
+ addCheck(checker) {
22
+ this.checker.addCheck(checker);
23
+ }
24
+ middleware(req, res, next) {
25
+ return __awaiter(this, void 0, void 0, function* () {
26
+ let request = APIService_1.ITRMAPIServiceGlobal.routers[req.baseUrl];
27
+ let result = yield request.checker.applyChecks(req);
28
+ if (result.approved)
29
+ return next();
30
+ return request.checker.reject(res, result);
31
+ });
32
+ }
33
+ }
34
+ exports.CheckableAPIRouter = CheckableAPIRouter;
35
+ //# sourceMappingURL=CheckableAPIRouter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CheckableAPIRouter.js","sourceRoot":"","sources":["../../../../src/api/check/route/CheckableAPIRouter.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,+CAA4C;AAC5C,iDAAwD;AACxD,8CAAqE;AAErE,MAAa,kBAAmB,SAAQ,qBAAS;IAG7C,YAAY,IAAY,EAAE,OAAuB;QAC7C,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAHjB,YAAO,GAAe,IAAI,uBAAU,EAAE,CAAC;IAI/C,CAAC;IAEM,QAAQ,CAAC,OAAiB;QAC7B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAEe,UAAU,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB;;YACtE,IAAI,OAAO,GAAuB,iCAAoB,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC5E,IAAI,MAAM,GAAmB,MAAM,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;YACnE,IAAI,MAAM,CAAC,QAAQ;gBACf,OAAO,IAAI,EAAE,CAAC;YAClB,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC/C,CAAC;KAAA;CACJ;AAlBD,gDAkBC"}
@@ -4,14 +4,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.ExpressStandardConfiguration = void 0;
7
+ const express_1 = __importDefault(require("express"));
7
8
  const cors_1 = __importDefault(require("cors"));
8
- const body_parser_1 = __importDefault(require("body-parser"));
9
9
  const APIService_1 = require("../APIService");
10
10
  class ExpressStandardConfiguration {
11
11
  apply(app) {
12
12
  app.use(ExpressStandardConfiguration.getCorsConfiguration());
13
- app.use(body_parser_1.default.json({ limit: '50mb' }));
14
- app.use(body_parser_1.default.urlencoded({ limit: '50mb', extended: true }));
13
+ app.use(express_1.default.json({ limit: '50mb' }));
14
+ app.use(express_1.default.urlencoded({ limit: '50mb', extended: true }));
15
15
  }
16
16
  static getCorsConfiguration() {
17
17
  return (0, cors_1.default)({
@@ -1 +1 @@
1
- {"version":3,"file":"ExpressStandardConfiguration.js","sourceRoot":"","sources":["../../../src/api/express/ExpressStandardConfiguration.ts"],"names":[],"mappings":";;;;;;AACA,gDAAwB;AACxB,8DAAqC;AAErC,8CAAqD;AAErD,MAAa,4BAA4B;IAC9B,KAAK,CAAC,GAAY;QACrB,GAAG,CAAC,GAAG,CAAC,4BAA4B,CAAC,oBAAoB,EAAE,CAAC,CAAC;QAC7D,GAAG,CAAC,GAAG,CAAC,qBAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QAC5C,GAAG,CAAC,GAAG,CAAC,qBAAU,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACtE,CAAC;IAEM,MAAM,CAAC,oBAAoB;QAC9B,OAAO,IAAA,cAAI,EAAC;YACR,MAAM,EAAE,UAAU,MAAM,EAAE,QAAQ;gBAC9B,IAAI,SAAS,GAAG,iCAAoB,CAAC,SAAS,CAAC;gBAC/C,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;oBACrE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;;oBAErB,QAAQ,CAAC,IAAI,KAAK,CAAC,qBAAqB,CAAC,EAAE,KAAK,CAAC,CAAC;YAC1D,CAAC;SACJ,CAAC,CAAC;IACP,CAAC;CACJ;AAlBD,oEAkBC"}
1
+ {"version":3,"file":"ExpressStandardConfiguration.js","sourceRoot":"","sources":["../../../src/api/express/ExpressStandardConfiguration.ts"],"names":[],"mappings":";;;;;;AAAA,sDAA2C;AAC3C,gDAAwB;AAExB,8CAAqD;AAErD,MAAa,4BAA4B;IAC9B,KAAK,CAAC,GAAY;QACrB,GAAG,CAAC,GAAG,CAAC,4BAA4B,CAAC,oBAAoB,EAAE,CAAC,CAAC;QAC7D,GAAG,CAAC,GAAG,CAAC,iBAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QACzC,GAAG,CAAC,GAAG,CAAC,iBAAO,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACnE,CAAC;IAEM,MAAM,CAAC,oBAAoB;QAC9B,OAAO,IAAA,cAAI,EAAC;YACR,MAAM,EAAE,UAAU,MAAM,EAAE,QAAQ;gBAC9B,IAAI,SAAS,GAAG,iCAAoB,CAAC,SAAS,CAAC;gBAC/C,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;oBACrE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;;oBAErB,QAAQ,CAAC,IAAI,KAAK,CAAC,qBAAqB,CAAC,EAAE,KAAK,CAAC,CAAC;YAC1D,CAAC;SACJ,CAAC,CAAC;IACP,CAAC;CACJ;AAlBD,oEAkBC"}
@@ -1,6 +1,7 @@
1
- import { Express } from "express";
1
+ import { Express, Router } from "express";
2
2
  import { APIRequest, APIRequestConfig } from "../APIRequest";
3
3
  export declare abstract class DeleteRequest extends APIRequest {
4
4
  constructor(config: APIRequestConfig);
5
- init(app: Express): void;
5
+ addToApp(app: Express): void;
6
+ addToRouter(router: Router): void;
6
7
  }
@@ -6,9 +6,12 @@ class DeleteRequest extends APIRequest_1.APIRequest {
6
6
  constructor(config) {
7
7
  super(APIRequest_1.RequestMethod.DELETE, config);
8
8
  }
9
- init(app) {
9
+ addToApp(app) {
10
10
  app.delete(this.path, this.process);
11
11
  }
12
+ addToRouter(router) {
13
+ router.delete(this.path, this.process);
14
+ }
12
15
  }
13
16
  exports.DeleteRequest = DeleteRequest;
14
17
  //# sourceMappingURL=DeleteRequest.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DeleteRequest.js","sourceRoot":"","sources":["../../../src/api/request/DeleteRequest.ts"],"names":[],"mappings":";;;AACA,8CAA4E;AAE5E,MAAsB,aAAc,SAAQ,uBAAU;IAClD,YAAY,MAAwB;QAChC,KAAK,CAAC,0BAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,CAAC;IAEM,IAAI,CAAC,GAAY;QACpB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;CACJ;AARD,sCAQC"}
1
+ {"version":3,"file":"DeleteRequest.js","sourceRoot":"","sources":["../../../src/api/request/DeleteRequest.ts"],"names":[],"mappings":";;;AACA,8CAA4E;AAE5E,MAAsB,aAAc,SAAQ,uBAAU;IAClD,YAAY,MAAwB;QAChC,KAAK,CAAC,0BAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,CAAC;IAEM,QAAQ,CAAC,GAAY;QACxB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;IAEM,WAAW,CAAC,MAAc;QAC7B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;CACJ;AAZD,sCAYC"}
@@ -1,6 +1,7 @@
1
- import { Express } from "express";
1
+ import { Express, Router } from "express";
2
2
  import { APIRequest, APIRequestConfig } from "../APIRequest";
3
3
  export declare abstract class GetRequest extends APIRequest {
4
4
  constructor(config: APIRequestConfig);
5
- init(app: Express): void;
5
+ addToApp(app: Express): void;
6
+ addToRouter(router: Router): void;
6
7
  }
@@ -6,9 +6,12 @@ class GetRequest extends APIRequest_1.APIRequest {
6
6
  constructor(config) {
7
7
  super(APIRequest_1.RequestMethod.GET, config);
8
8
  }
9
- init(app) {
9
+ addToApp(app) {
10
10
  app.get(this.path, this.process);
11
11
  }
12
+ addToRouter(router) {
13
+ router.get(this.path, this.process);
14
+ }
12
15
  }
13
16
  exports.GetRequest = GetRequest;
14
17
  //# sourceMappingURL=GetRequest.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GetRequest.js","sourceRoot":"","sources":["../../../src/api/request/GetRequest.ts"],"names":[],"mappings":";;;AACA,8CAA4E;AAE5E,MAAsB,UAAW,SAAQ,uBAAU;IAC/C,YAAY,MAAwB;QAChC,KAAK,CAAC,0BAAa,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC;IAEM,IAAI,CAAC,GAAY;QACpB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;CACJ;AARD,gCAQC"}
1
+ {"version":3,"file":"GetRequest.js","sourceRoot":"","sources":["../../../src/api/request/GetRequest.ts"],"names":[],"mappings":";;;AACA,8CAA4E;AAE5E,MAAsB,UAAW,SAAQ,uBAAU;IAC/C,YAAY,MAAwB;QAChC,KAAK,CAAC,0BAAa,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC;IAEM,QAAQ,CAAC,GAAY;QACxB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAEM,WAAW,CAAC,MAAc;QAC7B,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;CACJ;AAZD,gCAYC"}
@@ -1,6 +1,7 @@
1
- import { Express } from "express";
1
+ import { Express, Router } from "express";
2
2
  import { APIRequest, APIRequestConfig } from "../APIRequest";
3
3
  export declare abstract class PostRequest extends APIRequest {
4
4
  constructor(config: APIRequestConfig);
5
- init(app: Express): void;
5
+ addToApp(app: Express): void;
6
+ addToRouter(router: Router): void;
6
7
  }
@@ -6,9 +6,12 @@ class PostRequest extends APIRequest_1.APIRequest {
6
6
  constructor(config) {
7
7
  super(APIRequest_1.RequestMethod.POST, config);
8
8
  }
9
- init(app) {
9
+ addToApp(app) {
10
10
  app.post(this.path, this.process);
11
11
  }
12
+ addToRouter(router) {
13
+ router.post(this.path, this.process);
14
+ }
12
15
  }
13
16
  exports.PostRequest = PostRequest;
14
17
  //# sourceMappingURL=PostRequest.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PostRequest.js","sourceRoot":"","sources":["../../../src/api/request/PostRequest.ts"],"names":[],"mappings":";;;AACA,8CAA4E;AAE5E,MAAsB,WAAY,SAAQ,uBAAU;IAChD,YAAY,MAAwB;QAChC,KAAK,CAAC,0BAAa,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACtC,CAAC;IAEM,IAAI,CAAC,GAAY;QACpB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;CACJ;AARD,kCAQC"}
1
+ {"version":3,"file":"PostRequest.js","sourceRoot":"","sources":["../../../src/api/request/PostRequest.ts"],"names":[],"mappings":";;;AACA,8CAA4E;AAE5E,MAAsB,WAAY,SAAQ,uBAAU;IAChD,YAAY,MAAwB;QAChC,KAAK,CAAC,0BAAa,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACtC,CAAC;IAEM,QAAQ,CAAC,GAAY;QACxB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAEM,WAAW,CAAC,MAAc;QAC7B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;CACJ;AAZD,kCAYC"}
@@ -1,6 +1,7 @@
1
- import { Express } from "express";
1
+ import { Express, Router } from "express";
2
2
  import { APIRequest, APIRequestConfig } from "../APIRequest";
3
3
  export declare abstract class PutRequest extends APIRequest {
4
4
  constructor(config: APIRequestConfig);
5
- init(app: Express): void;
5
+ addToApp(app: Express): void;
6
+ addToRouter(router: Router): void;
6
7
  }
@@ -6,9 +6,12 @@ class PutRequest extends APIRequest_1.APIRequest {
6
6
  constructor(config) {
7
7
  super(APIRequest_1.RequestMethod.PUT, config);
8
8
  }
9
- init(app) {
9
+ addToApp(app) {
10
10
  app.put(this.path, this.process);
11
11
  }
12
+ addToRouter(router) {
13
+ router.put(this.path, this.process);
14
+ }
12
15
  }
13
16
  exports.PutRequest = PutRequest;
14
17
  //# sourceMappingURL=PutRequest.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PutRequest.js","sourceRoot":"","sources":["../../../src/api/request/PutRequest.ts"],"names":[],"mappings":";;;AACA,8CAA4E;AAE5E,MAAsB,UAAW,SAAQ,uBAAU;IAC/C,YAAY,MAAwB;QAChC,KAAK,CAAC,0BAAa,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC;IAEM,IAAI,CAAC,GAAY;QACpB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;CACJ;AARD,gCAQC"}
1
+ {"version":3,"file":"PutRequest.js","sourceRoot":"","sources":["../../../src/api/request/PutRequest.ts"],"names":[],"mappings":";;;AACA,8CAA4E;AAE5E,MAAsB,UAAW,SAAQ,uBAAU;IAC/C,YAAY,MAAwB;QAChC,KAAK,CAAC,0BAAa,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC;IAEM,QAAQ,CAAC,GAAY;QACxB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAEM,WAAW,CAAC,MAAc;QAC7B,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;CACJ;AAZD,gCAYC"}
@@ -0,0 +1,6 @@
1
+ import { NextFunction, Request, Response, RouterOptions } from "express";
2
+ import { APIRouter } from "../APIRouter";
3
+ export declare class SimpleAPIRouter extends APIRouter {
4
+ constructor(path: string, options?: RouterOptions);
5
+ protected middleware(req: Request, res: Response, next: NextFunction): Promise<void | Response>;
6
+ }
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.SimpleAPIRouter = void 0;
13
+ const APIRouter_1 = require("../APIRouter");
14
+ class SimpleAPIRouter extends APIRouter_1.APIRouter {
15
+ constructor(path, options) {
16
+ super(path, options);
17
+ }
18
+ middleware(req, res, next) {
19
+ return __awaiter(this, void 0, void 0, function* () {
20
+ return next();
21
+ });
22
+ }
23
+ }
24
+ exports.SimpleAPIRouter = SimpleAPIRouter;
25
+ //# sourceMappingURL=SimpleAPIRouter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SimpleAPIRouter.js","sourceRoot":"","sources":["../../../src/api/route/SimpleAPIRouter.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,4CAAyC;AAEzC,MAAa,eAAgB,SAAQ,qBAAS;IAC1C,YAAY,IAAY,EAAE,OAAuB;QAC7C,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACzB,CAAC;IAEe,UAAU,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB;;YACtE,OAAO,IAAI,EAAE,CAAC;QAClB,CAAC;KAAA;CACJ;AARD,0CAQC"}
package/dist/index.d.ts CHANGED
@@ -3,15 +3,19 @@ export { HttpsAPIService as HttpsAPIService } from './api/HttpsAPIService';
3
3
  export { ExpressConfiguration as ExpressConfiguration } from './api/ExpressConfiguration';
4
4
  export { ExpressStandardConfiguration as ExpressStandardConfiguration } from './api/express/ExpressStandardConfiguration';
5
5
  export { APIRequest as APIRequest, RequestMethod as RequestMethod, RequestContext as RequestContext, GroupedParameters as GroupedParameters, APIRequestConfig as APIRequestConfig } from './api/APIRequest';
6
+ export { APIRouter as APIRouter } from './api/APIRouter';
7
+ export { SimpleAPIRouter as SimpleAPIRouter } from './api/route/SimpleAPIRouter';
6
8
  export { GetRequest as GetRequest } from './api/request/GetRequest';
7
9
  export { PostRequest as PostRequest } from './api/request/PostRequest';
8
10
  export { PutRequest as PutRequest } from './api/request/PutRequest';
9
11
  export { DeleteRequest as DeleteRequest } from './api/request/DeleteRequest';
10
- export { APICheckResult as APICheckResult, APIChecker as APIChecker, APICheckConfig as APICheckConfig, CheckableAPIRequest as CheckableAPIRequest } from './api/check/CheckableAPIRequest';
12
+ export { CheckableAPIRequest as CheckableAPIRequest } from './api/check/CheckableAPIRequest';
13
+ export { APICheckResult as APICheckResult, APICheck as APICheck, APIChecker as APIChecker, APICheckConfig as APICheckConfig } from './api/check/APIChecker';
11
14
  export { CheckableDeleteRequest as CheckableDeleteRequest } from './api/check/request/CheckableDeleteRequest';
12
15
  export { CheckableGetRequest as CheckableGetRequest } from './api/check/request/CheckableGetRequest';
13
16
  export { CheckablePostRequest as CheckablePostRequest } from './api/check/request/CheckablePostRequest';
14
17
  export { CheckablePutRequest as CheckablePutRequest } from './api/check/request/CheckablePutRequest';
18
+ export { CheckableAPIRouter as CheckableAPIRouter } from './api/check/route/CheckableAPIRouter';
15
19
  export { MongooseModelManager as MongooseModelManager } from './database/mongoose/MongooseModelManager';
16
20
  export { SequelizeConnection as SequelizeConnection } from './database/sequelize/SequelizeConnection';
17
21
  export { SequelizeModelManager as SequelizeModelManager } from './database/sequelize/SequelizeModelManager';
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CoingeckoPriceFinder = exports.Coin = exports.LoggerWebSocket = exports.LoggerManager = exports.Logger = exports.SequelizeModelManager = exports.SequelizeConnection = exports.MongooseModelManager = exports.CheckablePutRequest = exports.CheckablePostRequest = exports.CheckableGetRequest = exports.CheckableDeleteRequest = exports.CheckableAPIRequest = exports.DeleteRequest = exports.PutRequest = exports.PostRequest = exports.GetRequest = exports.RequestContext = exports.RequestMethod = exports.APIRequest = exports.ExpressStandardConfiguration = exports.HttpsAPIService = exports.APIService = void 0;
3
+ exports.CoingeckoPriceFinder = exports.Coin = exports.LoggerWebSocket = exports.LoggerManager = exports.Logger = exports.SequelizeModelManager = exports.SequelizeConnection = exports.MongooseModelManager = exports.CheckableAPIRouter = exports.CheckablePutRequest = exports.CheckablePostRequest = exports.CheckableGetRequest = exports.CheckableDeleteRequest = exports.APIChecker = exports.CheckableAPIRequest = exports.DeleteRequest = exports.PutRequest = exports.PostRequest = exports.GetRequest = exports.SimpleAPIRouter = exports.APIRouter = exports.RequestContext = exports.RequestMethod = exports.APIRequest = exports.ExpressStandardConfiguration = exports.HttpsAPIService = exports.APIService = void 0;
4
4
  var APIService_1 = require("./api/APIService");
5
5
  Object.defineProperty(exports, "APIService", { enumerable: true, get: function () { return APIService_1.APIService; } });
6
6
  var HttpsAPIService_1 = require("./api/HttpsAPIService");
@@ -11,6 +11,10 @@ var APIRequest_1 = require("./api/APIRequest");
11
11
  Object.defineProperty(exports, "APIRequest", { enumerable: true, get: function () { return APIRequest_1.APIRequest; } });
12
12
  Object.defineProperty(exports, "RequestMethod", { enumerable: true, get: function () { return APIRequest_1.RequestMethod; } });
13
13
  Object.defineProperty(exports, "RequestContext", { enumerable: true, get: function () { return APIRequest_1.RequestContext; } });
14
+ var APIRouter_1 = require("./api/APIRouter");
15
+ Object.defineProperty(exports, "APIRouter", { enumerable: true, get: function () { return APIRouter_1.APIRouter; } });
16
+ var SimpleAPIRouter_1 = require("./api/route/SimpleAPIRouter");
17
+ Object.defineProperty(exports, "SimpleAPIRouter", { enumerable: true, get: function () { return SimpleAPIRouter_1.SimpleAPIRouter; } });
14
18
  var GetRequest_1 = require("./api/request/GetRequest");
15
19
  Object.defineProperty(exports, "GetRequest", { enumerable: true, get: function () { return GetRequest_1.GetRequest; } });
16
20
  var PostRequest_1 = require("./api/request/PostRequest");
@@ -21,6 +25,8 @@ var DeleteRequest_1 = require("./api/request/DeleteRequest");
21
25
  Object.defineProperty(exports, "DeleteRequest", { enumerable: true, get: function () { return DeleteRequest_1.DeleteRequest; } });
22
26
  var CheckableAPIRequest_1 = require("./api/check/CheckableAPIRequest");
23
27
  Object.defineProperty(exports, "CheckableAPIRequest", { enumerable: true, get: function () { return CheckableAPIRequest_1.CheckableAPIRequest; } });
28
+ var APIChecker_1 = require("./api/check/APIChecker");
29
+ Object.defineProperty(exports, "APIChecker", { enumerable: true, get: function () { return APIChecker_1.APIChecker; } });
24
30
  var CheckableDeleteRequest_1 = require("./api/check/request/CheckableDeleteRequest");
25
31
  Object.defineProperty(exports, "CheckableDeleteRequest", { enumerable: true, get: function () { return CheckableDeleteRequest_1.CheckableDeleteRequest; } });
26
32
  var CheckableGetRequest_1 = require("./api/check/request/CheckableGetRequest");
@@ -29,6 +35,8 @@ var CheckablePostRequest_1 = require("./api/check/request/CheckablePostRequest")
29
35
  Object.defineProperty(exports, "CheckablePostRequest", { enumerable: true, get: function () { return CheckablePostRequest_1.CheckablePostRequest; } });
30
36
  var CheckablePutRequest_1 = require("./api/check/request/CheckablePutRequest");
31
37
  Object.defineProperty(exports, "CheckablePutRequest", { enumerable: true, get: function () { return CheckablePutRequest_1.CheckablePutRequest; } });
38
+ var CheckableAPIRouter_1 = require("./api/check/route/CheckableAPIRouter");
39
+ Object.defineProperty(exports, "CheckableAPIRouter", { enumerable: true, get: function () { return CheckableAPIRouter_1.CheckableAPIRouter; } });
32
40
  var MongooseModelManager_1 = require("./database/mongoose/MongooseModelManager");
33
41
  Object.defineProperty(exports, "MongooseModelManager", { enumerable: true, get: function () { return MongooseModelManager_1.MongooseModelManager; } });
34
42
  var SequelizeConnection_1 = require("./database/sequelize/SequelizeConnection");
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,+CAA4I;AAA7F,wGAAA,UAAU,OAAc;AACvE,yDAA2E;AAAlE,kHAAA,eAAe,OAAmB;AAG3C,2FAA0H;AAAjH,4IAAA,4BAA4B,OAAgC;AAErE,+CAA4M;AAAnM,wGAAA,UAAU,OAAc;AAAE,2GAAA,aAAa,OAAiB;AAAE,4GAAA,cAAc,OAAkB;AACnG,uDAAoE;AAA3D,wGAAA,UAAU,OAAc;AACjC,yDAAuE;AAA9D,0GAAA,WAAW,OAAe;AACnC,uDAAoE;AAA3D,wGAAA,UAAU,OAAc;AACjC,6DAA6E;AAApE,8GAAA,aAAa,OAAiB;AAEvC,uEAA2L;AAApF,0HAAA,mBAAmB,OAAuB;AACjJ,qFAA8G;AAArG,gIAAA,sBAAsB,OAA0B;AACzD,+EAAqG;AAA5F,0HAAA,mBAAmB,OAAuB;AACnD,iFAAwG;AAA/F,4HAAA,oBAAoB,OAAwB;AACrD,+EAAqG;AAA5F,0HAAA,mBAAmB,OAAuB;AAInD,iFAAwG;AAA/F,4HAAA,oBAAoB,OAAwB;AAErD,gFAAsG;AAA7F,0HAAA,mBAAmB,OAAuB;AACnD,oFAA4G;AAAnG,8HAAA,qBAAqB,OAAyB;AAIvD,uCAAgD;AAAvC,gGAAA,MAAM,OAAU;AACzB,qDAAqE;AAA5D,8GAAA,aAAa,OAAiB;AACvC,yDAA2E;AAAlE,kHAAA,eAAe,OAAmB;AAI3C,oCAAmC;AAA1B,4FAAA,IAAI,OAAA;AACb,8EAA6E;AAApE,4HAAA,oBAAoB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,+CAA4I;AAA7F,wGAAA,UAAU,OAAc;AACvE,yDAA2E;AAAlE,kHAAA,eAAe,OAAmB;AAE3C,2FAA0H;AAAjH,4IAAA,4BAA4B,OAAgC;AACrE,+CAA4M;AAAnM,wGAAA,UAAU,OAAc;AAAE,2GAAA,aAAa,OAAiB;AAAE,4GAAA,cAAc,OAAkB;AACnG,6CAAyD;AAAhD,sGAAA,SAAS,OAAa;AAC/B,+DAAgF;AAAvE,kHAAA,eAAe,OAAmB;AAC3C,uDAAoE;AAA3D,wGAAA,UAAU,OAAc;AACjC,yDAAuE;AAA9D,0GAAA,WAAW,OAAe;AACnC,uDAAoE;AAA3D,wGAAA,UAAU,OAAc;AACjC,6DAA6E;AAApE,8GAAA,aAAa,OAAiB;AACvC,uEAA6F;AAApF,0HAAA,mBAAmB,OAAuB;AACnD,qDAA4J;AAA3F,wGAAA,UAAU,OAAc;AACzF,qFAA8G;AAArG,gIAAA,sBAAsB,OAA0B;AACzD,+EAAqG;AAA5F,0HAAA,mBAAmB,OAAuB;AACnD,iFAAwG;AAA/F,4HAAA,oBAAoB,OAAwB;AACrD,+EAAqG;AAA5F,0HAAA,mBAAmB,OAAuB;AACnD,2EAAgG;AAAvF,wHAAA,kBAAkB,OAAsB;AAEjD,iFAAwG;AAA/F,4HAAA,oBAAoB,OAAwB;AACrD,gFAAsG;AAA7F,0HAAA,mBAAmB,OAAuB;AACnD,oFAA4G;AAAnG,8HAAA,qBAAqB,OAAyB;AAEvD,uCAAgD;AAAvC,gGAAA,MAAM,OAAU;AACzB,qDAAqE;AAA5D,8GAAA,aAAa,OAAiB;AACvC,yDAA2E;AAAlE,kHAAA,eAAe,OAAmB;AAE3C,oCAAmC;AAA1B,4FAAA,IAAI,OAAA;AACb,8EAA6E;AAApE,4HAAA,oBAAoB,OAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "itrm-tools",
3
- "version": "1.0.7",
3
+ "version": "1.0.9",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",