@tomei/mailer 0.1.4 → 0.2.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.
@@ -0,0 +1,11 @@
1
+ {
2
+ "extends": ["@commitlint/config-conventional"],
3
+ "rules": {
4
+ "header-max-length": [2, "always", 120],
5
+ "type-enum": [
6
+ 2,
7
+ "always",
8
+ ["breaking", "feat", "fix", "refactor", "config", "test", "docs", "chore"]
9
+ ]
10
+ }
11
+ }
package/.eslintignore ADDED
@@ -0,0 +1 @@
1
+ dist
package/.eslintrc ADDED
@@ -0,0 +1,16 @@
1
+ {
2
+ "parser": "@typescript-eslint/parser",
3
+ "parserOptions": {
4
+ "ecmaVersion": "latest",
5
+ "sourceType": "module" // Allows for the use of imports
6
+ },
7
+ "extends": ["plugin:@typescript-eslint/recommended"],
8
+ "env": {
9
+ "node": true // Enable Node.js global variables
10
+ },
11
+ "rules": {
12
+ "no-console": "off",
13
+ "import/prefer-default-export": "off",
14
+ "@typescript-eslint/no-unused-vars": "warn"
15
+ }
16
+ }
package/.eslintrc.js ADDED
@@ -0,0 +1,35 @@
1
+ module.exports = {
2
+ parser: '@typescript-eslint/parser',
3
+ plugins: ['@typescript-eslint'],
4
+
5
+ parserOptions: {
6
+ ecmaVersion: 'latest', // Allows the use of modern ECMAScript features
7
+ sourceType: 'module', // Allows for the use of imports
8
+ },
9
+
10
+ extends: ['eslint:recommended', 'plugin:@typescript-eslint/recommended'],
11
+ env: {
12
+ node: true, // Enable Node.js global variables
13
+ },
14
+ rules: {
15
+ 'no-console': 'off',
16
+ '@typescript-eslint/no-explicit-any': 'off',
17
+ '@typescript-eslint/no-var-requires': 'off',
18
+ '@typescript-eslint/explicit-module-boundary-types': 'off',
19
+ 'import/prefer-default-export': 'off',
20
+ '@typescript-eslint/no-unused-vars': 'warn',
21
+ 'no-useless-catch': 'off',
22
+ '@typescript-eslint/no-non-null-assertion': 'off',
23
+ '@typescript-eslint/no-empty-function': 'off',
24
+ '@typescript-eslint/no-empty-interface': 'off',
25
+ '@typescript-eslint/no-inferrable-types': 'off',
26
+ '@typescript-eslint/no-namespace': 'off',
27
+ '@typescript-eslint/no-use-before-define': 'off',
28
+ '@typescript-eslint/no-unsafe-assignment': 'off',
29
+ '@typescript-eslint/no-unsafe-call': 'off',
30
+ '@typescript-eslint/no-unsafe-member-access': 'off',
31
+ '@typescript-eslint/no-unsafe-return': 'off',
32
+ '@typescript-eslint/restrict-template-expressions': 'off',
33
+ 'no-useless-escape': 'off',
34
+ },
35
+ };
@@ -0,0 +1,16 @@
1
+ #!/usr/bin/env sh
2
+ . "$(dirname -- "$0")/_/husky.sh"
3
+
4
+ npx commitlint --edit $1
5
+ message="$(cat $1)"
6
+ echo "$message"
7
+ a=($(echo "$message" | tr ':' '\n'))
8
+ echo "${a[0]}"
9
+ if [ "${a[0]}" = "feat" ];
10
+ then
11
+ npm version --commit-hooks false --no-git-tag-version minor
12
+ else
13
+ npm version --commit-hooks false --no-git-tag-version patch
14
+ fi
15
+ git add .
16
+ git commit -m "$message" --no-verify
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env sh
2
+ . "$(dirname -- "$0")/_/husky.sh"
3
+
4
+ npm run lint
5
+ npm run format
6
+ npm run build
7
+ git add .
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=mail-configuration.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mail-configuration.interface.js","sourceRoot":"","sources":["../../../src/interfaces/mail-configuration.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,12 @@
1
+ export type logOptions = {
2
+ from: string;
3
+ to: string;
4
+ subject: string;
5
+ system: string;
6
+ dbName: string;
7
+ tableName: string;
8
+ dataBefore: string;
9
+ dataAfter: string;
10
+ performAt: Date;
11
+ note: string;
12
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=logOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logOptions.js","sourceRoot":"","sources":["../../../../src/mailer/dto/logOptions.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ export declare const generateLogTransactionHTML: (tableContent: any) => string;
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateLogTransactionHTML = void 0;
4
+ const generateLogTransactionHTML = (tableContent) => {
5
+ const introductionText = `
6
+ <p>
7
+ As part of our organization&#39;s data management practices,&nbsp;this email contains a snapshot of the database transaction data. This data comprises a record of recent transactions that have occurred within our system, including updates, insertions, and deletions. It serves as a critical piece in our backup process, allowing us to restore the database to a specific point in time if necessary
8
+ </p>
9
+ <p>&nbsp;</p>
10
+ `;
11
+ let table = '';
12
+ for (const key in tableContent) {
13
+ const tmp = `
14
+ <tr>
15
+ <td style="text-align:center" >
16
+ <strong>${key}</strong>
17
+ </td>
18
+ <td>
19
+ <p>${tableContent[key]}</p>
20
+ </td>
21
+ </tr>
22
+ `;
23
+ table = table.concat(tmp);
24
+ }
25
+ table = `
26
+ <table border="1" cellpadding="1" cellspacing="1" style="width:500px">
27
+ <tbody>
28
+ ${table}
29
+ </tbody>
30
+ </table>
31
+ `;
32
+ const content = introductionText.concat(table);
33
+ return content;
34
+ };
35
+ exports.generateLogTransactionHTML = generateLogTransactionHTML;
36
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../src/mailer/helpers/helpers.ts"],"names":[],"mappings":";;;AAAO,MAAM,0BAA0B,GAAG,CAAC,YAAiB,EAAE,EAAE;IAC9D,MAAM,gBAAgB,GAAG;;;;;KAKtB,CAAC;IACJ,IAAI,KAAK,GAAW,EAAE,CAAC;IAEvB,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE;QAC9B,MAAM,GAAG,GAAG;;;oBAGI,GAAG;;;eAGR,YAAY,CAAC,GAAG,CAAC;;;OAGzB,CAAC;QACJ,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;KAC3B;IAED,KAAK,GAAG;;;QAGF,KAAK;;;KAGR,CAAC;IACJ,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAE/C,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAjCW,QAAA,0BAA0B,8BAiCrC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mailer/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mailer/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB"}
@@ -1,8 +1,10 @@
1
1
  import { MailConfig } from '../interfaces';
2
+ import { logOptions } from './dto/logOptions';
2
3
  export default class Mailer {
3
4
  private mailer;
4
5
  constructor(mailer: any, config: MailConfig);
5
6
  private configureMailer;
6
7
  sendMail(options: any): Promise<void>;
8
+ logTransaction(logOptions: logOptions): Promise<void>;
7
9
  private logError;
8
10
  }
@@ -11,6 +11,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  const fs = require("fs");
13
13
  const path = require("path");
14
+ const helpers_1 = require("./helpers/helpers");
14
15
  class Mailer {
15
16
  constructor(mailer, config) {
16
17
  this.mailer = mailer;
@@ -54,6 +55,45 @@ class Mailer {
54
55
  }
55
56
  });
56
57
  }
58
+ logTransaction(logOptions) {
59
+ return __awaiter(this, void 0, void 0, function* () {
60
+ const tableContent = {
61
+ System: logOptions.system,
62
+ 'Performed at': logOptions.performAt,
63
+ Database: logOptions.dbName,
64
+ Table: logOptions.tableName,
65
+ 'Data Before': logOptions.dataBefore,
66
+ 'Data After': logOptions.dataAfter,
67
+ Note: logOptions.note,
68
+ };
69
+ const content = (0, helpers_1.generateLogTransactionHTML)(tableContent);
70
+ const attachment = Buffer.from(JSON.stringify(tableContent), 'utf-8');
71
+ const options = {
72
+ from: logOptions.from,
73
+ to: logOptions.to,
74
+ subject: logOptions.subject,
75
+ html: content,
76
+ attachments: [
77
+ {
78
+ filename: 'transaction.json',
79
+ content: attachment,
80
+ },
81
+ ],
82
+ };
83
+ try {
84
+ yield this.mailer.sendMail(options);
85
+ }
86
+ catch (error) {
87
+ try {
88
+ console.info('Retry to send mail');
89
+ yield this.mailer.sendMail(options);
90
+ }
91
+ catch (retryError) {
92
+ this.logError(retryError);
93
+ }
94
+ }
95
+ });
96
+ }
57
97
  logError(error) {
58
98
  const logFolderPath = path.join(process.cwd(), 'mailerLog');
59
99
  const currentDate = new Date();
@@ -1 +1 @@
1
- {"version":3,"file":"mailer.js","sourceRoot":"","sources":["../../../src/mailer/mailer.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,yBAAyB;AACzB,6BAA6B;AAG7B,MAAqB,MAAM;IAGzB,YAAY,MAAW,EAAE,MAAkB;QACzC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IAEO,eAAe,CAAC,MAAkB;QAIxC,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,KAAK,UAAU,EAAE;YAErD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;gBACxC,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,GAAG,EAAE;oBACH,kBAAkB,EAAE,IAAI;oBACxB,UAAU,EAAE,SAAS;iBACtB;aACF,CAAC,CAAC;SACJ;aAAM,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,KAAK,QAAQ,EAAE;SAGvD;aAAM,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,KAAK,UAAU,EAAE;YACtD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;SAC/B;aAAM;YACL,MAAM,IAAI,KAAK,CACb,yDAAyD,CAC1D,CAAC;SACH;IACH,CAAC;IAEK,QAAQ,CAAC,OAAY;;YACzB,IAAI;gBACF,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;aACrC;YAAC,OAAO,KAAK,EAAE;gBAEd,IAAI;oBACF,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;oBACnC,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;iBACrC;gBAAC,OAAO,UAAU,EAAE;oBACnB,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;iBAC3B;aACF;QACH,CAAC;KAAA;IAEO,QAAQ,CAAC,KAAY;QAC3B,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,CAAC,CAAC;QAE5D,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;QAC/B,MAAM,aAAa,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7D,MAAM,WAAW,GAAG,GAAG,aAAa,MAAM,CAAC;QAE3C,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;QAE1D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE;YACjC,EAAE,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;SAC7B;QAED,EAAE,CAAC,cAAc,CACf,WAAW,EACX,+CAA+C,KAAK,KAAK,CAC1D,CAAC;QAEF,MAAM,KAAK,CAAC;IACd,CAAC;CACF;AAtED,yBAsEC"}
1
+ {"version":3,"file":"mailer.js","sourceRoot":"","sources":["../../../src/mailer/mailer.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,yBAAyB;AACzB,6BAA6B;AAG7B,+CAA+D;AAE/D,MAAqB,MAAM;IAGzB,YAAY,MAAW,EAAE,MAAkB;QACzC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IAEO,eAAe,CAAC,MAAkB;QAIxC,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,KAAK,UAAU,EAAE;YAErD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;gBACxC,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,GAAG,EAAE;oBACH,kBAAkB,EAAE,IAAI;oBACxB,UAAU,EAAE,SAAS;iBACtB;aACF,CAAC,CAAC;SACJ;aAAM,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,KAAK,QAAQ,EAAE;SAGvD;aAAM,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,KAAK,UAAU,EAAE;YACtD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;SAC/B;aAAM;YACL,MAAM,IAAI,KAAK,CACb,yDAAyD,CAC1D,CAAC;SACH;IACH,CAAC;IAEK,QAAQ,CAAC,OAAY;;YACzB,IAAI;gBACF,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;aACrC;YAAC,OAAO,KAAK,EAAE;gBAEd,IAAI;oBACF,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;oBACnC,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;iBACrC;gBAAC,OAAO,UAAU,EAAE;oBACnB,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;iBAC3B;aACF;QACH,CAAC;KAAA;IAEK,cAAc,CAAC,UAAsB;;YACzC,MAAM,YAAY,GAAG;gBACnB,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,cAAc,EAAE,UAAU,CAAC,SAAS;gBACpC,QAAQ,EAAE,UAAU,CAAC,MAAM;gBAC3B,KAAK,EAAE,UAAU,CAAC,SAAS;gBAC3B,aAAa,EAAE,UAAU,CAAC,UAAU;gBACpC,YAAY,EAAE,UAAU,CAAC,SAAS;gBAClC,IAAI,EAAE,UAAU,CAAC,IAAI;aACtB,CAAC;YAEF,MAAM,OAAO,GAAG,IAAA,oCAA0B,EAAC,YAAY,CAAC,CAAC;YACzD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC;YACtE,MAAM,OAAO,GAAQ;gBACnB,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,EAAE,EAAE,UAAU,CAAC,EAAE;gBACjB,OAAO,EAAE,UAAU,CAAC,OAAO;gBAC3B,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE;oBACX;wBACE,QAAQ,EAAE,kBAAkB;wBAC5B,OAAO,EAAE,UAAU;qBACpB;iBACF;aACF,CAAC;YAEF,IAAI;gBACF,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;aACrC;YAAC,OAAO,KAAK,EAAE;gBAEd,IAAI;oBACF,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;oBACnC,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;iBACrC;gBAAC,OAAO,UAAU,EAAE;oBACnB,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;iBAC3B;aACF;QACH,CAAC;KAAA;IAEO,QAAQ,CAAC,KAAY;QAC3B,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,CAAC,CAAC;QAE5D,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;QAC/B,MAAM,aAAa,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7D,MAAM,WAAW,GAAG,GAAG,aAAa,MAAM,CAAC;QAE3C,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;QAE1D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE;YACjC,EAAE,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;SAC7B;QAED,EAAE,CAAC,cAAc,CACf,WAAW,EACX,+CAA+C,KAAK,KAAK,CAC1D,CAAC;QAEF,MAAM,KAAK,CAAC;IACd,CAAC;CACF;AA7GD,yBA6GC"}
@@ -1 +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.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.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.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.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/interfaces/mail-configuration.interface.ts","../src/interfaces/index.ts","../src/mailer/mailer.ts","../__tests__/unit/mailer/mailer.spec.ts","../src/index.ts","../src/mailer/index.ts","../node_modules/@babel/types/lib/index.d.ts","../node_modules/@types/babel__generator/index.d.ts","../node_modules/@babel/parser/typings/babel-parser.d.ts","../node_modules/@types/babel__template/index.d.ts","../node_modules/@types/babel__traverse/index.d.ts","../node_modules/@types/babel__core/index.d.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.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/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/dom-events.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/readline/promises.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/test.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.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/graceful-fs/index.d.ts","../node_modules/@types/istanbul-lib-coverage/index.d.ts","../node_modules/@types/istanbul-lib-report/index.d.ts","../node_modules/@types/istanbul-reports/index.d.ts","../node_modules/@jest/expect-utils/build/index.d.ts","../node_modules/chalk/index.d.ts","../node_modules/@sinclair/typebox/typebox.d.ts","../node_modules/@jest/schemas/build/index.d.ts","../node_modules/pretty-format/build/index.d.ts","../node_modules/jest-diff/build/index.d.ts","../node_modules/jest-matcher-utils/build/index.d.ts","../node_modules/expect/build/index.d.ts","../node_modules/@types/jest/index.d.ts","../node_modules/@types/prettier/index.d.ts","../node_modules/@types/stack-utils/index.d.ts","../node_modules/@types/yargs-parser/index.d.ts","../node_modules/@types/yargs/index.d.ts"],"fileInfos":["df039a67536fe2acc3affdcbfb645892f842db36fe599e8e652e2f0c640a90d1",{"version":"f59215c5f1d886b05395ee7aca73e0ac69ddfad2843aa88530e797879d511bad","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","dc48272d7c333ccf58034c0026162576b7d50ea0e69c3b9292f803fc20720fd5","27147504487dc1159369da4f4da8a26406364624fa9bc3db632f7d94a5bae2c3","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4",{"version":"3dda5344576193a4ae48b8d03f105c86f20b2f2aff0a1d1fd7935f5d68649654","affectsGlobalScope":true},{"version":"35299ae4a62086698444a5aaee27fc7aa377c68cbb90b441c9ace246ffd05c97","affectsGlobalScope":true},{"version":"c5c5565225fce2ede835725a92a28ece149f83542aa4866cfb10290bff7b8996","affectsGlobalScope":true},{"version":"7d2dbc2a0250400af0809b0ad5f84686e84c73526de931f84560e483eb16b03c","affectsGlobalScope":true},{"version":"9d9885c728913c1d16e0d2831b40341d6ad9a0ceecaabc55209b306ad9c736a5","affectsGlobalScope":true},{"version":"17bea081b9c0541f39dd1ae9bc8c78bdd561879a682e60e2f25f688c0ecab248","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":"261c4d2cf86ac5a89ad3fb3fafed74cbb6f2f7c1d139b0540933df567d64a6ca","affectsGlobalScope":true},{"version":"6af1425e9973f4924fca986636ac19a0cf9909a7e0d9d3009c349e6244e957b6","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"15a630d6817718a2ddd7088c4f83e4673fde19fa992d2eae2cf51132a302a5d3","affectsGlobalScope":true},{"version":"f06948deb2a51aae25184561c9640fb66afeddb34531a9212d011792b1d19e0a","affectsGlobalScope":true},{"version":"01e0ee7e1f661acedb08b51f8a9b7d7f959e9cdb6441360f06522cc3aea1bf2e","affectsGlobalScope":true},{"version":"ac17a97f816d53d9dd79b0d235e1c0ed54a8cc6a0677e9a3d61efb480b2a3e4e","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"9cc66b0513ad41cb5f5372cca86ef83a0d37d1c1017580b7dace3ea5661836df","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"307c8b7ebbd7f23a92b73a4c6c0a697beca05b06b036c23a34553e5fe65e4fdc","affectsGlobalScope":true},{"version":"189c0703923150aa30673fa3de411346d727cc44a11c75d05d7cf9ef095daa22","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},{"version":"ab9255bf782788dc4dac1c8ba02a1462af62892fc0244c88e1653e2d3fda0ffc","signature":"6ee8c06b64c07ee480012f4bd9117902293b86c752f398fd9a52465d4e53eb10"},{"version":"0b2f856ddadcfae9c73948b496fdf86fb1e667b19d0cefb26e2b69e893022272","signature":"dcbbefe5b5c4f3d547653901e5f400089cadde4ab62f4897a45920a84b7bc33e"},{"version":"021e4f750c002b6d0c187e8c06ed9b7831f3ea15dbb48fbb5a2a43353e2590f0","signature":"e586936e4ed7d1d101c99fd515b0401f6d461b9d85fc5fd8c46e12d41b0b79b0"},{"version":"e039397dce5b1e22d7209431c4fdef21b975aa89df1b904734f232f4bb19fc4c","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"304adca84c8ac87ab7926b57e10151b2b340113ec20ddb9f746d3304a26f2f69","signature":"f9c13ff9c8b8c7f9020b0b7727b87bb96e9c7815a6832d9a8c6bceb54ab217a5"},{"version":"26bfc0b0ffd0196d7449036cd313df18c4454132fdc8dea8cc5e56dec3937400","signature":"411c6365ca851cb6db8af5cc7316fd4597a6375f6f2a80a4fc009a9624ed48a5"},"ac65f04c2df0218cb8e54f012745cbfcc3c0e67c1f6b1e557d88842bbb72e2db","cc957354aa3c94c9961ebf46282cfde1e81d107fc5785a61f62c67f1dd3ac2eb","a2e86df4db576d80704e25293cec6f20fc6101a11f4747440e2eef58fb3c860c","93de1c6dab503f053efe8d304cb522bb3a89feab8c98f307a674a4fae04773e9","6704f0b54df85640baaeebd86c9d4a1dbb661d5a4d57a75bc84162f562f6531d","9d255af1b09c6697089d3c9bf438292a298d8b7a95c68793c9aae80afc9e5ca7","587f13f1e8157bd8cec0adda0de4ef558bb8573daa9d518d1e2af38e87ecc91f","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"bce910d9164785c9f0d4dcea4be359f5f92130c7c7833dea6138ab1db310a1f9","affectsGlobalScope":true},"7a435e0c814f58f23e9a0979045ec0ef5909aac95a70986e8bcce30c27dff228",{"version":"a7534271773a27ff7d136d550e86b41894d8090fa857ba4c02b5bb18d2eb1c8e","affectsGlobalScope":true},"db71be322f07f769200108aa19b79a75dd19a187c9dca2a30c4537b233aa2863","57135ce61976a8b1dadd01bb412406d1805b90db6e8ecb726d0d78e0b5f76050",{"version":"49479e21a040c0177d1b1bc05a124c0383df7a08a0726ad4d9457619642e875a","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","b8e431e9b9bb2dc832b23d4e3e02774e953d5537998923f215ea446169e9a61e","3690133deae19c8127c5505fcb67b04bdc9eb053796008538a9b9abbb70d85aa","5b1c0a23f464f894e7c2b2b6c56df7b9afa60ed48c5345f8618d389a636b2108","be2b092f2765222757c6441b86c53a5ea8dfed47bbc43eab4c5fe37942c866b3","8e6b05abc98adba15e1ac78e137c64576c74002e301d682e66feb77a23907ab8","1ca735bb3d407b2af4fbee7665f3a0a83be52168c728cc209755060ba7ed67bd",{"version":"6b526a5ec4a401ca7c26cfe6a48e641d8f30af76673bad3b06a1b4504594a960","affectsGlobalScope":true},{"version":"b85c02e14ecb2a873dad5a1de72319b265160ba48f1b83661aeb3bba1366c1bc","affectsGlobalScope":true},"7a2ba0c9af860ac3e77b35ed01fd96d15986f17aa22fe40f188ae556fb1070df","fc3764040518a1008dd04bdc80964591b566b896283e00df85c95851c1f46237","55709608060f77965c270ac10ac646286589f1bd1cb174fff1778a2dd9a7ef31","790623a47c5eda62910098884ecb154dc0e5f3a23fc36c1bfb3b5b9ed44e2c2d","42b40e40f2a358cda332456214fad311e1806a6abf3cebaaac72496e07556642","354612fe1d49ecc9551ea3a27d94eef2887b64ef4a71f72ca444efe0f2f0ba80",{"version":"125af9d85cb9d5e508353f10a8d52f01652d2d48b2cea54789a33e5b4d289c1c","affectsGlobalScope":true},"f5490f53d40291cc8607f5463434d1ac6c5564bc4fbb03abceb03a8f6b014457","5e2b91328a540a0933ab5c2203f4358918e6f0fe7505d22840a891a6117735f1","3abc3512fa04aa0230f59ea1019311fd8667bd935d28306311dccc8b17e79d5d",{"version":"14a50dafe3f45713f7f27cb6320dff07c6ac31678f07959c2134260061bf91ff","affectsGlobalScope":true},{"version":"19da7150ca062323b1db6311a6ef058c9b0a39cc64d836b5e9b75d301869653b","affectsGlobalScope":true},"1349077576abb41f0e9c78ec30762ff75b710208aff77f5fdcc6a8c8ce6289dd","e2ce82603102b5c0563f59fb40314cc1ff95a4d521a66ad14146e130ea80d89c","a3e0395220255a350aa9c6d56f882bfcb5b85c19fddf5419ec822cf22246a26d","c27b01e8ddff5cd280711af5e13aecd9a3228d1c256ea797dd64f8fdec5f7df5","898840e876dfd21843db9f2aa6ae38ba2eab550eb780ff62b894b9fbfebfae6b","0cab4d7d4edc40cd3af9eea7c3ed6d1016910c0954c49c4297e479bf3822a625","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","785e5be57d4f20f290a20e7b0c6263f6c57fd6e51283050756cef07d6d651c68","44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","164deb2409ac5f4da3cd139dbcee7f7d66753d90363a4d7e2db8d8874f272270","1fb6c5ec52332a8b531a8d7a5300ac9301f98c4fe62f68e744e0841ccba65e7e",{"version":"ab294c4b7279318ee2a8fdf681305457ecc05970c94108d304933f18823eeac1","affectsGlobalScope":true},"ad08154d9602429522cac965a715fde27d421d69b24756c5d291877dda75353e","bbda6ea452a2386093a1eda18a6e26a989e98869f1b9f37e46f510a986d2e740","812b25f798033c202baedf386a1ccc41f9191b122f089bffd10fdccce99fba11","993325544790073f77e945bee046d53988c0bc3ac5695c9cf8098166feb82661",{"version":"75dd741ca6a6c8d2437a6ca8349b64b816421dbf9fe82dd026afaba965576962","affectsGlobalScope":true},{"version":"8799401a7ab57764f0d464513a7fa7c72e1d70a226b172ec60fff534ea94d108","affectsGlobalScope":true},"2ce2210032ccaff7710e2abf6a722e62c54960458e73e356b6a365c93ab6ca66","92db194ef7d208d5e4b6242a3434573fd142a621ff996d84cc9dbba3553277d0","16a3080e885ed52d4017c902227a8d0d8daf723d062bec9e45627c6fdcd6699b",{"version":"0bd9543cd8fc0959c76fb8f4f5a26626c2ed62ef4be98fd857bce268066db0a2","affectsGlobalScope":true},"1ca6858a0cbcd74d7db72d7b14c5360a928d1d16748a55ecfa6bfaff8b83071b",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"247aa3419c98713231952b33801d4f46563fe542e03604acd8c63ac45a32409c","bf88ef4208a770ca39a844b182b3695df536326ea566893fdc5b8418702a331e","8b06ac3faeacb8484d84ddb44571d8f410697f98d7bfa86c0fda60373a9f5215","7eb06594824ada538b1d8b48c3925a83e7db792f47a081a62cf3e5c4e23cf0ee","f5638f7c2f12a9a1a57b5c41b3c1ea7db3876c003bab68e6a57afd6bcc169af0","6c1e688f95fcaf53b1e41c0fdadf2c1cfc96fa924eaf7f9fdb60f96deb0a4986","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","db25694be959314fd1e868d72e567746db1db9e2001fae545d12d2a8c1bba1b8","43883cf3635bb1846cbdc6c363787b76227677388c74f7313e3f0edb380840fa","2d47012580f859dae201d2eef898a416bdae719dffc087dfd06aefe3de2f9c8d","3e70a7e67c2cb16f8cd49097360c0309fe9d1e3210ff9222e9dac1f8df9d4fb6","ab68d2a3e3e8767c3fba8f80de099a1cfc18c0de79e42cb02ae66e22dfe14a66","2cec1a31729b9b01e9294c33fc9425d336eff067282809761ad2e74425d6d2a5",{"version":"240c702fb4b3bd54d83ee167d80fa7f0cd7300fef7eea0b32cef33129740893c","affectsGlobalScope":true},"d88a5e779faf033be3d52142a04fbe1cb96009868e3bbdd296b2bc6c59e06c0e","b0d10e46cfe3f6c476b69af02eaa38e4ccc7430221ce3109ae84bb9fb8282298","70e9a18da08294f75bf23e46c7d69e67634c0765d355887b9b41f0d959e1426e","e9eb1b173aa166892f3eddab182e49cfe59aa2e14d33aedb6b49d175ed6a3750"],"root":[[49,54]],"options":{"allowSyntheticDefaultImports":true,"declaration":true,"emitDecoratorMetadata":true,"experimentalDecorators":true,"module":1,"noFallthroughCasesInSwitch":false,"noImplicitAny":false,"outDir":"./","removeComments":true,"skipLibCheck":true,"sourceMap":true,"strictBindCallApply":false,"strictNullChecks":false,"target":2},"fileIdsList":[[51,107],[55,107],[107],[107,121],[55,56,57,58,59,107],[55,57,107],[78,107,114],[107,116],[107,117],[107,123,126],[61,107],[64,107],[65,70,98,107],[66,77,78,85,95,106,107],[66,67,77,85,107],[68,107],[69,70,78,86,107],[70,95,103,107],[71,73,77,85,107],[72,107],[73,74,107],[77,107],[75,77,107],[77,78,79,95,106,107],[77,78,79,92,95,98,107],[107,111],[73,77,80,85,95,106,107],[77,78,80,81,85,95,103,106,107],[80,82,95,103,106,107],[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,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113],[77,83,107],[84,106,107],[73,77,85,95,107],[86,107],[87,107],[64,88,107],[89,105,107,111],[90,107],[91,107],[77,92,93,107],[92,94,107,109],[65,77,95,96,97,98,107],[65,95,97,107],[95,96,107],[98,107],[99,107],[95,107],[77,101,102,107],[101,102,107],[70,85,95,103,107],[104,107],[85,105,107],[65,80,91,106,107],[70,107],[95,107,108],[107,109],[107,110],[65,70,77,79,88,95,106,107,109,111],[95,107,112],[107,130],[107,119,125],[107,123],[107,120,124],[107,122],[50,51,107],[49,107],[50,78,87,107],[50,51],[49],[51],[50]],"referencedMap":[[52,1],[57,2],[55,3],[119,3],[122,4],[121,3],[60,5],[56,2],[58,6],[59,2],[115,7],[116,3],[117,8],[118,9],[127,10],[61,11],[62,11],[64,12],[65,13],[66,14],[67,15],[68,16],[69,17],[70,18],[71,19],[72,20],[73,21],[74,21],[76,22],[75,23],[77,22],[78,24],[79,25],[63,26],[113,3],[80,27],[81,28],[82,29],[114,30],[83,31],[84,32],[85,33],[86,34],[87,35],[88,36],[89,37],[90,38],[91,39],[92,40],[93,40],[94,41],[95,42],[97,43],[96,44],[98,45],[99,46],[100,47],[101,48],[102,49],[103,50],[104,51],[105,52],[106,53],[107,54],[108,55],[109,56],[110,57],[111,58],[112,59],[128,3],[129,3],[130,3],[131,60],[120,3],[126,61],[124,62],[125,63],[123,64],[47,3],[48,3],[9,3],[10,3],[14,3],[13,3],[3,3],[15,3],[16,3],[17,3],[18,3],[19,3],[20,3],[21,3],[22,3],[4,3],[5,3],[26,3],[23,3],[24,3],[25,3],[27,3],[28,3],[29,3],[6,3],[30,3],[31,3],[32,3],[33,3],[7,3],[37,3],[34,3],[35,3],[36,3],[38,3],[8,3],[39,3],[44,3],[45,3],[40,3],[41,3],[42,3],[43,3],[2,3],[1,3],[46,3],[12,3],[11,3],[53,65],[50,66],[49,3],[54,1],[51,67]],"exportedModulesMap":[[57,2],[55,3],[119,3],[122,4],[121,3],[60,5],[56,2],[58,6],[59,2],[115,7],[116,3],[117,8],[118,9],[127,10],[61,11],[62,11],[64,12],[65,13],[66,14],[67,15],[68,16],[69,17],[70,18],[71,19],[72,20],[73,21],[74,21],[76,22],[75,23],[77,22],[78,24],[79,25],[63,26],[113,3],[80,27],[81,28],[82,29],[114,30],[83,31],[84,32],[85,33],[86,34],[87,35],[88,36],[89,37],[90,38],[91,39],[92,40],[93,40],[94,41],[95,42],[97,43],[96,44],[98,45],[99,46],[100,47],[101,48],[102,49],[103,50],[104,51],[105,52],[106,53],[107,54],[108,55],[109,56],[110,57],[111,58],[112,59],[128,3],[129,3],[130,3],[131,60],[120,3],[126,61],[124,62],[125,63],[123,64],[47,3],[48,3],[9,3],[10,3],[14,3],[13,3],[3,3],[15,3],[16,3],[17,3],[18,3],[19,3],[20,3],[21,3],[22,3],[4,3],[5,3],[26,3],[23,3],[24,3],[25,3],[27,3],[28,3],[29,3],[6,3],[30,3],[31,3],[32,3],[33,3],[7,3],[37,3],[34,3],[35,3],[36,3],[38,3],[8,3],[39,3],[44,3],[45,3],[40,3],[41,3],[42,3],[43,3],[2,3],[1,3],[46,3],[12,3],[11,3],[53,68],[50,69],[54,70],[51,71]],"semanticDiagnosticsPerFile":[52,57,55,119,122,121,60,56,58,59,115,116,117,118,127,61,62,64,65,66,67,68,69,70,71,72,73,74,76,75,77,78,79,63,113,80,81,82,114,83,84,85,86,87,88,89,90,91,92,93,94,95,97,96,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,128,129,130,131,120,126,124,125,123,47,48,9,10,14,13,3,15,16,17,18,19,20,21,22,4,5,26,23,24,25,27,28,29,6,30,31,32,33,7,37,34,35,36,38,8,39,44,45,40,41,42,43,2,1,46,12,11,53,50,49,54,51]},"version":"5.1.3"}
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.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.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.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.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/interfaces/mail-configuration.interface.ts","../src/interfaces/index.ts","../src/mailer/dto/logOptions.ts","../src/mailer/helpers/helpers.ts","../src/mailer/mailer.ts","../__tests__/unit/mailer/mailer.spec.ts","../src/index.ts","../src/mailer/index.ts","../node_modules/@babel/types/lib/index.d.ts","../node_modules/@types/babel__generator/index.d.ts","../node_modules/@babel/parser/typings/babel-parser.d.ts","../node_modules/@types/babel__template/index.d.ts","../node_modules/@types/babel__traverse/index.d.ts","../node_modules/@types/babel__core/index.d.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.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/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/dom-events.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/readline/promises.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/test.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.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/graceful-fs/index.d.ts","../node_modules/@types/istanbul-lib-coverage/index.d.ts","../node_modules/@types/istanbul-lib-report/index.d.ts","../node_modules/@types/istanbul-reports/index.d.ts","../node_modules/@jest/expect-utils/build/index.d.ts","../node_modules/chalk/index.d.ts","../node_modules/@sinclair/typebox/typebox.d.ts","../node_modules/@jest/schemas/build/index.d.ts","../node_modules/pretty-format/build/index.d.ts","../node_modules/jest-diff/build/index.d.ts","../node_modules/jest-matcher-utils/build/index.d.ts","../node_modules/expect/build/index.d.ts","../node_modules/@types/jest/index.d.ts","../node_modules/@types/json-schema/index.d.ts","../node_modules/@types/minimist/index.d.ts","../node_modules/@types/normalize-package-data/index.d.ts","../node_modules/@types/prettier/index.d.ts","../node_modules/@types/semver/classes/semver.d.ts","../node_modules/@types/semver/functions/parse.d.ts","../node_modules/@types/semver/functions/valid.d.ts","../node_modules/@types/semver/functions/clean.d.ts","../node_modules/@types/semver/functions/inc.d.ts","../node_modules/@types/semver/functions/diff.d.ts","../node_modules/@types/semver/functions/major.d.ts","../node_modules/@types/semver/functions/minor.d.ts","../node_modules/@types/semver/functions/patch.d.ts","../node_modules/@types/semver/functions/prerelease.d.ts","../node_modules/@types/semver/functions/compare.d.ts","../node_modules/@types/semver/functions/rcompare.d.ts","../node_modules/@types/semver/functions/compare-loose.d.ts","../node_modules/@types/semver/functions/compare-build.d.ts","../node_modules/@types/semver/functions/sort.d.ts","../node_modules/@types/semver/functions/rsort.d.ts","../node_modules/@types/semver/functions/gt.d.ts","../node_modules/@types/semver/functions/lt.d.ts","../node_modules/@types/semver/functions/eq.d.ts","../node_modules/@types/semver/functions/neq.d.ts","../node_modules/@types/semver/functions/gte.d.ts","../node_modules/@types/semver/functions/lte.d.ts","../node_modules/@types/semver/functions/cmp.d.ts","../node_modules/@types/semver/functions/coerce.d.ts","../node_modules/@types/semver/classes/comparator.d.ts","../node_modules/@types/semver/classes/range.d.ts","../node_modules/@types/semver/functions/satisfies.d.ts","../node_modules/@types/semver/ranges/max-satisfying.d.ts","../node_modules/@types/semver/ranges/min-satisfying.d.ts","../node_modules/@types/semver/ranges/to-comparators.d.ts","../node_modules/@types/semver/ranges/min-version.d.ts","../node_modules/@types/semver/ranges/valid.d.ts","../node_modules/@types/semver/ranges/outside.d.ts","../node_modules/@types/semver/ranges/gtr.d.ts","../node_modules/@types/semver/ranges/ltr.d.ts","../node_modules/@types/semver/ranges/intersects.d.ts","../node_modules/@types/semver/ranges/simplify.d.ts","../node_modules/@types/semver/ranges/subset.d.ts","../node_modules/@types/semver/internals/identifiers.d.ts","../node_modules/@types/semver/index.d.ts","../node_modules/@types/stack-utils/index.d.ts","../node_modules/@types/yargs-parser/index.d.ts","../node_modules/@types/yargs/index.d.ts"],"fileInfos":["df039a67536fe2acc3affdcbfb645892f842db36fe599e8e652e2f0c640a90d1",{"version":"f59215c5f1d886b05395ee7aca73e0ac69ddfad2843aa88530e797879d511bad","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","dc48272d7c333ccf58034c0026162576b7d50ea0e69c3b9292f803fc20720fd5","27147504487dc1159369da4f4da8a26406364624fa9bc3db632f7d94a5bae2c3","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4",{"version":"3dda5344576193a4ae48b8d03f105c86f20b2f2aff0a1d1fd7935f5d68649654","affectsGlobalScope":true},{"version":"35299ae4a62086698444a5aaee27fc7aa377c68cbb90b441c9ace246ffd05c97","affectsGlobalScope":true},{"version":"c5c5565225fce2ede835725a92a28ece149f83542aa4866cfb10290bff7b8996","affectsGlobalScope":true},{"version":"7d2dbc2a0250400af0809b0ad5f84686e84c73526de931f84560e483eb16b03c","affectsGlobalScope":true},{"version":"9d9885c728913c1d16e0d2831b40341d6ad9a0ceecaabc55209b306ad9c736a5","affectsGlobalScope":true},{"version":"17bea081b9c0541f39dd1ae9bc8c78bdd561879a682e60e2f25f688c0ecab248","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":"261c4d2cf86ac5a89ad3fb3fafed74cbb6f2f7c1d139b0540933df567d64a6ca","affectsGlobalScope":true},{"version":"6af1425e9973f4924fca986636ac19a0cf9909a7e0d9d3009c349e6244e957b6","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"15a630d6817718a2ddd7088c4f83e4673fde19fa992d2eae2cf51132a302a5d3","affectsGlobalScope":true},{"version":"f06948deb2a51aae25184561c9640fb66afeddb34531a9212d011792b1d19e0a","affectsGlobalScope":true},{"version":"01e0ee7e1f661acedb08b51f8a9b7d7f959e9cdb6441360f06522cc3aea1bf2e","affectsGlobalScope":true},{"version":"ac17a97f816d53d9dd79b0d235e1c0ed54a8cc6a0677e9a3d61efb480b2a3e4e","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"9cc66b0513ad41cb5f5372cca86ef83a0d37d1c1017580b7dace3ea5661836df","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"307c8b7ebbd7f23a92b73a4c6c0a697beca05b06b036c23a34553e5fe65e4fdc","affectsGlobalScope":true},{"version":"189c0703923150aa30673fa3de411346d727cc44a11c75d05d7cf9ef095daa22","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},{"version":"5ef10fea0c802e6e856835a7d48ad84e3f9283419a1d0a8065beb415e9bdbc23","signature":"6ee8c06b64c07ee480012f4bd9117902293b86c752f398fd9a52465d4e53eb10"},{"version":"0b2f856ddadcfae9c73948b496fdf86fb1e667b19d0cefb26e2b69e893022272","signature":"dcbbefe5b5c4f3d547653901e5f400089cadde4ab62f4897a45920a84b7bc33e"},{"version":"40f6ae181cf5ddf466a9e8ae0488786acb36d392e65472e3f7095d070c75a996","signature":"8637e8156dd8742797b27f683b1001f97d76db4fc9649885f310df600083f332"},{"version":"6508ba689f3aa42199ec514d35ec7a4e3a8451be042339de36e7abdd4729307c","signature":"1a867c699cc953dcbc836a74ab5accb64e8fa50d5233e4220efceb13ca6dacb6"},{"version":"15465a81f4b07c07c1b410a692685390972fe9f4385d9532c8fbd6f0d102be47","signature":"9767a55cb1b88634f3f1cd803ceebcdf0ec3c5e442eeb4f985c379ab84a84d59"},{"version":"e039397dce5b1e22d7209431c4fdef21b975aa89df1b904734f232f4bb19fc4c","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"304adca84c8ac87ab7926b57e10151b2b340113ec20ddb9f746d3304a26f2f69","signature":"f9c13ff9c8b8c7f9020b0b7727b87bb96e9c7815a6832d9a8c6bceb54ab217a5"},"411c6365ca851cb6db8af5cc7316fd4597a6375f6f2a80a4fc009a9624ed48a5","ac65f04c2df0218cb8e54f012745cbfcc3c0e67c1f6b1e557d88842bbb72e2db","cc957354aa3c94c9961ebf46282cfde1e81d107fc5785a61f62c67f1dd3ac2eb","a2e86df4db576d80704e25293cec6f20fc6101a11f4747440e2eef58fb3c860c","93de1c6dab503f053efe8d304cb522bb3a89feab8c98f307a674a4fae04773e9","6704f0b54df85640baaeebd86c9d4a1dbb661d5a4d57a75bc84162f562f6531d","9d255af1b09c6697089d3c9bf438292a298d8b7a95c68793c9aae80afc9e5ca7","587f13f1e8157bd8cec0adda0de4ef558bb8573daa9d518d1e2af38e87ecc91f","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"bce910d9164785c9f0d4dcea4be359f5f92130c7c7833dea6138ab1db310a1f9","affectsGlobalScope":true},"7a435e0c814f58f23e9a0979045ec0ef5909aac95a70986e8bcce30c27dff228",{"version":"c81c51f43e343b6d89114b17341fb9d381c4ccbb25e0ee77532376052c801ba7","affectsGlobalScope":true},"db71be322f07f769200108aa19b79a75dd19a187c9dca2a30c4537b233aa2863","57135ce61976a8b1dadd01bb412406d1805b90db6e8ecb726d0d78e0b5f76050",{"version":"49479e21a040c0177d1b1bc05a124c0383df7a08a0726ad4d9457619642e875a","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","b8e431e9b9bb2dc832b23d4e3e02774e953d5537998923f215ea446169e9a61e","3690133deae19c8127c5505fcb67b04bdc9eb053796008538a9b9abbb70d85aa","5b1c0a23f464f894e7c2b2b6c56df7b9afa60ed48c5345f8618d389a636b2108","be2b092f2765222757c6441b86c53a5ea8dfed47bbc43eab4c5fe37942c866b3","8e6b05abc98adba15e1ac78e137c64576c74002e301d682e66feb77a23907ab8","1ca735bb3d407b2af4fbee7665f3a0a83be52168c728cc209755060ba7ed67bd",{"version":"6b526a5ec4a401ca7c26cfe6a48e641d8f30af76673bad3b06a1b4504594a960","affectsGlobalScope":true},{"version":"b85c02e14ecb2a873dad5a1de72319b265160ba48f1b83661aeb3bba1366c1bc","affectsGlobalScope":true},"7a2ba0c9af860ac3e77b35ed01fd96d15986f17aa22fe40f188ae556fb1070df","fc3764040518a1008dd04bdc80964591b566b896283e00df85c95851c1f46237","55709608060f77965c270ac10ac646286589f1bd1cb174fff1778a2dd9a7ef31","790623a47c5eda62910098884ecb154dc0e5f3a23fc36c1bfb3b5b9ed44e2c2d","42b40e40f2a358cda332456214fad311e1806a6abf3cebaaac72496e07556642","354612fe1d49ecc9551ea3a27d94eef2887b64ef4a71f72ca444efe0f2f0ba80",{"version":"125af9d85cb9d5e508353f10a8d52f01652d2d48b2cea54789a33e5b4d289c1c","affectsGlobalScope":true},"f5490f53d40291cc8607f5463434d1ac6c5564bc4fbb03abceb03a8f6b014457","5e2b91328a540a0933ab5c2203f4358918e6f0fe7505d22840a891a6117735f1","3abc3512fa04aa0230f59ea1019311fd8667bd935d28306311dccc8b17e79d5d",{"version":"14a50dafe3f45713f7f27cb6320dff07c6ac31678f07959c2134260061bf91ff","affectsGlobalScope":true},{"version":"19da7150ca062323b1db6311a6ef058c9b0a39cc64d836b5e9b75d301869653b","affectsGlobalScope":true},"1349077576abb41f0e9c78ec30762ff75b710208aff77f5fdcc6a8c8ce6289dd","e2ce82603102b5c0563f59fb40314cc1ff95a4d521a66ad14146e130ea80d89c","a3e0395220255a350aa9c6d56f882bfcb5b85c19fddf5419ec822cf22246a26d","c27b01e8ddff5cd280711af5e13aecd9a3228d1c256ea797dd64f8fdec5f7df5","898840e876dfd21843db9f2aa6ae38ba2eab550eb780ff62b894b9fbfebfae6b","0cab4d7d4edc40cd3af9eea7c3ed6d1016910c0954c49c4297e479bf3822a625","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","785e5be57d4f20f290a20e7b0c6263f6c57fd6e51283050756cef07d6d651c68","44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","164deb2409ac5f4da3cd139dbcee7f7d66753d90363a4d7e2db8d8874f272270",{"version":"ba437529769c1d4766a8a6d5a304f46fbb4f5f1716f23f4cbf20b7a4fd82d8ba","affectsGlobalScope":true},{"version":"ab294c4b7279318ee2a8fdf681305457ecc05970c94108d304933f18823eeac1","affectsGlobalScope":true},"ad08154d9602429522cac965a715fde27d421d69b24756c5d291877dda75353e","bbda6ea452a2386093a1eda18a6e26a989e98869f1b9f37e46f510a986d2e740","812b25f798033c202baedf386a1ccc41f9191b122f089bffd10fdccce99fba11","993325544790073f77e945bee046d53988c0bc3ac5695c9cf8098166feb82661",{"version":"75dd741ca6a6c8d2437a6ca8349b64b816421dbf9fe82dd026afaba965576962","affectsGlobalScope":true},{"version":"8799401a7ab57764f0d464513a7fa7c72e1d70a226b172ec60fff534ea94d108","affectsGlobalScope":true},"2ce2210032ccaff7710e2abf6a722e62c54960458e73e356b6a365c93ab6ca66","92db194ef7d208d5e4b6242a3434573fd142a621ff996d84cc9dbba3553277d0","16a3080e885ed52d4017c902227a8d0d8daf723d062bec9e45627c6fdcd6699b",{"version":"0bd9543cd8fc0959c76fb8f4f5a26626c2ed62ef4be98fd857bce268066db0a2","affectsGlobalScope":true},"1ca6858a0cbcd74d7db72d7b14c5360a928d1d16748a55ecfa6bfaff8b83071b",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"247aa3419c98713231952b33801d4f46563fe542e03604acd8c63ac45a32409c","bf88ef4208a770ca39a844b182b3695df536326ea566893fdc5b8418702a331e","8b06ac3faeacb8484d84ddb44571d8f410697f98d7bfa86c0fda60373a9f5215","7eb06594824ada538b1d8b48c3925a83e7db792f47a081a62cf3e5c4e23cf0ee","f5638f7c2f12a9a1a57b5c41b3c1ea7db3876c003bab68e6a57afd6bcc169af0","6c1e688f95fcaf53b1e41c0fdadf2c1cfc96fa924eaf7f9fdb60f96deb0a4986","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","db25694be959314fd1e868d72e567746db1db9e2001fae545d12d2a8c1bba1b8","43883cf3635bb1846cbdc6c363787b76227677388c74f7313e3f0edb380840fa","2d47012580f859dae201d2eef898a416bdae719dffc087dfd06aefe3de2f9c8d","3e70a7e67c2cb16f8cd49097360c0309fe9d1e3210ff9222e9dac1f8df9d4fb6","ab68d2a3e3e8767c3fba8f80de099a1cfc18c0de79e42cb02ae66e22dfe14a66","2cec1a31729b9b01e9294c33fc9425d336eff067282809761ad2e74425d6d2a5",{"version":"240c702fb4b3bd54d83ee167d80fa7f0cd7300fef7eea0b32cef33129740893c","affectsGlobalScope":true},"dca41e86e89dfb2e85e6935260250f02eb6683b86c2fa16bec729ddd1bcd9b4b","209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05","6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","d88a5e779faf033be3d52142a04fbe1cb96009868e3bbdd296b2bc6c59e06c0e","2b93035328f7778d200252681c1d86285d501ed424825a18f81e4c3028aa51d9","2ac9c8332c5f8510b8bdd571f8271e0f39b0577714d5e95c1e79a12b2616f069","42c21aa963e7b86fa00801d96e88b36803188018d5ad91db2a9101bccd40b3ff","d31eb848cdebb4c55b4893b335a7c0cca95ad66dee13cbb7d0893810c0a9c301","b9f96255e1048ed2ea33ec553122716f0e57fc1c3ad778e9aa15f5b46547bd23","7a9e0a564fee396cacf706523b5aeed96e04c6b871a8bebefad78499fbffc5bc","906c751ef5822ec0dadcea2f0e9db64a33fb4ee926cc9f7efa38afe5d5371b2a","5387c049e9702f2d2d7ece1a74836a14b47fbebe9bbeb19f94c580a37c855351","c68391fb9efad5d99ff332c65b1606248c4e4a9f1dd9a087204242b56c7126d6","e9cf02252d3a0ced987d24845dcb1f11c1be5541f17e5daa44c6de2d18138d0c","e8b02b879754d85f48489294f99147aeccc352c760d95a6fe2b6e49cd400b2fe","9f6908ab3d8a86c68b86e38578afc7095114e66b2fc36a2a96e9252aac3998e0","0eedb2344442b143ddcd788f87096961cd8572b64f10b4afc3356aa0460171c6","71405cc70f183d029cc5018375f6c35117ffdaf11846c35ebf85ee3956b1b2a6","c68baff4d8ba346130e9753cefe2e487a16731bf17e05fdacc81e8c9a26aae9d","2cd15528d8bb5d0453aa339b4b52e0696e8b07e790c153831c642c3dea5ac8af","479d622e66283ffa9883fbc33e441f7fc928b2277ff30aacbec7b7761b4e9579","ade307876dc5ca267ca308d09e737b611505e015c535863f22420a11fffc1c54","f8cdefa3e0dee639eccbe9794b46f90291e5fd3989fcba60d2f08fde56179fb9","86c5a62f99aac7053976e317dbe9acb2eaf903aaf3d2e5bb1cafe5c2df7b37a8","2b300954ce01a8343866f737656e13243e86e5baef51bd0631b21dcef1f6e954","a2d409a9ffd872d6b9d78ead00baa116bbc73cfa959fce9a2f29d3227876b2a1","b288936f560cd71f4a6002953290de9ff8dfbfbf37f5a9391be5c83322324898","61178a781ef82e0ff54f9430397e71e8f365fc1e3725e0e5346f2de7b0d50dfa","6a6ccb37feb3aad32d9be026a3337db195979cd5727a616fc0f557e974101a54","c649ea79205c029a02272ef55b7ab14ada0903db26144d2205021f24727ac7a3","38e2b02897c6357bbcff729ef84c736727b45cc152abe95a7567caccdfad2a1d","d6610ea7e0b1a7686dba062a1e5544dd7d34140f4545305b7c6afaebfb348341","3dee35db743bdba2c8d19aece7ac049bde6fa587e195d86547c882784e6ba34c","b15e55c5fa977c2f25ca0b1db52cfa2d1fd4bf0baf90a8b90d4a7678ca462ff1","f41d30972724714763a2698ae949fbc463afb203b5fa7c4ad7e4de0871129a17","843dd7b6a7c6269fd43827303f5cbe65c1fecabc30b4670a50d5a15d57daeeb9","f06d8b8567ee9fd799bf7f806efe93b67683ef24f4dea5b23ef12edff4434d9d","6017384f697ff38bc3ef6a546df5b230c3c31329db84cbfe686c83bec011e2b2","e1a5b30d9248549ca0c0bb1d653bafae20c64c4aa5928cc4cd3017b55c2177b0","a593632d5878f17295bd53e1c77f27bf4c15212822f764a2bfc1702f4b413fa0","a868a534ba1c2ca9060b8a13b0ffbbbf78b4be7b0ff80d8c75b02773f7192c29","da7545aba8f54a50fde23e2ede00158dc8112560d934cee58098dfb03aae9b9d","34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","a1a261624efb3a00ff346b13580f70f3463b8cdcc58b60f5793ff11785d52cab","b0d10e46cfe3f6c476b69af02eaa38e4ccc7430221ce3109ae84bb9fb8282298","70e9a18da08294f75bf23e46c7d69e67634c0765d355887b9b41f0d959e1426e","e9eb1b173aa166892f3eddab182e49cfe59aa2e14d33aedb6b49d175ed6a3750"],"root":[[49,56]],"options":{"allowSyntheticDefaultImports":true,"declaration":true,"emitDecoratorMetadata":true,"experimentalDecorators":true,"module":1,"noFallthroughCasesInSwitch":false,"noImplicitAny":false,"outDir":"./","removeComments":true,"skipLibCheck":true,"sourceMap":true,"strictBindCallApply":false,"strictNullChecks":false,"target":2},"fileIdsList":[[53,109],[57,109],[109],[109,123],[57,58,59,60,61,109],[57,59,109],[80,109,116],[109,118],[109,119],[109,125,128],[63,109],[66,109],[67,72,100,109],[68,79,80,87,97,108,109],[68,69,79,87,109],[70,109],[71,72,80,88,109],[72,97,105,109],[73,75,79,87,109],[74,109],[75,76,109],[79,109],[77,79,109],[79,80,81,97,108,109],[79,80,81,94,97,100,109],[109,113],[75,79,82,87,97,108,109],[79,80,82,83,87,97,105,108,109],[82,84,97,105,108,109],[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,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115],[79,85,109],[86,108,109],[75,79,87,97,109],[88,109],[89,109],[66,90,109],[91,107,109,113],[92,109],[93,109],[79,94,95,109],[94,96,109,111],[67,79,97,98,99,100,109],[67,97,99,109],[97,98,109],[100,109],[101,109],[97,109],[79,103,104,109],[103,104,109],[72,87,97,105,109],[106,109],[87,107,109],[67,82,93,108,109],[72,109],[97,109,110],[109,111],[109,112],[67,72,79,81,90,97,108,109,111,113],[97,109,114],[109,134,173],[109,134,158,173],[109,173],[109,134],[109,134,159,173],[109,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172],[109,159,173],[109,175],[109,121,127],[109,125],[109,122,126],[109,124],[50,53,109],[49,109],[50,51,52,80,89,109],[50,53],[49],[53],[50,51]],"referencedMap":[[54,1],[59,2],[57,3],[121,3],[124,4],[123,3],[62,5],[58,2],[60,6],[61,2],[117,7],[118,3],[119,8],[120,9],[129,10],[130,3],[131,3],[63,11],[64,11],[66,12],[67,13],[68,14],[69,15],[70,16],[71,17],[72,18],[73,19],[74,20],[75,21],[76,21],[78,22],[77,23],[79,22],[80,24],[81,25],[65,26],[115,3],[82,27],[83,28],[84,29],[116,30],[85,31],[86,32],[87,33],[88,34],[89,35],[90,36],[91,37],[92,38],[93,39],[94,40],[95,40],[96,41],[97,42],[99,43],[98,44],[100,45],[101,46],[102,47],[103,48],[104,49],[105,50],[106,51],[107,52],[108,53],[109,54],[110,55],[111,56],[112,57],[113,58],[114,59],[132,3],[133,3],[158,60],[159,61],[134,62],[137,62],[156,60],[157,60],[147,60],[146,63],[144,60],[139,60],[152,60],[150,60],[154,60],[138,60],[151,60],[155,60],[140,60],[141,60],[153,60],[135,60],[142,60],[143,60],[145,60],[149,60],[160,64],[148,60],[136,60],[173,65],[172,3],[167,64],[169,66],[168,64],[161,64],[162,64],[164,64],[166,64],[170,66],[171,66],[163,66],[165,66],[174,3],[175,3],[176,67],[122,3],[128,68],[126,69],[127,70],[125,71],[47,3],[48,3],[9,3],[10,3],[14,3],[13,3],[3,3],[15,3],[16,3],[17,3],[18,3],[19,3],[20,3],[21,3],[22,3],[4,3],[5,3],[26,3],[23,3],[24,3],[25,3],[27,3],[28,3],[29,3],[6,3],[30,3],[31,3],[32,3],[33,3],[7,3],[37,3],[34,3],[35,3],[36,3],[38,3],[8,3],[39,3],[44,3],[45,3],[40,3],[41,3],[42,3],[43,3],[2,3],[1,3],[46,3],[12,3],[11,3],[55,72],[50,73],[49,3],[51,3],[52,3],[56,1],[53,74]],"exportedModulesMap":[[59,2],[57,3],[121,3],[124,4],[123,3],[62,5],[58,2],[60,6],[61,2],[117,7],[118,3],[119,8],[120,9],[129,10],[130,3],[131,3],[63,11],[64,11],[66,12],[67,13],[68,14],[69,15],[70,16],[71,17],[72,18],[73,19],[74,20],[75,21],[76,21],[78,22],[77,23],[79,22],[80,24],[81,25],[65,26],[115,3],[82,27],[83,28],[84,29],[116,30],[85,31],[86,32],[87,33],[88,34],[89,35],[90,36],[91,37],[92,38],[93,39],[94,40],[95,40],[96,41],[97,42],[99,43],[98,44],[100,45],[101,46],[102,47],[103,48],[104,49],[105,50],[106,51],[107,52],[108,53],[109,54],[110,55],[111,56],[112,57],[113,58],[114,59],[132,3],[133,3],[158,60],[159,61],[134,62],[137,62],[156,60],[157,60],[147,60],[146,63],[144,60],[139,60],[152,60],[150,60],[154,60],[138,60],[151,60],[155,60],[140,60],[141,60],[153,60],[135,60],[142,60],[143,60],[145,60],[149,60],[160,64],[148,60],[136,60],[173,65],[172,3],[167,64],[169,66],[168,64],[161,64],[162,64],[164,64],[166,64],[170,66],[171,66],[163,66],[165,66],[174,3],[175,3],[176,67],[122,3],[128,68],[126,69],[127,70],[125,71],[47,3],[48,3],[9,3],[10,3],[14,3],[13,3],[3,3],[15,3],[16,3],[17,3],[18,3],[19,3],[20,3],[21,3],[22,3],[4,3],[5,3],[26,3],[23,3],[24,3],[25,3],[27,3],[28,3],[29,3],[6,3],[30,3],[31,3],[32,3],[33,3],[7,3],[37,3],[34,3],[35,3],[36,3],[38,3],[8,3],[39,3],[44,3],[45,3],[40,3],[41,3],[42,3],[43,3],[2,3],[1,3],[46,3],[12,3],[11,3],[55,75],[50,76],[56,77],[53,78]],"semanticDiagnosticsPerFile":[54,59,57,121,124,123,62,58,60,61,117,118,119,120,129,130,131,63,64,66,67,68,69,70,71,72,73,74,75,76,78,77,79,80,81,65,115,82,83,84,116,85,86,87,88,89,90,91,92,93,94,95,96,97,99,98,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,132,133,158,159,134,137,156,157,147,146,144,139,152,150,154,138,151,155,140,141,153,135,142,143,145,149,160,148,136,173,172,167,169,168,161,162,164,166,170,171,163,165,174,175,176,122,128,126,127,125,47,48,9,10,14,13,3,15,16,17,18,19,20,21,22,4,5,26,23,24,25,27,28,29,6,30,31,32,33,7,37,34,35,36,38,8,39,44,45,40,41,42,43,2,1,46,12,11,55,50,49,51,52,56,53]},"version":"5.1.6"}
package/jest.config.js CHANGED
@@ -3,9 +3,7 @@ module.exports = {
3
3
  clearMocks: true,
4
4
  preset: 'ts-jest',
5
5
  testTimeout: 20000,
6
- coverageDirectory: "coverage",
6
+ coverageDirectory: 'coverage',
7
7
  testEnvironment: 'node',
8
- "modulePathIgnorePatterns": [
9
- "<rootDir>/dist"
10
- ]
11
- };
8
+ modulePathIgnorePatterns: ['<rootDir>/dist'],
9
+ };
package/package.json CHANGED
@@ -1,17 +1,26 @@
1
1
  {
2
2
  "name": "@tomei/mailer",
3
- "version": "0.1.4",
3
+ "version": "0.2.0",
4
4
  "description": "Tomei Mailer Package",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
7
7
  "start:dev": "tsc -w",
8
8
  "build": "tsc",
9
- "prepare": "npm run build",
9
+ "prepare": "husky install",
10
+ "format": "prettier --write \"src/**/*.ts\"",
11
+ "lint": "npx eslint . --fix",
10
12
  "test": "jest --forceExit --detectOpenHandles"
11
13
  },
12
14
  "author": "Tomei",
13
15
  "license": "ISC",
14
16
  "devDependencies": {
17
+ "@commitlint/cli": "^17.6.3",
18
+ "@commitlint/config-conventional": "^17.6.3",
19
+ "@tsconfig/node18": "^2.0.1",
20
+ "@typescript-eslint/eslint-plugin": "^5.33.0",
21
+ "eslint": "^8.40.0",
22
+ "eslint-config-prettier": "^8.5.0",
23
+ "eslint-plugin-prettier": "^4.2.1",
15
24
  "@types/jest": "^29.5.2",
16
25
  "@types/node": "^20.3.1",
17
26
  "jest": "^29.5.0",
@@ -26,5 +35,8 @@
26
35
  },
27
36
  "peerDependencies": {
28
37
  "@types/jest": "^29.5.2"
38
+ },
39
+ "dependencies": {
40
+ "husky": "^8.0.3"
29
41
  }
30
42
  }
@@ -6,4 +6,4 @@ export interface MailConfig {
6
6
  user: string;
7
7
  pass: string;
8
8
  };
9
- }
9
+ }
@@ -0,0 +1,12 @@
1
+ export type logOptions = {
2
+ from: string;
3
+ to: string;
4
+ subject: string;
5
+ system: string;
6
+ dbName: string;
7
+ tableName: string;
8
+ dataBefore: string;
9
+ dataAfter: string;
10
+ performAt: Date;
11
+ note: string;
12
+ };
@@ -0,0 +1,34 @@
1
+ export const generateLogTransactionHTML = (tableContent: any) => {
2
+ const introductionText = `
3
+ <p>
4
+ As part of our organization&#39;s data management practices,&nbsp;this email contains a snapshot of the database transaction data. This data comprises a record of recent transactions that have occurred within our system, including updates, insertions, and deletions. It serves as a critical piece in our backup process, allowing us to restore the database to a specific point in time if necessary
5
+ </p>
6
+ <p>&nbsp;</p>
7
+ `;
8
+ let table: string = '';
9
+
10
+ for (const key in tableContent) {
11
+ const tmp = `
12
+ <tr>
13
+ <td style="text-align:center" >
14
+ <strong>${key}</strong>
15
+ </td>
16
+ <td>
17
+ <p>${tableContent[key]}</p>
18
+ </td>
19
+ </tr>
20
+ `;
21
+ table = table.concat(tmp);
22
+ }
23
+
24
+ table = `
25
+ <table border="1" cellpadding="1" cellspacing="1" style="width:500px">
26
+ <tbody>
27
+ ${table}
28
+ </tbody>
29
+ </table>
30
+ `;
31
+ const content = introductionText.concat(table);
32
+
33
+ return content;
34
+ };
@@ -1 +1 @@
1
- export * from './mailer'
1
+ export * from './mailer';
@@ -1,6 +1,8 @@
1
1
  import * as fs from 'fs';
2
2
  import * as path from 'path';
3
3
  import { MailConfig } from '../interfaces';
4
+ import { logOptions } from './dto/logOptions';
5
+ import { generateLogTransactionHTML } from './helpers/helpers';
4
6
 
5
7
  export default class Mailer {
6
8
  private mailer: any;
@@ -52,6 +54,45 @@ export default class Mailer {
52
54
  }
53
55
  }
54
56
 
57
+ async logTransaction(logOptions: logOptions): Promise<void> {
58
+ const tableContent = {
59
+ System: logOptions.system,
60
+ 'Performed at': logOptions.performAt,
61
+ Database: logOptions.dbName,
62
+ Table: logOptions.tableName,
63
+ 'Data Before': logOptions.dataBefore,
64
+ 'Data After': logOptions.dataAfter,
65
+ Note: logOptions.note,
66
+ };
67
+
68
+ const content = generateLogTransactionHTML(tableContent);
69
+ const attachment = Buffer.from(JSON.stringify(tableContent), 'utf-8');
70
+ const options: any = {
71
+ from: logOptions.from,
72
+ to: logOptions.to,
73
+ subject: logOptions.subject,
74
+ html: content,
75
+ attachments: [
76
+ {
77
+ filename: 'transaction.json',
78
+ content: attachment,
79
+ },
80
+ ],
81
+ };
82
+
83
+ try {
84
+ await this.mailer.sendMail(options);
85
+ } catch (error) {
86
+ //Retry once
87
+ try {
88
+ console.info('Retry to send mail');
89
+ await this.mailer.sendMail(options);
90
+ } catch (retryError) {
91
+ this.logError(retryError);
92
+ }
93
+ }
94
+ }
95
+
55
96
  private logError(error: Error): void {
56
97
  const logFolderPath = path.join(process.cwd(), 'mailerLog');
57
98