@markuplint/ml-config 3.0.0-alpha.66 → 3.0.0-dev.176
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -3
- package/lib/merge-config.d.ts +3 -2
- package/lib/merge-config.js +45 -47
- package/lib/types.d.ts +201 -91
- package/lib/utils.d.ts +16 -3
- package/lib/utils.js +104 -26
- package/package.json +12 -8
- package/test/merge-config.spec.js +233 -0
- package/test/utils.spec.js +119 -0
- package/tsconfig.test.json +0 -3
- package/tsconfig.tsbuildinfo +0 -1
package/README.md
CHANGED
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
# @markuplint/ml-config
|
|
2
2
|
|
|
3
3
|
[](https://www.npmjs.com/package/@markuplint/ml-config)
|
|
4
|
-
[](https://travis-ci.org/markuplint/markuplint)
|
|
5
|
-
[](https://coveralls.io/github/markuplint/markuplint?branch=main)
|
|
6
4
|
|
|
7
5
|
## Install
|
|
8
6
|
|
|
9
|
-
|
|
7
|
+
[`markuplint`](https://www.npmjs.com/package/markuplint) package includes this package.
|
|
8
|
+
|
|
9
|
+
<details>
|
|
10
|
+
<summary>If you are installing purposely, how below:</summary>
|
|
11
|
+
|
|
12
|
+
```shell
|
|
10
13
|
$ npm install @markuplint/ml-config
|
|
11
14
|
|
|
12
15
|
$ yarn add @markuplint/ml-config
|
|
13
16
|
```
|
|
17
|
+
|
|
18
|
+
</details>
|
package/lib/merge-config.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
import type { Config,
|
|
1
|
+
import type { Config, AnyRule, AnyRuleV2 } from './types';
|
|
2
|
+
import type { Nullable } from '@markuplint/shared';
|
|
2
3
|
export declare function mergeConfig(a: Config, b: Config): Config;
|
|
3
|
-
export declare function mergeRule(a: Nullable<AnyRule>, b: AnyRule): AnyRule;
|
|
4
|
+
export declare function mergeRule(a: Nullable<AnyRule | AnyRuleV2>, b: AnyRule | AnyRuleV2): AnyRule;
|
package/lib/merge-config.js
CHANGED
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.mergeRule = exports.mergeConfig = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const deepmerge_1 = tslib_1.__importDefault(require("deepmerge"));
|
|
6
|
-
const
|
|
6
|
+
const utils_1 = require("./utils");
|
|
7
7
|
function mergeConfig(a, b) {
|
|
8
8
|
const config = {
|
|
9
9
|
...a,
|
|
@@ -22,59 +22,61 @@ function mergeConfig(a, b) {
|
|
|
22
22
|
// delete all
|
|
23
23
|
extends: undefined,
|
|
24
24
|
};
|
|
25
|
-
deleteUndefProp(config);
|
|
25
|
+
(0, utils_1.deleteUndefProp)(config);
|
|
26
26
|
return config;
|
|
27
27
|
}
|
|
28
28
|
exports.mergeConfig = mergeConfig;
|
|
29
29
|
function mergeRule(a, b) {
|
|
30
|
+
var _a, _b, _c;
|
|
31
|
+
const oA = optimizeRule(a);
|
|
32
|
+
const oB = optimizeRule(b);
|
|
30
33
|
// Particular behavior:
|
|
31
|
-
//
|
|
32
34
|
// If the right-side value is false, return false.
|
|
33
35
|
// In short; The `false` makes the rule to be disabled absolutely.
|
|
34
|
-
if (
|
|
36
|
+
if (oB === false || (!(0, utils_1.isRuleConfigValue)(oB) && (oB === null || oB === void 0 ? void 0 : oB.value) === false)) {
|
|
35
37
|
return false;
|
|
36
38
|
}
|
|
37
|
-
if (
|
|
38
|
-
return
|
|
39
|
+
if (oA === undefined) {
|
|
40
|
+
return oB !== null && oB !== void 0 ? oB : {};
|
|
39
41
|
}
|
|
40
|
-
if (
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
42
|
+
if (oB === undefined) {
|
|
43
|
+
return oA;
|
|
44
|
+
}
|
|
45
|
+
if ((0, utils_1.isRuleConfigValue)(oB)) {
|
|
46
|
+
if ((0, utils_1.isRuleConfigValue)(oA)) {
|
|
47
|
+
if (Array.isArray(oA) && Array.isArray(oB)) {
|
|
48
|
+
return [...oA, ...oB];
|
|
44
49
|
}
|
|
45
|
-
return
|
|
50
|
+
return oB;
|
|
46
51
|
}
|
|
47
|
-
const value = Array.isArray(
|
|
48
|
-
const res = {
|
|
49
|
-
|
|
50
|
-
value,
|
|
51
|
-
};
|
|
52
|
-
deleteUndefProp(res);
|
|
52
|
+
const value = Array.isArray(oA.value) && Array.isArray(oB) ? [...oA.value, ...oB] : oB;
|
|
53
|
+
const res = (0, utils_1.cleanOptions)({ ...oA, value });
|
|
54
|
+
(0, utils_1.deleteUndefProp)(res);
|
|
53
55
|
return res;
|
|
54
56
|
}
|
|
55
|
-
const severity =
|
|
56
|
-
const value =
|
|
57
|
-
const
|
|
58
|
-
const reason =
|
|
57
|
+
const severity = (_a = oB.severity) !== null && _a !== void 0 ? _a : (!(0, utils_1.isRuleConfigValue)(oA) ? oA.severity : undefined);
|
|
58
|
+
const value = (_b = oB.value) !== null && _b !== void 0 ? _b : ((0, utils_1.isRuleConfigValue)(oA) ? oA : oA.value);
|
|
59
|
+
const options = mergeObject(!(0, utils_1.isRuleConfigValue)(oA) ? oA.options : undefined, oB.options);
|
|
60
|
+
const reason = (_c = oB.reason) !== null && _c !== void 0 ? _c : (!(0, utils_1.isRuleConfigValue)(oA) ? oA.reason : undefined);
|
|
59
61
|
const res = {
|
|
60
62
|
severity,
|
|
61
63
|
value,
|
|
62
|
-
|
|
64
|
+
options,
|
|
63
65
|
reason,
|
|
64
66
|
};
|
|
65
|
-
deleteUndefProp(res);
|
|
67
|
+
(0, utils_1.deleteUndefProp)(res);
|
|
66
68
|
return res;
|
|
67
69
|
}
|
|
68
70
|
exports.mergeRule = mergeRule;
|
|
69
71
|
function mergeObject(a, b) {
|
|
70
72
|
if (a == null) {
|
|
71
|
-
return b
|
|
73
|
+
return b !== null && b !== void 0 ? b : undefined;
|
|
72
74
|
}
|
|
73
75
|
if (b == null) {
|
|
74
|
-
return a
|
|
76
|
+
return a !== null && a !== void 0 ? a : undefined;
|
|
75
77
|
}
|
|
76
78
|
const res = (0, deepmerge_1.default)(a, b);
|
|
77
|
-
deleteUndefProp(res);
|
|
79
|
+
(0, utils_1.deleteUndefProp)(res);
|
|
78
80
|
return res;
|
|
79
81
|
}
|
|
80
82
|
function concatArray(a, b, uniquely = false, comparePropName) {
|
|
@@ -130,41 +132,37 @@ function getName(item, comparePropName) {
|
|
|
130
132
|
}
|
|
131
133
|
function mergeRules(a, b) {
|
|
132
134
|
if (a == null) {
|
|
133
|
-
return b
|
|
135
|
+
return b && optimizeRules(b);
|
|
134
136
|
}
|
|
135
137
|
if (b == null) {
|
|
136
|
-
return a
|
|
138
|
+
return optimizeRules(a);
|
|
137
139
|
}
|
|
138
|
-
const res =
|
|
140
|
+
const res = optimizeRules(a);
|
|
139
141
|
for (const [key, rule] of Object.entries(b)) {
|
|
140
142
|
const merged = mergeRule(res[key], rule);
|
|
141
143
|
if (merged != null) {
|
|
142
144
|
res[key] = merged;
|
|
143
145
|
}
|
|
144
146
|
}
|
|
145
|
-
deleteUndefProp(res);
|
|
146
|
-
return res;
|
|
147
|
+
(0, utils_1.deleteUndefProp)(res);
|
|
148
|
+
return Object.freeze(res);
|
|
147
149
|
}
|
|
148
|
-
function
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
150
|
+
function optimizeRules(rules) {
|
|
151
|
+
const res = {};
|
|
152
|
+
for (const [key, rule] of Object.entries(rules)) {
|
|
153
|
+
const _rule = optimizeRule(rule);
|
|
154
|
+
if (_rule != null) {
|
|
155
|
+
res[key] = _rule;
|
|
154
156
|
}
|
|
155
157
|
}
|
|
156
|
-
|
|
157
|
-
return true;
|
|
158
|
-
}
|
|
159
|
-
return Array.isArray(v);
|
|
158
|
+
return res;
|
|
160
159
|
}
|
|
161
|
-
function
|
|
162
|
-
if (
|
|
160
|
+
function optimizeRule(rule) {
|
|
161
|
+
if (rule === undefined) {
|
|
163
162
|
return;
|
|
164
163
|
}
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
delete obj[key];
|
|
168
|
-
}
|
|
164
|
+
if ((0, utils_1.isRuleConfigValue)(rule)) {
|
|
165
|
+
return rule;
|
|
169
166
|
}
|
|
167
|
+
return (0, utils_1.cleanOptions)(rule);
|
|
170
168
|
}
|
package/lib/types.d.ts
CHANGED
|
@@ -1,93 +1,203 @@
|
|
|
1
|
+
import type { ParserOptions } from '@markuplint/ml-ast';
|
|
1
2
|
import type { RegexSelector } from '@markuplint/selector';
|
|
3
|
+
import type { Nullable } from '@markuplint/shared';
|
|
2
4
|
export type { RegexSelector } from '@markuplint/selector';
|
|
3
|
-
export
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
export
|
|
31
|
-
export
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
export
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
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
|
-
|
|
92
|
-
};
|
|
93
|
-
|
|
5
|
+
export type Config = {
|
|
6
|
+
readonly $schema?: string;
|
|
7
|
+
readonly extends?: string | readonly string[];
|
|
8
|
+
readonly plugins?: readonly (PluginConfig | string)[];
|
|
9
|
+
readonly parser?: ParserConfig;
|
|
10
|
+
readonly parserOptions?: ParserOptions;
|
|
11
|
+
readonly specs?: SpecConfig;
|
|
12
|
+
readonly excludeFiles?: readonly string[];
|
|
13
|
+
readonly pretenders?: readonly Pretender[];
|
|
14
|
+
readonly rules?: Rules;
|
|
15
|
+
readonly nodeRules?: readonly NodeRule[];
|
|
16
|
+
readonly childNodeRules?: readonly ChildNodeRule[];
|
|
17
|
+
readonly overrides?: Readonly<Record<string, OverrideConfig>>;
|
|
18
|
+
};
|
|
19
|
+
export type PrimitiveScalar = string | number | boolean;
|
|
20
|
+
export type PlainData =
|
|
21
|
+
| Nullable<PrimitiveScalar>
|
|
22
|
+
| readonly PlainData[]
|
|
23
|
+
| {
|
|
24
|
+
readonly [key: string]: PlainData | any;
|
|
25
|
+
};
|
|
26
|
+
export type NonNullablePlainData =
|
|
27
|
+
| PrimitiveScalar
|
|
28
|
+
| readonly NonNullablePlainData[]
|
|
29
|
+
| {
|
|
30
|
+
readonly [key: string]: NonNullablePlainData;
|
|
31
|
+
};
|
|
32
|
+
export type OverrideConfig = Omit<Config, '$schema' | 'extends' | 'overrides'>;
|
|
33
|
+
export type PluginConfig = {
|
|
34
|
+
readonly name: string;
|
|
35
|
+
readonly settings: Readonly<Record<string, NonNullablePlainData>>;
|
|
36
|
+
};
|
|
37
|
+
export type ParserConfig = {
|
|
38
|
+
readonly [extensionPattern: string]: string;
|
|
39
|
+
};
|
|
40
|
+
export type SpecConfig = {
|
|
41
|
+
readonly [extensionPattern: string]: string;
|
|
42
|
+
};
|
|
43
|
+
export type Pretender = {
|
|
44
|
+
/**
|
|
45
|
+
* Target node selectors
|
|
46
|
+
*/
|
|
47
|
+
readonly selector: string;
|
|
48
|
+
/**
|
|
49
|
+
* If it is a string, it is resolved as an element name.
|
|
50
|
+
* An element has the same attributes as the pretended custom element
|
|
51
|
+
* because attributes are just inherited.
|
|
52
|
+
*
|
|
53
|
+
* If it is an Object, It creates the element by that.
|
|
54
|
+
*/
|
|
55
|
+
readonly as: string | OriginalNode;
|
|
56
|
+
};
|
|
57
|
+
export type OriginalNode = {
|
|
58
|
+
/**
|
|
59
|
+
* Element name
|
|
60
|
+
*/
|
|
61
|
+
readonly element: string;
|
|
62
|
+
/**
|
|
63
|
+
* Namespace
|
|
64
|
+
*
|
|
65
|
+
* Supports `"svg"` and `undefined` only.
|
|
66
|
+
* If it is `undefined`, the namespace is HTML.
|
|
67
|
+
*/
|
|
68
|
+
readonly namespace?: 'svg';
|
|
69
|
+
/**
|
|
70
|
+
* Attributes
|
|
71
|
+
*/
|
|
72
|
+
readonly attrs?: readonly {
|
|
73
|
+
/**
|
|
74
|
+
* Attribute name
|
|
75
|
+
*/
|
|
76
|
+
readonly name: string;
|
|
77
|
+
/**
|
|
78
|
+
* If it omits this property, the attribute is resolved as a boolean.
|
|
79
|
+
*/
|
|
80
|
+
readonly value?:
|
|
81
|
+
| string
|
|
82
|
+
| {
|
|
83
|
+
readonly fromAttr: string;
|
|
84
|
+
};
|
|
85
|
+
}[];
|
|
86
|
+
/**
|
|
87
|
+
* To have attributes the defined element has.
|
|
88
|
+
*/
|
|
89
|
+
readonly inheritAttrs?: boolean;
|
|
90
|
+
/**
|
|
91
|
+
* ARIA properties
|
|
92
|
+
*/
|
|
93
|
+
readonly aria?: PretenderARIA;
|
|
94
|
+
};
|
|
95
|
+
/**
|
|
96
|
+
* Pretender Node ARIA properties
|
|
97
|
+
*/
|
|
98
|
+
export type PretenderARIA = {
|
|
99
|
+
/**
|
|
100
|
+
* Accessible name
|
|
101
|
+
*
|
|
102
|
+
* - If it is `true`, it assumes the element has any text on its accessible name.
|
|
103
|
+
* - If it specifies `fromAttr` property, it assumes the accessible name refers to the value of the attribute.
|
|
104
|
+
*/
|
|
105
|
+
readonly name?:
|
|
106
|
+
| boolean
|
|
107
|
+
| {
|
|
108
|
+
readonly fromAttr: string;
|
|
109
|
+
};
|
|
110
|
+
};
|
|
111
|
+
export type Rule<T extends RuleConfigValue, O extends PlainData = undefined> = RuleConfig<T, O> | Readonly<T> | boolean;
|
|
112
|
+
/**
|
|
113
|
+
* @deprecated
|
|
114
|
+
*/
|
|
115
|
+
export type RuleV2<T extends RuleConfigValue, O extends PlainData = undefined> =
|
|
116
|
+
| RuleConfigV2<T, O>
|
|
117
|
+
| Readonly<T>
|
|
118
|
+
| boolean;
|
|
119
|
+
export type AnyRule = Rule<RuleConfigValue, PlainData>;
|
|
120
|
+
/**
|
|
121
|
+
* @deprecated
|
|
122
|
+
*/
|
|
123
|
+
export type AnyRuleV2 = RuleV2<RuleConfigValue, PlainData>;
|
|
124
|
+
export type Rules = {
|
|
125
|
+
readonly [ruleName: string]: AnyRule;
|
|
126
|
+
};
|
|
127
|
+
export type RuleConfig<T extends RuleConfigValue, O extends PlainData = undefined> = {
|
|
128
|
+
readonly severity?: Severity;
|
|
129
|
+
readonly value?: Readonly<T>;
|
|
130
|
+
readonly options?: Readonly<O>;
|
|
131
|
+
readonly reason?: string;
|
|
132
|
+
};
|
|
133
|
+
/**
|
|
134
|
+
* @deprecated
|
|
135
|
+
*/
|
|
136
|
+
export type RuleConfigV2<T extends RuleConfigValue, O extends PlainData = undefined> = {
|
|
137
|
+
readonly severity?: Severity;
|
|
138
|
+
readonly value?: Readonly<T>;
|
|
139
|
+
readonly reason?: string;
|
|
140
|
+
/**
|
|
141
|
+
* Old property
|
|
142
|
+
*
|
|
143
|
+
* @deprecated
|
|
144
|
+
* @see {this.options}
|
|
145
|
+
*/
|
|
146
|
+
readonly option?: Readonly<O>;
|
|
147
|
+
};
|
|
148
|
+
export type Severity = 'error' | 'warning' | 'info';
|
|
149
|
+
export type RuleConfigValue = PrimitiveScalar | readonly (PrimitiveScalar | Readonly<Record<string, any>>)[] | null;
|
|
150
|
+
export type NodeRule = {
|
|
151
|
+
readonly selector?: string;
|
|
152
|
+
readonly regexSelector?: RegexSelector;
|
|
153
|
+
readonly categories?: readonly string[];
|
|
154
|
+
readonly roles?: readonly string[];
|
|
155
|
+
readonly obsolete?: boolean;
|
|
156
|
+
readonly rules?: Rules;
|
|
157
|
+
};
|
|
158
|
+
export type ChildNodeRule = {
|
|
159
|
+
readonly selector?: string;
|
|
160
|
+
readonly regexSelector?: RegexSelector;
|
|
161
|
+
readonly inheritance?: boolean;
|
|
162
|
+
readonly rules?: Rules;
|
|
163
|
+
};
|
|
164
|
+
export type Report<T extends RuleConfigValue, O extends PlainData = undefined> =
|
|
165
|
+
| Report1<T, O>
|
|
166
|
+
| Report2
|
|
167
|
+
| (Report1<T, O> & Report2);
|
|
168
|
+
export type Report1<T extends RuleConfigValue, O extends PlainData = undefined> = {
|
|
169
|
+
readonly message: string;
|
|
170
|
+
readonly scope: Scope<T, O>;
|
|
171
|
+
};
|
|
172
|
+
export type Report2 = {
|
|
173
|
+
readonly message: string;
|
|
174
|
+
readonly line: number;
|
|
175
|
+
readonly col: number;
|
|
176
|
+
readonly raw: string;
|
|
177
|
+
};
|
|
178
|
+
export type Scope<T extends RuleConfigValue, O extends PlainData = undefined> = {
|
|
179
|
+
readonly rule: RuleInfo<T, O>;
|
|
180
|
+
readonly startLine: number;
|
|
181
|
+
readonly startCol: number;
|
|
182
|
+
readonly raw: string;
|
|
183
|
+
};
|
|
184
|
+
export type Violation = {
|
|
185
|
+
readonly ruleId: string;
|
|
186
|
+
readonly severity: Severity;
|
|
187
|
+
readonly message: string;
|
|
188
|
+
readonly reason?: string;
|
|
189
|
+
readonly line: number;
|
|
190
|
+
readonly col: number;
|
|
191
|
+
readonly raw: string;
|
|
192
|
+
};
|
|
193
|
+
export type RuleInfo<T extends RuleConfigValue, O extends PlainData = undefined> = {
|
|
194
|
+
readonly disabled: boolean;
|
|
195
|
+
readonly severity: Severity;
|
|
196
|
+
readonly value: Readonly<T>;
|
|
197
|
+
readonly options: Readonly<O>;
|
|
198
|
+
readonly reason?: string;
|
|
199
|
+
};
|
|
200
|
+
export type GlobalRuleInfo<T extends RuleConfigValue, O extends PlainData = undefined> = RuleInfo<T, O> & {
|
|
201
|
+
nodeRules: RuleInfo<T, O>[];
|
|
202
|
+
childNodeRules: RuleInfo<T, O>[];
|
|
203
|
+
};
|
package/lib/utils.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AnyRule } from './types';
|
|
1
|
+
import type { AnyRule, AnyRuleV2, PlainData, RuleConfig, RuleConfigV2, RuleConfigValue } from './types';
|
|
2
2
|
/**
|
|
3
3
|
* Return undefined if the template doesn't include the variable that is set as a property in data.
|
|
4
4
|
* But return template string without changes if it doesn't have a variable.
|
|
@@ -6,5 +6,18 @@ import type { AnyRule } from './types';
|
|
|
6
6
|
* @param template Mustache template string
|
|
7
7
|
* @param data Captured string for replacement
|
|
8
8
|
*/
|
|
9
|
-
export declare function provideValue(template: string, data: Record<string, string
|
|
10
|
-
export declare function exchangeValueOnRule(
|
|
9
|
+
export declare function provideValue(template: string, data: Readonly<Record<string, string>>): string | undefined;
|
|
10
|
+
export declare function exchangeValueOnRule(
|
|
11
|
+
rule: AnyRule | AnyRuleV2,
|
|
12
|
+
data: Readonly<Record<string, string>>,
|
|
13
|
+
): AnyRule | undefined;
|
|
14
|
+
export declare function cleanOptions(
|
|
15
|
+
rule: RuleConfig<RuleConfigValue, PlainData> | RuleConfigV2<RuleConfigValue, PlainData>,
|
|
16
|
+
): RuleConfig<RuleConfigValue, PlainData>;
|
|
17
|
+
export declare function isRuleConfigValue(v: any): v is RuleConfigValue;
|
|
18
|
+
/**
|
|
19
|
+
*
|
|
20
|
+
* @param obj
|
|
21
|
+
* @returns
|
|
22
|
+
*/
|
|
23
|
+
export declare function deleteUndefProp(obj: any): void;
|
package/lib/utils.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.exchangeValueOnRule = exports.provideValue = void 0;
|
|
3
|
+
exports.deleteUndefProp = exports.isRuleConfigValue = exports.cleanOptions = exports.exchangeValueOnRule = exports.provideValue = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
+
const is_plain_object_1 = require("is-plain-object");
|
|
5
6
|
const mustache_1 = tslib_1.__importDefault(require("mustache"));
|
|
6
7
|
/**
|
|
7
8
|
* Return undefined if the template doesn't include the variable that is set as a property in data.
|
|
@@ -11,8 +12,9 @@ const mustache_1 = tslib_1.__importDefault(require("mustache"));
|
|
|
11
12
|
* @param data Captured string for replacement
|
|
12
13
|
*/
|
|
13
14
|
function provideValue(template, data) {
|
|
15
|
+
var _a;
|
|
14
16
|
const ast = mustache_1.default.parse(template);
|
|
15
|
-
if (ast.length === 1 && ast[0][0] === 'text') {
|
|
17
|
+
if (ast.length === 1 && ((_a = ast[0]) === null || _a === void 0 ? void 0 : _a[0]) === 'text') {
|
|
16
18
|
// It doesn't have a variable
|
|
17
19
|
return template;
|
|
18
20
|
}
|
|
@@ -26,31 +28,94 @@ function provideValue(template, data) {
|
|
|
26
28
|
}
|
|
27
29
|
exports.provideValue = provideValue;
|
|
28
30
|
function exchangeValueOnRule(rule, data) {
|
|
29
|
-
if (
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
31
|
+
if (isRuleConfigValue(rule)) {
|
|
32
|
+
return exchangeValue(rule, data);
|
|
33
|
+
}
|
|
34
|
+
let result = cleanOptions(rule);
|
|
35
|
+
if (result.value != null) {
|
|
36
|
+
result = {
|
|
37
|
+
...result,
|
|
38
|
+
value: exchangeValue(result.value, data),
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
const options = extractOptions(result);
|
|
42
|
+
if (options != null && options !== '' && options !== 0) {
|
|
43
|
+
const newOptions = exchangeOption(options, data);
|
|
44
|
+
result = {
|
|
45
|
+
...result,
|
|
46
|
+
...(newOptions == null
|
|
47
|
+
? undefined
|
|
48
|
+
: {
|
|
49
|
+
options: newOptions,
|
|
50
|
+
}),
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
if (result.reason != null) {
|
|
54
|
+
const exchangedValue = exchangeValue(result.reason, data);
|
|
55
|
+
result = {
|
|
56
|
+
...result,
|
|
57
|
+
reason: exchangedValue != null ? `${exchangedValue}` : undefined,
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
deleteUndefProp(result);
|
|
61
|
+
return result;
|
|
62
|
+
}
|
|
63
|
+
exports.exchangeValueOnRule = exchangeValueOnRule;
|
|
64
|
+
function cleanOptions(rule) {
|
|
65
|
+
const res = {
|
|
66
|
+
severity: rule.severity,
|
|
67
|
+
value: rule.value,
|
|
68
|
+
options: extractOptions(rule),
|
|
69
|
+
reason: rule.reason,
|
|
70
|
+
};
|
|
71
|
+
deleteUndefProp(res);
|
|
72
|
+
return res;
|
|
73
|
+
}
|
|
74
|
+
exports.cleanOptions = cleanOptions;
|
|
75
|
+
function isRuleConfigValue(v) {
|
|
76
|
+
switch (typeof v) {
|
|
77
|
+
case 'string':
|
|
78
|
+
case 'number':
|
|
79
|
+
case 'boolean': {
|
|
80
|
+
return true;
|
|
41
81
|
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
82
|
+
}
|
|
83
|
+
if (v === null) {
|
|
84
|
+
return true;
|
|
85
|
+
}
|
|
86
|
+
return Array.isArray(v);
|
|
87
|
+
}
|
|
88
|
+
exports.isRuleConfigValue = isRuleConfigValue;
|
|
89
|
+
/**
|
|
90
|
+
*
|
|
91
|
+
* @param obj
|
|
92
|
+
* @returns
|
|
93
|
+
*/
|
|
94
|
+
function deleteUndefProp(obj) {
|
|
95
|
+
if (!(0, is_plain_object_1.isPlainObject)(obj)) {
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
for (const key in obj) {
|
|
99
|
+
if (obj[key] === undefined) {
|
|
100
|
+
delete obj[key];
|
|
48
101
|
}
|
|
49
|
-
return rule;
|
|
50
102
|
}
|
|
51
|
-
return exchangeValue(rule, data);
|
|
52
103
|
}
|
|
53
|
-
exports.
|
|
104
|
+
exports.deleteUndefProp = deleteUndefProp;
|
|
105
|
+
/**
|
|
106
|
+
* Return options from `options` or `option`
|
|
107
|
+
*
|
|
108
|
+
* @param rule
|
|
109
|
+
* @returns
|
|
110
|
+
*/
|
|
111
|
+
function extractOptions(rule) {
|
|
112
|
+
if ('options' in rule && rule.options != null) {
|
|
113
|
+
return rule.options;
|
|
114
|
+
}
|
|
115
|
+
if ('option' in rule && rule.option != null) {
|
|
116
|
+
return rule.option;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
54
119
|
function exchangeValue(rule, data) {
|
|
55
120
|
if (rule == null) {
|
|
56
121
|
return rule;
|
|
@@ -66,8 +131,8 @@ function exchangeValue(rule, data) {
|
|
|
66
131
|
}
|
|
67
132
|
return val;
|
|
68
133
|
})
|
|
69
|
-
.filter(item => item !== undefined);
|
|
70
|
-
return ruleArray.length ? ruleArray : undefined;
|
|
134
|
+
.filter((item) => item !== undefined);
|
|
135
|
+
return ruleArray.length > 0 ? ruleArray : undefined;
|
|
71
136
|
}
|
|
72
137
|
return rule;
|
|
73
138
|
}
|
|
@@ -81,7 +146,7 @@ function exchangeOption(optionValue, data) {
|
|
|
81
146
|
if (typeof optionValue === 'string') {
|
|
82
147
|
return provideValue(optionValue, data);
|
|
83
148
|
}
|
|
84
|
-
if (
|
|
149
|
+
if (isArray(optionValue)) {
|
|
85
150
|
return optionValue.map(v => exchangeOption(v, data));
|
|
86
151
|
}
|
|
87
152
|
const result = {};
|
|
@@ -90,3 +155,16 @@ function exchangeOption(optionValue, data) {
|
|
|
90
155
|
});
|
|
91
156
|
return result;
|
|
92
157
|
}
|
|
158
|
+
/**
|
|
159
|
+
* Array.isArray for ReadonlyArray
|
|
160
|
+
*
|
|
161
|
+
* > Array.isArray type narrows to any[] for ReadonlyArray<T>
|
|
162
|
+
*
|
|
163
|
+
* @see https://github.com/microsoft/TypeScript/issues/17002
|
|
164
|
+
*
|
|
165
|
+
* @param value
|
|
166
|
+
* @returns
|
|
167
|
+
*/
|
|
168
|
+
function isArray(value) {
|
|
169
|
+
return Array.isArray(value);
|
|
170
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@markuplint/ml-config",
|
|
3
|
-
"version": "3.0.0-
|
|
3
|
+
"version": "3.0.0-dev.176+f6ad62e9",
|
|
4
4
|
"description": "JSON Schema and TypeScript types of markuplint configure JSON",
|
|
5
5
|
"repository": "git@github.com:markuplint/markuplint.git",
|
|
6
6
|
"author": "Yusuke Hirao <yusukehirao@me.com>",
|
|
@@ -11,18 +11,22 @@
|
|
|
11
11
|
"publishConfig": {
|
|
12
12
|
"access": "public"
|
|
13
13
|
},
|
|
14
|
+
"typedoc": {
|
|
15
|
+
"entryPoint": "./src/index.ts"
|
|
16
|
+
},
|
|
14
17
|
"scripts": {
|
|
15
18
|
"build": "tsc",
|
|
16
19
|
"clean": "tsc --build --clean"
|
|
17
20
|
},
|
|
18
|
-
"devDependencies": {
|
|
19
|
-
"@types/mustache": "^4.1.2"
|
|
20
|
-
},
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@markuplint/
|
|
23
|
-
"
|
|
22
|
+
"@markuplint/ml-ast": "3.0.0-dev.176+f6ad62e9",
|
|
23
|
+
"@markuplint/selector": "3.0.0-dev.176+f6ad62e9",
|
|
24
|
+
"@markuplint/shared": "3.5.1-dev.3129+f6ad62e9",
|
|
25
|
+
"@types/mustache": "^4.2.2",
|
|
26
|
+
"deepmerge": "^4.3.1",
|
|
24
27
|
"is-plain-object": "^5.0.0",
|
|
25
|
-
"mustache": "^4.2.0"
|
|
28
|
+
"mustache": "^4.2.0",
|
|
29
|
+
"type-fest": "^3.8.0"
|
|
26
30
|
},
|
|
27
|
-
"gitHead": "
|
|
31
|
+
"gitHead": "f6ad62e992e1569be4067f1e90d2d6017a658f57"
|
|
28
32
|
}
|
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
const { mergeConfig, mergeRule } = require('../lib/merge-config');
|
|
2
|
+
|
|
3
|
+
it('test', () => {
|
|
4
|
+
expect(mergeConfig({}, {})).toStrictEqual({});
|
|
5
|
+
});
|
|
6
|
+
|
|
7
|
+
it('test', () => {
|
|
8
|
+
expect(
|
|
9
|
+
mergeConfig(
|
|
10
|
+
{
|
|
11
|
+
plugins: ['a', 'b', 'c'],
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
plugins: ['c', 'b', 'd'],
|
|
15
|
+
},
|
|
16
|
+
),
|
|
17
|
+
).toStrictEqual({
|
|
18
|
+
plugins: ['a', 'b', 'c', 'd'],
|
|
19
|
+
});
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
it('test', () => {
|
|
23
|
+
expect(
|
|
24
|
+
mergeConfig(
|
|
25
|
+
{
|
|
26
|
+
plugins: ['a', 'b', { name: 'c', settings: { foo: 'foo', bar: 'bar' } }],
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
plugins: ['c', 'b', 'd', { name: 'c', settings: { foo2: 'foo2', bar: 'bar2' } }],
|
|
30
|
+
},
|
|
31
|
+
),
|
|
32
|
+
).toStrictEqual({
|
|
33
|
+
plugins: [
|
|
34
|
+
'a',
|
|
35
|
+
'b',
|
|
36
|
+
{
|
|
37
|
+
name: 'c',
|
|
38
|
+
settings: {
|
|
39
|
+
bar: 'bar2',
|
|
40
|
+
foo: 'foo',
|
|
41
|
+
foo2: 'foo2',
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
'd',
|
|
45
|
+
],
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
it('test', () => {
|
|
50
|
+
expect(
|
|
51
|
+
mergeConfig(
|
|
52
|
+
{
|
|
53
|
+
parser: { '/\\.vue$/i': '@markuplint/vue-parser' },
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
parser: { '/\\.vue$/i': '@markuplint/vue-parser' },
|
|
57
|
+
},
|
|
58
|
+
),
|
|
59
|
+
).toStrictEqual({
|
|
60
|
+
parser: { '/\\.vue$/i': '@markuplint/vue-parser' },
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
it('test', () => {
|
|
65
|
+
expect(
|
|
66
|
+
mergeConfig(
|
|
67
|
+
{
|
|
68
|
+
parser: { '/\\.vue$/i': '@markuplint/vue-parser' },
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
parser: { '/\\.[jt]sx?$/i': '@markuplint/jsx-parser' },
|
|
72
|
+
},
|
|
73
|
+
),
|
|
74
|
+
).toStrictEqual({
|
|
75
|
+
parser: {
|
|
76
|
+
'/\\.vue$/i': '@markuplint/vue-parser',
|
|
77
|
+
'/\\.[jt]sx?$/i': '@markuplint/jsx-parser',
|
|
78
|
+
},
|
|
79
|
+
});
|
|
80
|
+
});
|
|
81
|
+
|
|
82
|
+
it('test', () => {
|
|
83
|
+
expect(
|
|
84
|
+
mergeRule(
|
|
85
|
+
{
|
|
86
|
+
value: true,
|
|
87
|
+
},
|
|
88
|
+
{},
|
|
89
|
+
),
|
|
90
|
+
).toStrictEqual({
|
|
91
|
+
value: true,
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
expect(
|
|
95
|
+
mergeRule(
|
|
96
|
+
{
|
|
97
|
+
value: true,
|
|
98
|
+
},
|
|
99
|
+
false,
|
|
100
|
+
),
|
|
101
|
+
).toStrictEqual(false);
|
|
102
|
+
|
|
103
|
+
expect(
|
|
104
|
+
mergeRule(
|
|
105
|
+
{
|
|
106
|
+
value: false,
|
|
107
|
+
},
|
|
108
|
+
true,
|
|
109
|
+
),
|
|
110
|
+
).toStrictEqual({
|
|
111
|
+
value: true,
|
|
112
|
+
});
|
|
113
|
+
|
|
114
|
+
expect(
|
|
115
|
+
mergeRule(
|
|
116
|
+
{
|
|
117
|
+
options: {
|
|
118
|
+
optional: 'OPTIONAL_VALUE',
|
|
119
|
+
},
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
options: {
|
|
123
|
+
optional: 'CHANGED_OPTIONAL_VALUE',
|
|
124
|
+
},
|
|
125
|
+
},
|
|
126
|
+
),
|
|
127
|
+
).toStrictEqual({
|
|
128
|
+
options: {
|
|
129
|
+
optional: 'CHANGED_OPTIONAL_VALUE',
|
|
130
|
+
},
|
|
131
|
+
});
|
|
132
|
+
|
|
133
|
+
expect(
|
|
134
|
+
mergeRule(
|
|
135
|
+
{
|
|
136
|
+
option: {
|
|
137
|
+
optional: 'OPTIONAL_VALUE',
|
|
138
|
+
},
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
option: {
|
|
142
|
+
optional: 'CHANGED_OPTIONAL_VALUE',
|
|
143
|
+
},
|
|
144
|
+
},
|
|
145
|
+
),
|
|
146
|
+
).toStrictEqual({
|
|
147
|
+
options: {
|
|
148
|
+
optional: 'CHANGED_OPTIONAL_VALUE',
|
|
149
|
+
},
|
|
150
|
+
});
|
|
151
|
+
});
|
|
152
|
+
|
|
153
|
+
it('test', () => {
|
|
154
|
+
expect(
|
|
155
|
+
mergeConfig(
|
|
156
|
+
{
|
|
157
|
+
overrides: {
|
|
158
|
+
a: {
|
|
159
|
+
rules: {
|
|
160
|
+
rule1: true,
|
|
161
|
+
},
|
|
162
|
+
},
|
|
163
|
+
},
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
overrides: {
|
|
167
|
+
a: {
|
|
168
|
+
rules: {
|
|
169
|
+
rule1: false,
|
|
170
|
+
},
|
|
171
|
+
},
|
|
172
|
+
b: {
|
|
173
|
+
rules: {
|
|
174
|
+
rule1: true,
|
|
175
|
+
},
|
|
176
|
+
},
|
|
177
|
+
},
|
|
178
|
+
},
|
|
179
|
+
),
|
|
180
|
+
).toStrictEqual({
|
|
181
|
+
overrides: {
|
|
182
|
+
a: {
|
|
183
|
+
rules: {
|
|
184
|
+
rule1: false,
|
|
185
|
+
},
|
|
186
|
+
},
|
|
187
|
+
b: {
|
|
188
|
+
rules: {
|
|
189
|
+
rule1: true,
|
|
190
|
+
},
|
|
191
|
+
},
|
|
192
|
+
},
|
|
193
|
+
});
|
|
194
|
+
});
|
|
195
|
+
|
|
196
|
+
it('test', () => {
|
|
197
|
+
expect(
|
|
198
|
+
mergeConfig(
|
|
199
|
+
{
|
|
200
|
+
rules: {
|
|
201
|
+
a: {
|
|
202
|
+
// @ts-ignore
|
|
203
|
+
option: {
|
|
204
|
+
ruleA: true,
|
|
205
|
+
},
|
|
206
|
+
},
|
|
207
|
+
},
|
|
208
|
+
},
|
|
209
|
+
{
|
|
210
|
+
rules: {
|
|
211
|
+
b: {
|
|
212
|
+
options: {
|
|
213
|
+
ruleB: true,
|
|
214
|
+
},
|
|
215
|
+
},
|
|
216
|
+
},
|
|
217
|
+
},
|
|
218
|
+
),
|
|
219
|
+
).toStrictEqual({
|
|
220
|
+
rules: {
|
|
221
|
+
a: {
|
|
222
|
+
options: {
|
|
223
|
+
ruleA: true,
|
|
224
|
+
},
|
|
225
|
+
},
|
|
226
|
+
b: {
|
|
227
|
+
options: {
|
|
228
|
+
ruleB: true,
|
|
229
|
+
},
|
|
230
|
+
},
|
|
231
|
+
},
|
|
232
|
+
});
|
|
233
|
+
});
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
const { exchangeValueOnRule, provideValue } = require('../lib/utils');
|
|
2
|
+
|
|
3
|
+
it('provideValue', () => {
|
|
4
|
+
expect(
|
|
5
|
+
provideValue('The name is {{ dataName }}', {
|
|
6
|
+
$0: 'data-hoge',
|
|
7
|
+
$1: 'hoge',
|
|
8
|
+
dataName: 'hoge',
|
|
9
|
+
}),
|
|
10
|
+
).toBe('The name is hoge');
|
|
11
|
+
|
|
12
|
+
expect(provideValue('The name is {{ dataName }}', {})).toBeUndefined();
|
|
13
|
+
|
|
14
|
+
expect(
|
|
15
|
+
provideValue('No variable', {
|
|
16
|
+
$0: 'data-hoge',
|
|
17
|
+
$1: 'hoge',
|
|
18
|
+
dataName: 'hoge',
|
|
19
|
+
}),
|
|
20
|
+
).toBe('No variable');
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
it('exchangeValueOnRule', () => {
|
|
24
|
+
expect(
|
|
25
|
+
exchangeValueOnRule('The name is {{ dataName }}', {
|
|
26
|
+
$0: 'data-hoge',
|
|
27
|
+
$1: 'hoge',
|
|
28
|
+
dataName: 'hoge',
|
|
29
|
+
}),
|
|
30
|
+
).toBe('The name is hoge');
|
|
31
|
+
|
|
32
|
+
expect(
|
|
33
|
+
exchangeValueOnRule(
|
|
34
|
+
{
|
|
35
|
+
value: 'The name is {{ dataName }}',
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
$0: 'data-hoge',
|
|
39
|
+
$1: 'hoge',
|
|
40
|
+
dataName: 'hoge',
|
|
41
|
+
},
|
|
42
|
+
),
|
|
43
|
+
).toStrictEqual({
|
|
44
|
+
value: 'The name is hoge',
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
expect(
|
|
48
|
+
exchangeValueOnRule(
|
|
49
|
+
{
|
|
50
|
+
severity: 'error',
|
|
51
|
+
value: 'The name is {{ dataName }}',
|
|
52
|
+
reason: 'For {{ dataName }}',
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
$0: 'data-hoge',
|
|
56
|
+
$1: 'hoge',
|
|
57
|
+
dataName: 'hoge',
|
|
58
|
+
},
|
|
59
|
+
),
|
|
60
|
+
).toStrictEqual({
|
|
61
|
+
severity: 'error',
|
|
62
|
+
value: 'The name is hoge',
|
|
63
|
+
reason: 'For hoge',
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
expect(
|
|
67
|
+
exchangeValueOnRule(
|
|
68
|
+
{
|
|
69
|
+
value: 'The name is {{ dataName }}',
|
|
70
|
+
option: {
|
|
71
|
+
propA: 'The name is {{ dataName }}',
|
|
72
|
+
propB: ['The name is {{ dataName }}'],
|
|
73
|
+
propC: {
|
|
74
|
+
prop: 'The name is {{ dataName }}',
|
|
75
|
+
},
|
|
76
|
+
},
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
dataName: 'hoge',
|
|
80
|
+
},
|
|
81
|
+
),
|
|
82
|
+
).toStrictEqual({
|
|
83
|
+
value: 'The name is hoge',
|
|
84
|
+
options: {
|
|
85
|
+
propA: 'The name is hoge',
|
|
86
|
+
propB: ['The name is hoge'],
|
|
87
|
+
propC: {
|
|
88
|
+
prop: 'The name is hoge',
|
|
89
|
+
},
|
|
90
|
+
},
|
|
91
|
+
});
|
|
92
|
+
|
|
93
|
+
expect(
|
|
94
|
+
exchangeValueOnRule(
|
|
95
|
+
{
|
|
96
|
+
value: 'The name is {{ dataName }}',
|
|
97
|
+
options: {
|
|
98
|
+
propA: 'The name is {{ dataName }}',
|
|
99
|
+
propB: ['The name is {{ dataName }}'],
|
|
100
|
+
propC: {
|
|
101
|
+
prop: 'The name is {{ dataName }}',
|
|
102
|
+
},
|
|
103
|
+
},
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
dataName: 'hoge',
|
|
107
|
+
},
|
|
108
|
+
),
|
|
109
|
+
).toStrictEqual({
|
|
110
|
+
value: 'The name is hoge',
|
|
111
|
+
options: {
|
|
112
|
+
propA: 'The name is hoge',
|
|
113
|
+
propB: ['The name is hoge'],
|
|
114
|
+
propC: {
|
|
115
|
+
prop: 'The name is hoge',
|
|
116
|
+
},
|
|
117
|
+
},
|
|
118
|
+
});
|
|
119
|
+
});
|
package/tsconfig.test.json
DELETED
package/tsconfig.tsbuildinfo
DELETED
|
@@ -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.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/typescript/lib/lib.esnext.d.ts","../../../node_modules/typescript/lib/lib.dom.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.es2020.bigint.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.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/tslib/tslib.d.ts","../selector/lib/types.d.ts","../selector/lib/compare-specificity.d.ts","../selector/lib/match-selector.d.ts","../ml-spec/lib/dom-traverse/accname-computation.d.ts","../ml-spec/lib/types/aria.d.ts","../ml-spec/lib/types/attributes.d.ts","../ml-spec/lib/types/permitted-structres.d.ts","../ml-spec/node_modules/@markuplint/ml-ast/lib/types.d.ts","../ml-spec/node_modules/@markuplint/ml-ast/lib/index.d.ts","../ml-spec/lib/types/index.d.ts","../ml-spec/lib/dom-traverse/get-attr-specs.d.ts","../ml-spec/lib/dom-traverse/get-computed-role.d.ts","../ml-spec/lib/dom-traverse/get-implicit-role.d.ts","../ml-spec/lib/dom-traverse/get-permitted-roles.d.ts","../ml-spec/lib/dom-traverse/get-spec.d.ts","../ml-spec/lib/dom-traverse/has-required-owned-elements.d.ts","../ml-spec/lib/specs/aria-specs.d.ts","../ml-spec/lib/specs/content-model-category-to-tag-names.d.ts","../ml-spec/lib/specs/get-role-spec.d.ts","../ml-spec/lib/specs/get-spec-by-tag-name.d.ts","../ml-spec/lib/specs/schema-to-spec.d.ts","../ml-spec/lib/utils/resolve-namespace.d.ts","../ml-spec/lib/index.d.ts","../selector/lib/selector.d.ts","../selector/lib/create-selector.d.ts","../selector/lib/index.d.ts","./src/types.ts","../../../node_modules/deepmerge/index.d.ts","../../../node_modules/is-plain-object/is-plain-object.d.ts","./src/merge-config.ts","../../../node_modules/@types/mustache/index.d.ts","./src/utils.ts","./src/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/bcp-47/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/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/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/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/connect/index.d.ts","../../../node_modules/@types/body-parser/index.d.ts","../../../node_modules/@types/bonjour/index.d.ts","../../../node_modules/@types/cheerio/index.d.ts","../../../node_modules/@types/cli-color/art.d.ts","../../../node_modules/@types/cli-color/bare.d.ts","../../../node_modules/@types/cli-color/beep.d.ts","../../../node_modules/@types/cli-color/columns.d.ts","../../../node_modules/@types/cli-color/erase.d.ts","../../../node_modules/@types/cli-color/move.d.ts","../../../node_modules/@types/cli-color/get-stripped-length.d.ts","../../../node_modules/@types/cli-color/slice.d.ts","../../../node_modules/@types/cli-color/strip.d.ts","../../../node_modules/@types/cli-color/throbber.d.ts","../../../node_modules/@types/cli-color/reset.d.ts","../../../node_modules/@types/cli-color/window-size.d.ts","../../../node_modules/@types/cli-color/index.d.ts","../../../node_modules/@types/cli-progress/index.d.ts","../../../node_modules/@types/range-parser/index.d.ts","../../../node_modules/@types/qs/index.d.ts","../../../node_modules/@types/express-serve-static-core/index.d.ts","../../../node_modules/@types/connect-history-api-fallback/index.d.ts","../../../node_modules/@types/css-tree/index.d.ts","../../../node_modules/@types/ms/index.d.ts","../../../node_modules/@types/debug/index.d.ts","../../../node_modules/@types/eslint/helpers.d.ts","../../../node_modules/@types/json-schema/index.d.ts","../../../node_modules/@types/estree/index.d.ts","../../../node_modules/@types/eslint/index.d.ts","../../../node_modules/@types/eslint-scope/index.d.ts","../../../node_modules/@types/mime/index.d.ts","../../../node_modules/@types/serve-static/index.d.ts","../../../node_modules/@types/express/index.d.ts","../../../node_modules/@types/fs-extra/index.d.ts","../../../node_modules/@types/minimatch/index.d.ts","../../../node_modules/@types/glob/index.d.ts","../../../node_modules/@types/graceful-fs/index.d.ts","../../../node_modules/@types/html-minifier-terser/index.d.ts","../../../node_modules/@types/http-proxy/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/chalk/index.d.ts","../../../node_modules/jest-diff/build/cleanupsemantic.d.ts","../../../node_modules/pretty-format/build/types.d.ts","../../../node_modules/pretty-format/build/index.d.ts","../../../node_modules/jest-diff/build/types.d.ts","../../../node_modules/jest-diff/build/difflines.d.ts","../../../node_modules/jest-diff/build/printdiffs.d.ts","../../../node_modules/jest-diff/build/index.d.ts","../../../node_modules/jest-matcher-utils/build/index.d.ts","../../../node_modules/@types/jest/index.d.ts","../../../node_modules/@types/parse5/lib/tree-adapters/default.d.ts","../../../node_modules/@types/parse5/index.d.ts","../../../node_modules/@types/tough-cookie/index.d.ts","../../../node_modules/@types/jsdom/base.d.ts","../../../node_modules/@types/jsdom/ts4.0/index.d.ts","../../../node_modules/@types/jsdom/index.d.ts","../../../node_modules/@types/json5/index.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","../../../node_modules/@types/unist/index.d.ts","../../../node_modules/@types/mdast/index.d.ts","../../../node_modules/schema-utils/declarations/validationerror.d.ts","../../../node_modules/ajv/lib/ajv.d.ts","../../../node_modules/schema-utils/declarations/validate.d.ts","../../../node_modules/schema-utils/declarations/index.d.ts","../../../node_modules/tapable/tapable.d.ts","../../../node_modules/@types/mini-css-extract-plugin/node_modules/webpack/types.d.ts","../../../node_modules/@types/mini-css-extract-plugin/index.d.ts","../../../node_modules/@types/minimist/index.d.ts","../../../node_modules/form-data/index.d.ts","../../../node_modules/@types/node-fetch/externals.d.ts","../../../node_modules/@types/node-fetch/index.d.ts","../../../node_modules/@types/normalize-package-data/index.d.ts","../../../node_modules/@types/parse-json/index.d.ts","../../../node_modules/@types/prettier/index.d.ts","../../../node_modules/@types/pug/index.d.ts","../../../node_modules/@types/retry/index.d.ts","../../../node_modules/@types/sass/index.d.ts","../../../node_modules/webpack/node_modules/@types/estree/index.d.ts","../../../node_modules/webpack/types.d.ts","../../../node_modules/@types/script-ext-html-webpack-plugin/index.d.ts","../../../node_modules/@types/serve-index/index.d.ts","../../../node_modules/@types/source-list-map/index.d.ts","../../../node_modules/@types/stack-utils/index.d.ts","../../../node_modules/@types/tapable/index.d.ts","../../../node_modules/source-map/source-map.d.ts","../../../node_modules/@types/uglify-js/index.d.ts","../../../node_modules/@types/uuid/index.d.ts","../../../node_modules/anymatch/index.d.ts","../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts","../../../node_modules/@types/webpack-sources/lib/source.d.ts","../../../node_modules/@types/webpack-sources/lib/compatsource.d.ts","../../../node_modules/@types/webpack-sources/lib/concatsource.d.ts","../../../node_modules/@types/webpack-sources/lib/originalsource.d.ts","../../../node_modules/@types/webpack-sources/lib/prefixsource.d.ts","../../../node_modules/@types/webpack-sources/lib/rawsource.d.ts","../../../node_modules/@types/webpack-sources/lib/replacesource.d.ts","../../../node_modules/@types/webpack-sources/lib/sizeonlysource.d.ts","../../../node_modules/@types/webpack-sources/lib/sourcemapsource.d.ts","../../../node_modules/@types/webpack-sources/lib/index.d.ts","../../../node_modules/@types/webpack-sources/lib/cachedsource.d.ts","../../../node_modules/@types/webpack-sources/index.d.ts","../../../node_modules/@types/webpack/index.d.ts","../../../node_modules/@types/webpack-dev-server/node_modules/webpack/types.d.ts","../../../node_modules/http-proxy-middleware/dist/types.d.ts","../../../node_modules/http-proxy-middleware/dist/handlers/response-interceptor.d.ts","../../../node_modules/http-proxy-middleware/dist/handlers/fix-request-body.d.ts","../../../node_modules/http-proxy-middleware/dist/handlers/public.d.ts","../../../node_modules/http-proxy-middleware/dist/handlers/index.d.ts","../../../node_modules/http-proxy-middleware/dist/index.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/schema-utils/declarations/validationerror.d.ts","../../../node_modules/uri-js/dist/es5/uri.all.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/compile/codegen/code.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/compile/codegen/scope.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/compile/codegen/index.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/compile/rules.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/compile/util.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/compile/validate/subschema.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/compile/errors.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/compile/validate/index.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/compile/validate/datatype.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/applicator/additionalitems.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/applicator/items2020.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/applicator/contains.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/applicator/dependencies.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/applicator/propertynames.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/applicator/additionalproperties.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/applicator/not.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/applicator/anyof.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/applicator/oneof.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/applicator/if.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/applicator/index.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/validation/limitnumber.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/validation/multipleof.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/validation/pattern.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/validation/required.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/validation/uniqueitems.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/validation/const.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/validation/enum.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/validation/index.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/format/format.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedproperties.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/unevaluated/unevaluateditems.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/validation/dependentrequired.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/discriminator/types.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/discriminator/index.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/errors.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/types/json-schema.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/types/jtd-schema.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/runtime/validation_error.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/compile/ref_error.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/core.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/compile/resolve.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/compile/index.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/types/index.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/ajv.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/schema-utils/declarations/validate.d.ts","../../../node_modules/webpack-dev-middleware/types/index.d.ts","../../../node_modules/chokidar/types/index.d.ts","../../../node_modules/@types/webpack-dev-server/index.d.ts","../../../node_modules/@types/whatwg-mimetype/index.d.ts","../../../node_modules/@types/yargs-parser/index.d.ts","../../../node_modules/@types/yargs/index.d.ts"],"fileInfos":[{"version":"3ac1b83264055b28c0165688fda6dfcc39001e9e7828f649299101c23ad0a0c3","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","e21c071ca3e1b4a815d5f04a7475adcaeea5d64367e840dd0154096d705c3940","746d62152361558ea6d6115cf0da4dd10ede041d14882ede3568bce5dc4b4f1f","2f93dda35dafec68ec217c9ce67f0f4fbbbb030c055ac312641565ad60dd7e26","aea179452def8a6152f98f63b191b84e7cbd69b0e248c91e61fb2e52328abe8c",{"version":"72704b10d97777e15f1a581b73f88273037ef752d2e50b72287bd0a90af64fe6","affectsGlobalScope":true},{"version":"d8996609230d17e90484a2dd58f22668f9a05a3bfe00bfb1d6271171e54a31fb","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6","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},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"1b3fe904465430e030c93239a348f05e1be80640d91f2f004c3512c2c2c89f34","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"5075b36ab861c8c0c45377cb8c96270d7c65f0eeaf105d53fac6850da61f1027","affectsGlobalScope":true},{"version":"6c55633c733c8378db65ac3da7a767c3cf2cf3057f0565a9124a16a3a2019e87","affectsGlobalScope":true},{"version":"fb4416144c1bf0323ccbc9afb0ab289c07312214e8820ad17d709498c865a3fe","affectsGlobalScope":true},{"version":"5b0ca94ec819d68d33da516306c15297acec88efeb0ae9e2b39f71dbd9685ef7","affectsGlobalScope":true},{"version":"e8c9f4e445a489991ca1a4232667de3ac36b07ba75ea335971fbeacf2d26fe67","affectsGlobalScope":true},{"version":"34478567f8a80171f88f2f30808beb7da15eac0538ae91282dd33dce928d98ed","affectsGlobalScope":true},{"version":"6ea9ab679ea030cf46c16a711a316078e9e02619ebaf07a7fcd16964aba88f2d","affectsGlobalScope":true},{"version":"aedb8de1abb2ff1095c153854a6df7deae4a5709c37297f9d6e9948b6806fa66","affectsGlobalScope":true},{"version":"11ffe3c281f375fff9ffdde8bbec7669b4dd671905509079f866f2354a788064","affectsGlobalScope":true},{"version":"10bbdc1981b8d9310ee75bfac28ee0477bb2353e8529da8cff7cb26c409cb5e8","affectsGlobalScope":true},"12f4cfe2fe60b810c3174537bc2ddb20c1067b7768643d12cb1266fd183afb75","8e25827436b3cb7cdf66606f539d32d7c2dc3de882ceef183821e2f4b706b42f","9be49acc7796aba6f46c3cc7097d3f0adbf70583bc9f30d09e7bd8becdee8877","6188e524ad93af680c78edf33c4612f80102c747814dc50b7bead9456e56a24d","30070473f3c9f82e4b9acd51775bc6e9e3d748b04e8a7228a07e2df18b88e811","6c7618ecafc7c5c30d4ea0383493bb6f52b59b0d00995e80005c712a2700383d","468eeef346e27512a3bcb17bafcddf7444f3d18baab352caaf5f990e25f94166","8c041be53cdb171bde460bc1d5f44eab640716fb1fe33483a4f68f0af3533aaa","f7ca8fa6b32b2323784fe39c6a7739667e16fa40192b3ff078699df1c96fdd7c","d5c19655468e29f60c871b21e73af8ebc653f736e7123ade916f22c4a5f80ce5","3ff9a126c67fe062f003d5caef82f3adc68dd9c0a6ce9fe4802b3cc6cd89eb23","60c5fdb48b631ab3d7e30e8ae0f80132672d3fb10892f119bef8d47e860a13bb","8ceca669ca875c99809350719f0857701edef93cde0bd3d7740abdb1000e0333","65911474b8066910597d335a85fc76d0d81d9cc38d60e65f45980167899730ce","29baf6825ade0ce8b0fbf0b42f7b4578dfd7f95ddea0619792ef5a61721d197b","7cdcfd1ef792d559a048f8f9a7ca91c76b61bc3d98be8cf4d973d639e278133d","a4988ce9ea67d7f14196038494465d0c6a759ff52311926afead339052875c70","2c976a874b55f496245b8760cdd19c6952a39ed1ab8ed579e254d124781244a0","6af04679a4651978b280c3c64c3ff7941df58422835abdbc1432680e4f3aba25","ed0cd9a47656338ab5d493138cfa70d91eec03b39e985d2d90e88b851f8a2889","4c517f1a402edfc0fd0e185430b2f193a367fbd0db06c87d5ed5528f0af1d2cc","89b3d59037522e331c0e819157ac6672dd0ccfcc92401410599cf305151ad476","3b384ec93a30b9333ec1fd18b5b43da098826e2f0071711e91f8ca1a3c54039b","587aa0b12b1c676dc8d905c0e3c330ec2f45b5d907453d43d039bbda889ee2aa","1248237dfce91a218ccedbcf3d68b8f4d7839a5ada077f274202d4186cd33d65","b106759be4af4294804d71cc18466dd283e7526e92031b85dfc8df9c9164d70e","c4ea611138b4c94a41f6b482fa2049bd2c014720944ed1371f09d9eb1ca25d81","6852ac9aae82803ed2b8772fe9dbc3e5d9f264d39ee425c951f13ffd196cda49","f163b1edf76fbde01836f8522fbe646fe2f55e313bb7fdd363891748f9b57c60","9a4c49a0b2bf8536b1f4a72f162f807d7a23aa27a816e9cd24cc965540ba4b35","83a3dcab0109f764bdf9f769424681b43f4352514be553bc0c4fe94491036e6c","56dd85019d2374449708458f4acf4712d4c6f7b19ae597e910bab6ae75bc9e05","147266c7de9aaedc7a746e86f3142debf35df9a4f03a6a25efbd6caeb84203ee","3e846bbed6945fa695b2a999410d4096f485c254230e93e355859af8749d33dd","2ff9995137f3e5d68971388ec58af0c79721626323884513f9f5e2e996ac1fdd","cc957354aa3c94c9961ebf46282cfde1e81d107fc5785a61f62c67f1dd3ac2eb","1a7cc144992d79b062c22ac0309c6624dbb0d49bbddff7ea3b9daa0c17bcac0a","93de1c6dab503f053efe8d304cb522bb3a89feab8c98f307a674a4fae04773e9","3b043cf9a81854a72963fdb57d1884fc4da1cf5be69b5e0a4c5b751e58cb6d88","5426e62886b7be7806312d31a00e8f7dccd6fe63ba9bbefe99ee2eab29cc48a3","e2a56bb80f66ac0b6767fd7bb6b337ac3cb9cd4a368b13491e3fd1b5e26d93d6","0cba3a5d7b81356222594442753cf90dd2892e5ccfe1d262aaca6896ba6c1380","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"c2ab70bbc7a24c42a790890739dd8a0ba9d2e15038b40dff8163a97a5d148c00","affectsGlobalScope":true},"422dbb183fdced59425ca072c8bd09efaa77ce4e2ab928ec0d8a1ce062d2a45a",{"version":"712ba0d43b44d144dfd01593f61af6e2e21cfae83e834d297643e7973e55ed61","affectsGlobalScope":true},"1dab5ab6bcf11de47ab9db295df8c4f1d92ffa750e8f095e88c71ce4c3299628","f71f46ccd5a90566f0a37b25b23bc4684381ab2180bdf6733f4e6624474e1894",{"version":"54e65985a3ee3cec182e6a555e20974ea936fc8b8d1738c14e8ed8a42bd921d4","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","98a3ebfa494b46265634a73459050befba5da8fdc6ca0ef9b7269421780f4ff3","34e5de87d983bc6aefef8b17658556e3157003e8d9555d3cb098c6bef0b5fbc8","cc0b61316c4f37393f1f9595e93b673f4184e9d07f4c127165a490ec4a928668","f27371653aded82b2b160f7a7033fb4a5b1534b6f6081ef7be1468f0f15327d3","c762cd6754b13a461c54b59d0ae0ab7aeef3c292c6cf889873f786ee4d8e75c9","f4ea7d5df644785bd9fbf419930cbaec118f0d8b4160037d2339b8e23c059e79",{"version":"bfea28e6162ed21a0aeed181b623dcf250aa79abf49e24a6b7e012655af36d81","affectsGlobalScope":true},"b8aca9d0c81abb02bec9b7621983ae65bde71da6727580070602bd2500a9ce2a","ae97e20f2e10dbeec193d6a2f9cd9a367a1e293e7d6b33b68bacea166afd7792","10d4796a130577d57003a77b95d8723530bbec84718e364aa2129fa8ffba0378","ad41bb744149e92adb06eb953da195115620a3f2ad48e7d3ae04d10762dae197","bf73c576885408d4a176f44a9035d798827cc5020d58284cb18d7573430d9022","7ae078ca42a670445ae0c6a97c029cb83d143d62abd1730efb33f68f0b2c0e82",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"5d0a9ea09d990b5788f867f1c79d4878f86f7384cb7dab38eecbf22f9efd063d","12eea70b5e11e924bb0543aea5eadc16ced318aa26001b453b0d561c2fd0bd1e","08777cd9318d294646b121838574e1dd7acbb22c21a03df84e1f2c87b1ad47f2","08a90bcdc717df3d50a2ce178d966a8c353fd23e5c392fd3594a6e39d9bb6304",{"version":"4cd4cff679c9b3d9239fd7bf70293ca4594583767526916af8e5d5a47d0219c7","affectsGlobalScope":true},"2a12d2da5ac4c4979401a3f6eaafa874747a37c365e4bc18aa2b171ae134d21b","002b837927b53f3714308ecd96f72ee8a053b8aeb28213d8ec6de23ed1608b66","1dc9c847473bb47279e398b22c740c83ea37a5c88bf66629666e3cf4c5b9f99c","a9e4a5a24bf2c44de4c98274975a1a705a0abbaad04df3557c2d3cd8b1727949","00fa7ce8bc8acc560dc341bbfdf37840a8c59e6a67c9bfa3fa5f36254df35db2","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff",{"version":"806ef4cac3b3d9fa4a48d849c8e084d7c72fcd7b16d76e06049a9ed742ff79c0","affectsGlobalScope":true},"44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","5f0ed51db151c2cdc4fa3bb0f44ce6066912ad001b607a34e65a96c52eb76248",{"version":"3345c276cab0e76dda86c0fb79104ff915a4580ba0f3e440870e183b1baec476","affectsGlobalScope":true},"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","103d70bfbeb3cd3a3f26d1705bf986322d8738c2c143f38ebb743b1e228d7444","f52fbf64c7e480271a9096763c4882d356b05cab05bf56a64e68a95313cd2ce2","59bdb65f28d7ce52ccfc906e9aaf422f8b8534b2d21c32a27d7819be5ad81df7",{"version":"3a2da34079a2567161c1359316a32e712404b56566c45332ac9dcee015ecce9f","affectsGlobalScope":true},"28a2e7383fd898c386ffdcacedf0ec0845e5d1a86b5a43f25b86bc315f556b79","3aff9c8c36192e46a84afe7b926136d520487155154ab9ba982a8b544ea8fc95","a880cf8d85af2e4189c709b0fea613741649c0e40fffb4360ec70762563d5de0","85bbf436a15bbeda4db888be3062d47f99c66fd05d7c50f0f6473a9151b6a070","9f9c49c95ecd25e0cb2587751925976cf64fd184714cb11e213749c80cf0f927","f0c75c08a71f9212c93a719a25fb0320d53f2e50ca89a812640e08f8ad8c408c",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"9cafe917bf667f1027b2bb62e2de454ecd2119c80873ad76fc41d941089753b8","6d829824ead8999f87b6df21200df3c6150391b894b4e80662caa462bd48d073","afc559c1b93df37c25aef6b3dfa2d64325b0e112e887ee18bf7e6f4ec383fc90","d78e5898c8de5e0f934eee83f680262de005caa268d137101b833fd932f95e07",{"version":"57a1cb6f082fa2df46deaa96fa0063463b3393dd39bd09359dab251db28000b9","affectsGlobalScope":true},"a7b9533447378e7f34fa432e26be9102173e79bceb65b20d258d61c4042e90ad","d71ffe64592c4e61c6b431d8fbaff58735cd659738d788a4c8423a27f78f01b7","b869f848bec826c9d3645d10a183b905672a4675747f41700fd30e1b7e0d0308","62cc84c2971b16cc82e1f7cb1dac7d8c70b589d492fbc2f6efbcbfc53b61d514","67729b7b26e1ecf2afeb2f4a0a8c3ba16712918ef22d23bb615f033169ebe0f3","903da09dbdfea0af66cb6b7b25950e42e350f1f3cc87f3516baa553cc4de882f","e237aa7b157ebfb2699d2e3bbf07c65a8cea0382201dc44c9da006f0f730de67","05e8a403b04248dbe9eebd2025d58e95495de303f37b39f13e7562f5f414087a","a56bf5dce7c05192e4c2d95eb1527feda15f9225afea8c5ad67034a79992ebb6","fcb510be50b0756cb770f8caf321dba38ae074665efbea090584f8a8d3e6b8f4","d4c9c56a2f4ecedcc224a495dfbaee88072c8e99679504fb32ef1d0629f843a1","5ec537948044f7c0280d6175729bf7aa13deae28fe0f6346628a8cf15569aefa","94998ffb6165ce44d492327169a7f7cb0e1e11a967f068fbda6796029a4a40dd","1cc502622a7f773e7cd75ecacd64d0bc83a2a6442dc16a7081f968702edf5051","16d51f964ec125ad2024cf03f0af444b3bc3ec3614d9345cc54d09bab45c9a4c","ba601641fac98c229ccd4a303f747de376d761babb33229bb7153bed9356c9cc",{"version":"d2f7baf43dfa349d4010cbd9d64d84cdf3ec26c65fa5f44c8f74f052bedd0b49","affectsGlobalScope":true},"56cbe80e6c42d7e6e66b6f048add8b01c663797b843a074d9f19c4a3d63a269a","af9abc3144d279b29affb0e6dd842609eca65fb44c712368f6a89bb264b34ef4","6a9c5127096b35264eb7cd21b2417bfc1d42cceca9ba4ce2bb0c3410b7816042","78828b06c0d3b586954015e9ebde5480b009e166c71244763bda328ec0920f41",{"version":"64d4b35c5456adf258d2cf56c341e203a073253f229ef3208fc0d5020253b241","affectsGlobalScope":true},"f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","a1c79f857f5c7754e14c93949dad8cfefcd7df2ecc0dc9dd79a30fd493e28449","8566fa84085caa46340393b1704ecd368491918fb45bd688d6e89736aec73a2f","dc33ce27fbeaf0ea3da556c80a6cc8af9d13eb443088c8f25cdc39fca8e756f6","84e3bbd6f80983d468260fdbfeeb431cc81f7ea98d284d836e4d168e36875e86","0b85cb069d0e427ba946e5eb2d86ef65ffd19867042810516d16919f6c1a5aec","15c88bfd1b8dc7231ff828ae8df5d955bae5ebca4cf2bcb417af5821e52299ae","ed19da84b7dbf00952ad0b98ce5c194f1903bcf7c94d8103e8e0d63b271543ae","8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","fd326577c62145816fe1acc306c734c2396487f76719d3785d4e825b34540b33","3ebae8c00411116a66fca65b08228ea0cf0b72724701f9b854442100aab55aba","ee65fe452abe1309389c5f50710f24114e08a302d40708101c4aa950a2a7d044","e4b4326b61261bf5ffd6de8b4825f00eb11ebb89a51bd92663dd6e660abf4210","8b06ac3faeacb8484d84ddb44571d8f410697f98d7bfa86c0fda60373a9f5215","7eb06594824ada538b1d8b48c3925a83e7db792f47a081a62cf3e5c4e23cf0ee","f5638f7c2f12a9a1a57b5c41b3c1ea7db3876c003bab68e6a57afd6bcc169af0","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","d8aab31ba8e618cc3eea10b0945de81cb93b7e8150a013a482332263b9305322","462bccdf75fcafc1ae8c30400c9425e1a4681db5d605d1a0edb4f990a54d8094","5923d8facbac6ecf7c84739a5c701a57af94a6f6648d6229a6c768cf28f0f8cb","7adecb2c3238794c378d336a8182d4c3dd2c4fa6fa1785e2797a3db550edea62","dc12dc0e5aa06f4e1a7692149b78f89116af823b9e1f1e4eae140cd3e0e674e6","1bfc6565b90c8771615cd8cfcf9b36efc0275e5e83ac7d9181307e96eb495161","8a8a96898906f065f296665e411f51010b51372fa260d5373bf9f64356703190","7f82ef88bdb67d9a850dd1c7cd2d690f33e0f0acd208e3c9eba086f3670d4f73",{"version":"3fe15a491a792852283caeece8142bc7427a29c183d9fec8691d95a49c8932a1","affectsGlobalScope":true},"fc37aca06f6b8b296c42412a2e75ab53d30cd1fa8a340a3bb328a723fd678377","5f2c582b9ef260cb9559a64221b38606378c1fabe17694592cdfe5975a6d7efa","cc256fd958b33576ed32c7338c64adb0d08fc0c2c6525010202fab83f32745da","fd20dfa2434a61a87e3fa9450f9de2ed2c365ea43b17b34ac6616d90d9681381","389303117a81e90897689e7adb4b53a062e68a6fe4067088fae9552907aa28c3",{"version":"d4c4fe14b23180acf25e4a68dc3bb9e5c38233dd3de12a4ab9569e636090ac9b","affectsGlobalScope":true},"96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","675e702f2032766a91eeadee64f51014c64688525da99dccd8178f0c599f13a8","fe4a2042d087990ebfc7dc0142d5aaf5a152e4baea86b45f283f103ec1e871ea","d70c026dd2eeaa974f430ea229230a1897fdb897dc74659deebe2afd4feeb08f","187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","febf0b2de54781102b00f61653b21377390a048fbf5262718c91860d11ff34a6","ca59fe42b81228a317812e95a2e72ccc8c7f1911b5f0c2a032adf41a0161ec5d","9364c7566b0be2f7b70ff5285eb34686f83ccb01bda529b82d23b2a844653bfb","00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","ae9930989ed57478eb03b9b80ad3efa7a3eacdfeff0f78ecf7894c4963a64f93","3c92b6dfd43cc1c2485d9eba5ff0b74a19bb8725b692773ef1d66dac48cda4bd","3e59f00ab03c33717b3130066d4debb272da90eeded4935ff0604c2bc25a5cae","df996e25faa505f85aeb294d15ebe61b399cf1d1e49959cdfaf2cc0815c203f9",{"version":"0714e2046df66c0e93c3330d30dbc0565b3e8cd3ee302cf99e4ede6220e5fec8","affectsGlobalScope":true},"cddf5c26907c0b8378bc05543161c11637b830da9fadf59e02a11e675d11e180","2a2e2c6463bcf3c59f31bc9ab4b6ef963bbf7dffb049cd017e2c1834e3adca63","dee5d387e2e6f3015cbf91fc0c13ed6f016f9c5c1f2ad9c62602f4fd398fa83a","67f129ed8b372622ff36b8b10e39d03e09e363a5ff7821105f92f085b8d1ccba","721124f5db1f4a42da2308dfa1414d2e99055d2dfc59de7bf2e0b6ac64356c0e","0d7569149194d622212c21d5d162b0715d5a6ca764cebae7145fdbaff1e07311","cd74c8275483d3fe0d07a9b4bba28845a8a611f0aa399e961dbd40e5d46dd9ad","9fd94af6ff33bb25c014a4cc2dd9ffb54650176666b7831f1c85168784826ad4","4b0011a86baef7b2d7a95ce25e729c96f28c923a06cb0cbf9915135eae784aee","209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05","736097ddbb2903bef918bb3b5811ef1c9c5656f2a73bd39b22a91b9cc2525e50","208bb742e0f201470da121bc73847c74b62cff4172f38ae5949ae77d6c9c6b71","3663d1b50f356656a314e5df169bb51cb9d5fd75905fa703f75db6bb32030568","6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","2b8264b2fefd7367e0f20e2c04eed5d3038831fe00f5efbc110ff0131aab899b","6209c901f30cc321f4b86800d11fad3d67e73a3308f19946b1bc642af0280298","dac991ec2b7f56b1a39f74a65cca109ec9cde62df848c5bd41524030c894e341","58a3914b1cce4560d9ad6eee2b716caaa030eda0a90b21ca2457ea9e2783eaa3","d64037d2df4c89d6d2113b1aaad4b59259d448dbd8862bc20003d1caef23b1d4","7d7c8ef7d48a035142c07dae60545ecc0e4af4c337742760cb09726f2f8e31db","3054859381b164f72e31f3554b795761db2f4a54208587c55bdd690af83b3bc0","44a9aadd9a9e24c7fab7f5b271c8eb89d0e6af07bbc637adae7f15f1c1b6f70e","acebfe99678cf7cddcddc3435222cf132052b1226e902daac9fbb495c321a9b5","67fc055eb86a0632e2e072838f889ffe1754083cb13c8c80a06a7d895d877aae","b0d10e46cfe3f6c476b69af02eaa38e4ccc7430221ce3109ae84bb9fb8282298","3833c70307dc3d2b46cb6f2a8b6a90e4d7e7367a21ab18c481d7de0909a43e67","2887592574fcdfd087647c539dcb0fbe5af2521270dad4a37f9d17c16190d579","9d74c7330800b325bb19cc8c1a153a612c080a60094e1ab6cfb6e39cf1b88c36","fab58e600970e66547644a44bc9918e3223aa2cbd9e8763cec004b2cfb48827e","4fb0b7d532aa6fb850b6cd2f1ee4f00802d877b5c66a51903bc1fb0624126349","b90c59ac4682368a01c83881b814738eb151de8a58f52eb7edadea2bcffb11b9","8560a87b2e9f8e2c3808c8f6172c9b7eb6c9b08cb9f937db71c285ecf292c81d","ffe3931ff864f28d80ae2f33bd11123ad3d7bad9896b910a1e61504cc093e1f5","083c1bd82f8dc3a1ed6fc9e8eaddf141f7c05df418eca386598821e045253af9","274ebe605bd7f71ce161f9f5328febc7d547a2929f803f04b44ec4a7d8729517","6ca0207e70d985a24396583f55836b10dc181063ab6069733561bfde404d1bad","5908142efeaab38ffdf43927ee0af681ae77e0d7672b956dfb8b6c705dbfe106","f772b188b943549b5c5eb803133314b8aa7689eced80eed0b70e2f30ca07ab9c","0026b816ef05cfbf290e8585820eef0f13250438669107dfc44482bac007b14f","05d64cc1118031b29786632a9a0f6d7cf1dcacb303f27023a466cf3cdc860538","e0fff9119e1a5d2fdd46345734126cd6cb99c2d98a9debf0257047fe3937cc3f","d84398556ba4595ee6be554671da142cfe964cbdebb2f0c517a10f76f2b016c0","e275297155ec3251200abbb334c7f5641fecc68b2a9573e40eed50dff7584762","b2f006ee835f315d01c43c0f5d9e9ad78a5870b380899877b32a33078d065dbd","9fd94af6ff33bb25c014a4cc2dd9ffb54650176666b7831f1c85168784826ad4","43a4860173cec933ed8380e55f7a4473dd0df38b43e706b492f443cd8612bd87","f90d85d4cb38445499bdb7e7b013e4f64d99d157a6fa0843e998495ceb27b520","2e178a87e7bf03a067cfb1cf5573e7c4899fcbc9f462a0b0c67d238e39b794a4","901becb8779e1089442378fda5623e607ee4588762a32e7692436f1ea81cf848","8286d84d2567b713fd6a1fdfbb1a0abc8cfa668ee1e0e83d7dd4ade5761f2750","f28dffc6bf9bbd8b9dc156aadb74d11de7faabf547eb9f0aebb8cd03e8750a6c","dee5d387e2e6f3015cbf91fc0c13ed6f016f9c5c1f2ad9c62602f4fd398fa83a","9f3c5498245c38c9016a369795ec5ef1768d09db63643c8dba9656e5ab294825","44a8d350600656882fd7462774e32e8d13788313ba2e36d2e8d5437ac91b98df","60bb0e47502bf8716d1230288b4e6387c1d34cded12752ab5338108e2e662e67","b8870b5155d11a273c75718a4f19026da49f91c548703858cd3400d06c3bd3b8","b3ae4ded82f27cabba780b9af9647f6e08c9a4cabe8fbb7a0cca69c7add9ef4b","8d26ae32e5c9c080e44aee4a67e5ef02b5fda0604e6fecbb7b753c537e5282d9","05c4e792dae38912ba333725cdf8c42d242337d006c0d887f4ce5a7787871a95","cd44995ee13d5d23df17a10213fed7b483fabfd5ea08f267ab52c07ce0b6b4da","58ce1486f851942bd2d3056b399079bc9cb978ec933fe9833ea417e33eab676e","1a23b521db8d7ec9e2b96c6fbd4c7e96d12f408b1e03661b3b9f7da7291103e6","d3d0d11d30c9878ada3356b9c36a2754b8c7b6204a41c86bfb1488c08ce263b0","a6493f1f479637ed89a3ebec03f6dc117e3b1851d7e938ac4c8501396b8639a8","ae0951e44973e928fe2e999b11960493835d094b16adac0b085a79cff181bcb9","9d00e3a59eff68fa8c40e89953083eeaad1c5b2580ed7da2304424b249ecb237","1609ad4d488c356ee91eba7d7aa87cc6fb59bc8ac05c1a8f08665285ba3b71ad","8add088f72326098d68d622ddb024c00ae56a912383efe96b03f0481db88f7c9","dd17fe6332567b8f13e33dd3ff8926553cdcea2ad32d4350ce0063a2addaa764","4091d56a4622480549350b8811ec64c7826cd41a70ce5d9c1cc20384bb144049","353c0125b9e50c2a71e18394d46be5ccb37161cc0f0e7c69216aa6932c8cdafb","9c5d5f167e86b6ddf7142559a17d13fd39c34e868ae947c40381db866eed6609","4430dea494b0ee77bf823d9a7c4850a539e1060d5d865316bb23fb393e4f01d7","aae698ceead4edad0695b9ea87e43f274e698bdb302c8cb5fd2cab4dc496ccf0","51631e9a0c041e12479ab01f5801d8a237327d19e9ee37d5f1f66be912631425","c9d5d8adb1455f49182751ce885745dcc5f9697e9c260388bc3ae9d1860d5d10","f64289e3fa8d5719eaf5ba1bb02dd32dbbf7c603dda75c16770a6bc6e9c6b6d9","b1aa0e2e3511a8d10990f35866405c64c9e576258ef99eeb9ebafed980fd7506","2d255a5287f2fb5295688cb25bd18e1cd59866179f795f3f1fd6b71b7f0edf8f","43c1dbb78d5277a5fdd8fddce8b257f84ffa2b4253f58b95c04a310710d19e97","6c669d7e080344c1574aa276a89e57c3b9f0e97fab96a09427e7dfb19ca261bf","b71ac126853867d8e64c910f47d46d05c5ea797987d2604f63d401507dc43b6d","9a37238558d28b7ee06d08599e92eab30b90704541cc85e6448009d6d55fffa9","120b14d66a061910309ff97e7b06b5c6c09444218178b80b687a92af4d22d5dc","3de958065e3a44cbe0bfa667813bc59c63e63c9ce522af8dc1b64714910fa9ba","66e655f7c43558bae6703242cbd6c0551a94d0a97204bd4c4bbf7e77f24d1f85","72f7b32e023814078046c036ed4b7ad92414be0aebb63e805c682e14103ae38a","a89d8e67966d085ff971c9900cfa1abdd9732bab66d9c1914ecc15befdf8623d","7dfd0308261bb91b058eb91802690fe3f09192b263e070a19df4d629df29e265","608eb9d411ac76e93a10e05f8aae92b3a5cefc87594219b737df7c8737ba2bd7","cde493e09daad4bb29922fe633f760be9f0e8e2f39cdca999cce3b8690b5e13a","3d7f9eb12aface876f7b535cc89dcd416daf77f0b3573333f16ec0a70bcf902a","93ba4ac36f570c70a12d588e21c10dda9f351fad3e77d416952acddb27bff01d","8750f9dc1e277ffff7446c95571bae61aca0984e8f99e40fc1e8cb7161ae0642","66408d81ba8962282b1a55da34c6bd767105141f54d0ba14dca330efe0c8f552","7481b9d93ca44eb1f689e0b939545ff00dead7bdb9daba401dfb74292d83f831","821e64ddbdfa10fac5f0aed1c1d4e1f275840400caa96357ddfd15d02e5afba1","1154651a6fbc1d60e448b903ec80f256f6771ced212ee1c3e5121168723621db","b0e5214ceeeb82c90f925ae53482d511c4ecabc47d74d49851f5d5d9257893aa","a7e430e32eaefba6b1ebf23a94a4562bfe7051cc83558d33ddc8ff342f3c18e9","2f495fcb913e89c0dace4a79e5bd7214c674ef8a391c8056a77a084eb3c882f9","3c71707988135662b344d59c4f92d2ea37b1f198149b762693db61e30bdaae9a","70e9a18da08294f75bf23e46c7d69e67634c0765d355887b9b41f0d959e1426e","6ba73232c9d3267ca36ddb83e335d474d2c0e167481e3dec416c782894e11438"],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"esModuleInterop":true,"experimentalDecorators":true,"importHelpers":true,"module":1,"noImplicitAny":true,"outDir":"./lib","rootDir":"./src","skipLibCheck":true,"strict":true,"strictNullChecks":true,"strictPropertyInitialization":true,"target":6},"fileIdsList":[[85,135,198,199,200],[135,198,199,200],[85,86,87,88,89,135,198,199,200],[85,87,135,198,199,200],[110,135,142,143,198,199,200],[102,135,142,198,199,200],[135,142,198,199,200],[135,147,148,149,150,151,152,153,154,155,156,157,158,198,199,200],[107,135,142,198,199,200],[134,135,142,163,198,199,200],[110,135,142,198,199,200],[135,166,198,199,200],[135,170,171,198,199,200],[135,168,169,170,198,199,200],[107,110,135,142,161,162,198,199,200],[135,144,162,163,174,198,199,200],[108,135,142,198,199,200],[107,108,135,142,177,198,199,200],[107,110,112,115,124,134,135,142,198,199,200],[135,182,198,199,200],[135,183,198,199,200],[135,188,193,198,199,200],[107,135,137,142,196,197,199,200],[135,198,199],[135,198,200],[135,198,199,200,202,204,205,206,207,208,209,210,211,212,213,214],[135,198,199,200,202,203,205,206,207,208,209,210,211,212,213,214],[135,198,199,200,203,204,205,206,207,208,209,210,211,212,213,214],[135,198,199,200,202,203,204,206,207,208,209,210,211,212,213,214],[135,198,199,200,202,203,204,205,207,208,209,210,211,212,213,214],[135,198,199,200,202,203,204,205,206,208,209,210,211,212,213,214],[135,198,199,200,202,203,204,205,206,207,209,210,211,212,213,214],[135,198,199,200,202,203,204,205,206,207,208,210,211,212,213,214],[135,198,199,200,202,203,204,205,206,207,208,209,211,212,213,214],[135,198,199,200,202,203,204,205,206,207,208,209,210,212,213,214],[135,198,199,200,202,203,204,205,206,207,208,209,210,211,213,214],[135,198,199,200,202,203,204,205,206,207,208,209,210,211,212,214],[135,198,199,200,202,203,204,205,206,207,208,209,210,211,212,213],[135,198,199,200,215],[135,142,198,199,200,222],[96,110,115,131,135,170,198,199,200,217,219,220,221],[110,134,135,142,198,199,200,225,226],[92,135,198,199,200],[95,135,198,199,200],[96,101,135,198,199,200],[97,107,108,115,124,134,135,198,199,200],[97,98,107,115,135,198,199,200],[99,135,198,199,200],[100,101,108,116,135,198,199,200],[101,124,131,135,198,199,200],[102,104,107,115,135,198,199,200],[103,135,198,199,200],[104,105,135,198,199,200],[106,107,135,198,199,200],[107,135,198,199,200],[107,108,109,124,134,135,198,199,200],[107,108,109,124,135,198,199,200],[110,115,124,134,135,198,199,200],[107,108,110,111,115,124,131,134,135,198,199,200],[110,112,124,131,134,135,198,199,200],[92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,198,199,200],[107,113,135,198,199,200],[114,134,135,198,199,200],[104,107,115,124,135,198,199,200],[116,135,198,199,200],[117,135,198,199,200],[95,118,135,198,199,200],[119,133,135,139,198,199,200],[120,135,198,199,200],[121,135,198,199,200],[107,122,135,198,199,200],[122,123,135,137,198,199,200],[107,124,125,126,135,198,199,200],[124,126,135,198,199,200],[124,125,135,198,199,200],[127,135,198,199,200],[128,135,198,199,200],[107,129,130,135,198,199,200],[129,130,135,198,199,200],[101,115,124,131,135,198,199,200],[132,135,198,199,200],[115,133,135,198,199,200],[96,110,121,134,135,198,199,200],[101,135,198,199,200],[124,135,136,198,199,200],[135,137,198,199,200],[135,138,198,199,200],[96,101,107,109,118,124,134,135,137,139,198,199,200],[124,135,140,198,199,200],[135,195,198,199,200],[135,196,198,199,200],[134,135,142,198,199,200],[135,198,199,200,235],[108,135,175,198,199,200],[110,135,142,173,198,199,200],[135,198,199,200,241],[110,112,135,145,164,174,175,198,199,200,222,237,265,313,314],[135,142,198,199,200,246,247,248,249,250,251,252,253,254,255,256],[135,198,199,200,245,246,255],[135,198,199,200,246,255],[135,198,199,200,238,245,246,255],[135,198,199,200,245,246,247,248,249,250,251,252,253,254,256],[135,198,199,200,246],[101,135,198,199,200,245,255],[101,135,142,198,199,200,221,241,242,244,257],[135,198,199,200,317],[107,108,135,142,198,199,200,244],[110,124,135,142,198,199,200],[135,198,199,200,263],[135,198,199,200,261,262],[135,198,199,200,260,264],[110,115,134,135,142,175,181,198,199,200],[135,186,189,198,199,200],[135,186,189,190,191,198,199,200],[135,188,198,199,200],[135,185,192,198,199,200],[135,187,198,199,200],[135,198,199,200,219],[135,169,198,199,200,217,218],[135,169,198,199,200,219],[135,198,199,200,270,271,275,302,303,307,309,310],[135,198,199,200,268,269],[135,198,199,200,268],[135,198,199,200,270,310],[135,198,199,200,270,271,307,308,310],[135,198,199,200,310],[135,198,199,200,267,310,311],[135,198,199,200,270,271,309,310],[135,198,199,200,270,271,273,274,309,310],[135,198,199,200,270,271,272,309,310],[135,198,199,200,270,271,275,302,303,304,305,306,309,310],[135,198,199,200,267,270,271,275,307,309],[135,198,199,200,275,310],[135,198,199,200,277,278,279,280,281,282,283,284,285,286,310],[135,198,199,200,300,310],[135,198,199,200,276,287,295,296,297,298,299,301],[135,198,199,200,280,310],[135,198,199,200,288,289,290,291,292,293,294,310],[135,169,198,199,200,266,311],[135,169,198,199,200,312],[108,110,135,142,198,199,200,235,312],[110,115,131,135,198,199,200,217,219,220,221,234],[51,78,81,83,135,198,199,200],[51,78,79,80,135,198,199,200],[51,77,135,198,199,200],[51,78,82,135,198,199,200],[61,135,198,199,200],[61,74,135,198,199,200],[55,56,57,58,61,62,63,64,65,66,67,68,69,70,71,72,73,135,198,199,200],[58,61,135,198,199,200],[60,61,135,198,199,200],[56,57,58,60,135,198,199,200],[60,135,198,199,200],[59,135,198,199,200],[52,135,198,199,200],[74,75,135,198,199,200],[52,53,54,76,135,198,199,200]],"referencedMap":[[87,1],[85,2],[90,3],[86,1],[88,4],[89,1],[91,2],[144,5],[145,6],[146,7],[147,2],[148,2],[149,2],[150,2],[151,2],[153,2],[159,8],[152,2],[157,2],[154,2],[155,2],[156,2],[158,2],[160,9],[164,10],[143,11],[165,2],[167,12],[172,13],[168,2],[171,14],[170,2],[163,15],[175,16],[176,17],[178,18],[179,17],[180,2],[181,19],[182,2],[183,20],[184,21],[194,22],[198,23],[200,24],[199,25],[169,2],[201,2],[203,26],[204,27],[202,28],[205,29],[206,30],[207,31],[208,32],[209,33],[210,34],[211,35],[212,36],[213,37],[214,38],[216,39],[173,2],[223,40],[222,41],[177,2],[224,2],[166,2],[82,2],[226,2],[227,42],[92,43],[93,43],[95,44],[96,45],[97,46],[98,47],[99,48],[100,49],[101,50],[102,51],[103,52],[104,53],[105,53],[106,54],[107,55],[108,56],[109,57],[94,2],[141,2],[110,58],[111,59],[112,60],[142,61],[113,62],[114,63],[115,64],[116,65],[117,66],[118,67],[119,68],[120,69],[121,70],[122,71],[123,72],[124,73],[126,74],[125,75],[127,76],[128,77],[129,78],[130,79],[131,80],[132,81],[133,82],[134,83],[135,84],[136,85],[137,86],[138,87],[139,88],[140,89],[228,2],[229,2],[196,90],[195,91],[230,2],[231,2],[162,2],[161,2],[232,2],[233,92],[236,93],[237,94],[174,95],[238,2],[239,2],[240,2],[197,2],[242,96],[215,2],[243,2],[315,97],[259,41],[257,98],[256,99],[247,100],[248,101],[255,102],[249,101],[250,100],[251,100],[252,100],[253,103],[246,104],[254,99],[245,2],[258,105],[316,2],[317,2],[318,106],[218,2],[244,2],[185,2],[314,107],[79,2],[225,108],[262,11],[264,109],[263,110],[261,11],[265,111],[260,112],[80,2],[186,2],[190,113],[192,114],[191,113],[189,115],[193,116],[188,117],[187,2],[220,118],[219,119],[217,120],[241,2],[221,2],[51,2],[11,2],[13,2],[12,2],[2,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[20,2],[21,2],[3,2],[4,2],[25,2],[22,2],[23,2],[24,2],[26,2],[27,2],[28,2],[5,2],[29,2],[30,2],[31,2],[32,2],[6,2],[33,2],[34,2],[35,2],[36,2],[7,2],[41,2],[37,2],[38,2],[39,2],[40,2],[8,2],[45,2],[42,2],[43,2],[44,2],[46,2],[9,2],[47,2],[48,2],[49,2],[1,2],[10,2],[50,2],[267,2],[311,121],[268,2],[270,122],[269,123],[274,124],[309,125],[306,126],[308,127],[271,126],[272,128],[276,128],[275,129],[273,130],[307,131],[305,126],[310,132],[303,2],[304,2],[277,133],[282,126],[284,126],[279,126],[280,133],[286,126],[287,134],[278,126],[283,126],[285,126],[281,126],[301,135],[300,126],[302,136],[296,126],[298,126],[297,126],[293,126],[299,137],[294,126],[295,138],[288,126],[289,126],[290,126],[291,126],[292,126],[312,139],[266,140],[313,141],[234,2],[235,142],[84,143],[81,144],[78,145],[83,146],[55,2],[62,147],[63,147],[64,148],[65,147],[66,147],[67,147],[74,149],[68,147],[69,150],[70,151],[71,147],[72,147],[56,2],[57,2],[61,152],[58,2],[73,153],[60,154],[59,2],[53,155],[76,156],[77,157],[54,155],[75,155],[52,2]],"exportedModulesMap":[[87,1],[85,2],[90,3],[86,1],[88,4],[89,1],[91,2],[144,5],[145,6],[146,7],[147,2],[148,2],[149,2],[150,2],[151,2],[153,2],[159,8],[152,2],[157,2],[154,2],[155,2],[156,2],[158,2],[160,9],[164,10],[143,11],[165,2],[167,12],[172,13],[168,2],[171,14],[170,2],[163,15],[175,16],[176,17],[178,18],[179,17],[180,2],[181,19],[182,2],[183,20],[184,21],[194,22],[198,23],[200,24],[199,25],[169,2],[201,2],[203,26],[204,27],[202,28],[205,29],[206,30],[207,31],[208,32],[209,33],[210,34],[211,35],[212,36],[213,37],[214,38],[216,39],[173,2],[223,40],[222,41],[177,2],[224,2],[166,2],[82,2],[226,2],[227,42],[92,43],[93,43],[95,44],[96,45],[97,46],[98,47],[99,48],[100,49],[101,50],[102,51],[103,52],[104,53],[105,53],[106,54],[107,55],[108,56],[109,57],[94,2],[141,2],[110,58],[111,59],[112,60],[142,61],[113,62],[114,63],[115,64],[116,65],[117,66],[118,67],[119,68],[120,69],[121,70],[122,71],[123,72],[124,73],[126,74],[125,75],[127,76],[128,77],[129,78],[130,79],[131,80],[132,81],[133,82],[134,83],[135,84],[136,85],[137,86],[138,87],[139,88],[140,89],[228,2],[229,2],[196,90],[195,91],[230,2],[231,2],[162,2],[161,2],[232,2],[233,92],[236,93],[237,94],[174,95],[238,2],[239,2],[240,2],[197,2],[242,96],[215,2],[243,2],[315,97],[259,41],[257,98],[256,99],[247,100],[248,101],[255,102],[249,101],[250,100],[251,100],[252,100],[253,103],[246,104],[254,99],[245,2],[258,105],[316,2],[317,2],[318,106],[218,2],[244,2],[185,2],[314,107],[79,2],[225,108],[262,11],[264,109],[263,110],[261,11],[265,111],[260,112],[80,2],[186,2],[190,113],[192,114],[191,113],[189,115],[193,116],[188,117],[187,2],[220,118],[219,119],[217,120],[241,2],[221,2],[51,2],[11,2],[13,2],[12,2],[2,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[20,2],[21,2],[3,2],[4,2],[25,2],[22,2],[23,2],[24,2],[26,2],[27,2],[28,2],[5,2],[29,2],[30,2],[31,2],[32,2],[6,2],[33,2],[34,2],[35,2],[36,2],[7,2],[41,2],[37,2],[38,2],[39,2],[40,2],[8,2],[45,2],[42,2],[43,2],[44,2],[46,2],[9,2],[47,2],[48,2],[49,2],[1,2],[10,2],[50,2],[267,2],[311,121],[268,2],[270,122],[269,123],[274,124],[309,125],[306,126],[308,127],[271,126],[272,128],[276,128],[275,129],[273,130],[307,131],[305,126],[310,132],[303,2],[304,2],[277,133],[282,126],[284,126],[279,126],[280,133],[286,126],[287,134],[278,126],[283,126],[285,126],[281,126],[301,135],[300,126],[302,136],[296,126],[298,126],[297,126],[293,126],[299,137],[294,126],[295,138],[288,126],[289,126],[290,126],[291,126],[292,126],[312,139],[266,140],[313,141],[234,2],[235,142],[84,143],[81,144],[78,145],[83,146],[55,2],[62,147],[63,147],[64,148],[65,147],[66,147],[67,147],[74,149],[68,147],[69,150],[70,151],[71,147],[72,147],[56,2],[57,2],[61,152],[58,2],[73,153],[60,154],[59,2],[53,155],[76,156],[77,157],[54,155],[75,155],[52,2]],"semanticDiagnosticsPerFile":[87,85,90,86,88,89,91,144,145,146,147,148,149,150,151,153,159,152,157,154,155,156,158,160,164,143,165,167,172,168,171,170,163,175,176,178,179,180,181,182,183,184,194,198,200,199,169,201,203,204,202,205,206,207,208,209,210,211,212,213,214,216,173,223,222,177,224,166,82,226,227,92,93,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,94,141,110,111,112,142,113,114,115,116,117,118,119,120,121,122,123,124,126,125,127,128,129,130,131,132,133,134,135,136,137,138,139,140,228,229,196,195,230,231,162,161,232,233,236,237,174,238,239,240,197,242,215,243,315,259,257,256,247,248,255,249,250,251,252,253,246,254,245,258,316,317,318,218,244,185,314,79,225,262,264,263,261,265,260,80,186,190,192,191,189,193,188,187,220,219,217,241,221,51,11,13,12,2,14,15,16,17,18,19,20,21,3,4,25,22,23,24,26,27,28,5,29,30,31,32,6,33,34,35,36,7,41,37,38,39,40,8,45,42,43,44,46,9,47,48,49,1,10,50,267,311,268,270,269,274,309,306,308,271,272,276,275,273,307,305,310,303,304,277,282,284,279,280,286,287,278,283,285,281,301,300,302,296,298,297,293,299,294,295,288,289,290,291,292,312,266,313,234,235,84,81,78,83,55,62,63,64,65,66,67,74,68,69,70,71,72,56,57,61,58,73,60,59,53,76,77,54,75,52]},"version":"4.6.3"}
|