@edirect/template 1.0.11 → 1.0.13

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.
@@ -1,16 +1,20 @@
1
- import { ITransformer } from "./interfaces";
2
- export declare class TemplateModule {
1
+ import { ITemplateModule, ITemplateOptions, ITransformer } from "./interfaces";
2
+ export declare class TemplateModule implements ITemplateModule {
3
3
  private context;
4
4
  private template;
5
5
  private transformers;
6
+ private options;
6
7
  setContext(context: Record<string, unknown>): void;
7
8
  setTemplate(template: Record<string, unknown>): void;
8
9
  setTransformers(transformers: ITransformer): void;
9
- private verifyTransformer;
10
- private runTransformer;
11
- private checkValue;
12
- private setValueByCondition;
13
- private isTransformer;
14
- private isArrayMapper;
15
- transformPayload<T, U>(obj: T, template?: Record<string, unknown>): U;
10
+ setOptions(options: ITemplateOptions): void;
11
+ verifyTransformer(transformer: ITransformer, methodName: string): boolean;
12
+ runTransformer(transformer: string, value?: unknown): unknown | null;
13
+ setValueByCondition<U>(object: U, key: string, value: unknown): U;
14
+ isTransformer(object: Record<string, unknown>): boolean;
15
+ isStaticArrayMapper(object: Record<string, unknown>): boolean;
16
+ isDynamicArrayMapper(object: Record<string, unknown>): boolean;
17
+ isValidObject(object: object): boolean;
18
+ checkValue(value: any): boolean;
19
+ transformPayload<T, U>(dataSource: T, template?: Record<string, unknown>): U;
16
20
  }
@@ -7,6 +7,7 @@ class TemplateModule {
7
7
  this.context = {};
8
8
  this.template = {};
9
9
  this.transformers = {};
10
+ this.options = {};
10
11
  }
11
12
  setContext(context) {
12
13
  this.context = context;
@@ -17,6 +18,9 @@ class TemplateModule {
17
18
  setTransformers(transformers) {
18
19
  this.transformers = transformers;
19
20
  }
21
+ setOptions(options) {
22
+ this.options = options;
23
+ }
20
24
  verifyTransformer(transformer, methodName) {
21
25
  return !!(transformer &&
22
26
  transformer[methodName] &&
@@ -27,9 +31,6 @@ class TemplateModule {
27
31
  return this.transformers[transformer]({ context: this.context, value });
28
32
  }
29
33
  }
30
- checkValue(value) {
31
- return !!(value || typeof value === "boolean" || typeof value === "number");
32
- }
33
34
  setValueByCondition(object, key, value) {
34
35
  return this.checkValue(value)
35
36
  ? Object.assign(Object.assign({}, object), { [key]: value })
@@ -40,36 +41,68 @@ class TemplateModule {
40
41
  (0, lodash_1.has)(object, "fields") ||
41
42
  (0, lodash_1.has)(object, "defaultValue"));
42
43
  }
43
- isArrayMapper(object) {
44
+ isStaticArrayMapper(object) {
45
+ return Array.isArray(object);
46
+ }
47
+ isDynamicArrayMapper(object) {
44
48
  return !!((0, lodash_1.has)(object, "arraySource") && (0, lodash_1.has)(object, "arrayTemplate"));
45
49
  }
46
- transformPayload(obj, template = this.template) {
47
- const object = Object.assign({}, obj);
50
+ isValidObject(object) {
51
+ return (!!object &&
52
+ typeof object === "object" &&
53
+ Object.keys(object).length > 0 &&
54
+ Object.getPrototypeOf(object) !== null &&
55
+ Object.getPrototypeOf(object) === Object.prototype);
56
+ }
57
+ checkValue(value) {
58
+ var _a, _b;
59
+ const omitEmptyFields = (_b = (_a = this.options) === null || _a === void 0 ? void 0 : _a.omitEmptyFields) !== null && _b !== void 0 ? _b : false;
60
+ return !!(value ||
61
+ typeof value === "boolean" ||
62
+ typeof value === "number" ||
63
+ (omitEmptyFields
64
+ ? typeof value === "string" && value !== ""
65
+ : typeof value === "string"));
66
+ }
67
+ transformPayload(dataSource, template = this.template) {
48
68
  if (!template)
49
- throw new Error("No template given");
69
+ return {};
50
70
  return Object.keys(template).reduce((acc, key) => {
51
71
  const target = template[key];
52
- let value = (0, lodash_1.get)(object, target);
53
- if (this.isArrayMapper(target)) {
72
+ let value = (0, lodash_1.get)(dataSource, target);
73
+ if (this.isStaticArrayMapper(target)) {
74
+ const finalArray = [];
75
+ for (const arrayTemplate of target) {
76
+ if (this.isValidObject(arrayTemplate)) {
77
+ value = this.transformPayload(dataSource, arrayTemplate);
78
+ if (this.checkValue(value) && this.isValidObject(value))
79
+ finalArray.push(value);
80
+ }
81
+ }
82
+ return this.setValueByCondition(acc, key, finalArray);
83
+ }
84
+ if (this.isDynamicArrayMapper(target)) {
54
85
  const { arraySource, arrayTemplate } = target;
55
- value = (0, lodash_1.get)(object, arraySource);
86
+ value = (0, lodash_1.get)(dataSource, arraySource);
56
87
  if ((0, lodash_1.isArray)(value)) {
57
88
  const finalArray = [];
58
- for (let i = 0; i < value.length; i++) {
59
- finalArray.push(this.transformPayload(value[i], arrayTemplate));
89
+ for (const dataSource of value) {
90
+ value = this.transformPayload(dataSource, arrayTemplate);
91
+ if (this.checkValue(value) && this.isValidObject(value))
92
+ finalArray.push(value);
60
93
  }
61
94
  return this.setValueByCondition(acc, key, finalArray);
62
95
  }
63
96
  return this.setValueByCondition(acc, key, []);
64
97
  }
65
- if (typeof target === "object") {
98
+ if (this.isValidObject(target)) {
66
99
  if (!this.isTransformer(target)) {
67
- return this.setValueByCondition(acc, key, this.transformPayload(object, target));
100
+ return this.setValueByCondition(acc, key, this.transformPayload(dataSource, target));
68
101
  }
69
102
  const { fields, transformer, defaultValue } = target;
70
103
  if (fields && Array.isArray(fields)) {
71
- for (let i = 0; i < fields.length; i++) {
72
- value = (0, lodash_1.get)(object, fields[i]);
104
+ for (const field of fields) {
105
+ value = (0, lodash_1.get)(dataSource, field);
73
106
  if (transformer)
74
107
  value = this.runTransformer(transformer, value);
75
108
  if (this.checkValue(value))
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/templateModule/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/templateModule/index.ts"],"names":[],"mappings":"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"}
@@ -5,3 +5,21 @@ export interface ITransformerParams {
5
5
  export interface ITransformer {
6
6
  [x: string]: ({ context, value }: ITransformerParams, ...params: any) => any;
7
7
  }
8
+ export interface ITemplateOptions {
9
+ omitEmptyFields?: boolean;
10
+ }
11
+ export interface ITemplateModule {
12
+ setContext(context: Record<string, unknown>): void;
13
+ setTemplate(template: Record<string, unknown>): void;
14
+ setTransformers(transformers: ITransformer): void;
15
+ setOptions(settings: ITemplateOptions): void;
16
+ verifyTransformer(transformer: ITransformer, methodName: string): boolean;
17
+ runTransformer(transformer: string, value?: unknown): unknown | null;
18
+ setValueByCondition<U>(object: U, key: string, value: unknown): U;
19
+ isTransformer(object: Record<string, unknown>): boolean;
20
+ isStaticArrayMapper(object: Record<string, unknown>): boolean;
21
+ isDynamicArrayMapper(object: Record<string, unknown>): boolean;
22
+ isValidObject(object: object): boolean;
23
+ checkValue(value: any): boolean;
24
+ transformPayload<T, U>(obj: T, template?: Record<string, unknown>): U;
25
+ }
@@ -0,0 +1 @@
1
+ {"program":{"fileNames":["../../../../../../../usr/local/lib/node_modules/typescript/lib/lib.es5.d.ts","../../../../../../../usr/local/lib/node_modules/typescript/lib/lib.es2015.d.ts","../../../../../../../usr/local/lib/node_modules/typescript/lib/lib.es2016.d.ts","../../../../../../../usr/local/lib/node_modules/typescript/lib/lib.es2017.d.ts","../../../../../../../usr/local/lib/node_modules/typescript/lib/lib.dom.d.ts","../../../../../../../usr/local/lib/node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../../../../../usr/local/lib/node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../../../../../../usr/local/lib/node_modules/typescript/lib/lib.scripthost.d.ts","../../../../../../../usr/local/lib/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../../../../../usr/local/lib/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../../../../../usr/local/lib/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../../../../../usr/local/lib/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../../../../../usr/local/lib/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../../../../../usr/local/lib/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../../../../../usr/local/lib/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../../../../../usr/local/lib/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../../../../../usr/local/lib/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../../../../../usr/local/lib/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../../../../../usr/local/lib/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../../../../../usr/local/lib/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../../../../../usr/local/lib/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../../../../../usr/local/lib/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../../../../../usr/local/lib/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../../../../../usr/local/lib/node_modules/typescript/lib/lib.es2017.full.d.ts","../node_modules/@types/lodash/common/common.d.ts","../node_modules/@types/lodash/common/array.d.ts","../node_modules/@types/lodash/common/collection.d.ts","../node_modules/@types/lodash/common/date.d.ts","../node_modules/@types/lodash/common/function.d.ts","../node_modules/@types/lodash/common/lang.d.ts","../node_modules/@types/lodash/common/math.d.ts","../node_modules/@types/lodash/common/number.d.ts","../node_modules/@types/lodash/common/object.d.ts","../node_modules/@types/lodash/common/seq.d.ts","../node_modules/@types/lodash/common/string.d.ts","../node_modules/@types/lodash/common/util.d.ts","../node_modules/@types/lodash/index.d.ts","../src/templateModule/interfaces.ts","../src/templateModule/index.ts","../src/index.ts"],"fileInfos":[{"version":"f5c28122bee592cfaf5c72ed7bcc47f453b79778ffa6e301f45d21a0970719d4","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9",{"version":"3f149f903dd20dfeb7c80e228b659f0e436532de772469980dbd00702cc05cc1","affectsGlobalScope":true},{"version":"1272277fe7daa738e555eb6cc45ded42cc2d0f76c07294142283145d49e96186","affectsGlobalScope":true},{"version":"7fac8cb5fc820bc2a59ae11ef1c5b38d3832c6d0dfaec5acdb5569137d09a481","affectsGlobalScope":true},{"version":"097a57355ded99c68e6df1b738990448e0bf170e606707df5a7c0481ff2427cd","affectsGlobalScope":true},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"181f1784c6c10b751631b24ce60c7f78b20665db4550b335be179217bacc0d5f","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},"d2f31f19e1ba6ed59be9259d660a239d9a3fcbbc8e038c6b2009bde34b175fed","675e702f2032766a91eeadee64f51014c64688525da99dccd8178f0c599f13a8","458111fc89d11d2151277c822dfdc1a28fa5b6b2493cf942e37d4cd0a6ee5f22","d70c026dd2eeaa974f430ea229230a1897fdb897dc74659deebe2afd4feeb08f","187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","febf0b2de54781102b00f61653b21377390a048fbf5262718c91860d11ff34a6","98f9d826db9cd99d27a01a59ee5f22863df00ccf1aaf43e1d7db80ebf716f7c3","0aaef8cded245bf5036a7a40b65622dd6c4da71f7a35343112edbe112b348a1e","00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","dcd91d3b697cb650b95db5471189b99815af5db2a1cd28760f91e0b12ede8ed5","3c92b6dfd43cc1c2485d9eba5ff0b74a19bb8725b692773ef1d66dac48cda4bd","3cf0d343c2276842a5b617f22ba82af6322c7cfe8bb52238ffc0c491a3c21019","df996e25faa505f85aeb294d15ebe61b399cf1d1e49959cdfaf2cc0815c203f9",{"version":"f2eff8704452659641164876c1ef0df4174659ce7311b0665798ea3f556fa9ad","affectsGlobalScope":true},{"version":"bfb9f1db58f76ef7b5e4d2f69e564a3d62bd2f7870274552d0a7cc0a79d19d61","signature":"644ed1b96d253881de3211ea153bd892089a4fba337e282893307c40737a28c7"},{"version":"d842cd699b36646f276905d060ca4109081aebeadedb8e7c6d9068077643c597","signature":"11fb76fa4f6c392fc85344d6d7aa0e28568e2b9becd90d687dc164e4f4361881"},"d2e3a5e97ca0bf568106173181629e1a03b8f6905a3cf923409f9a4329a459ff"],"options":{"declaration":true,"module":1,"outDir":"./","removeComments":true,"sourceMap":true,"target":4},"fileIdsList":[[25,27,28,29,30,31,32,33,34,35,36,37],[25,26,28,29,30,31,32,33,34,35,36,37],[26,27,28,29,30,31,32,33,34,35,36,37],[25,26,27,29,30,31,32,33,34,35,36,37],[25,26,27,28,30,31,32,33,34,35,36,37],[25,26,27,28,29,31,32,33,34,35,36,37],[25,26,27,28,29,30,32,33,34,35,36,37],[25,26,27,28,29,30,31,33,34,35,36,37],[25,26,27,28,29,30,31,32,34,35,36,37],[25,26,27,28,29,30,31,32,33,35,36,37],[25,26,27,28,29,30,31,32,33,34,36,37],[25,26,27,28,29,30,31,32,33,34,35,37],[25,26,27,28,29,30,31,32,33,34,35,36],[38,39],[37,38],[38]],"referencedMap":[[26,1],[27,2],[25,3],[28,4],[29,5],[30,6],[31,7],[32,8],[33,9],[34,10],[35,11],[36,12],[37,13],[40,14],[39,15]],"exportedModulesMap":[[26,1],[27,2],[25,3],[28,4],[29,5],[30,6],[31,7],[32,8],[33,9],[34,10],[35,11],[36,12],[37,13],[40,14],[39,16]],"semanticDiagnosticsPerFile":[26,27,25,28,29,30,31,32,33,34,35,36,37,40,39,38,5,6,10,9,2,11,12,13,14,15,16,17,18,3,4,24,22,19,20,21,23,1,8,7]},"version":"4.7.4"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@edirect/template",
3
- "version": "1.0.11",
3
+ "version": "1.0.13",
4
4
  "description": "Template Module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -8,13 +8,14 @@
8
8
  "author": "EDirectInsure",
9
9
  "license": "ISC",
10
10
  "scripts": {
11
- "build": "tsc --build ./tsconfig.build.json",
11
+ "build": "rimraf dist && tsc --build ./tsconfig.build.json",
12
12
  "publish:patch": "npm run build && npm version patch && npm publish",
13
13
  "publish:minor": "npm run build && npm version minor && npm publish",
14
14
  "publish:major": "npm run build && npm version major && npm publish"
15
15
  },
16
16
  "dependencies": {
17
- "lodash": "^4.17.21"
17
+ "lodash": "^4.17.21",
18
+ "rimraf": "^5.0.1"
18
19
  },
19
20
  "devDependencies": {
20
21
  "@types/lodash": "^4.14.194",
@@ -1 +0,0 @@
1
- {"program":{"fileNames":["../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.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.decorators.d.ts","../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../node_modules/typescript/lib/lib.es2017.full.d.ts","../node_modules/@types/lodash/common/common.d.ts","../node_modules/@types/lodash/common/array.d.ts","../node_modules/@types/lodash/common/collection.d.ts","../node_modules/@types/lodash/common/date.d.ts","../node_modules/@types/lodash/common/function.d.ts","../node_modules/@types/lodash/common/lang.d.ts","../node_modules/@types/lodash/common/math.d.ts","../node_modules/@types/lodash/common/number.d.ts","../node_modules/@types/lodash/common/object.d.ts","../node_modules/@types/lodash/common/seq.d.ts","../node_modules/@types/lodash/common/string.d.ts","../node_modules/@types/lodash/common/util.d.ts","../node_modules/@types/lodash/index.d.ts","../src/templateModule/interfaces.ts","../src/templateModule/index.ts","../src/index.ts"],"fileInfos":[{"version":"6a6b471e7e43e15ef6f8fe617a22ce4ecb0e34efa6c3dfcfe7cebd392bcca9d2","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","dc48272d7c333ccf58034c0026162576b7d50ea0e69c3b9292f803fc20720fd5","27147504487dc1159369da4f4da8a26406364624fa9bc3db632f7d94a5bae2c3",{"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":"189c0703923150aa30673fa3de411346d727cc44a11c75d05d7cf9ef095daa22","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},"994c234848afc14a2586b6565777f4c0b05dc479ede0a041bfd5becf6dceb586","675e702f2032766a91eeadee64f51014c64688525da99dccd8178f0c599f13a8","458111fc89d11d2151277c822dfdc1a28fa5b6b2493cf942e37d4cd0a6ee5f22","d70c026dd2eeaa974f430ea229230a1897fdb897dc74659deebe2afd4feeb08f","187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","febf0b2de54781102b00f61653b21377390a048fbf5262718c91860d11ff34a6","98f9d826db9cd99d27a01a59ee5f22863df00ccf1aaf43e1d7db80ebf716f7c3","0aaef8cded245bf5036a7a40b65622dd6c4da71f7a35343112edbe112b348a1e","00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","dcd91d3b697cb650b95db5471189b99815af5db2a1cd28760f91e0b12ede8ed5","3c92b6dfd43cc1c2485d9eba5ff0b74a19bb8725b692773ef1d66dac48cda4bd","3cf0d343c2276842a5b617f22ba82af6322c7cfe8bb52238ffc0c491a3c21019","df996e25faa505f85aeb294d15ebe61b399cf1d1e49959cdfaf2cc0815c203f9",{"version":"f2eff8704452659641164876c1ef0df4174659ce7311b0665798ea3f556fa9ad","affectsGlobalScope":true},{"version":"0a614c10884200ac9e75264373ff6141e7045107100b134562183360e8fc01df","signature":"64e60fd91c75a7d76f552a7006ce85a8c27605bfa5c23e8ade0f96046c519f1e"},{"version":"e995292098251ee5c98f294eb5a0ddc0ad9db3ee55e504205cf95dc899b0d0e3","signature":"e69c98447e6f34e7f9053a54d2156a8df7b067d598a8b716ca00032cff233ab9"},"d2e3a5e97ca0bf568106173181629e1a03b8f6905a3cf923409f9a4329a459ff"],"root":[42],"options":{"declaration":true,"module":1,"outDir":"./","removeComments":true,"sourceMap":true,"target":4},"fileIdsList":[[27,29,30,31,32,33,34,35,36,37,38,39],[27,28,30,31,32,33,34,35,36,37,38,39],[28,29,30,31,32,33,34,35,36,37,38,39],[27,28,29,31,32,33,34,35,36,37,38,39],[27,28,29,30,32,33,34,35,36,37,38,39],[27,28,29,30,31,33,34,35,36,37,38,39],[27,28,29,30,31,32,34,35,36,37,38,39],[27,28,29,30,31,32,33,35,36,37,38,39],[27,28,29,30,31,32,33,34,36,37,38,39],[27,28,29,30,31,32,33,34,35,37,38,39],[27,28,29,30,31,32,33,34,35,36,38,39],[27,28,29,30,31,32,33,34,35,36,37,39],[27,28,29,30,31,32,33,34,35,36,37,38],[40,41],[39,40],[40]],"referencedMap":[[28,1],[29,2],[27,3],[30,4],[31,5],[32,6],[33,7],[34,8],[35,9],[36,10],[37,11],[38,12],[39,13],[42,14],[41,15]],"exportedModulesMap":[[28,1],[29,2],[27,3],[30,4],[31,5],[32,6],[33,7],[34,8],[35,9],[36,10],[37,11],[38,12],[39,13],[42,14],[41,16]],"semanticDiagnosticsPerFile":[28,29,27,30,31,32,33,34,35,36,37,38,39,24,25,5,6,10,9,2,11,12,13,14,15,16,17,18,3,4,26,22,19,20,21,23,1,8,7,42,41,40]},"version":"5.0.4"}