mvc-common-toolkit 1.0.0

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 (61) hide show
  1. package/dist/index.d.ts +6 -0
  2. package/dist/index.js +23 -0
  3. package/dist/index.js.map +1 -0
  4. package/dist/src/constants.d.ts +11 -0
  5. package/dist/src/constants.js +17 -0
  6. package/dist/src/constants.js.map +1 -0
  7. package/dist/src/gateways/alibaba-cloud-gateway.d.ts +26 -0
  8. package/dist/src/gateways/alibaba-cloud-gateway.js +56 -0
  9. package/dist/src/gateways/alibaba-cloud-gateway.js.map +1 -0
  10. package/dist/src/gateways/http-audit-gateway.d.ts +21 -0
  11. package/dist/src/gateways/http-audit-gateway.js +75 -0
  12. package/dist/src/gateways/http-audit-gateway.js.map +1 -0
  13. package/dist/src/gateways/index.d.ts +2 -0
  14. package/dist/src/gateways/index.js +19 -0
  15. package/dist/src/gateways/index.js.map +1 -0
  16. package/dist/src/interfaces.d.ts +52 -0
  17. package/dist/src/interfaces.js +3 -0
  18. package/dist/src/interfaces.js.map +1 -0
  19. package/dist/src/models/audit-log.d.ts +77 -0
  20. package/dist/src/models/audit-log.js +92 -0
  21. package/dist/src/models/audit-log.js.map +1 -0
  22. package/dist/src/models/index.d.ts +1 -0
  23. package/dist/src/models/index.js +18 -0
  24. package/dist/src/models/index.js.map +1 -0
  25. package/dist/src/pkg/bcrypt-helper.d.ts +2 -0
  26. package/dist/src/pkg/bcrypt-helper.js +36 -0
  27. package/dist/src/pkg/bcrypt-helper.js.map +1 -0
  28. package/dist/src/pkg/http-request-utils.d.ts +3 -0
  29. package/dist/src/pkg/http-request-utils.js +27 -0
  30. package/dist/src/pkg/http-request-utils.js.map +1 -0
  31. package/dist/src/pkg/index.d.ts +6 -0
  32. package/dist/src/pkg/index.js +33 -0
  33. package/dist/src/pkg/index.js.map +1 -0
  34. package/dist/src/pkg/object-helper.d.ts +1 -0
  35. package/dist/src/pkg/object-helper.js +14 -0
  36. package/dist/src/pkg/object-helper.js.map +1 -0
  37. package/dist/src/pkg/query-helper.d.ts +2 -0
  38. package/dist/src/pkg/query-helper.js +23 -0
  39. package/dist/src/pkg/query-helper.js.map +1 -0
  40. package/dist/src/pkg/string-utils.d.ts +4 -0
  41. package/dist/src/pkg/string-utils.js +74 -0
  42. package/dist/src/pkg/string-utils.js.map +1 -0
  43. package/dist/src/pkg/worksheet.utils.d.ts +24 -0
  44. package/dist/src/pkg/worksheet.utils.js +105 -0
  45. package/dist/src/pkg/worksheet.utils.js.map +1 -0
  46. package/dist/src/services/audit-service.d.ts +7 -0
  47. package/dist/src/services/audit-service.js +32 -0
  48. package/dist/src/services/audit-service.js.map +1 -0
  49. package/dist/src/services/excel.service.d.ts +25 -0
  50. package/dist/src/services/excel.service.js +95 -0
  51. package/dist/src/services/excel.service.js.map +1 -0
  52. package/dist/src/services/index.d.ts +3 -0
  53. package/dist/src/services/index.js +20 -0
  54. package/dist/src/services/index.js.map +1 -0
  55. package/dist/src/services/mailer-service.d.ts +15 -0
  56. package/dist/src/services/mailer-service.js +44 -0
  57. package/dist/src/services/mailer-service.js.map +1 -0
  58. package/dist/tsconfig.tsbuildinfo +1 -0
  59. package/index.ts +6 -0
  60. package/package.json +41 -0
  61. package/tsconfig.json +25 -0
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.worksheetUtils = exports.stringUtils = exports.queryHelper = exports.objectHelper = exports.httpRequestUtils = exports.bcryptHelper = void 0;
27
+ exports.bcryptHelper = __importStar(require("./bcrypt-helper"));
28
+ exports.httpRequestUtils = __importStar(require("./http-request-utils"));
29
+ exports.objectHelper = __importStar(require("./object-helper"));
30
+ exports.queryHelper = __importStar(require("./query-helper"));
31
+ exports.stringUtils = __importStar(require("./string-utils"));
32
+ exports.worksheetUtils = __importStar(require("./worksheet.utils"));
33
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/pkg/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gEAAgD;AAChD,yEAAyD;AACzD,gEAAgD;AAChD,8DAA8C;AAC9C,8DAA8C;AAC9C,oEAAoD"}
@@ -0,0 +1 @@
1
+ export declare function removeUndefinedProps(data: any): any;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.removeUndefinedProps = void 0;
4
+ function removeUndefinedProps(data) {
5
+ const allKeys = Object.keys(data);
6
+ return allKeys.reduce((aggregated, current) => {
7
+ if (data[current] !== undefined) {
8
+ aggregated[current] = data[current];
9
+ }
10
+ return aggregated;
11
+ }, {});
12
+ }
13
+ exports.removeUndefinedProps = removeUndefinedProps;
14
+ //# sourceMappingURL=object-helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object-helper.js","sourceRoot":"","sources":["../../../src/pkg/object-helper.ts"],"names":[],"mappings":";;;AAAA,SAAgB,oBAAoB,CAAC,IAAS;IAC5C,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAElC,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE;QAC5C,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,SAAS,EAAE;YAC/B,UAAU,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;SACrC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC;AAVD,oDAUC"}
@@ -0,0 +1,2 @@
1
+ import { ISort } from "../interfaces";
2
+ export declare function parseSort(data: string): ISort[];
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseSort = void 0;
4
+ function parseSort(data) {
5
+ if (!data) {
6
+ return [];
7
+ }
8
+ const sortConditions = data.split(" ").map((item) => {
9
+ if (item[0] === "-") {
10
+ return {
11
+ columnName: item.slice(1, item.length - 1),
12
+ direction: "DESC",
13
+ };
14
+ }
15
+ return {
16
+ columnName: item,
17
+ direction: "ASC",
18
+ };
19
+ });
20
+ return sortConditions;
21
+ }
22
+ exports.parseSort = parseSort;
23
+ //# sourceMappingURL=query-helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-helper.js","sourceRoot":"","sources":["../../../src/pkg/query-helper.ts"],"names":[],"mappings":";;;AAOA,SAAgB,SAAS,CAAC,IAAY;IACpC,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,EAAE,CAAC;KACX;IAED,MAAM,cAAc,GAAY,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC3D,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;YACnB,OAAO;gBACL,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC1C,SAAS,EAAE,MAAM;aAClB,CAAC;SACH;QAED,OAAO;YACL,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,KAAK;SACjB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,cAAc,CAAC;AACxB,CAAC;AApBD,8BAoBC"}
@@ -0,0 +1,4 @@
1
+ export declare function generateRandomId(): string;
2
+ export declare function generatePassword(length?: number): string;
3
+ export declare function validatePasswordStrengthWithMessage(password: string): string;
4
+ export declare const maskFn: (key: string, value: string) => string;
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.maskFn = exports.validatePasswordStrengthWithMessage = exports.generatePassword = exports.generateRandomId = void 0;
4
+ const cuid2_1 = require("@paralleldrive/cuid2");
5
+ function generateRandomId() {
6
+ return (0, cuid2_1.createId)();
7
+ }
8
+ exports.generateRandomId = generateRandomId;
9
+ function generatePassword(length = 16) {
10
+ const chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
11
+ const numbers = "0123456789";
12
+ const symbols = "!@#$%^&*(){}|+-";
13
+ const all = chars + numbers + symbols;
14
+ let retVal = "";
15
+ retVal += chars.charAt(Math.floor(Math.random() * chars.length));
16
+ retVal += numbers.charAt(Math.floor(Math.random() * numbers.length));
17
+ retVal += symbols.charAt(Math.floor(Math.random() * symbols.length));
18
+ for (let i = 0; i < length - 3; ++i) {
19
+ retVal += all.charAt(Math.floor(Math.random() * all.length));
20
+ }
21
+ return retVal;
22
+ }
23
+ exports.generatePassword = generatePassword;
24
+ function escapeRegexCharacters(str) {
25
+ return str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
26
+ }
27
+ function validatePasswordStrengthWithMessage(password) {
28
+ const escapedPassword = escapeRegexCharacters(password);
29
+ if (escapedPassword.length < 8) {
30
+ return "Password must be at least 8 characters long";
31
+ }
32
+ if (!escapedPassword.match(/[a-z]/)) {
33
+ return "Password must contain at least one lowercase letter";
34
+ }
35
+ if (!escapedPassword.match(/[A-Z]/)) {
36
+ return "Password must contain at least one uppercase letter";
37
+ }
38
+ if (!escapedPassword.match(/[0-9]/)) {
39
+ return "Password must contain at least one number";
40
+ }
41
+ if (!escapedPassword.match(/[^a-zA-Z0-9]/)) {
42
+ return "Password must contain at least one special character";
43
+ }
44
+ return "";
45
+ }
46
+ exports.validatePasswordStrengthWithMessage = validatePasswordStrengthWithMessage;
47
+ const standardlize = (f1) => f1.replace(new RegExp("_", "g"), "").toLowerCase();
48
+ const masks = [
49
+ {
50
+ match: (value) => ["password", "Authorization", "access_token"]
51
+ .map((item) => standardlize(item))
52
+ .includes(standardlize(value)),
53
+ pattern: /^(.*)$/,
54
+ replacer: (_, _s1) => "***masked***",
55
+ },
56
+ {
57
+ match: (value) => ["txid", "txnid"]
58
+ .map((item) => standardlize(item))
59
+ .includes(standardlize(value)),
60
+ pattern: /^(.{10})(.*)(.{36})$/,
61
+ replacer: (_, s1, s2, s3) => `${s1}${"*".repeat(s2.length)}${s3}`,
62
+ },
63
+ ];
64
+ const maskFn = (key, value) => {
65
+ if (typeof value === "object")
66
+ return value;
67
+ const foundMask = masks.find((m) => m.match(key));
68
+ if (!foundMask)
69
+ return value;
70
+ const { pattern, replacer } = foundMask;
71
+ return value.replace(pattern, replacer);
72
+ };
73
+ exports.maskFn = maskFn;
74
+ //# sourceMappingURL=string-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string-utils.js","sourceRoot":"","sources":["../../../src/pkg/string-utils.ts"],"names":[],"mappings":";;;AAAA,gDAAgD;AAEhD,SAAgB,gBAAgB;IAC9B,OAAO,IAAA,gBAAQ,GAAE,CAAC;AACpB,CAAC;AAFD,4CAEC;AAED,SAAgB,gBAAgB,CAAC,MAAM,GAAG,EAAE;IAC1C,MAAM,KAAK,GAAG,sDAAsD,CAAC;IACrE,MAAM,OAAO,GAAG,YAAY,CAAC;IAC7B,MAAM,OAAO,GAAG,iBAAiB,CAAC;IAClC,MAAM,GAAG,GAAG,KAAK,GAAG,OAAO,GAAG,OAAO,CAAC;IAEtC,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACjE,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IACrE,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAErE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE;QACnC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;KAC9D;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAfD,4CAeC;AAED,SAAS,qBAAqB,CAAC,GAAW;IACxC,OAAO,GAAG,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AACpD,CAAC;AAED,SAAgB,mCAAmC,CAAC,QAAgB;IAClE,MAAM,eAAe,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAExD,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;QAC9B,OAAO,6CAA6C,CAAC;KACtD;IACD,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;QACnC,OAAO,qDAAqD,CAAC;KAC9D;IACD,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;QACnC,OAAO,qDAAqD,CAAC;KAC9D;IACD,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;QACnC,OAAO,2CAA2C,CAAC;KACpD;IACD,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE;QAC1C,OAAO,sDAAsD,CAAC;KAC/D;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAnBD,kFAmBC;AAED,MAAM,YAAY,GAAG,CAAC,EAAU,EAAE,EAAE,CAClC,EAAE,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;AACrD,MAAM,KAAK,GAAG;IACZ;QACE,KAAK,EAAE,CAAC,KAAa,EAAE,EAAE,CACvB,CAAC,UAAU,EAAE,eAAe,EAAE,cAAc,CAAC;aAC1C,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;aACjC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAClC,OAAO,EAAE,QAAQ;QACjB,QAAQ,EAAE,CAAC,CAAC,EAAE,GAAW,EAAE,EAAE,CAAC,cAAc;KAC7C;IACD;QACE,KAAK,EAAE,CAAC,KAAa,EAAE,EAAE,CACvB,CAAC,MAAM,EAAE,OAAO,CAAC;aACd,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;aACjC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAClC,OAAO,EAAE,sBAAsB;QAC/B,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,EAAE,CAClD,GAAG,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE;KACvC;CACF,CAAC;AAEK,MAAM,MAAM,GAAG,CAAC,GAAW,EAAE,KAAa,EAAE,EAAE;IACnD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAClD,IAAI,CAAC,SAAS;QAAE,OAAO,KAAK,CAAC;IAC7B,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,SAAS,CAAC;IACxC,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC1C,CAAC,CAAC;AANW,QAAA,MAAM,UAMjB"}
@@ -0,0 +1,24 @@
1
+ import { Worksheet, Cell, Row, Column } from "exceljs";
2
+ import { ICellData, ICellOptions } from "../interfaces";
3
+ export declare class WorksheetUtils {
4
+ protected worksheet: Worksheet;
5
+ protected isAlive: boolean;
6
+ id: number;
7
+ constructor(worksheet: Worksheet);
8
+ markRemoved(): void;
9
+ rename(newName: string): void;
10
+ setRowHeight(rowNumber: number, height: number): void;
11
+ setColumnSize(columnName: string, width: number): void;
12
+ writeCellByAddress(cellAddress: string, cellData: Partial<ICellData>): Cell;
13
+ writeRow(rowNumber: number, startColumnNumber: number, writeData: any[]): Row;
14
+ duplicateRow(rowNumber: number, amount?: number, insert?: boolean): void;
15
+ mergeCells(startCellName: string, endCellName: string, ignoreStyle?: boolean): void;
16
+ getRow(rowNumber1Based: number): Row;
17
+ getColumn(columnName: string): Partial<Column>;
18
+ commit(): void;
19
+ getColumnData(columnName: string, startIndex?: number): any[];
20
+ getRowData(rowNumber1Based: number, startColIndex: number, endColIndex: number): any[];
21
+ protected applyOptionsToCell(cell: Cell, options?: ICellOptions): void;
22
+ protected writeCell(cell: Cell, cellData: Partial<ICellData>): void;
23
+ protected throwIfNotAlive(): void;
24
+ }
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WorksheetUtils = void 0;
4
+ class WorksheetUtils {
5
+ constructor(worksheet) {
6
+ this.worksheet = worksheet;
7
+ this.isAlive = true;
8
+ this.id = worksheet.id;
9
+ }
10
+ markRemoved() {
11
+ this.isAlive = false;
12
+ }
13
+ rename(newName) {
14
+ this.worksheet.name = newName;
15
+ }
16
+ setRowHeight(rowNumber, height) {
17
+ const row = this.getRow(rowNumber);
18
+ row.height = height;
19
+ }
20
+ setColumnSize(columnName, width) {
21
+ const column = this.getColumn(columnName);
22
+ column.width = width;
23
+ }
24
+ writeCellByAddress(cellAddress, cellData) {
25
+ const targetCell = this.worksheet.getCell(cellAddress);
26
+ this.writeCell(targetCell, cellData);
27
+ return targetCell;
28
+ }
29
+ writeRow(rowNumber, startColumnNumber, writeData) {
30
+ const emptyArrayWithLength = Array(startColumnNumber);
31
+ const rowData = emptyArrayWithLength.concat(writeData);
32
+ const newRow = this.worksheet.insertRow(rowNumber, rowData, "o+");
33
+ newRow.commit();
34
+ return newRow;
35
+ }
36
+ duplicateRow(rowNumber, amount = 1, insert = true) {
37
+ this.worksheet.duplicateRow(rowNumber, amount, insert);
38
+ }
39
+ mergeCells(startCellName, endCellName, ignoreStyle) {
40
+ this.throwIfNotAlive();
41
+ return this.worksheet.mergeCells(`${startCellName}:${endCellName}`);
42
+ }
43
+ getRow(rowNumber1Based) {
44
+ this.throwIfNotAlive();
45
+ return this.worksheet.getRow(rowNumber1Based);
46
+ }
47
+ getColumn(columnName) {
48
+ this.throwIfNotAlive();
49
+ return this.worksheet.getColumn(columnName);
50
+ }
51
+ commit() {
52
+ this.worksheet.commit();
53
+ }
54
+ getColumnData(columnName, startIndex = 0) {
55
+ this.throwIfNotAlive();
56
+ const column = this.getColumn(columnName);
57
+ const columnValues = column.values;
58
+ if (!columnValues || !columnValues.length) {
59
+ return [];
60
+ }
61
+ return columnValues.map((i) => i.valueOf()).slice(startIndex);
62
+ }
63
+ getRowData(rowNumber1Based, startColIndex = 0, endColIndex) {
64
+ this.throwIfNotAlive();
65
+ const row = this.getRow(rowNumber1Based);
66
+ const rowValues = row.values;
67
+ if (!rowValues || !rowValues.length) {
68
+ return [];
69
+ }
70
+ if (Array.isArray(rowValues)) {
71
+ return rowValues
72
+ .map((cellValue) => cellValue.valueOf())
73
+ .slice(startColIndex, endColIndex);
74
+ }
75
+ else {
76
+ return Object.values(rowValues)
77
+ .map((i) => i.valueOf())
78
+ .slice(startColIndex, endColIndex);
79
+ }
80
+ }
81
+ applyOptionsToCell(cell, options) {
82
+ const { style, border } = options;
83
+ if (style) {
84
+ cell.style = style;
85
+ }
86
+ if (border) {
87
+ cell.border = border;
88
+ }
89
+ }
90
+ writeCell(cell, cellData) {
91
+ const { value, options } = cellData;
92
+ cell.value = value;
93
+ if (options) {
94
+ this.applyOptionsToCell(cell, options);
95
+ }
96
+ }
97
+ throwIfNotAlive() {
98
+ if (this.isAlive) {
99
+ return;
100
+ }
101
+ throw new Error("Worksheet has been destroyed.");
102
+ }
103
+ }
104
+ exports.WorksheetUtils = WorksheetUtils;
105
+ //# sourceMappingURL=worksheet.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worksheet.utils.js","sourceRoot":"","sources":["../../../src/pkg/worksheet.utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { AuditGateway } from "../interfaces";
2
+ import { LogObject } from "../models/audit-log";
3
+ export declare class AuditService {
4
+ protected auditCarrier: AuditGateway;
5
+ constructor(auditCarrier: AuditGateway);
6
+ emitLog(log: LogObject): Promise<any>;
7
+ }
@@ -0,0 +1,32 @@
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.AuditService = void 0;
13
+ class AuditService {
14
+ constructor(auditCarrier) {
15
+ this.auditCarrier = auditCarrier;
16
+ }
17
+ emitLog(log) {
18
+ return __awaiter(this, void 0, void 0, function* () {
19
+ let result = null;
20
+ try {
21
+ result = yield this.auditCarrier.publish(log.logId, log.level, log.toJSON());
22
+ }
23
+ catch (error) {
24
+ console.error(`[${log.logId}]failed to emit log: ` + log.toJSON());
25
+ console.error(error);
26
+ }
27
+ return result;
28
+ });
29
+ }
30
+ }
31
+ exports.AuditService = AuditService;
32
+ //# sourceMappingURL=audit-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audit-service.js","sourceRoot":"","sources":["../../../src/services/audit-service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAGA,MAAa,YAAY;IACvB,YAAsB,YAA0B;QAA1B,iBAAY,GAAZ,YAAY,CAAc;IAAG,CAAC;IAEvC,OAAO,CAAC,GAAc;;YACjC,IAAI,MAAM,GAAG,IAAI,CAAC;YAClB,IAAI;gBACF,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CACtC,GAAG,CAAC,KAAK,EACT,GAAG,CAAC,KAAK,EACT,GAAG,CAAC,MAAM,EAAE,CACb,CAAC;aACH;YAAC,OAAO,KAAK,EAAE;gBACd,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,KAAK,uBAAuB,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;gBACnE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aACtB;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;KAAA;CACF;AAlBD,oCAkBC"}
@@ -0,0 +1,25 @@
1
+ /// <reference types="node" />
2
+ import "core-js/modules/es.promise";
3
+ import "core-js/modules/es.string.includes";
4
+ import "core-js/modules/es.object.assign";
5
+ import "core-js/modules/es.object.keys";
6
+ import "core-js/modules/es.symbol";
7
+ import "core-js/modules/es.symbol.async-iterator";
8
+ import "regenerator-runtime/runtime";
9
+ import { AddWorksheetOptions, Buffer, Workbook as IWorkbook } from "exceljs";
10
+ import * as stream from "stream";
11
+ import { WorksheetUtils } from "../pkg/worksheet.utils";
12
+ export declare class ExcelService {
13
+ protected workbook: IWorkbook;
14
+ protected workSheetMap: Map<string, WorksheetUtils>;
15
+ loadTemplate(templatePath: string): Promise<this>;
16
+ loadFromBuffer(buffer: Buffer): Promise<this>;
17
+ addWorkSheet(workSheetName: string, options?: Partial<AddWorksheetOptions>): WorksheetUtils;
18
+ getWorkSheet(workSheetName: string): WorksheetUtils;
19
+ writeToStream(readStream: stream.Stream): Promise<void>;
20
+ writeToFile(path: string): Promise<void>;
21
+ write(stream: stream.Stream): Promise<void>;
22
+ writeToBuffer(): Promise<Buffer>;
23
+ removeWorkSheet(worksheet: WorksheetUtils): void;
24
+ protected throwIfTemplateNotLoaded(): void;
25
+ }
@@ -0,0 +1,95 @@
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.ExcelService = void 0;
13
+ require("core-js/modules/es.promise");
14
+ require("core-js/modules/es.string.includes");
15
+ require("core-js/modules/es.object.assign");
16
+ require("core-js/modules/es.object.keys");
17
+ require("core-js/modules/es.symbol");
18
+ require("core-js/modules/es.symbol.async-iterator");
19
+ require("regenerator-runtime/runtime");
20
+ const worksheet_utils_1 = require("../pkg/worksheet.utils");
21
+ const Workbook = require("exceljs/dist/es5/doc/workbook.js");
22
+ class ExcelService {
23
+ constructor() {
24
+ this.workSheetMap = new Map();
25
+ }
26
+ loadTemplate(templatePath) {
27
+ return __awaiter(this, void 0, void 0, function* () {
28
+ try {
29
+ if (!templatePath) {
30
+ throw new Error("Missing excel template path");
31
+ }
32
+ const newWorkbook = new Workbook();
33
+ this.workbook = yield newWorkbook.xlsx.readFile(templatePath);
34
+ return this;
35
+ }
36
+ catch (error) {
37
+ throw new Error(`Error loading excel template: ${error.message}`);
38
+ }
39
+ });
40
+ }
41
+ loadFromBuffer(buffer) {
42
+ return __awaiter(this, void 0, void 0, function* () {
43
+ try {
44
+ if (!buffer || !buffer.byteLength) {
45
+ throw new Error("Excel buffer is empty!");
46
+ }
47
+ const newWorkbook = new Workbook();
48
+ this.workbook = yield newWorkbook.xlsx.load(buffer);
49
+ return this;
50
+ }
51
+ catch (error) {
52
+ throw new Error(`Error loading excel from buffer: ${error.message}`);
53
+ }
54
+ });
55
+ }
56
+ addWorkSheet(workSheetName, options) {
57
+ const newWorksheet = this.workbook.addWorksheet(workSheetName, options);
58
+ const wrappedWorksheet = new worksheet_utils_1.WorksheetUtils(newWorksheet);
59
+ this.workSheetMap.set(workSheetName, wrappedWorksheet);
60
+ return wrappedWorksheet;
61
+ }
62
+ getWorkSheet(workSheetName) {
63
+ const worksheet = this.workbook.getWorksheet(workSheetName);
64
+ if (worksheet) {
65
+ const newWorkSheetUtil = new worksheet_utils_1.WorksheetUtils(worksheet);
66
+ this.workSheetMap.set(workSheetName, newWorkSheetUtil);
67
+ return newWorkSheetUtil;
68
+ }
69
+ return this.addWorkSheet(workSheetName);
70
+ }
71
+ writeToStream(readStream) {
72
+ return this.workbook.xlsx.write(readStream);
73
+ }
74
+ writeToFile(path) {
75
+ return this.workbook.xlsx.writeFile(path);
76
+ }
77
+ write(stream) {
78
+ return this.writeToStream(stream);
79
+ }
80
+ writeToBuffer() {
81
+ return this.workbook.xlsx.writeBuffer();
82
+ }
83
+ removeWorkSheet(worksheet) {
84
+ worksheet.markRemoved();
85
+ return this.workbook.removeWorksheet(worksheet.id);
86
+ }
87
+ throwIfTemplateNotLoaded() {
88
+ if (this.workbook) {
89
+ return;
90
+ }
91
+ throw new Error("Template not loaded. Please load template.");
92
+ }
93
+ }
94
+ exports.ExcelService = ExcelService;
95
+ //# sourceMappingURL=excel.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"excel.service.js","sourceRoot":"","sources":["../../../src/services/excel.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from "./audit-service";
2
+ export * from "./excel.service";
3
+ export * from "./mailer-service";
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./audit-service"), exports);
18
+ __exportStar(require("./excel.service"), exports);
19
+ __exportStar(require("./mailer-service"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,kDAAgC;AAChC,mDAAiC"}
@@ -0,0 +1,15 @@
1
+ import { EmailSender, SendMailOptions } from "../interfaces";
2
+ export interface MailServiceConfig {
3
+ adminEmails?: string[];
4
+ }
5
+ export declare class MailService {
6
+ protected transporter: EmailSender;
7
+ protected config: MailServiceConfig;
8
+ protected adminEmails: string[];
9
+ constructor(transporter: EmailSender, config: MailServiceConfig);
10
+ sendToAdmin(mailOptions: SendMailOptions): Promise<boolean | void>;
11
+ send(mailOptions: SendMailOptions, ccOptions?: {
12
+ ccToAdmin: boolean;
13
+ bccToAdmin: boolean;
14
+ }): Promise<boolean | void>;
15
+ }
@@ -0,0 +1,44 @@
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.MailService = void 0;
13
+ class MailService {
14
+ constructor(transporter, config) {
15
+ this.transporter = transporter;
16
+ this.config = config;
17
+ this.adminEmails = (config === null || config === void 0 ? void 0 : config.adminEmails) || [];
18
+ }
19
+ sendToAdmin(mailOptions) {
20
+ return __awaiter(this, void 0, void 0, function* () {
21
+ if (this.adminEmails.length === 0) {
22
+ throw new Error("admin email list is empty");
23
+ }
24
+ mailOptions.to = this.adminEmails;
25
+ return this.send(mailOptions);
26
+ });
27
+ }
28
+ send(mailOptions, ccOptions = { ccToAdmin: false, bccToAdmin: false }) {
29
+ return __awaiter(this, void 0, void 0, function* () {
30
+ const message = Object.assign({ from: process.env.SMTP_MAIL_FROM }, mailOptions);
31
+ const { ccToAdmin, bccToAdmin } = ccOptions;
32
+ if (ccToAdmin && this.adminEmails.length > 0)
33
+ message.cc = this.adminEmails;
34
+ if (bccToAdmin && this.adminEmails.length > 0)
35
+ message.bcc = this.adminEmails;
36
+ return this.transporter.send(message).catch((e) => {
37
+ console.error("Send mail error", e);
38
+ return false;
39
+ });
40
+ });
41
+ }
42
+ }
43
+ exports.MailService = MailService;
44
+ //# sourceMappingURL=mailer-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mailer-service.js","sourceRoot":"","sources":["../../../src/services/mailer-service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAMA,MAAa,WAAW;IAGtB,YACY,WAAwB,EACxB,MAAyB;QADzB,gBAAW,GAAX,WAAW,CAAa;QACxB,WAAM,GAAN,MAAM,CAAmB;QAEnC,IAAI,CAAC,WAAW,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,WAAW,KAAI,EAAE,CAAC;IAC/C,CAAC;IAEY,WAAW,CAAC,WAA4B;;YACnD,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;gBACjC,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;aAC9C;YAED,WAAW,CAAC,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;YAElC,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAChC,CAAC;KAAA;IAEY,IAAI,CACf,WAA4B,EAC5B,SAAS,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;;YAEnD,MAAM,OAAO,mBAAK,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,IAAK,WAAW,CAAE,CAAC;YACrE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,SAAS,CAAC;YAE5C,IAAI,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;YAC5E,IAAI,UAAU,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;gBAC3C,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC;YAEjC,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;gBAChD,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;gBACpC,OAAO,KAAK,CAAC;YACf,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;CACF;AApCD,kCAoCC"}
@@ -0,0 +1 @@
1
+ {"program":{"fileNames":["../node_modules/typescript/lib/lib.es6.d.ts","../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.dom.d.ts","../node_modules/typescript/lib/lib.dom.iterable.d.ts","../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../node_modules/typescript/lib/lib.scripthost.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.esnext.intl.d.ts","../node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../src/constants.ts","../node_modules/exceljs/index.d.ts","../src/interfaces.ts","../node_modules/@types/ali-oss/index.d.ts","../node_modules/@alicloud/pop-core/lib/rpc.d.ts","../src/gateways/alibaba-cloud-gateway.ts","../node_modules/axios/index.d.ts","../node_modules/@paralleldrive/cuid2/index.d.ts","../src/pkg/string-utils.ts","../src/gateways/http-audit-gateway.ts","../src/gateways/index.ts","../src/models/audit-log.ts","../src/models/index.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/globals.global.d.ts","../node_modules/@types/node/index.d.ts","../node_modules/@types/bcrypt/index.d.ts","../src/pkg/bcrypt-helper.ts","../src/pkg/http-request-utils.ts","../src/pkg/object-helper.ts","../src/pkg/query-helper.ts","../src/pkg/worksheet.utils.ts","../src/pkg/index.ts","../src/services/audit-service.ts","../src/services/excel.service.ts","../src/services/mailer-service.ts","../src/services/index.ts","../index.ts"],"fileInfos":["df039a67536fe2acc3affdcbfb645892f842db36fe599e8e652e2f0c640a90d1",{"version":"6a6b471e7e43e15ef6f8fe617a22ce4ecb0e34efa6c3dfcfe7cebd392bcca9d2","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","dc48272d7c333ccf58034c0026162576b7d50ea0e69c3b9292f803fc20720fd5","27147504487dc1159369da4f4da8a26406364624fa9bc3db632f7d94a5bae2c3","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8",{"version":"fcd3ecc9f764f06f4d5c467677f4f117f6abf49dee6716283aa204ff1162498b","affectsGlobalScope":true},{"version":"9a60b92bca4c1257db03b349d58e63e4868cfc0d1c8d0ba60c2dbc63f4e6c9f6","affectsGlobalScope":true},{"version":"c5c5565225fce2ede835725a92a28ece149f83542aa4866cfb10290bff7b8996","affectsGlobalScope":true},{"version":"7d2dbc2a0250400af0809b0ad5f84686e84c73526de931f84560e483eb16b03c","affectsGlobalScope":true},{"version":"f296963760430fb65b4e5d91f0ed770a91c6e77455bacf8fa23a1501654ede0e","affectsGlobalScope":true},{"version":"5114a95689b63f96b957e00216bc04baf9e1a1782aa4d8ee7e5e9acbf768e301","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"ab22100fdd0d24cfc2cc59d0a00fc8cf449830d9c4030dc54390a46bd562e929","affectsGlobalScope":true},{"version":"f7bd636ae3a4623c503359ada74510c4005df5b36de7f23e1db8a5c543fd176b","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"0c20f4d2358eb679e4ae8a4432bdd96c857a2960fd6800b21ec4008ec59d60ea","affectsGlobalScope":true},{"version":"36ae84ccc0633f7c0787bc6108386c8b773e95d3b052d9464a99cd9b8795fbec","affectsGlobalScope":true},{"version":"82d0d8e269b9eeac02c3bd1c9e884e85d483fcb2cd168bccd6bc54df663da031","affectsGlobalScope":true},{"version":"b8deab98702588840be73d67f02412a2d45a417a3c097b2e96f7f3a42ac483d1","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"376d554d042fb409cb55b5cbaf0b2b4b7e669619493c5d18d5fa8bd67273f82a","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"c4138a3dd7cd6cf1f363ca0f905554e8d81b45844feea17786cdf1626cb8ea06","affectsGlobalScope":true},{"version":"6ff3e2452b055d8f0ec026511c6582b55d935675af67cdb67dd1dc671e8065df","affectsGlobalScope":true},{"version":"03de17b810f426a2f47396b0b99b53a82c1b60e9cba7a7edda47f9bb077882f4","affectsGlobalScope":true},{"version":"8184c6ddf48f0c98429326b428478ecc6143c27f79b79e85740f17e6feb090f1","affectsGlobalScope":true},{"version":"b7e9f95a7387e3f66be0ed6db43600c49cec33a3900437ce2fd350d9b7cb16f2","affectsGlobalScope":true},{"version":"9cc66b0513ad41cb5f5372cca86ef83a0d37d1c1017580b7dace3ea5661836df","affectsGlobalScope":true},{"version":"307c8b7ebbd7f23a92b73a4c6c0a697beca05b06b036c23a34553e5fe65e4fdc","affectsGlobalScope":true},{"version":"189c0703923150aa30673fa3de411346d727cc44a11c75d05d7cf9ef095daa22","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},{"version":"63dc4a75d834ab7d7347a3df435c984ced3f76340205a576a10af85d32f26ae6","signature":"9e78f2de7ea69cbff8e27a96e6415012675524bc860593d387f95c01452da381"},"a8669e593472df912d84f2e679b699e01aa137304ec6734a5e7757633f64b9b3",{"version":"3bfcab284bfda6fc67111edac7806fcde1fdb9f0918bf56e2bc70d2d83cc007e","signature":"5598cf36b33fd825bfe80a8ddcae9ec3065f8aa6cab3fc4bad168d13481514c7"},"aeedd840f50f60785b8646d3bc1fbd23a47f2fbf71cba4a84a80e050c4f996f8","387cd51ff3531cf5470164612ed89448e82ec111c5eaeb1befe99e59b23072ff",{"version":"cc8d8af50a1109acc29f84998c5f519ac77f05dedfb44897b331ebbe956e6eee","signature":"d5ca394e1c806035477d360f32f47652bece9bbdf59cd3ad8fc54ee625fe251d"},"1d729ea435a93e1a70519d06a6f13fa418c4c39a52b69e6db86750ebfcdf5554","7aa9f477eb1e44629a34615a451350e4055fec737bdd3a8a7c5234dbb6d29018",{"version":"2ab253fe6ba04388a443a24befc872175ed4c0892b8820888e333746c417a2c1","signature":"d2dde0e18b3ad6e2cab3703826890677ae8f9849c38b0f5b743f308be247a411"},{"version":"d52695b357f5b6954009c798881dbd648844bc9f5c51bae67f68e2757425fc66","signature":"8c98f341ee7fd92545c3399159c2a8c9e5bc45a89da60ae1e094d555681b97cd"},"b1a0b021c2d05b82954d5ccec365ced19feaeb04a1271019ab4db6068cc978dc",{"version":"19cbadcf0e3ae87536e5a5cd9de46e4e87d4a6a022e2e42d145ca03f7bfad55f","signature":"3b35f71853871dea38a9049f16560e32d9aab8506085d6c01a79731398640308"},"f91cc198133b66e544b8638a2e17f68d0ea974063fc084375b8f6a7296282d05","4c2c4f53e8eedd970f8afa369d7371544fb6231bf95e659f8602e09abe74d5a5",{"version":"9c9461d480b1812281abffc647107904970791c170cd0ab97563daa10c6e0171","affectsGlobalScope":true},"c2b5085f47e41d6940bbc5b0d3bd7cc0037c752efb18aecd243c9cf83ad0c0b7","3143a5add0467b83150961ecd33773b561a1207aec727002aa1d70333068eb1b","bdd64e322c4ec2f42a3e311c83ce95ec9d290e6b44d32dd94cc94bd7e01a0ea0","d0fc76a91c828fbe3f0be5d683273634b7b101068333ceed975a8a9ac464137b",{"version":"1a048ff164b8d9609f5de3139d4e37f6e8a82af82087ac414b9208f52ef8aac7","affectsGlobalScope":true},"3111079f3cb5f2b9c812ca3f46161562bce5bfb355e915f46ed46c41714dc1c3","11bf7fc87cd49308e2c0ff41f1d030797b1831e763c0a1b70febc17105f3c82a","b32b6b16cb0bda68199582ad6f22242d07ee75fac9b1f28a98cd838afc5eea45","4441ee4119824bfaebc49308559edd7545978f9cb41a40f115074e1031dde75f",{"version":"60693a88462d0e97900123b5bf7c73e146ce0cc94da46a61fe6775b430d2ff05","affectsGlobalScope":true},{"version":"588c69eda58b9202676ec7ca11a72c3762819b46a0ed72462c769846153c447c","affectsGlobalScope":true},"ae064ed4f855716b7ff348639ddcd6a6d354a72fae82f506608a7dc9266aa24c","92f019c55b21c939616f6a48f678e714ac7b109444cbbf23ad69310ce66ecbdc","bba259efdf9ab95e0c7d3cc8e99250f56bb6b31d6129efdf733ca4eb1d01feea","97f837637f01e274ada9de388e99b1a5c5a82ae4184f8c924209fe201f4ffc9e","139fd681eff7771a38d0c025d13c7a11c5474f6aab61e01c41511d71496df173","f614c3f61e46ccc2cb58702d5a158338ea57ee09099fde5db4cfc63ed0ce4d74","44e42ed6ec9c4451ebe89524e80ac8564e9dd0988c56e6c58f393c810730595d","a504c109b872b0e653549bd258eb06584c148c98d79406c7516995865a6d5089","155865f5f76db0996cd5e20cc5760613ea170ee5ad594c1f3d76fcaa05382161","e92852d673c836fc64e10c38640abcd67c463456e5df55723ac699b8e6ab3a8a","4455c78d226d061b1203c7614c6c6eb5f4f9db5f00d44ff47d0112de8766fbc4",{"version":"ec369bb9d97c4dc09dd2a4093b7ca3ba69ad284831fccac8a1977785e9e38ce5","affectsGlobalScope":true},"4465a636f5f6e9665a90e30691862c9e0a3ac2edc0e66296704f10865e924f2a","9af781f03d44f5635ed7844be0ce370d9d595d4b4ec67cad88f0fac03255257e","f9fd4c3ef6de27fa0e256f4e75b61711c4be05a3399f7714621d3edc832e36b0","e49290b7a927995c0d7e6b2b9c8296284b68a9036d9966531de65185269258d7","aa95cc73ea5315e4f6fc8c6db43d49e3b7de3780cae20a4f1319032809013038","874ca809b79276460011480a2829f4c8d4db29416dd411f71efbf8f497f0ac09","6c903bceaf3f3bc04f2d4c7dcd89ce9fb148b3ba0a5f5408d8f6de2b7eecc7ea","504d049d9e550a65466b73ca39da6469ab41786074ea1d16d37c8853f9f6ab2e","23a28f834a078986bbf58f4e3705956983ff81c3c2493f3db3e5f0e8a9507779","4febdf7f3ec92706c58e0b4e8159cd6de718284ef384260b07c9641c13fc70ce",{"version":"7d0a3356909df08e5df9af2cfd43e8780f24bb12d07b00daaf7ed2a891fa60e5","affectsGlobalScope":true},"7335933d9f30dcfd2c4b6080a8b78e81912a7fcefb1dafccb67ca4cb4b3ac23d","a6bfe9de9adef749010c118104b071d14943802ff0614732b47ce4f1c3e383cd","4c3d0e10396646db4a1e917fb852077ee77ae62e512913bef9cccc2bb0f8bd0e","3b220849d58140dcc6718f5b52dcd29fdb79c45bc28f561cbd29eb1cac6cce13","0ee22fce41f7417a24c808d266e91b850629113c104713a35854393d55994beb","22d1b1d965baba05766613e2e6c753bb005d4386c448cafd72c309ba689e8c24",{"version":"2708349d5a11a5c2e5f3a0765259ebe7ee00cdcc8161cb9990cb4910328442a1","affectsGlobalScope":true},"c6c0bd221bb1e94768e94218f8298e47633495529d60cae7d8da9374247a1cf5","57ddc4e066366bbe04f497f9afce1c88e088dbd09be0618e072754450de3acbb",{"version":"2dadf3a49c8d9c3f65e2ceb870489bf39cf23759337863a90ded962feb8880d8","signature":"36ab75f2013dccfe181a7aab19d70d1d5088fdeb45a005c33479606e34016aba"},{"version":"51833618a96db5e1ff2e28f023aeb7f12a8fed0c47f737b31bd0b68d90771b93","signature":"b7b0ecd8296f5335cf13b09ebb979831f3969a7a7c8e03d6bcba618ba0ca69eb"},{"version":"5e066b89f0944f913bcc5eba60206dc3b3b9056b8be2c4324ac1852739611ab5","signature":"3e255545f498155d138273eb0e71563a6b7ef6ccd274774a31a166ac28648467"},{"version":"ad3210d5328fdd78f098067083f688af2b3aaf720b15b12734252b2d983ed1a5","signature":"725c9ded35c07149509267603d04a74a15e6e152337d5538d9d30864447608d5"},{"version":"c9c8fef1ef7d4bdf6c63686a78f6acd826162ecd12c2cdf2782d8fc8a6dcb3db","signature":"5e3cdc915544f43e870d140d1242efb52e968a3ca7bc2bc2fcd3c4d3d1be5628"},"1cb9948374fe40e08cf5e5c7e4a45a5cc73c0cc8632dbcae69641f14609a0e70",{"version":"644d3ef1bfd575cc343e4402729d2536d97031c85a833ae21a0b18e3dd3044e1","signature":"9c0d5549744e1225e55371b8cd15b7e3b2f5a89b2ec015f9e63949db89418318"},{"version":"0894931f094af3a6865fb3721e6dbc53096d69addf1b40871d93776a22f98d8b","signature":"618ccb7ababec31ff0e23956a575b80978b7e834140835aa98ad96a886d25c69"},{"version":"8933cf1043c68ef8acf35cbce86b1598e75639b27f92e1c31d246f373f4d73b2","signature":"d538d8643ce2f71061fea5ccf88c19298f93602d224f99ae54efebde70be70ca"},"fcb681956716458c7533d3dd9d2353fca10ba8681b243388edb254d1b4fd3699","5caa7eb81a5adab09f3464c74a639f506b63fb7df512295a92859668e7e8aa06"],"root":[36,38,41,[44,48],[94,104]],"options":{"allowSyntheticDefaultImports":true,"declaration":true,"emitDecoratorMetadata":true,"esModuleInterop":true,"experimentalDecorators":true,"module":1,"noFallthroughCasesInSwitch":false,"noImplicitAny":false,"outDir":"./","removeComments":true,"skipLibCheck":true,"sourceMap":true,"strictBindCallApply":false,"strictNullChecks":false,"target":2},"fileIdsList":[[36,38,46,48,99,103],[92],[49],[51],[52,57],[53,61,62,69,78],[53,54,61,69],[55,85],[56,57,62,70],[57,78],[58,59,61,69],[59],[60,61],[61],[61,62,63,78,84],[62,63],[61,64,69,78,84],[61,62,64,65,69,78,81,84],[64,66,78,81,84],[49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91],[61,67],[68,84],[59,61,69,78],[70],[71],[51,72],[73,83],[74],[75],[61,76],[76,77,85,87],[61,78],[79],[80],[69,78,81],[82],[69,83],[64,75,84],[85],[78,86],[87],[88],[61,63,78,84,87,89],[78,90],[38,39,40],[36,38,42,44],[41,45],[36,37],[36],[47],[93],[44,94,95,96,97,98],[38],[43],[37,38],[38,47],[37,78,98],[100,101,102],[36,38,42]],"referencedMap":[[104,1],[93,2],[49,3],[51,4],[52,5],[53,6],[54,7],[55,8],[56,9],[57,10],[58,11],[59,12],[60,13],[61,14],[62,15],[63,16],[64,17],[65,18],[66,19],[92,20],[67,21],[68,22],[69,23],[70,24],[71,25],[72,26],[73,27],[74,28],[75,29],[76,30],[77,31],[78,32],[79,33],[80,34],[81,35],[82,36],[83,37],[84,38],[85,39],[86,40],[87,41],[88,42],[89,43],[90,44],[37,32],[41,45],[45,46],[46,47],[38,48],[47,49],[48,50],[94,51],[99,52],[97,53],[44,54],[98,55],[100,56],[101,57],[103,58],[102,53]],"exportedModulesMap":[[104,1],[93,2],[49,3],[51,4],[52,5],[53,6],[54,7],[55,8],[56,9],[57,10],[58,11],[59,12],[60,13],[61,14],[62,15],[63,16],[64,17],[65,18],[66,19],[92,20],[67,21],[68,22],[69,23],[70,24],[71,25],[72,26],[73,27],[74,28],[75,29],[76,30],[77,31],[78,32],[79,33],[80,34],[81,35],[82,36],[83,37],[84,38],[85,39],[86,40],[87,41],[88,42],[89,43],[90,44],[37,32],[41,45],[45,59],[46,47],[38,48],[47,49],[48,50],[99,52],[97,53],[98,55],[100,56],[101,57],[103,58],[102,53]],"semanticDiagnosticsPerFile":[104,40,43,39,93,49,51,52,53,54,55,56,57,58,59,60,61,62,63,50,91,64,65,66,92,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,42,37,34,35,7,8,12,11,3,13,14,15,16,17,18,19,20,4,5,24,21,22,23,25,26,27,6,28,29,30,31,32,2,1,33,10,9,36,41,45,46,38,47,48,94,95,99,96,97,44,98,100,101,103,102]},"version":"5.0.4"}