@codeperfect/eslint-plugin 2.0.0 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.tsbuildinfo +1 -1
- package/dist/codeperfect-eslint-plugin-1.0.0.tgz +0 -0
- package/dist/domain/architecture/consistent-barrel-files/exports-only-rule.d.ts.map +1 -1
- package/dist/domain/architecture/consistent-barrel-files/exports-only-rule.js +8 -3
- package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-rule.d.ts.map +1 -1
- package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-rule.js +8 -3
- package/dist/domain/architecture/consistent-barrel-files/rule.d.ts.map +1 -1
- package/dist/domain/architecture/consistent-barrel-files/rule.js +12 -4
- package/dist/domain/core/no-multiple-declarators/rule.d.ts.map +1 -1
- package/dist/domain/core/no-multiple-declarators/rule.js +6 -3
- package/dist/domain/core/prefer-interface-types/rule.d.ts.map +1 -1
- package/dist/domain/core/prefer-interface-types/rule.js +6 -3
- package/dist/domain/core/prefer-interface-types/test-helpers.d.ts.map +1 -1
- package/dist/domain/core/prefer-interface-types/test-helpers.js +1 -1
- package/dist/domain/custom-rule-documentation.d.ts +2 -0
- package/dist/domain/custom-rule-documentation.d.ts.map +1 -1
- package/dist/domain/custom-rule-documentation.js +2 -1
- package/dist/domain/docs/no-interface-member-docs/comment-utilities-test-helpers.d.ts.map +1 -1
- package/dist/domain/docs/no-interface-member-docs/comment-utilities-test-helpers.js +1 -1
- package/dist/domain/docs/no-interface-member-docs/parameter-utilities.js +1 -1
- package/dist/domain/docs/no-interface-member-docs/rule.d.ts.map +1 -1
- package/dist/domain/docs/no-interface-member-docs/rule.js +6 -3
- package/dist/domain/docs/no-interface-member-docs/test-helpers.js +1 -1
- package/dist/domain/docs/require-example-language/create-fixer.js +1 -1
- package/dist/domain/docs/require-example-language/fixes.d.ts.map +1 -1
- package/dist/domain/docs/require-example-language/fixes.js +1 -1
- package/dist/domain/docs/require-example-language/reporting.js +1 -1
- package/dist/domain/docs/require-example-language/rule.d.ts.map +1 -1
- package/dist/domain/docs/require-example-language/rule.js +6 -3
- package/dist/domain/docs/single-line-jsdoc/rule.d.ts +1 -2
- package/dist/domain/docs/single-line-jsdoc/rule.d.ts.map +1 -1
- package/dist/domain/docs/single-line-jsdoc/rule.edge-cases.js +1 -1
- package/dist/domain/docs/single-line-jsdoc/rule.js +11 -6
- package/dist/domain/docs/single-line-jsdoc/rule.node-lookups.js +1 -1
- package/dist/domain/testing/aaa/analyzer.analysis.d.ts +14 -72
- package/dist/domain/testing/aaa/analyzer.analysis.d.ts.map +1 -1
- package/dist/domain/testing/aaa/analyzer.analysis.helpers.d.ts +144 -3
- package/dist/domain/testing/aaa/analyzer.analysis.helpers.d.ts.map +1 -1
- package/dist/domain/testing/aaa/analyzer.analysis.helpers.js +202 -3
- package/dist/domain/testing/aaa/analyzer.analysis.js +36 -201
- package/dist/domain/testing/aaa/analyzer.analysis.unsupported.d.ts +4 -0
- package/dist/domain/testing/aaa/analyzer.analysis.unsupported.d.ts.map +1 -0
- package/dist/domain/testing/aaa/analyzer.analysis.unsupported.js +4 -0
- package/dist/domain/testing/aaa/analyzer.assertions.d.ts +16 -91
- package/dist/domain/testing/aaa/analyzer.assertions.d.ts.map +1 -1
- package/dist/domain/testing/aaa/analyzer.assertions.destructured.d.ts +4 -0
- package/dist/domain/testing/aaa/analyzer.assertions.destructured.d.ts.map +1 -0
- package/dist/domain/testing/aaa/analyzer.assertions.destructured.js +4 -0
- package/dist/domain/testing/aaa/analyzer.assertions.helpers.d.ts +95 -0
- package/dist/domain/testing/aaa/analyzer.assertions.helpers.d.ts.map +1 -0
- package/dist/domain/testing/aaa/analyzer.assertions.helpers.js +185 -0
- package/dist/domain/testing/aaa/analyzer.assertions.js +32 -282
- package/dist/domain/testing/aaa/analyzer.assertions.operands.d.ts +64 -0
- package/dist/domain/testing/aaa/analyzer.assertions.operands.d.ts.map +1 -0
- package/dist/domain/testing/aaa/analyzer.assertions.operands.js +105 -0
- package/dist/domain/testing/aaa/analyzer.classification.d.ts +14 -73
- package/dist/domain/testing/aaa/analyzer.classification.d.ts.map +1 -1
- package/dist/domain/testing/aaa/analyzer.classification.helpers.d.ts +77 -0
- package/dist/domain/testing/aaa/analyzer.classification.helpers.d.ts.map +1 -0
- package/dist/domain/testing/aaa/analyzer.classification.helpers.js +203 -0
- package/dist/domain/testing/aaa/analyzer.classification.js +30 -200
- package/dist/domain/testing/aaa/analyzer.classification.mutations.d.ts +4 -0
- package/dist/domain/testing/aaa/analyzer.classification.mutations.d.ts.map +1 -0
- package/dist/domain/testing/aaa/analyzer.classification.mutations.js +4 -0
- package/dist/domain/testing/aaa/analyzer.classification.traversal.d.ts +15 -0
- package/dist/domain/testing/aaa/analyzer.classification.traversal.d.ts.map +1 -0
- package/dist/domain/testing/aaa/analyzer.classification.traversal.js +34 -0
- package/dist/domain/testing/aaa/analyzer.d.ts +2 -2
- package/dist/domain/testing/aaa/analyzer.d.ts.map +1 -1
- package/dist/domain/testing/aaa/analyzer.super.d.ts +8 -9
- package/dist/domain/testing/aaa/analyzer.super.d.ts.map +1 -1
- package/dist/domain/testing/aaa/analyzer.super.helpers.d.ts +27 -0
- package/dist/domain/testing/aaa/analyzer.super.helpers.d.ts.map +1 -0
- package/dist/domain/testing/aaa/analyzer.super.helpers.js +66 -0
- package/dist/domain/testing/aaa/analyzer.super.js +43 -60
- package/dist/domain/testing/assert-actual-expected-names/rule.d.ts.map +1 -1
- package/dist/domain/testing/assert-actual-expected-names/rule.js +6 -3
- package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.combined.d.ts +4 -0
- package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.combined.d.ts.map +1 -0
- package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.combined.js +4 -0
- package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.companion.d.ts +4 -0
- package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.companion.d.ts.map +1 -0
- package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.companion.js +4 -0
- package/dist/domain/testing/enforce-aaa-phase-purity/rule-test-helpers.js +1 -1
- package/dist/domain/testing/enforce-aaa-phase-purity/rule.d.ts.map +1 -1
- package/dist/domain/testing/enforce-aaa-phase-purity/rule.js +6 -3
- package/dist/domain/testing/enforce-aaa-structure/rule.d.ts.map +1 -1
- package/dist/domain/testing/enforce-aaa-structure/rule.js +6 -3
- package/dist/domain/testing/prefer-vi-mocked-import/rule.d.ts.map +1 -1
- package/dist/domain/testing/prefer-vi-mocked-import/rule.js +6 -3
- package/dist/domain/testing/prefer-vitest-incremental-casts/ast-helpers.d.ts +12 -1
- package/dist/domain/testing/prefer-vitest-incremental-casts/ast-helpers.d.ts.map +1 -1
- package/dist/domain/testing/prefer-vitest-incremental-casts/ast-helpers.js +26 -2
- package/dist/domain/testing/prefer-vitest-incremental-casts/match-input.d.ts.map +1 -1
- package/dist/domain/testing/prefer-vitest-incremental-casts/match-input.js +13 -10
- package/dist/domain/testing/prefer-vitest-incremental-casts/match.d.ts.map +1 -1
- package/dist/domain/testing/prefer-vitest-incremental-casts/match.js +8 -2
- package/dist/domain/testing/prefer-vitest-incremental-casts/replacement-helpers.d.ts.map +1 -1
- package/dist/domain/testing/prefer-vitest-incremental-casts/replacement-helpers.js +9 -5
- package/dist/domain/testing/prefer-vitest-incremental-casts/rule.d.ts.map +1 -1
- package/dist/domain/testing/prefer-vitest-incremental-casts/rule.js +28 -2
- package/dist/domain/testing/prefer-vitest-incremental-casts/type-helpers.d.ts.map +1 -1
- package/dist/domain/testing/prefer-vitest-incremental-casts/type-helpers.js +1 -1
- package/dist/domain/testing/prefer-vitest-incremental-casts/types.d.ts +9 -25
- package/dist/domain/testing/prefer-vitest-incremental-casts/types.d.ts.map +1 -1
- package/dist/domain/testing/prefer-vitest-incremental-casts/types.js +1 -1
- package/dist/domain/testing/require-aaa-sections/rule.d.ts.map +1 -1
- package/dist/domain/testing/require-aaa-sections/rule.js +9 -4
- package/dist/domain/testing/require-aaa-sections/rule.reporting.d.ts.map +1 -1
- package/dist/domain/testing/require-aaa-sections/rule.reporting.js +3 -4
- package/dist/domain/testing/require-act-result-capture/rule.d.ts.map +1 -1
- package/dist/domain/testing/require-act-result-capture/rule.js +6 -3
- package/dist/domain/testing/require-test-companion/rule.d.ts.map +1 -1
- package/dist/domain/testing/require-test-companion/rule.js +31 -6
- package/dist/domain/testing/single-act-statement/rule.d.ts.map +1 -1
- package/dist/domain/testing/single-act-statement/rule.js +6 -3
- package/dist/infrastructure/presets.js +1 -1
- package/package.json +37 -29
|
@@ -1,4 +1,20 @@
|
|
|
1
|
-
|
|
1
|
+
import { visitNode as visitNodeImplementation } from "./analyzer.super.helpers.js";
|
|
2
|
+
/**
|
|
3
|
+
* Creates a local forwarding function for an imported analyzer helper.
|
|
4
|
+
* @template TParameters Forwarded parameter tuple.
|
|
5
|
+
* @template TResult Forwarded return type.
|
|
6
|
+
* @param implementation Imported helper implementation.
|
|
7
|
+
* @returns Local function that forwards all arguments to the implementation.
|
|
8
|
+
* @example
|
|
9
|
+
* ```typescript
|
|
10
|
+
* const localHelper = forward(implementation);
|
|
11
|
+
* ```
|
|
12
|
+
*/
|
|
13
|
+
function forward(implementation) {
|
|
14
|
+
return (...parameters) => implementation(...parameters);
|
|
15
|
+
}
|
|
16
|
+
/** Visits an ESTree node graph while ignoring cycles. */
|
|
17
|
+
const visitNode = forward(visitNodeImplementation);
|
|
2
18
|
/** Array mutator methods that imply observable state changes. */
|
|
3
19
|
const arrayMutationMethods = new Set([
|
|
4
20
|
"copyWithin",
|
|
@@ -38,6 +54,7 @@ const voidLikeMethodNames = new Set([
|
|
|
38
54
|
"debug",
|
|
39
55
|
"dispatch",
|
|
40
56
|
"emit",
|
|
57
|
+
"flush",
|
|
41
58
|
"info",
|
|
42
59
|
"log",
|
|
43
60
|
"print",
|
|
@@ -47,8 +64,6 @@ const voidLikeMethodNames = new Set([
|
|
|
47
64
|
"trigger",
|
|
48
65
|
"warn",
|
|
49
66
|
]);
|
|
50
|
-
/** Name pattern used for void-like method detection. */
|
|
51
|
-
const voidLikeNamePattern = /^(?:clear|debug|dispatch|emit|info|log|print|publish|reset|set|trigger|warn)/u;
|
|
52
67
|
/**
|
|
53
68
|
* Gets an expression name when it can be resolved statically.
|
|
54
69
|
* @param expression Input expression value.
|
|
@@ -83,6 +98,21 @@ function getExpressionName(expression) {
|
|
|
83
98
|
function getInvokedName(expression) {
|
|
84
99
|
return getExpressionName(expression.callee);
|
|
85
100
|
}
|
|
101
|
+
/**
|
|
102
|
+
* Splits an identifier into lowercase word tokens.
|
|
103
|
+
* @param identifier Input identifier value.
|
|
104
|
+
* @returns Return value output.
|
|
105
|
+
* @example
|
|
106
|
+
* ```typescript
|
|
107
|
+
* getNameWords("scheduleAndFlush");
|
|
108
|
+
* ```
|
|
109
|
+
*/
|
|
110
|
+
function getNameWords(identifier) {
|
|
111
|
+
return identifier
|
|
112
|
+
.split(/(?=[A-Z])|[_-]/u)
|
|
113
|
+
.map((segment) => segment.toLowerCase())
|
|
114
|
+
.filter((segment) => segment.length > 0);
|
|
115
|
+
}
|
|
86
116
|
/**
|
|
87
117
|
* Checks whether an expression is callable.
|
|
88
118
|
* @param expression Input expression value.
|
|
@@ -108,21 +138,6 @@ function isCallableExpression(expression) {
|
|
|
108
138
|
function isLocatedComment(comment) {
|
|
109
139
|
return (comment.loc !== null && comment.loc !== void 0 && comment.range !== void 0);
|
|
110
140
|
}
|
|
111
|
-
/**
|
|
112
|
-
* Checks whether a value is an ESTree node.
|
|
113
|
-
* @param value Input value value.
|
|
114
|
-
* @returns Return value output.
|
|
115
|
-
* @example
|
|
116
|
-
* ```typescript
|
|
117
|
-
* isNode(value);
|
|
118
|
-
* ```
|
|
119
|
-
*/
|
|
120
|
-
function isNode(value) {
|
|
121
|
-
return (typeof value === "object" &&
|
|
122
|
-
value !== null &&
|
|
123
|
-
"type" in value &&
|
|
124
|
-
typeof value.type === "string");
|
|
125
|
-
}
|
|
126
141
|
/**
|
|
127
142
|
* Checks whether a range is fully contained within another range.
|
|
128
143
|
* @param range Input range value.
|
|
@@ -148,7 +163,8 @@ function isRangeWithin(range, container) {
|
|
|
148
163
|
*/
|
|
149
164
|
function isUtilityConstructor(expression, calleeName) {
|
|
150
165
|
return (expression.type === "NewExpression" &&
|
|
151
|
-
(calleeName === "
|
|
166
|
+
(calleeName === "Error" ||
|
|
167
|
+
calleeName === "Map" ||
|
|
152
168
|
calleeName === "Set" ||
|
|
153
169
|
calleeName === "SourceCode" ||
|
|
154
170
|
calleeName === "ESLint"));
|
|
@@ -180,49 +196,16 @@ function isUtilityNamespaceCall(expression) {
|
|
|
180
196
|
["console", "vi"].includes(expression.callee.object.name));
|
|
181
197
|
}
|
|
182
198
|
/**
|
|
183
|
-
*
|
|
184
|
-
* @param
|
|
185
|
-
* @
|
|
186
|
-
* @param seenNodes Input seenNodes value.
|
|
187
|
-
* @example
|
|
188
|
-
* ```typescript
|
|
189
|
-
* visitNode(node, () => {});
|
|
190
|
-
* ```
|
|
191
|
-
*/
|
|
192
|
-
function visitNode(node, callback, seenNodes = new WeakSet()) {
|
|
193
|
-
if (seenNodes.has(node)) {
|
|
194
|
-
return;
|
|
195
|
-
}
|
|
196
|
-
seenNodes.add(node);
|
|
197
|
-
callback(node);
|
|
198
|
-
for (const [key, value] of Object.entries(node)) {
|
|
199
|
-
if (key !== "parent") {
|
|
200
|
-
visitValue(value, callback, seenNodes);
|
|
201
|
-
}
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
/**
|
|
205
|
-
* Visits child values that may contain nested ESTree nodes.
|
|
206
|
-
* @param value Input value value.
|
|
207
|
-
* @param callback Input callback value.
|
|
208
|
-
* @param seenNodes Input seenNodes value.
|
|
199
|
+
* Checks whether a call name is built from void-like verb tokens.
|
|
200
|
+
* @param calleeName Input calleeName value.
|
|
201
|
+
* @returns Return value output.
|
|
209
202
|
* @example
|
|
210
203
|
* ```typescript
|
|
211
|
-
*
|
|
204
|
+
* isVoidLikeMethodName("scheduleAndFlush");
|
|
212
205
|
* ```
|
|
213
206
|
*/
|
|
214
|
-
function
|
|
215
|
-
|
|
216
|
-
for (const item of value) {
|
|
217
|
-
if (isNode(item)) {
|
|
218
|
-
visitNode(item, callback, seenNodes);
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
|
-
return;
|
|
222
|
-
}
|
|
223
|
-
if (isNode(value)) {
|
|
224
|
-
visitNode(value, callback, seenNodes);
|
|
225
|
-
}
|
|
207
|
+
function isVoidLikeMethodName(calleeName) {
|
|
208
|
+
return getNameWords(calleeName).some((word) => voidLikeMethodNames.has(word));
|
|
226
209
|
}
|
|
227
|
-
export { arrayMutationMethods, getExpressionName, getInvokedName, isCallableExpression, isLocatedComment, isRangeWithin, isUtilityConstructor, isUtilityNamedCall, isUtilityNamespaceCall, setupLikeNames, utilityMethodNames, visitNode, voidLikeMethodNames,
|
|
228
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl6ZXIuc3VwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL3Rlc3RpbmcvYWFhL2FuYWx5emVyLnN1cGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG9KQUFvSjtBQU1wSixpRUFBaUU7QUFDakUsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLEdBQUcsQ0FBQztJQUNuQyxZQUFZO0lBQ1osTUFBTTtJQUNOLEtBQUs7SUFDTCxNQUFNO0lBQ04sU0FBUztJQUNULE9BQU87SUFDUCxNQUFNO0lBQ04sUUFBUTtJQUNSLFNBQVM7Q0FDVixDQUFDLENBQUM7QUFFSCwrREFBK0Q7QUFDL0QsTUFBTSxjQUFjLEdBQ2xCLHdGQUF3RixDQUFDO0FBRTNGLG9GQUFvRjtBQUNwRixNQUFNLGtCQUFrQixHQUFHLElBQUksR0FBRyxDQUFDO0lBQ2pDLHFCQUFxQjtJQUNyQixlQUFlO0lBQ2YsT0FBTztJQUNQLElBQUk7SUFDSixNQUFNO0lBQ04sTUFBTTtJQUNOLEtBQUs7SUFDTCxvQkFBb0I7SUFDcEIsbUJBQW1CO0lBQ25CLG1CQUFtQjtJQUNuQixpQkFBaUI7SUFDakIsTUFBTTtJQUNOLGVBQWU7SUFDZixTQUFTO0lBQ1QsZUFBZTtJQUNmLE1BQU07Q0FDUCxDQUFDLENBQUM7QUFFSCxzRUFBc0U7QUFDdEUsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLEdBQUcsQ0FBQztJQUNsQyxPQUFPO0lBQ1AsT0FBTztJQUNQLFVBQVU7SUFDVixNQUFNO0lBQ04sTUFBTTtJQUNOLEtBQUs7SUFDTCxPQUFPO0lBQ1AsU0FBUztJQUNULE9BQU87SUFDUCxLQUFLO0lBQ0wsU0FBUztJQUNULE1BQU07Q0FDUCxDQUFDLENBQUM7QUFFSCx3REFBd0Q7QUFDeEQsTUFBTSxtQkFBbUIsR0FDdkIsK0VBQStFLENBQUM7QUFRbEY7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLGlCQUFpQixDQUN4QixVQUF1RTtJQUV2RSxJQUFJLFVBQVUs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U0FBUyxFQUNULG1CQUFtQixFQUNuQixtQkFBbUIsR0FDcEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludCBtYXgtbGluZXM6IFtcImVycm9yXCIsIDMyMF0gLS0gTWFuZGF0b3J5IG11bHRpbGluZSBKU0RvYyBmb3IgdGhlc2Ugc2hhcmVkIGhlbHBlciBmdW5jdGlvbnMgcHVzaGVzIHRoaXMgc3BsaXQgZmlsZSBvdmVyIHRoZSBkZWZhdWx0IGxpbWl0LiAqL1xyXG5cclxuaW1wb3J0IHR5cGUgKiBhcyBFU1RyZWUgZnJvbSBcImVzdHJlZVwiO1xyXG5cclxuaW1wb3J0IHR5cGUgeyBMb2NhdGVkQ29tbWVudCwgU291cmNlQ29tbWVudCB9IGZyb20gXCIuL3R5cGVzXCI7XHJcblxyXG4vKiogQXJyYXkgbXV0YXRvciBtZXRob2RzIHRoYXQgaW1wbHkgb2JzZXJ2YWJsZSBzdGF0ZSBjaGFuZ2VzLiAqL1xyXG5jb25zdCBhcnJheU11dGF0aW9uTWV0aG9kcyA9IG5ldyBTZXQoW1xyXG4gIFwiY29weVdpdGhpblwiLFxyXG4gIFwiZmlsbFwiLFxyXG4gIFwicG9wXCIsXHJcbiAgXCJwdXNoXCIsXHJcbiAgXCJyZXZlcnNlXCIsXHJcbiAgXCJzaGlmdFwiLFxyXG4gIFwic29ydFwiLFxyXG4gIFwic3BsaWNlXCIsXHJcbiAgXCJ1bnNoaWZ0XCIsXHJcbl0pO1xyXG5cclxuLyoqIE5hbWVzIHRoYXQgdXN1YWxseSBzaWduYWwgQXJyYW5nZS1vcmllbnRlZCBoZWxwZXIgY2FsbHMuICovXHJcbmNvbnN0IHNldHVwTGlrZU5hbWVzID1cclxuICAvXig/OmFycmFuZ2V8YnVpbGR8Y3JlYXRlfGZpeHR1cmV8Z2V0fGdpdmVufG1ha2V8bW9ja3xwYXJzZXxzZWVkfHNldHVwfHNweXxzdHVifHdyaXRlKS91O1xyXG5cclxuLyoqIENhbGwgbmFtZXMgdGhhdCBzaG91bGQgYmUgdHJlYXRlZCBhcyB1dGlsaXR5IG9wZXJhdGlvbnMgaW5zdGVhZCBvZiBBY3Qgc3RlcHMuICovXHJcbmNvbnN0IHV0aWxpdHlNZXRob2ROYW1lcyA9IG5ldyBTZXQoW1xyXG4gIFwiYWR2YW5jZVRpbWVyc0J5VGltZVwiLFxyXG4gIFwiY2xlYXJBbGxNb2Nrc1wiLFxyXG4gIFwiZGVidWdcIixcclxuICBcImZuXCIsXHJcbiAgXCJpbmZvXCIsXHJcbiAgXCJqb2luXCIsXHJcbiAgXCJsb2dcIixcclxuICBcIm1vY2tJbXBsZW1lbnRhdGlvblwiLFxyXG4gIFwibW9ja1JlamVjdGVkVmFsdWVcIixcclxuICBcIm1vY2tSZXNvbHZlZFZhbHVlXCIsXHJcbiAgXCJtb2NrUmV0dXJuVmFsdWVcIixcclxuICBcInB1c2hcIixcclxuICBcInJlc2V0QWxsTW9ja3NcIixcclxuICBcInJlc29sdmVcIixcclxuICBcInVzZUZha2VUaW1lcnNcIixcclxuICBcIndhcm5cIixcclxuXSk7XHJcblxyXG4vKiogTWV0aG9kIG5hbWVzIHRoYXQgdXN1YWxseSBiZWhhdmUgbGlrZSB2b2lkIHNpZGUtZWZmZWN0IGhlbHBlcnMuICovXHJcbmNvbnN0IHZvaWRMaWtlTWV0aG9kTmFtZXMgPSBuZXcgU2V0KFtcclxuICBcImNsZWFyXCIsXHJcbiAgXCJkZWJ1Z1wiLFxyXG4gIFwiZGlzcGF0Y2hcIixcclxuICBcImVtaXRcIixcclxuICBcImluZm9cIixcclxuICBcImxvZ1wiLFxyXG4gIFwicHJpbnRcIixcclxuICBcInB1Ymxpc2hcIixcclxuICBcInJlc2V0XCIsXHJcbiAgXCJzZXRcIixcclxuICBcInRyaWdnZXJcIixcclxuICBcIndhcm5cIixcclxuXSk7XHJcblxyXG4vKiogTmFtZSBwYXR0ZXJuIHVzZWQgZm9yIHZvaWQtbGlrZSBtZXRob2QgZGV0ZWN0aW9uLiAqL1xyXG5jb25zdCB2b2lkTGlrZU5hbWVQYXR0ZXJuID1cclxuICAvXig/OmNsZWFyfGRlYnVnfGRpc3BhdGNofGVtaXR8aW5mb3xsb2d8cHJpbnR8cHVibGlzaHxyZXNldHxzZXR8dHJpZ2dlcnx3YXJuKS91O1xyXG5cclxuLyoqIE9iamVjdCBzaGFwZSB1c2VkIGZvciBFU1RyZWUgbm9kZSBuYXJyb3dpbmcuICovXHJcbmludGVyZmFjZSBOb2RlTGlrZVZhbHVlIHtcclxuICAvKiogUG90ZW50aWFsIEVTVHJlZSBub2RlIHR5cGUgZmllbGQuICovXHJcbiAgdHlwZT86IHVua25vd247XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBHZXRzIGFuIGV4cHJlc3Npb24gbmFtZSB3aGVuIGl0IGNhbiBiZSByZXNvbHZlZCBzdGF0aWNhbGx5LlxyXG4gKiBAcGFyYW0gZXhwcmVzc2lvbiBJbnB1dCBleHByZXNzaW9uIHZhbHVlLlxyXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGdldEV4cHJlc3Npb25OYW1lKGV4cHJlc3Npb24pO1xyXG4gKiBgYGBcclxuICovXHJcbmZ1bmN0aW9uIGdldEV4cHJlc3Npb25OYW1lKFxyXG4gIGV4cHJlc3Npb246IEVTVHJlZS5FeHByZXNzaW9uIHwgRVNUcmVlLlByaXZhdGVJZGVudGlmaWVyIHwgRVNUcmVlLlN1cGVyLFxyXG4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xyXG4gIGlmIChleHByZXNzaW9uLnR5cGUgPT09IFwiU3VwZXJcIikge1xyXG4gICAgcmV0dXJuIHZvaWQgMDtcclxuICB9XHJcblxyXG4gIGlmIChleHByZXNzaW9uLnR5cGUgPT09IFwiSWRlbnRpZmllclwiKSB7XHJcbiAgICByZXR1cm4gZXhwcmVzc2lvbi5uYW1lO1xyXG4gIH1cclxuXHJcbiAgaWYgKFxyXG4gICAgZXhwcmVzc2lvbi50eXBlID09PSBcIk1lbWJlckV4cHJlc3Npb25cIiAmJlxyXG4gICAgZXhwcmVzc2lvbi5wcm9wZXJ0eS50eXBlID09PSBcIklkZW50aWZpZXJcIlxyXG4gICkge1xyXG4gICAgcmV0dXJuIGV4cHJlc3Npb24ucHJvcGVydHkubmFtZTtcclxuICB9XHJcblxyXG4gIHJldHVybiB2b2lkIDA7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBHZXRzIGEgY2FsbGVlIG5hbWUgZm9yIGEgY2FsbCBvciBjb25zdHJ1Y3Rpb24gZXhwcmVzc2lvbi5cclxuICogQHBhcmFtIGV4cHJlc3Npb24gSW5wdXQgZXhwcmVzc2lvbiB2YWx1ZS5cclxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBnZXRJbnZva2VkTmFtZShleHByZXNzaW9uKTtcclxuICogYGBgXHJcbiAqL1xyXG5mdW5jdGlvbiBnZXRJbnZva2VkTmFtZShcclxuICBleHByZXNzaW9uOiBFU1RyZWUuQ2FsbEV4cHJlc3Npb24gfCBFU1RyZWUuTmV3RXhwcmVzc2lvbixcclxuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcclxuICByZXR1cm4gZ2V0RXhwcmVzc2lvbk5hbWUoZXhwcmVzc2lvbi5jYWxsZWUpO1xyXG59XHJcblxyXG4vKipcclxuICogQ2hlY2tzIHdoZXRoZXIgYW4gZXhwcmVzc2lvbiBpcyBjYWxsYWJsZS5cclxuICogQHBhcmFtIGV4cHJlc3Npb24gSW5wdXQgZXhwcmVzc2lvbiB2YWx1ZS5cclxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBpc0NhbGxhYmxlRXhwcmVzc2lvbihleHByZXNzaW9uKTtcclxuICogYGBgXHJcbiAqL1xyXG5mdW5jdGlvbiBpc0NhbGxhYmxlRXhwcmVzc2lvbihcclxuICBleHByZXNzaW9uOiBFU1RyZWUuRXhwcmVzc2lvbiB8IHVuZGVmaW5lZCxcclxuKTogZXhwcmVzc2lvbiBpcyBFU1RyZWUuQ2FsbEV4cHJlc3Npb24gfCBFU1RyZWUuTmV3RXhwcmVzc2lvbiB7XHJcbiAgcmV0dXJuIChcclxuICAgIGV4cHJlc3Npb24/LnR5cGUgPT09IFwiQ2FsbEV4cHJlc3Npb25cIiB8fFxyXG4gICAgZXhwcmVzc2lvbj8udHlwZSA9PT0gXCJOZXdFeHByZXNzaW9uXCJcclxuICApO1xyXG59XHJcblxyXG4vKipcclxuICogQ2hlY2tzIHdoZXRoZXIgYSBjb21tZW50IGhhcyBsb2NhdGlvbiBtZXRhZGF0YS5cclxuICogQHBhcmFtIGNvbW1lbnQgSW5wdXQgY29tbWVudCB2YWx1ZS5cclxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBpc0xvY2F0ZWRDb21tZW50KGNvbW1lbnQpO1xyXG4gKiBgYGBcclxuICovXHJcbmZ1bmN0aW9uIGlzTG9jYXRlZENvbW1lbnQoY29tbWVudDogU291cmNlQ29tbWVudCk6IGNvbW1lbnQgaXMgTG9jYXRlZENvbW1lbnQge1xyXG4gIHJldHVybiAoXHJcbiAgICBjb21tZW50LmxvYyAhPT0gbnVsbCAmJiBjb21tZW50LmxvYyAhPT0gdm9pZCAwICYmIGNvbW1lbnQucmFuZ2UgIT09IHZvaWQgMFxyXG4gICk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDaGVja3Mgd2hldGhlciBhIHZhbHVlIGlzIGFuIEVTVHJlZSBub2RlLlxyXG4gKiBAcGFyYW0gdmFsdWUgSW5wdXQgdmFsdWUgdmFsdWUuXHJcbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogaXNOb2RlKHZhbHVlKTtcclxuICogYGBgXHJcbiAqL1xyXG5mdW5jdGlvbiBpc05vZGUodmFsdWU6IHVua25vd24pOiB2YWx1ZSBpcyBFU1RyZWUuTm9kZSB7XHJcbiAgcmV0dXJuIChcclxuICAgIHR5cGVvZiB2YWx1ZSA9PT0gXCJvYmplY3RcIiAmJlxyXG4gICAgdmFsdWUgIT09IG51bGwgJiZcclxuICAgIFwidHlwZVwiIGluIHZhbHVlICYmXHJcbiAgICB0eXBlb2YgKHZhbHVlIGFzIE5vZGVMaWtlVmFsdWUpLnR5cGUgPT09IFwic3RyaW5nXCJcclxuICApO1xyXG59XHJcblxyXG4vKipcclxuICogQ2hlY2tzIHdoZXRoZXIgYSByYW5nZSBpcyBmdWxseSBjb250YWluZWQgd2l0aGluIGFub3RoZXIgcmFuZ2UuXHJcbiAqIEBwYXJhbSByYW5nZSBJbnB1dCByYW5nZSB2YWx1ZS5cclxuICogQHBhcmFtIGNvbnRhaW5lciBJbnB1dCBjb250YWluZXIgdmFsdWUuXHJcbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogaXNSYW5nZVdpdGhpbihyYW5nZSwgY29udGFpbmVyKTtcclxuICogYGBgXHJcbiAqL1xyXG5mdW5jdGlvbiBpc1JhbmdlV2l0aGluKFxyXG4gIHJhbmdlOiBbbnVtYmVyLCBudW1iZXJdLFxyXG4gIGNvbnRhaW5lcjogW251bWJlciwgbnVtYmVyXSxcclxuKTogYm9vbGVhbiB7XHJcbiAgcmV0dXJuIHJhbmdlWzBdID49IGNvbnRhaW5lclswXSAmJiByYW5nZVsxXSA8PSBjb250YWluZXJbMV07XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDaGVja3Mgd2hldGhlciBhIGNvbnN0cnVjdG9yIGNhbGwgc2hvdWxkIGJlIHRyZWF0ZWQgYXMgc2V0dXAuXHJcbiAqIEBwYXJhbSBleHByZXNzaW9uIElucHV0IGV4cHJlc3Npb24gdmFsdWUuXHJcbiAqIEBwYXJhbSBjYWxsZWVOYW1lIElucHV0IGNhbGxlZU5hbWUgdmFsdWUuXHJcbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogaXNVdGlsaXR5Q29uc3RydWN0b3IoZXhwcmVzc2lvbiwgXCJNYXBcIik7XHJcbiAqIGBgYFxyXG4gKi9cclxuZnVuY3Rpb24gaXNVdGlsaXR5Q29uc3RydWN0b3IoXHJcbiAgZXhwcmVzc2lvbjogRVNUcmVlLkNhbGxFeHByZXNzaW9uIHwgRVNUcmVlLk5ld0V4cHJlc3Npb24sXHJcbiAgY2FsbGVlTmFtZTogc3RyaW5nLFxyXG4pOiBib29sZWFuIHtcclxuICByZXR1cm4gKFxyXG4gICAgZXhwcmVzc2lvbi50eXBlID09PSBcIk5ld0V4cHJlc3Npb25cIiAmJlxyXG4gICAgKGNhbGxlZU5hbWUgPT09IFwiTWFwXCIgfHxcclxuICAgICAgY2FsbGVlTmFtZSA9PT0gXCJTZXRcIiB8fFxyXG4gICAgICBjYWxsZWVOYW1lID09PSBcIlNvdXJjZUNvZGVcIiB8fFxyXG4gICAgICBjYWxsZWVOYW1lID09PSBcIkVTTGludFwiKVxyXG4gICk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDaGVja3Mgd2hldGhlciBhIGNhbGxlZSBuYW1lIGxvb2tzIHV0aWxpdHktbGlrZS5cclxuICogQHBhcmFtIGNhbGxlZU5hbWUgSW5wdXQgY2FsbGVlTmFtZSB2YWx1ZS5cclxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBpc1V0aWxpdHlOYW1lZENhbGwoXCJzZXR1cEZpeHR1cmVcIik7XHJcbiAqIGBgYFxyXG4gKi9cclxuZnVuY3Rpb24gaXNVdGlsaXR5TmFtZWRDYWxsKGNhbGxlZU5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gIHJldHVybiB1dGlsaXR5TWV0aG9kTmFtZXMuaGFzKGNhbGxlZU5hbWUpIHx8IHNldHVwTGlrZU5hbWVzLnRlc3QoY2FsbGVlTmFtZSk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDaGVja3Mgd2hldGhlciBhIGNhbGwgdXNlcyBhIHV0aWxpdHkgbmFtZXNwYWNlLlxyXG4gKiBAcGFyYW0gZXhwcmVzc2lvbiBJbnB1dCBleHByZXNzaW9uIHZhbHVlLlxyXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGlzVXRpbGl0eU5hbWVzcGFjZUNhbGwoZXhwcmVzc2lvbik7XHJcbiAqIGBgYFxyXG4gKi9cclxuZnVuY3Rpb24gaXNVdGlsaXR5TmFtZXNwYWNlQ2FsbChcclxuICBleHByZXNzaW9uOiBFU1RyZWUuQ2FsbEV4cHJlc3Npb24gfCBFU1RyZWUuTmV3RXhwcmVzc2lvbixcclxuKTogYm9vbGVhbiB7XHJcbiAgcmV0dXJuIChcclxuICAgIGV4cHJlc3Npb24uY2FsbGVlLnR5cGUgPT09IFwiTWVtYmVyRXhwcmVzc2lvblwiICYmXHJcbiAgICBleHByZXNzaW9uLmNhbGxlZS5vYmplY3QudHlwZSA9PT0gXCJJZGVudGlmaWVyXCIgJiZcclxuICAgIFtcImNvbnNvbGVcIiwgXCJ2aVwiXS5pbmNsdWRlcyhleHByZXNzaW9uLmNhbGxlZS5vYmplY3QubmFtZSlcclxuICApO1xyXG59XHJcblxyXG4vKipcclxuICogVmlzaXRzIGFuIEVTVHJlZSBub2RlIGdyYXBoIHdoaWxlIGlnbm9yaW5nIGN5Y2xlcy5cclxuICogQHBhcmFtIG5vZGUgSW5wdXQgbm9kZSB2YWx1ZS5cclxuICogQHBhcmFtIGNhbGxiYWNrIElucHV0IGNhbGxiYWNrIHZhbHVlLlxyXG4gKiBAcGFyYW0gc2Vlbk5vZGVzIElucHV0IHNlZW5Ob2RlcyB2YWx1ZS5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiB2aXNpdE5vZGUobm9kZSwgKCkgPT4ge30pO1xyXG4gKiBgYGBcclxuICovXHJcbmZ1bmN0aW9uIHZpc2l0Tm9kZShcclxuICBub2RlOiBFU1RyZWUuTm9kZSxcclxuICBjYWxsYmFjazogKG5vZGU6IEVTVHJlZS5Ob2RlKSA9PiB2b2lkLFxyXG4gIHNlZW5Ob2RlcyA9IG5ldyBXZWFrU2V0PG9iamVjdD4oKSxcclxuKTogdm9pZCB7XHJcbiAgaWYgKHNlZW5Ob2Rlcy5oYXMobm9kZSkpIHtcclxuICAgIHJldHVybjtcclxuICB9XHJcblxyXG4gIHNlZW5Ob2Rlcy5hZGQobm9kZSk7XHJcbiAgY2FsbGJhY2sobm9kZSk7XHJcblxyXG4gIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKG5vZGUpKSB7XHJcbiAgICBpZiAoa2V5ICE9PSBcInBhcmVudFwiKSB7XHJcbiAgICAgIHZpc2l0VmFsdWUodmFsdWUsIGNhbGxiYWNrLCBzZWVuTm9kZXMpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIFZpc2l0cyBjaGlsZCB2YWx1ZXMgdGhhdCBtYXkgY29udGFpbiBuZXN0ZWQgRVNUcmVlIG5vZGVzLlxyXG4gKiBAcGFyYW0gdmFsdWUgSW5wdXQgdmFsdWUgdmFsdWUuXHJcbiAqIEBwYXJhbSBjYWxsYmFjayBJbnB1dCBjYWxsYmFjayB2YWx1ZS5cclxuICogQHBhcmFtIHNlZW5Ob2RlcyBJbnB1dCBzZWVuTm9kZXMgdmFsdWUuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogdmlzaXRWYWx1ZSh2YWx1ZSwgKCkgPT4ge30sIG5ldyBXZWFrU2V0PG9iamVjdD4oKSk7XHJcbiAqIGBgYFxyXG4gKi9cclxuZnVuY3Rpb24gdmlzaXRWYWx1ZShcclxuICB2YWx1ZTogdW5rbm93bixcclxuICBjYWxsYmFjazogKG5vZGU6IEVTVHJlZS5Ob2RlKSA9PiB2b2lkLFxyXG4gIHNlZW5Ob2RlczogV2Vha1NldDxvYmplY3Q+LFxyXG4pOiB2b2lkIHtcclxuICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcclxuICAgIGZvciAoY29uc3QgaXRlbSBvZiB2YWx1ZSkge1xyXG4gICAgICBpZiAoaXNOb2RlKGl0ZW0pKSB7XHJcbiAgICAgICAgdmlzaXROb2RlKGl0ZW0sIGNhbGxiYWNrLCBzZWVuTm9kZXMpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuO1xyXG4gIH1cclxuXHJcbiAgaWYgKGlzTm9kZSh2YWx1ZSkpIHtcclxuICAgIHZpc2l0Tm9kZSh2YWx1ZSwgY2FsbGJhY2ssIHNlZW5Ob2Rlcyk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQge1xyXG4gIGFycmF5TXV0YXRpb25NZXRob2RzLFxyXG4gIGdldEV4cHJlc3Npb25OYW1lLFxyXG4gIGdldEludm9rZWROYW1lLFxyXG4gIGlzQ2FsbGFibGVFeHByZXNzaW9uLFxyXG4gIGlzTG9jYXRlZENvbW1lbnQsXHJcbiAgaXNSYW5nZVdpdGhpbixcclxuICBpc1V0aWxpdHlDb25zdHJ1Y3RvcixcclxuICBpc1V0aWxpdHlOYW1lZENhbGwsXHJcbiAgaXNVdGlsaXR5TmFtZXNwYWNlQ2FsbCxcclxuICBzZXR1cExpa2VOYW1lcyxcclxuICB1dGlsaXR5TWV0aG9kTmFtZXMsXHJcbiAgdmlzaXROb2RlLFxyXG4gIHZvaWRMaWtlTWV0aG9kTmFtZXMsXHJcbiAgdm9pZExpa2VOYW1lUGF0dGVybixcclxufTtcclxuIl19
|
|
210
|
+
export { arrayMutationMethods, getExpressionName, getInvokedName, isCallableExpression, isLocatedComment, isRangeWithin, isUtilityConstructor, isUtilityNamedCall, isUtilityNamespaceCall, isVoidLikeMethodName, setupLikeNames, utilityMethodNames, visitNode, voidLikeMethodNames, };
|
|
211
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl6ZXIuc3VwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL3Rlc3RpbmcvYWFhL2FuYWx5emVyLnN1cGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSxTQUFTLElBQUksdUJBQXVCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVoRjs7Ozs7Ozs7OztHQVVHO0FBQ0gsU0FBUyxPQUFPLENBQ2QsY0FBdUQ7SUFFdkQsT0FBTyxDQUFDLEdBQUcsVUFBVSxFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQUMsR0FBRyxVQUFVLENBQUMsQ0FBQztBQUMxRCxDQUFDO0FBRUQseURBQXlEO0FBQ3pELE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0FBRW5ELGlFQUFpRTtBQUNqRSxNQUFNLG9CQUFvQixHQUFHLElBQUksR0FBRyxDQUFDO0lBQ25DLFlBQVk7SUFDWixNQUFNO0lBQ04sS0FBSztJQUNMLE1BQU07SUFDTixTQUFTO0lBQ1QsT0FBTztJQUNQLE1BQU07SUFDTixRQUFRO0lBQ1IsU0FBUztDQUNWLENBQUMsQ0FBQztBQUVILCtEQUErRDtBQUMvRCxNQUFNLGNBQWMsR0FDbEIsd0ZBQXdGLENBQUM7QUFFM0Ysb0ZBQW9GO0FBQ3BGLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxHQUFHLENBQUM7SUFDakMscUJBQXFCO0lBQ3JCLGVBQWU7SUFDZixPQUFPO0lBQ1AsSUFBSTtJQUNKLE1BQU07SUFDTixNQUFNO0lBQ04sS0FBSztJQUNMLG9CQUFvQjtJQUNwQixtQkFBbUI7SUFDbkIsbUJBQW1CO0lBQ25CLGlCQUFpQjtJQUNqQixNQUFNO0lBQ04sZUFBZTtJQUNmLFNBQVM7SUFDVCxlQUFlO0lBQ2YsTUFBTTtDQUNQLENBQUMsQ0FBQztBQUVILHNFQUFzRTtBQUN0RSxNQUFNLG1CQUFtQixHQUFHLElBQUksR0FBRyxDQUFDO0lBQ2xDLE9BQU87SUFDUCxP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VSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssa0JBQWtCO1FBQzdDLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxZQUFZO1FBQzlDLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FDMUQsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILFNBQVMsb0JBQW9CLENBQUMsVUFBa0I7SUFDOUMsT0FBTyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUNoRixDQUFDO0FBRUQsT0FBTyxFQUNMLG9CQUFvQixFQUNwQixpQkFBaUIsRUFDakIsY0FBYyxFQUNkLG9CQUFvQixFQUNwQixnQkFBZ0IsRUFDaEIsYUFBYSxFQUNiLG9CQUFvQixFQUNwQixrQkFBa0IsRUFDbEIsc0JBQXNCLEVBQ3RCLG9CQUFvQixFQUNwQixjQUFjLEVBQ2Qsa0JBQWtCLEVBQ2xCLFNBQVMsRUFDVCxtQkFBbUIsR0FDcEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlICogYXMgRVNUcmVlIGZyb20gXCJlc3RyZWVcIjtcclxuXHJcbmltcG9ydCB0eXBlIHsgTG9jYXRlZENvbW1lbnQsIFNvdXJjZUNvbW1lbnQgfSBmcm9tIFwiLi90eXBlc1wiO1xyXG5cclxuaW1wb3J0IHsgdmlzaXROb2RlIGFzIHZpc2l0Tm9kZUltcGxlbWVudGF0aW9uIH0gZnJvbSBcIi4vYW5hbHl6ZXIuc3VwZXIuaGVscGVyc1wiO1xyXG5cclxuLyoqXHJcbiAqIENyZWF0ZXMgYSBsb2NhbCBmb3J3YXJkaW5nIGZ1bmN0aW9uIGZvciBhbiBpbXBvcnRlZCBhbmFseXplciBoZWxwZXIuXHJcbiAqIEB0ZW1wbGF0ZSBUUGFyYW1ldGVycyBGb3J3YXJkZWQgcGFyYW1ldGVyIHR1cGxlLlxyXG4gKiBAdGVtcGxhdGUgVFJlc3VsdCBGb3J3YXJkZWQgcmV0dXJuIHR5cGUuXHJcbiAqIEBwYXJhbSBpbXBsZW1lbnRhdGlvbiBJbXBvcnRlZCBoZWxwZXIgaW1wbGVtZW50YXRpb24uXHJcbiAqIEByZXR1cm5zIExvY2FsIGZ1bmN0aW9uIHRoYXQgZm9yd2FyZHMgYWxsIGFyZ3VtZW50cyB0byB0aGUgaW1wbGVtZW50YXRpb24uXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogY29uc3QgbG9jYWxIZWxwZXIgPSBmb3J3YXJkKGltcGxlbWVudGF0aW9uKTtcclxuICogYGBgXHJcbiAqL1xyXG5mdW5jdGlvbiBmb3J3YXJkPFRQYXJhbWV0ZXJzIGV4dGVuZHMgdW5rbm93bltdLCBUUmVzdWx0PihcclxuICBpbXBsZW1lbnRhdGlvbjogKC4uLnBhcmFtZXRlcnM6IFRQYXJhbWV0ZXJzKSA9PiBUUmVzdWx0LFxyXG4pOiAoLi4ucGFyYW1ldGVyczogVFBhcmFtZXRlcnMpID0+IFRSZXN1bHQge1xyXG4gIHJldHVybiAoLi4ucGFyYW1ldGVycykgPT4gaW1wbGVtZW50YXRpb24oLi4ucGFyYW1ldGVycyk7XHJcbn1cclxuXHJcbi8qKiBWaXNpdHMgYW4gRVNUcmVlIG5vZGUgZ3JhcGggd2hpbGUgaWdub3JpbmcgY3ljbGVzLiAqL1xyXG5jb25zdCB2aXNpdE5vZGUgPSBmb3J3YXJkKHZpc2l0Tm9kZUltcGxlbWVudGF0aW9uKTtcclxuXHJcbi8qKiBBcnJheSBtdXRhdG9yIG1ldGhvZHMgdGhhdCBpbXBseSBvYnNlcnZhYmxlIHN0YXRlIGNoYW5nZXMuICovXHJcbmNvbnN0IGFycmF5TXV0YXRpb25NZXRob2RzID0gbmV3IFNldChbXHJcbiAgXCJjb3B5V2l0aGluXCIsXHJcbiAgXCJmaWxsXCIsXHJcbiAgXCJwb3BcIixcclxuICBcInB1c2hcIixcclxuICBcInJldmVyc2VcIixcclxuICBcInNoaWZ0XCIsXHJcbiAgXCJzb3J0XCIsXHJcbiAgXCJzcGxpY2VcIixcclxuICBcInVuc2hpZnRcIixcclxuXSk7XHJcblxyXG4vKiogTmFtZXMgdGhhdCB1c3VhbGx5IHNpZ25hbCBBcnJhbmdlLW9yaWVudGVkIGhlbHBlciBjYWxscy4gKi9cclxuY29uc3Qgc2V0dXBMaWtlTmFtZXMgPVxyXG4gIC9eKD86YXJyYW5nZXxidWlsZHxjcmVhdGV8Zml4dHVyZXxnZXR8Z2l2ZW58bWFrZXxtb2NrfHBhcnNlfHNlZWR8c2V0dXB8c3B5fHN0dWJ8d3JpdGUpL3U7XHJcblxyXG4vKiogQ2FsbCBuYW1lcyB0aGF0IHNob3VsZCBiZSB0cmVhdGVkIGFzIHV0aWxpdHkgb3BlcmF0aW9ucyBpbnN0ZWFkIG9mIEFjdCBzdGVwcy4gKi9cclxuY29uc3QgdXRpbGl0eU1ldGhvZE5hbWVzID0gbmV3IFNldChbXHJcbiAgXCJhZHZhbmNlVGltZXJzQnlUaW1lXCIsXHJcbiAgXCJjbGVhckFsbE1vY2tzXCIsXHJcbiAgXCJkZWJ1Z1wiLFxyXG4gIFwiZm5cIixcclxuICBcImluZm9cIixcclxuICBcImpvaW5cIixcclxuICBcImxvZ1wiLFxyXG4gIFwibW9ja0ltcGxlbWVudGF0aW9uXCIsXHJcbiAgXCJtb2NrUmVqZWN0ZWRWYWx1ZVwiLFxyXG4gIFwibW9ja1Jlc29sdmVkVmFsdWVcIixcclxuICBcIm1vY2tSZXR1cm5WYWx1ZVwiLFxyXG4gIFwicHVzaFwiLFxyXG4gIFwicmVzZXRBbGxNb2Nrc1wiLFxyXG4gIFwicmVzb2x2ZVwiLFxyXG4gIFwidXNlRmFrZVRpbWVyc1wiLFxyXG4gIFwid2FyblwiLFxyXG5dKTtcclxuXHJcbi8qKiBNZXRob2QgbmFtZXMgdGhhdCB1c3VhbGx5IGJlaGF2ZSBsaWtlIHZvaWQgc2lkZS1lZmZlY3QgaGVscGVycy4gKi9cclxuY29uc3Qgdm9pZExpa2VNZXRob2ROYW1lcyA9IG5ldyBTZXQoW1xyXG4gIFwiY2xlYXJcIixcclxuICBcImRlYnVnXCIsXHJcbiAgXCJkaXNwYXRjaFwiLFxyXG4gIFwiZW1pdFwiLFxyXG4gIFwiZmx1c2hcIixcclxuICBcImluZm9cIixcclxuICBcImxvZ1wiLFxyXG4gIFwicHJpbnRcIixcclxuICBcInB1Ymxpc2hcIixcclxuICBcInJlc2V0XCIsXHJcbiAgXCJzZXRcIixcclxuICBcInRyaWdnZXJcIixcclxuICBcIndhcm5cIixcclxuXSk7XHJcblxyXG4vKipcclxuICogR2V0cyBhbiBleHByZXNzaW9uIG5hbWUgd2hlbiBpdCBjYW4gYmUgcmVzb2x2ZWQgc3RhdGljYWxseS5cclxuICogQHBhcmFtIGV4cHJlc3Npb24gSW5wdXQgZXhwcmVzc2lvbiB2YWx1ZS5cclxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBnZXRFeHByZXNzaW9uTmFtZShleHByZXNzaW9uKTtcclxuICogYGBgXHJcbiAqL1xyXG5mdW5jdGlvbiBnZXRFeHByZXNzaW9uTmFtZShcclxuICBleHByZXNzaW9uOiBFU1RyZWUuRXhwcmVzc2lvbiB8IEVTVHJlZS5Qcml2YXRlSWRlbnRpZmllciB8IEVTVHJlZS5TdXBlcixcclxuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcclxuICBpZiAoZXhwcmVzc2lvbi50eXBlID09PSBcIlN1cGVyXCIpIHtcclxuICAgIHJldHVybiB2b2lkIDA7XHJcbiAgfVxyXG5cclxuICBpZiAoZXhwcmVzc2lvbi50eXBlID09PSBcIklkZW50aWZpZXJcIikge1xyXG4gICAgcmV0dXJuIGV4cHJlc3Npb24ubmFtZTtcclxuICB9XHJcblxyXG4gIGlmIChcclxuICAgIGV4cHJlc3Npb24udHlwZSA9PT0gXCJNZW1iZXJFeHByZXNzaW9uXCIgJiZcclxuICAgIGV4cHJlc3Npb24ucHJvcGVydHkudHlwZSA9PT0gXCJJZGVudGlmaWVyXCJcclxuICApIHtcclxuICAgIHJldHVybiBleHByZXNzaW9uLnByb3BlcnR5Lm5hbWU7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gdm9pZCAwO1xyXG59XHJcblxyXG4vKipcclxuICogR2V0cyBhIGNhbGxlZSBuYW1lIGZvciBhIGNhbGwgb3IgY29uc3RydWN0aW9uIGV4cHJlc3Npb24uXHJcbiAqIEBwYXJhbSBleHByZXNzaW9uIElucHV0IGV4cHJlc3Npb24gdmFsdWUuXHJcbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogZ2V0SW52b2tlZE5hbWUoZXhwcmVzc2lvbik7XHJcbiAqIGBgYFxyXG4gKi9cclxuZnVuY3Rpb24gZ2V0SW52b2tlZE5hbWUoXHJcbiAgZXhwcmVzc2lvbjogRVNUcmVlLkNhbGxFeHByZXNzaW9uIHwgRVNUcmVlLk5ld0V4cHJlc3Npb24sXHJcbik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XHJcbiAgcmV0dXJuIGdldEV4cHJlc3Npb25OYW1lKGV4cHJlc3Npb24uY2FsbGVlKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFNwbGl0cyBhbiBpZGVudGlmaWVyIGludG8gbG93ZXJjYXNlIHdvcmQgdG9rZW5zLlxyXG4gKiBAcGFyYW0gaWRlbnRpZmllciBJbnB1dCBpZGVudGlmaWVyIHZhbHVlLlxyXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGdldE5hbWVXb3JkcyhcInNjaGVkdWxlQW5kRmx1c2hcIik7XHJcbiAqIGBgYFxyXG4gKi9cclxuZnVuY3Rpb24gZ2V0TmFtZVdvcmRzKGlkZW50aWZpZXI6IHN0cmluZyk6IHN0cmluZ1tdIHtcclxuICByZXR1cm4gaWRlbnRpZmllclxyXG4gICAgLnNwbGl0KC8oPz1bQS1aXSl8W18tXS91KVxyXG4gICAgLm1hcCgoc2VnbWVudCkgPT4gc2VnbWVudC50b0xvd2VyQ2FzZSgpKVxyXG4gICAgLmZpbHRlcigoc2VnbWVudCkgPT4gc2VnbWVudC5sZW5ndGggPiAwKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIENoZWNrcyB3aGV0aGVyIGFuIGV4cHJlc3Npb24gaXMgY2FsbGFibGUuXHJcbiAqIEBwYXJhbSBleHByZXNzaW9uIElucHV0IGV4cHJlc3Npb24gdmFsdWUuXHJcbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogaXNDYWxsYWJsZUV4cHJlc3Npb24oZXhwcmVzc2lvbik7XHJcbiAqIGBgYFxyXG4gKi9cclxuZnVuY3Rpb24gaXNDYWxsYWJsZUV4cHJlc3Npb24oXHJcbiAgZXhwcmVzc2lvbjogRVNUcmVlLkV4cHJlc3Npb24gfCB1bmRlZmluZWQsXHJcbik6IGV4cHJlc3Npb24gaXMgRVNUcmVlLkNhbGxFeHByZXNzaW9uIHwgRVNUcmVlLk5ld0V4cHJlc3Npb24ge1xyXG4gIHJldHVybiAoXHJcbiAgICBleHByZXNzaW9uPy50eXBlID09PSBcIkNhbGxFeHByZXNzaW9uXCIgfHxcclxuICAgIGV4cHJlc3Npb24/LnR5cGUgPT09IFwiTmV3RXhwcmVzc2lvblwiXHJcbiAgKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIENoZWNrcyB3aGV0aGVyIGEgY29tbWVudCBoYXMgbG9jYXRpb24gbWV0YWRhdGEuXHJcbiAqIEBwYXJhbSBjb21tZW50IElucHV0IGNvbW1lbnQgdmFsdWUuXHJcbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogaXNMb2NhdGVkQ29tbWVudChjb21tZW50KTtcclxuICogYGBgXHJcbiAqL1xyXG5mdW5jdGlvbiBpc0xvY2F0ZWRDb21tZW50KGNvbW1lbnQ6IFNvdXJjZUNvbW1lbnQpOiBjb21tZW50IGlzIExvY2F0ZWRDb21tZW50IHtcclxuICByZXR1cm4gKFxyXG4gICAgY29tbWVudC5sb2MgIT09IG51bGwgJiYgY29tbWVudC5sb2MgIT09IHZvaWQgMCAmJiBjb21tZW50LnJhbmdlICE9PSB2b2lkIDBcclxuICApO1xyXG59XHJcblxyXG4vKipcclxuICogQ2hlY2tzIHdoZXRoZXIgYSByYW5nZSBpcyBmdWxseSBjb250YWluZWQgd2l0aGluIGFub3RoZXIgcmFuZ2UuXHJcbiAqIEBwYXJhbSByYW5nZSBJbnB1dCByYW5nZSB2YWx1ZS5cclxuICogQHBhcmFtIGNvbnRhaW5lciBJbnB1dCBjb250YWluZXIgdmFsdWUuXHJcbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogaXNSYW5nZVdpdGhpbihyYW5nZSwgY29udGFpbmVyKTtcclxuICogYGBgXHJcbiAqL1xyXG5mdW5jdGlvbiBpc1JhbmdlV2l0aGluKFxyXG4gIHJhbmdlOiBbbnVtYmVyLCBudW1iZXJdLFxyXG4gIGNvbnRhaW5lcjogW251bWJlciwgbnVtYmVyXSxcclxuKTogYm9vbGVhbiB7XHJcbiAgcmV0dXJuIHJhbmdlWzBdID49IGNvbnRhaW5lclswXSAmJiByYW5nZVsxXSA8PSBjb250YWluZXJbMV07XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDaGVja3Mgd2hldGhlciBhIGNvbnN0cnVjdG9yIGNhbGwgc2hvdWxkIGJlIHRyZWF0ZWQgYXMgc2V0dXAuXHJcbiAqIEBwYXJhbSBleHByZXNzaW9uIElucHV0IGV4cHJlc3Npb24gdmFsdWUuXHJcbiAqIEBwYXJhbSBjYWxsZWVOYW1lIElucHV0IGNhbGxlZU5hbWUgdmFsdWUuXHJcbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogaXNVdGlsaXR5Q29uc3RydWN0b3IoZXhwcmVzc2lvbiwgXCJNYXBcIik7XHJcbiAqIGBgYFxyXG4gKi9cclxuZnVuY3Rpb24gaXNVdGlsaXR5Q29uc3RydWN0b3IoXHJcbiAgZXhwcmVzc2lvbjogRVNUcmVlLkNhbGxFeHByZXNzaW9uIHwgRVNUcmVlLk5ld0V4cHJlc3Npb24sXHJcbiAgY2FsbGVlTmFtZTogc3RyaW5nLFxyXG4pOiBib29sZWFuIHtcclxuICByZXR1cm4gKFxyXG4gICAgZXhwcmVzc2lvbi50eXBlID09PSBcIk5ld0V4cHJlc3Npb25cIiAmJlxyXG4gICAgKGNhbGxlZU5hbWUgPT09IFwiRXJyb3JcIiB8fFxyXG4gICAgICBjYWxsZWVOYW1lID09PSBcIk1hcFwiIHx8XHJcbiAgICAgIGNhbGxlZU5hbWUgPT09IFwiU2V0XCIgfHxcclxuICAgICAgY2FsbGVlTmFtZSA9PT0gXCJTb3VyY2VDb2RlXCIgfHxcclxuICAgICAgY2FsbGVlTmFtZSA9PT0gXCJFU0xpbnRcIilcclxuICApO1xyXG59XHJcblxyXG4vKipcclxuICogQ2hlY2tzIHdoZXRoZXIgYSBjYWxsZWUgbmFtZSBsb29rcyB1dGlsaXR5LWxpa2UuXHJcbiAqIEBwYXJhbSBjYWxsZWVOYW1lIElucHV0IGNhbGxlZU5hbWUgdmFsdWUuXHJcbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogaXNVdGlsaXR5TmFtZWRDYWxsKFwic2V0dXBGaXh0dXJlXCIpO1xyXG4gKiBgYGBcclxuICovXHJcbmZ1bmN0aW9uIGlzVXRpbGl0eU5hbWVkQ2FsbChjYWxsZWVOYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICByZXR1cm4gdXRpbGl0eU1ldGhvZE5hbWVzLmhhcyhjYWxsZWVOYW1lKSB8fCBzZXR1cExpa2VOYW1lcy50ZXN0KGNhbGxlZU5hbWUpO1xyXG59XHJcblxyXG4vKipcclxuICogQ2hlY2tzIHdoZXRoZXIgYSBjYWxsIHVzZXMgYSB1dGlsaXR5IG5hbWVzcGFjZS5cclxuICogQHBhcmFtIGV4cHJlc3Npb24gSW5wdXQgZXhwcmVzc2lvbiB2YWx1ZS5cclxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBpc1V0aWxpdHlOYW1lc3BhY2VDYWxsKGV4cHJlc3Npb24pO1xyXG4gKiBgYGBcclxuICovXHJcbmZ1bmN0aW9uIGlzVXRpbGl0eU5hbWVzcGFjZUNhbGwoXHJcbiAgZXhwcmVzc2lvbjogRVNUcmVlLkNhbGxFeHByZXNzaW9uIHwgRVNUcmVlLk5ld0V4cHJlc3Npb24sXHJcbik6IGJvb2xlYW4ge1xyXG4gIHJldHVybiAoXHJcbiAgICBleHByZXNzaW9uLmNhbGxlZS50eXBlID09PSBcIk1lbWJlckV4cHJlc3Npb25cIiAmJlxyXG4gICAgZXhwcmVzc2lvbi5jYWxsZWUub2JqZWN0LnR5cGUgPT09IFwiSWRlbnRpZmllclwiICYmXHJcbiAgICBbXCJjb25zb2xlXCIsIFwidmlcIl0uaW5jbHVkZXMoZXhwcmVzc2lvbi5jYWxsZWUub2JqZWN0Lm5hbWUpXHJcbiAgKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIENoZWNrcyB3aGV0aGVyIGEgY2FsbCBuYW1lIGlzIGJ1aWx0IGZyb20gdm9pZC1saWtlIHZlcmIgdG9rZW5zLlxyXG4gKiBAcGFyYW0gY2FsbGVlTmFtZSBJbnB1dCBjYWxsZWVOYW1lIHZhbHVlLlxyXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGlzVm9pZExpa2VNZXRob2ROYW1lKFwic2NoZWR1bGVBbmRGbHVzaFwiKTtcclxuICogYGBgXHJcbiAqL1xyXG5mdW5jdGlvbiBpc1ZvaWRMaWtlTWV0aG9kTmFtZShjYWxsZWVOYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICByZXR1cm4gZ2V0TmFtZVdvcmRzKGNhbGxlZU5hbWUpLnNvbWUoKHdvcmQpID0+IHZvaWRMaWtlTWV0aG9kTmFtZXMuaGFzKHdvcmQpKTtcclxufVxyXG5cclxuZXhwb3J0IHtcclxuICBhcnJheU11dGF0aW9uTWV0aG9kcyxcclxuICBnZXRFeHByZXNzaW9uTmFtZSxcclxuICBnZXRJbnZva2VkTmFtZSxcclxuICBpc0NhbGxhYmxlRXhwcmVzc2lvbixcclxuICBpc0xvY2F0ZWRDb21tZW50LFxyXG4gIGlzUmFuZ2VXaXRoaW4sXHJcbiAgaXNVdGlsaXR5Q29uc3RydWN0b3IsXHJcbiAgaXNVdGlsaXR5TmFtZWRDYWxsLFxyXG4gIGlzVXRpbGl0eU5hbWVzcGFjZUNhbGwsXHJcbiAgaXNWb2lkTGlrZU1ldGhvZE5hbWUsXHJcbiAgc2V0dXBMaWtlTmFtZXMsXHJcbiAgdXRpbGl0eU1ldGhvZE5hbWVzLFxyXG4gIHZpc2l0Tm9kZSxcclxuICB2b2lkTGlrZU1ldGhvZE5hbWVzLFxyXG59O1xyXG4iXX0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rule.d.ts","sourceRoot":"","sources":["../../../../src/domain/testing/assert-actual-expected-names/rule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"rule.d.ts","sourceRoot":"","sources":["../../../../src/domain/testing/assert-actual-expected-names/rule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAqInC,qFAAqF;AACrF,QAAA,MAAM,6BAA6B,EAAE,IAAI,CAAC,UA0CzC,CAAC;AAEF,OAAO,EAAE,6BAA6B,EAAE,CAAC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { createRuleDocumentation } from "../../custom-rule-documentation.js";
|
|
2
1
|
import { analyzeTestBlock, getAssertDeclaredIdentifiers, getAssertionIdentifiers, hasAssertion, usesPrefix, } from "../aaa/index.js";
|
|
3
2
|
/**
|
|
4
3
|
* Builds the de-duplication key for a reported assertion identifier.
|
|
@@ -101,7 +100,11 @@ const assertActualExpectedNamesRule = {
|
|
|
101
100
|
};
|
|
102
101
|
},
|
|
103
102
|
meta: {
|
|
104
|
-
docs:
|
|
103
|
+
docs: {
|
|
104
|
+
description: "Require Assert-phase comparison variables to use actual*/expected* prefixes.",
|
|
105
|
+
recommended: false,
|
|
106
|
+
url: "https://github.com/parloti/eslint-plugin/blob/main/docs/rules/assert-actual-expected-names.md",
|
|
107
|
+
},
|
|
105
108
|
messages: {
|
|
106
109
|
missingPrefix: "Rename '{{name}}' to use the '{{prefix}}' prefix when comparing values inside // Assert.",
|
|
107
110
|
},
|
|
@@ -110,4 +113,4 @@ const assertActualExpectedNamesRule = {
|
|
|
110
113
|
},
|
|
111
114
|
};
|
|
112
115
|
export { assertActualExpectedNamesRule };
|
|
113
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vdGVzdGluZy9hc3NlcnQtYWN0dWFsLWV4cGVjdGVkLW5hbWVzL3J1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDMUUsT0FBTyxFQUNMLGdCQUFnQixFQUNoQiw0QkFBNEIsRUFDNUIsdUJBQXVCLEVBQ3ZCLFlBQVksRUFDWixVQUFVLEdBQ1gsTUFBTSxRQUFRLENBQUM7QUFzQ2hCOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxNQUF1QixFQUFFLElBQVksRUFBVSxFQUFFLENBQzNFLEdBQUcsTUFBTSxJQUFJLElBQUksRUFBRSxDQUFDO0FBRXRCOzs7Ozs7Ozs7Ozs7O0dBYUc7QUFDSCxNQUFNLHlCQUF5QixHQUFHLENBQ2hDLEtBQXFDLEVBQy9CLEVBQUU7SUFDUixNQUFNLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLEdBQUcsS0FBSyxDQUFDO0lBRTVFLE1BQU0sa0JBQWtCLEdBQ3RCLElBQUksS0FBSyxLQUFLLENBQUMsSUFBSSxVQUFVLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQztRQUN6QyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ1IsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQyxJQUFJLGtCQUFrQixLQUFLLEtBQUssQ0FBQyxJQUFJLElBQUksS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3JELE9BQU87SUFDVCxDQUFDO0lBRUQsTUFBTSxlQUFlLEdBQUcsa0JBQWtCLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3pELElBQUksYUFBYSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDO1FBQ3ZDLE9BQU87SUFDVCxDQUFDO0lBRUQsYUFBYSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNuQyxPQUFPLENBQUMsTUFBTSxDQUFDO1FBQ2IsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRTtRQUN0QixTQUFTLEVBQUUsZUFBZTtRQUMxQixJQUFJLEVBQUUsa0JBQWtCO0tBQ3pCLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQztBQUVGOzs7Ozs7Ozs7Ozs7R0FZRztBQUNILE1BQU0sdUJBQXVCLEdBQUcsQ0FBQyxLQUFtQyxFQUFRLEVBQUU7SUFDNUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLEdBQUcsS0FBSyxDQUFDO0lBQzdFLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsdUJBQXVCLENBQUMsYUFBYSxDQUFDLENBQUM7SUFFcEUseUJBQXlCLENBQUM7UUFDeEIsT0FBTztRQUNQLG1CQUFtQjtRQUNuQixJQUFJLEVBQUUsTUFBTTtRQUNaLE1BQU0sRUFBRSxRQUFRO1FBQ2hCLGFBQWE7S0FDZCxDQUFDLENBQUM7SUFDSCx5QkFBeUIsQ0FBQztRQUN4QixPQUFPO1FBQ1AsbUJBQW1CO1FBQ25CLElBQUksRUFBRSxRQUFRO1FBQ2QsTUFBTSxFQUFFLFVBQVU7UUFDbEIsYUFBYTtLQUNkLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQztBQUVGLHFGQUFxRjtBQUNyRixNQUFNLDZCQUE2QixHQUFvQjtJQUNyRCxNQUFNLENBQUMsT0FBeUI7UUFDOUIsT0FBTztZQUNMLGNBQWMsQ0FBQyxJQUFJO2dCQUNqQixNQUFNLFFBQVEsR0FBRyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQ2pELElBQUksUUFBUSxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUM7b0JBQ3hCLE9BQU87Z0JBQ1QsQ0FBQztnQkFFRCxNQUFNLG1CQUFtQixHQUFHLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUNuRSxNQUFNLGFBQWEsR0FBRyxJQUFJLEdBQUcsRUFBVSxDQUFDO2dCQUV4QyxLQUFLLE1BQU0sU0FBUyxJQUFJLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztvQkFDNUMsSUFDRSxTQUFTLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7d0JBQ25DLFlBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQzVCLENBQUM7d0JBQ0QsdUJBQXVCLENBQUM7NEJBQ3RCLGFBQWEsRUFBRSxTQUFTLENBQUMsSUFBSTs0QkFDN0IsT0FBTzs0QkFDUCxtQkFBbUI7NEJBQ25CLGFBQWE7eUJBQ2QsQ0FBQyxDQUFDO29CQUNMLENBQUM7Z0JBQ0gsQ0FBQztZQUNILENBQUM7U0FDMEIsQ0FBQztJQUNoQyxDQUFDO0lBQ0QsSUFBSSxFQUFFO1FBQ0osSUFBSSxFQUFFLHVCQUF1QixDQUMzQiw4QkFBOEIsRUFDOUIsOEVBQThFLENBQy9FO1FBQ0QsUUFBUSxFQUFFO1lBQ1IsYUFBYSxFQUNYLDBGQUEwRjtTQUM3RjtRQUNELE1BQU0sRUFBRSxFQUFFO1FBQ1YsSUFBSSxFQUFFLFlBQVk7S0FDbkI7Q0FDRixDQUFDO0FBRUYsT0FBTyxFQUFFLDZCQUE2QixFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJ1bGUgfSBmcm9tIFwiZXNsaW50XCI7XG5pbXBvcnQgdHlwZSAqIGFzIEVTVHJlZSBmcm9tIFwiZXN0cmVlXCI7XG5cbmltcG9ydCB7IGNyZWF0ZVJ1bGVEb2N1bWVudGF0aW9uIH0gZnJvbSBcIi4uLy4uL2N1c3RvbS1ydWxlLWRvY3VtZW50YXRpb25cIjtcbmltcG9ydCB7XG4gIGFuYWx5emVUZXN0QmxvY2ssXG4gIGdldEFzc2VydERlY2xhcmVkSWRlbnRpZmllcnMsXG4gIGdldEFzc2VydGlvbklkZW50aWZpZXJzLFxuICBoYXNBc3NlcnRpb24sXG4gIHVzZXNQcmVmaXgsXG59IGZyb20gXCIuLi9hYWFcIjtcblxuLyoqIFN1cHBvcnRlZCBhc3NlcnRpb24gdmFyaWFibGUgcHJlZml4ZXMgZW5mb3JjZWQgYnkgdGhpcyBydWxlLiAqL1xudHlwZSBBc3NlcnRpb25QcmVmaXggPSBcImFjdHVhbFwiIHwgXCJleHBlY3RlZFwiO1xuXG4vKiogQ29tcG9zaXRlIGlucHV0IGZvciByZXBvcnRpbmcgb25lIG1pc3NpbmcgYXNzZXJ0aW9uIHByZWZpeC4gKi9cbmludGVyZmFjZSBSZXBvcnRBc3NlcnRpb25JZGVudGlmaWVySW5wdXQge1xuICAvKiogQWN0aXZlIEVTTGludCBydWxlIGNvbnRleHQuICovXG4gIGNvbnRleHQ6IFJ1bGUuUnVsZUNvbnRleHQ7XG5cbiAgLyoqIERlY2xhcmVkIGlkZW50aWZpZXJzIGNvbGxlY3RlZCBmcm9tIHRoZSBhc3NlcnQgcGhhc2UuICovXG4gIGRlY2xhcmVkSWRlbnRpZmllcnM6IFJldHVyblR5cGU8dHlwZW9mIGdldEFzc2VydERlY2xhcmVkSWRlbnRpZmllcnM+O1xuXG4gIC8qKiBJZGVudGlmaWVyIG5hbWUgZXh0cmFjdGVkIGZyb20gdGhlIGFzc2VydGlvbi4gKi9cbiAgbmFtZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKiBSZXF1aXJlZCBwcmVmaXggZm9yIHRoZSBpZGVudGlmaWVyLiAqL1xuICBwcmVmaXg6IEFzc2VydGlvblByZWZpeDtcblxuICAvKiogU2V0IG9mIGFscmVhZHkgcmVwb3J0ZWQgaWRlbnRpZmllciBrZXlzLiAqL1xuICByZXBvcnRlZE5hbWVzOiBTZXQ8c3RyaW5nPjtcbn1cblxuLyoqIENvbXBvc2l0ZSBpbnB1dCBmb3IgcmVwb3J0aW5nIG1pc3NpbmcgcHJlZml4ZXMgaW4gb25lIGFzc2VydGlvbi4gKi9cbmludGVyZmFjZSBSZXBvcnRBc3NlcnRpb25QcmVmaXhlc0lucHV0IHtcbiAgLyoqIEFzc2VydGlvbiBub2RlIHdob3NlIGlkZW50aWZpZXJzIHNob3VsZCBiZSBpbnNwZWN0ZWQuICovXG4gIGFzc2VydGlvbk5vZGU6IEVTVHJlZS5TdGF0ZW1lbnQ7XG5cbiAgLyoqIEFjdGl2ZSBFU0xpbnQgcnVsZSBjb250ZXh0LiAqL1xuICBjb250ZXh0OiBSdWxlLlJ1bGVDb250ZXh0O1xuXG4gIC8qKiBEZWNsYXJlZCBpZGVudGlmaWVycyBjb2xsZWN0ZWQgZnJvbSB0aGUgYXNzZXJ0IHBoYXNlLiAqL1xuICBkZWNsYXJlZElkZW50aWZpZXJzOiBSZXR1cm5UeXBlPHR5cGVvZiBnZXRBc3NlcnREZWNsYXJlZElkZW50aWZpZXJzPjtcblxuICAvKiogU2V0IG9mIGFscmVhZHkgcmVwb3J0ZWQgaWRlbnRpZmllciBrZXlzLiAqL1xuICByZXBvcnRlZE5hbWVzOiBTZXQ8c3RyaW5nPjtcbn1cblxuLyoqXG4gKiBCdWlsZHMgdGhlIGRlLWR1cGxpY2F0aW9uIGtleSBmb3IgYSByZXBvcnRlZCBhc3NlcnRpb24gaWRlbnRpZmllci5cbiAqIEBwYXJhbSBwcmVmaXggUHJlZml4IHVzZWQgZm9yIHRoZSBhc3NlcnRpb24gaWRlbnRpZmllci5cbiAqIEBwYXJhbSBuYW1lIElkZW50aWZpZXIgbmFtZSByZXBvcnRlZCBieSB0aGUgcnVsZS5cbiAqIEByZXR1cm5zIFN0YWJsZSBkZS1kdXBsaWNhdGlvbiBrZXkgZm9yIHRoZSBpZGVudGlmaWVyLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGtleSA9IGdldFJlcG9ydGVkTmFtZUtleShcImFjdHVhbFwiLCBcInZhbHVlXCIpO1xuICogYGBgXG4gKi9cbmNvbnN0IGdldFJlcG9ydGVkTmFtZUtleSA9IChwcmVmaXg6IEFzc2VydGlvblByZWZpeCwgbmFtZTogc3RyaW5nKTogc3RyaW5nID0+XG4gIGAke3ByZWZpeH06JHtuYW1lfWA7XG5cbi8qKlxuICogUmVwb3J0cyBhIG1pc3NpbmcgYXNzZXJ0aW9uIHByZWZpeCB3aGVuIHRoZSBkZWNsYXJlZCBpZGVudGlmaWVyIGlzIGVsaWdpYmxlLlxuICogQHBhcmFtIGlucHV0IENvbXBvc2l0ZSByZXBvcnRpbmcgaW5wdXQgZm9yIG9uZSBpZGVudGlmaWVyLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIHJlcG9ydEFzc2VydGlvbklkZW50aWZpZXIoe1xuICogICBjb250ZXh0OiB7fSBhcyBSdWxlLlJ1bGVDb250ZXh0LFxuICogICBkZWNsYXJlZElkZW50aWZpZXJzOiBuZXcgTWFwKCksXG4gKiAgIG5hbWU6IFwidmFsdWVcIixcbiAqICAgcHJlZml4OiBcImFjdHVhbFwiLFxuICogICByZXBvcnRlZE5hbWVzOiBuZXcgU2V0KCksXG4gKiB9KTtcbiAqIGBgYFxuICovXG5jb25zdCByZXBvcnRBc3NlcnRpb25JZGVudGlmaWVyID0gKFxuICBpbnB1dDogUmVwb3J0QXNzZXJ0aW9uSWRlbnRpZmllcklucHV0LFxuKTogdm9pZCA9PiB7XG4gIGNvbnN0IHsgY29udGV4dCwgZGVjbGFyZWRJZGVudGlmaWVycywgbmFtZSwgcHJlZml4LCByZXBvcnRlZE5hbWVzIH0gPSBpbnB1dDtcblxuICBjb25zdCBkZWNsYXJlZElkZW50aWZpZXIgPVxuICAgIG5hbWUgPT09IHZvaWQgMCB8fCB1c2VzUHJlZml4KG5hbWUsIHByZWZpeClcbiAgICAgID8gdm9pZCAwXG4gICAgICA6IGRlY2xhcmVkSWRlbnRpZmllcnMuZ2V0KG5hbWUpO1xuICBpZiAoZGVjbGFyZWRJZGVudGlmaWVyID09PSB2b2lkIDAgfHwgbmFtZSA9PT0gdm9pZCAwKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgcmVwb3J0ZWROYW1lS2V5ID0gZ2V0UmVwb3J0ZWROYW1lS2V5KHByZWZpeCwgbmFtZSk7XG4gIGlmIChyZXBvcnRlZE5hbWVzLmhhcyhyZXBvcnRlZE5hbWVLZXkpKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgcmVwb3J0ZWROYW1lcy5hZGQocmVwb3J0ZWROYW1lS2V5KTtcbiAgY29udGV4dC5yZXBvcnQoe1xuICAgIGRhdGE6IHsgbmFtZSwgcHJlZml4IH0sXG4gICAgbWVzc2FnZUlkOiBcIm1pc3NpbmdQcmVmaXhcIixcbiAgICBub2RlOiBkZWNsYXJlZElkZW50aWZpZXIsXG4gIH0pO1xufTtcblxuLyoqXG4gKiBSZXBvcnRzIG1pc3NpbmcgcHJlZml4ZXMgZm9yIHRoZSBhY3R1YWwgYW5kIGV4cGVjdGVkIGlkZW50aWZpZXJzIGluIG9uZSBhc3NlcnRpb24uXG4gKiBAcGFyYW0gaW5wdXQgQ29tcG9zaXRlIHJlcG9ydGluZyBpbnB1dCBmb3Igb25lIGFzc2VydGlvbi5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiByZXBvcnRBc3NlcnRpb25QcmVmaXhlcyh7XG4gKiAgIGFzc2VydGlvbk5vZGU6IHt9IGFzIEVTVHJlZS5TdGF0ZW1lbnQsXG4gKiAgIGNvbnRleHQ6IHt9IGFzIFJ1bGUuUnVsZUNvbnRleHQsXG4gKiAgIGRlY2xhcmVkSWRlbnRpZmllcnM6IG5ldyBNYXAoKSxcbiAqICAgcmVwb3J0ZWROYW1lczogbmV3IFNldCgpLFxuICogfSk7XG4gKiBgYGBcbiAqL1xuY29uc3QgcmVwb3J0QXNzZXJ0aW9uUHJlZml4ZXMgPSAoaW5wdXQ6IFJlcG9ydEFzc2VydGlvblByZWZpeGVzSW5wdXQpOiB2b2lkID0+IHtcbiAgY29uc3QgeyBhc3NlcnRpb25Ob2RlLCBjb250ZXh0LCBkZWNsYXJlZElkZW50aWZpZXJzLCByZXBvcnRlZE5hbWVzIH0gPSBpbnB1dDtcbiAgY29uc3QgeyBhY3R1YWwsIGV4cGVjdGVkIH0gPSBnZXRBc3NlcnRpb25JZGVudGlmaWVycyhhc3NlcnRpb25Ob2RlKTtcblxuICByZXBvcnRBc3NlcnRpb25JZGVudGlmaWVyKHtcbiAgICBjb250ZXh0LFxuICAgIGRlY2xhcmVkSWRlbnRpZmllcnMsXG4gICAgbmFtZTogYWN0dWFsLFxuICAgIHByZWZpeDogXCJhY3R1YWxcIixcbiAgICByZXBvcnRlZE5hbWVzLFxuICB9KTtcbiAgcmVwb3J0QXNzZXJ0aW9uSWRlbnRpZmllcih7XG4gICAgY29udGV4dCxcbiAgICBkZWNsYXJlZElkZW50aWZpZXJzLFxuICAgIG5hbWU6IGV4cGVjdGVkLFxuICAgIHByZWZpeDogXCJleHBlY3RlZFwiLFxuICAgIHJlcG9ydGVkTmFtZXMsXG4gIH0pO1xufTtcblxuLyoqIEVuZm9yY2VzIGFjdHVhbC9leHBlY3RlZC1zdHlsZSBwcmVmaXhlcyBmb3IgYXNzZXJ0LXBoYXNlIGNvbXBhcmlzb24gdmFyaWFibGVzLiAqL1xuY29uc3QgYXNzZXJ0QWN0dWFsRXhwZWN0ZWROYW1lc1J1bGU6IFJ1bGUuUnVsZU1vZHVsZSA9IHtcbiAgY3JlYXRlKGNvbnRleHQ6IFJ1bGUuUnVsZUNvbnRleHQpOiBSdWxlLlJ1bGVMaXN0ZW5lciB7XG4gICAgcmV0dXJuIHtcbiAgICAgIENhbGxFeHByZXNzaW9uKG5vZGUpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgYW5hbHlzaXMgPSBhbmFseXplVGVzdEJsb2NrKGNvbnRleHQsIG5vZGUpO1xuICAgICAgICBpZiAoYW5hbHlzaXMgPT09IHZvaWQgMCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGRlY2xhcmVkSWRlbnRpZmllcnMgPSBnZXRBc3NlcnREZWNsYXJlZElkZW50aWZpZXJzKGFuYWx5c2lzKTtcbiAgICAgICAgY29uc3QgcmVwb3J0ZWROYW1lcyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuXG4gICAgICAgIGZvciAoY29uc3Qgc3RhdGVtZW50IG9mIGFuYWx5c2lzLnN0YXRlbWVudHMpIHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBzdGF0ZW1lbnQucGhhc2VzLmluY2x1ZGVzKFwiQXNzZXJ0XCIpICYmXG4gICAgICAgICAgICBoYXNBc3NlcnRpb24oc3RhdGVtZW50Lm5vZGUpXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICByZXBvcnRBc3NlcnRpb25QcmVmaXhlcyh7XG4gICAgICAgICAgICAgIGFzc2VydGlvbk5vZGU6IHN0YXRlbWVudC5ub2RlLFxuICAgICAgICAgICAgICBjb250ZXh0LFxuICAgICAgICAgICAgICBkZWNsYXJlZElkZW50aWZpZXJzLFxuICAgICAgICAgICAgICByZXBvcnRlZE5hbWVzLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgIH0gc2F0aXNmaWVzIFJ1bGUuUnVsZUxpc3RlbmVyO1xuICB9LFxuICBtZXRhOiB7XG4gICAgZG9jczogY3JlYXRlUnVsZURvY3VtZW50YXRpb24oXG4gICAgICBcImFzc2VydC1hY3R1YWwtZXhwZWN0ZWQtbmFtZXNcIixcbiAgICAgIFwiUmVxdWlyZSBBc3NlcnQtcGhhc2UgY29tcGFyaXNvbiB2YXJpYWJsZXMgdG8gdXNlIGFjdHVhbCovZXhwZWN0ZWQqIHByZWZpeGVzLlwiLFxuICAgICksXG4gICAgbWVzc2FnZXM6IHtcbiAgICAgIG1pc3NpbmdQcmVmaXg6XG4gICAgICAgIFwiUmVuYW1lICd7e25hbWV9fScgdG8gdXNlIHRoZSAne3twcmVmaXh9fScgcHJlZml4IHdoZW4gY29tcGFyaW5nIHZhbHVlcyBpbnNpZGUgLy8gQXNzZXJ0LlwiLFxuICAgIH0sXG4gICAgc2NoZW1hOiBbXSxcbiAgICB0eXBlOiBcInN1Z2dlc3Rpb25cIixcbiAgfSxcbn07XG5cbmV4cG9ydCB7IGFzc2VydEFjdHVhbEV4cGVjdGVkTmFtZXNSdWxlIH07XG4iXX0=
|
|
116
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vdGVzdGluZy9hc3NlcnQtYWN0dWFsLWV4cGVjdGVkLW5hbWVzL3J1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUNMLGdCQUFnQixFQUNoQiw0QkFBNEIsRUFDNUIsdUJBQXVCLEVBQ3ZCLFlBQVksRUFDWixVQUFVLEdBQ1gsTUFBTSxRQUFRLENBQUM7QUFzQ2hCOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxNQUF1QixFQUFFLElBQVksRUFBVSxFQUFFLENBQzNFLEdBQUcsTUFBTSxJQUFJLElBQUksRUFBRSxDQUFDO0FBRXRCOzs7Ozs7Ozs7Ozs7O0dBYUc7QUFDSCxNQUFNLHlCQUF5QixHQUFHLENBQ2hDLEtBQXFDLEVBQy9CLEVBQUU7SUFDUixNQUFNLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLEdBQUcsS0FBSyxDQUFDO0lBRTVFLE1BQU0sa0JBQWtCLEdBQ3RCLElBQUksS0FBSyxLQUFLLENBQUMsSUFBSSxVQUFVLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQztRQUN6QyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ1IsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQyxJQUFJLGtCQUFrQixLQUFLLEtBQUssQ0FBQyxJQUFJLElBQUksS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3JELE9BQU87SUFDVCxDQUFDO0lBRUQsTUFBTSxlQUFlLEdBQUcsa0JBQWtCLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3pELElBQUksYUFBYSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDO1FBQ3ZDLE9BQU87SUFDVCxDQUFDO0lBRUQsYUFBYSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNuQyxPQUFPLENBQUMsTUFBTSxDQUFDO1FBQ2IsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRTtRQUN0QixTQUFTLEVBQUUsZUFBZTtRQUMxQixJQUFJLEVBQUUsa0JBQWtCO0tBQ3pCLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQztBQUVGOzs7Ozs7Ozs7Ozs7R0FZRztBQUNILE1BQU0sdUJBQXVCLEdBQUcsQ0FBQyxLQUFtQyxFQUFRLEVBQUU7SUFDNUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLEdBQUcsS0FBSyxDQUFDO0lBQzdFLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsdUJBQXVCLENBQUMsYUFBYSxDQUFDLENBQUM7SUFFcEUseUJBQXlCLENBQUM7UUFDeEIsT0FBTztRQUNQLG1CQUFtQjtRQUNuQixJQUFJLEVBQUUsTUFBTTtRQUNaLE1BQU0sRUFBRSxRQUFRO1FBQ2hCLGFBQWE7S0FDZCxDQUFDLENBQUM7SUFDSCx5QkFBeUIsQ0FBQztRQUN4QixPQUFPO1FBQ1AsbUJBQW1CO1FBQ25CLElBQUksRUFBRSxRQUFRO1FBQ2QsTUFBTSxFQUFFLFVBQVU7UUFDbEIsYUFBYTtLQUNkLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQztBQUVGLHFGQUFxRjtBQUNyRixNQUFNLDZCQUE2QixHQUFvQjtJQUNyRCxNQUFNLENBQUMsT0FBeUI7UUFDOUIsT0FBTztZQUNMLGNBQWMsQ0FBQyxJQUFJO2dCQUNqQixNQUFNLFFBQVEsR0FBRyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQ2pELElBQUksUUFBUSxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUM7b0JBQ3hCLE9BQU87Z0JBQ1QsQ0FBQztnQkFFRCxNQUFNLG1CQUFtQixHQUFHLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUNuRSxNQUFNLGFBQWEsR0FBRyxJQUFJLEdBQUcsRUFBVSxDQUFDO2dCQUV4QyxLQUFLLE1BQU0sU0FBUyxJQUFJLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztvQkFDNUMsSUFDRSxTQUFTLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7d0JBQ25DLFlBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQzVCLENBQUM7d0JBQ0QsdUJBQXVCLENBQUM7NEJBQ3RCLGFBQWEsRUFBRSxTQUFTLENBQUMsSUFBSTs0QkFDN0IsT0FBTzs0QkFDUCxtQkFBbUI7NEJBQ25CLGFBQWE7eUJBQ2QsQ0FBQyxDQUFDO29CQUNMLENBQUM7Z0JBQ0gsQ0FBQztZQUNILENBQUM7U0FDMEIsQ0FBQztJQUNoQyxDQUFDO0lBQ0QsSUFBSSxFQUFFO1FBQ0osSUFBSSxFQUFFO1lBQ0osV0FBVyxFQUNULDhFQUE4RTtZQUNoRixXQUFXLEVBQUUsS0FBSztZQUNsQixHQUFHLEVBQUUsK0ZBQStGO1NBQ3JHO1FBQ0QsUUFBUSxFQUFFO1lBQ1IsYUFBYSxFQUNYLDBGQUEwRjtTQUM3RjtRQUNELE1BQU0sRUFBRSxFQUFFO1FBQ1YsSUFBSSxFQUFFLFlBQVk7S0FDbkI7Q0FDRixDQUFDO0FBRUYsT0FBTyxFQUFFLDZCQUE2QixFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJ1bGUgfSBmcm9tIFwiZXNsaW50XCI7XG5pbXBvcnQgdHlwZSAqIGFzIEVTVHJlZSBmcm9tIFwiZXN0cmVlXCI7XG5cbmltcG9ydCB7XG4gIGFuYWx5emVUZXN0QmxvY2ssXG4gIGdldEFzc2VydERlY2xhcmVkSWRlbnRpZmllcnMsXG4gIGdldEFzc2VydGlvbklkZW50aWZpZXJzLFxuICBoYXNBc3NlcnRpb24sXG4gIHVzZXNQcmVmaXgsXG59IGZyb20gXCIuLi9hYWFcIjtcblxuLyoqIFN1cHBvcnRlZCBhc3NlcnRpb24gdmFyaWFibGUgcHJlZml4ZXMgZW5mb3JjZWQgYnkgdGhpcyBydWxlLiAqL1xudHlwZSBBc3NlcnRpb25QcmVmaXggPSBcImFjdHVhbFwiIHwgXCJleHBlY3RlZFwiO1xuXG4vKiogQ29tcG9zaXRlIGlucHV0IGZvciByZXBvcnRpbmcgb25lIG1pc3NpbmcgYXNzZXJ0aW9uIHByZWZpeC4gKi9cbmludGVyZmFjZSBSZXBvcnRBc3NlcnRpb25JZGVudGlmaWVySW5wdXQge1xuICAvKiogQWN0aXZlIEVTTGludCBydWxlIGNvbnRleHQuICovXG4gIGNvbnRleHQ6IFJ1bGUuUnVsZUNvbnRleHQ7XG5cbiAgLyoqIERlY2xhcmVkIGlkZW50aWZpZXJzIGNvbGxlY3RlZCBmcm9tIHRoZSBhc3NlcnQgcGhhc2UuICovXG4gIGRlY2xhcmVkSWRlbnRpZmllcnM6IFJldHVyblR5cGU8dHlwZW9mIGdldEFzc2VydERlY2xhcmVkSWRlbnRpZmllcnM+O1xuXG4gIC8qKiBJZGVudGlmaWVyIG5hbWUgZXh0cmFjdGVkIGZyb20gdGhlIGFzc2VydGlvbi4gKi9cbiAgbmFtZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKiBSZXF1aXJlZCBwcmVmaXggZm9yIHRoZSBpZGVudGlmaWVyLiAqL1xuICBwcmVmaXg6IEFzc2VydGlvblByZWZpeDtcblxuICAvKiogU2V0IG9mIGFscmVhZHkgcmVwb3J0ZWQgaWRlbnRpZmllciBrZXlzLiAqL1xuICByZXBvcnRlZE5hbWVzOiBTZXQ8c3RyaW5nPjtcbn1cblxuLyoqIENvbXBvc2l0ZSBpbnB1dCBmb3IgcmVwb3J0aW5nIG1pc3NpbmcgcHJlZml4ZXMgaW4gb25lIGFzc2VydGlvbi4gKi9cbmludGVyZmFjZSBSZXBvcnRBc3NlcnRpb25QcmVmaXhlc0lucHV0IHtcbiAgLyoqIEFzc2VydGlvbiBub2RlIHdob3NlIGlkZW50aWZpZXJzIHNob3VsZCBiZSBpbnNwZWN0ZWQuICovXG4gIGFzc2VydGlvbk5vZGU6IEVTVHJlZS5TdGF0ZW1lbnQ7XG5cbiAgLyoqIEFjdGl2ZSBFU0xpbnQgcnVsZSBjb250ZXh0LiAqL1xuICBjb250ZXh0OiBSdWxlLlJ1bGVDb250ZXh0O1xuXG4gIC8qKiBEZWNsYXJlZCBpZGVudGlmaWVycyBjb2xsZWN0ZWQgZnJvbSB0aGUgYXNzZXJ0IHBoYXNlLiAqL1xuICBkZWNsYXJlZElkZW50aWZpZXJzOiBSZXR1cm5UeXBlPHR5cGVvZiBnZXRBc3NlcnREZWNsYXJlZElkZW50aWZpZXJzPjtcblxuICAvKiogU2V0IG9mIGFscmVhZHkgcmVwb3J0ZWQgaWRlbnRpZmllciBrZXlzLiAqL1xuICByZXBvcnRlZE5hbWVzOiBTZXQ8c3RyaW5nPjtcbn1cblxuLyoqXG4gKiBCdWlsZHMgdGhlIGRlLWR1cGxpY2F0aW9uIGtleSBmb3IgYSByZXBvcnRlZCBhc3NlcnRpb24gaWRlbnRpZmllci5cbiAqIEBwYXJhbSBwcmVmaXggUHJlZml4IHVzZWQgZm9yIHRoZSBhc3NlcnRpb24gaWRlbnRpZmllci5cbiAqIEBwYXJhbSBuYW1lIElkZW50aWZpZXIgbmFtZSByZXBvcnRlZCBieSB0aGUgcnVsZS5cbiAqIEByZXR1cm5zIFN0YWJsZSBkZS1kdXBsaWNhdGlvbiBrZXkgZm9yIHRoZSBpZGVudGlmaWVyLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGtleSA9IGdldFJlcG9ydGVkTmFtZUtleShcImFjdHVhbFwiLCBcInZhbHVlXCIpO1xuICogYGBgXG4gKi9cbmNvbnN0IGdldFJlcG9ydGVkTmFtZUtleSA9IChwcmVmaXg6IEFzc2VydGlvblByZWZpeCwgbmFtZTogc3RyaW5nKTogc3RyaW5nID0+XG4gIGAke3ByZWZpeH06JHtuYW1lfWA7XG5cbi8qKlxuICogUmVwb3J0cyBhIG1pc3NpbmcgYXNzZXJ0aW9uIHByZWZpeCB3aGVuIHRoZSBkZWNsYXJlZCBpZGVudGlmaWVyIGlzIGVsaWdpYmxlLlxuICogQHBhcmFtIGlucHV0IENvbXBvc2l0ZSByZXBvcnRpbmcgaW5wdXQgZm9yIG9uZSBpZGVudGlmaWVyLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIHJlcG9ydEFzc2VydGlvbklkZW50aWZpZXIoe1xuICogICBjb250ZXh0OiB7fSBhcyBSdWxlLlJ1bGVDb250ZXh0LFxuICogICBkZWNsYXJlZElkZW50aWZpZXJzOiBuZXcgTWFwKCksXG4gKiAgIG5hbWU6IFwidmFsdWVcIixcbiAqICAgcHJlZml4OiBcImFjdHVhbFwiLFxuICogICByZXBvcnRlZE5hbWVzOiBuZXcgU2V0KCksXG4gKiB9KTtcbiAqIGBgYFxuICovXG5jb25zdCByZXBvcnRBc3NlcnRpb25JZGVudGlmaWVyID0gKFxuICBpbnB1dDogUmVwb3J0QXNzZXJ0aW9uSWRlbnRpZmllcklucHV0LFxuKTogdm9pZCA9PiB7XG4gIGNvbnN0IHsgY29udGV4dCwgZGVjbGFyZWRJZGVudGlmaWVycywgbmFtZSwgcHJlZml4LCByZXBvcnRlZE5hbWVzIH0gPSBpbnB1dDtcblxuICBjb25zdCBkZWNsYXJlZElkZW50aWZpZXIgPVxuICAgIG5hbWUgPT09IHZvaWQgMCB8fCB1c2VzUHJlZml4KG5hbWUsIHByZWZpeClcbiAgICAgID8gdm9pZCAwXG4gICAgICA6IGRlY2xhcmVkSWRlbnRpZmllcnMuZ2V0KG5hbWUpO1xuICBpZiAoZGVjbGFyZWRJZGVudGlmaWVyID09PSB2b2lkIDAgfHwgbmFtZSA9PT0gdm9pZCAwKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgcmVwb3J0ZWROYW1lS2V5ID0gZ2V0UmVwb3J0ZWROYW1lS2V5KHByZWZpeCwgbmFtZSk7XG4gIGlmIChyZXBvcnRlZE5hbWVzLmhhcyhyZXBvcnRlZE5hbWVLZXkpKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgcmVwb3J0ZWROYW1lcy5hZGQocmVwb3J0ZWROYW1lS2V5KTtcbiAgY29udGV4dC5yZXBvcnQoe1xuICAgIGRhdGE6IHsgbmFtZSwgcHJlZml4IH0sXG4gICAgbWVzc2FnZUlkOiBcIm1pc3NpbmdQcmVmaXhcIixcbiAgICBub2RlOiBkZWNsYXJlZElkZW50aWZpZXIsXG4gIH0pO1xufTtcblxuLyoqXG4gKiBSZXBvcnRzIG1pc3NpbmcgcHJlZml4ZXMgZm9yIHRoZSBhY3R1YWwgYW5kIGV4cGVjdGVkIGlkZW50aWZpZXJzIGluIG9uZSBhc3NlcnRpb24uXG4gKiBAcGFyYW0gaW5wdXQgQ29tcG9zaXRlIHJlcG9ydGluZyBpbnB1dCBmb3Igb25lIGFzc2VydGlvbi5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiByZXBvcnRBc3NlcnRpb25QcmVmaXhlcyh7XG4gKiAgIGFzc2VydGlvbk5vZGU6IHt9IGFzIEVTVHJlZS5TdGF0ZW1lbnQsXG4gKiAgIGNvbnRleHQ6IHt9IGFzIFJ1bGUuUnVsZUNvbnRleHQsXG4gKiAgIGRlY2xhcmVkSWRlbnRpZmllcnM6IG5ldyBNYXAoKSxcbiAqICAgcmVwb3J0ZWROYW1lczogbmV3IFNldCgpLFxuICogfSk7XG4gKiBgYGBcbiAqL1xuY29uc3QgcmVwb3J0QXNzZXJ0aW9uUHJlZml4ZXMgPSAoaW5wdXQ6IFJlcG9ydEFzc2VydGlvblByZWZpeGVzSW5wdXQpOiB2b2lkID0+IHtcbiAgY29uc3QgeyBhc3NlcnRpb25Ob2RlLCBjb250ZXh0LCBkZWNsYXJlZElkZW50aWZpZXJzLCByZXBvcnRlZE5hbWVzIH0gPSBpbnB1dDtcbiAgY29uc3QgeyBhY3R1YWwsIGV4cGVjdGVkIH0gPSBnZXRBc3NlcnRpb25JZGVudGlmaWVycyhhc3NlcnRpb25Ob2RlKTtcblxuICByZXBvcnRBc3NlcnRpb25JZGVudGlmaWVyKHtcbiAgICBjb250ZXh0LFxuICAgIGRlY2xhcmVkSWRlbnRpZmllcnMsXG4gICAgbmFtZTogYWN0dWFsLFxuICAgIHByZWZpeDogXCJhY3R1YWxcIixcbiAgICByZXBvcnRlZE5hbWVzLFxuICB9KTtcbiAgcmVwb3J0QXNzZXJ0aW9uSWRlbnRpZmllcih7XG4gICAgY29udGV4dCxcbiAgICBkZWNsYXJlZElkZW50aWZpZXJzLFxuICAgIG5hbWU6IGV4cGVjdGVkLFxuICAgIHByZWZpeDogXCJleHBlY3RlZFwiLFxuICAgIHJlcG9ydGVkTmFtZXMsXG4gIH0pO1xufTtcblxuLyoqIEVuZm9yY2VzIGFjdHVhbC9leHBlY3RlZC1zdHlsZSBwcmVmaXhlcyBmb3IgYXNzZXJ0LXBoYXNlIGNvbXBhcmlzb24gdmFyaWFibGVzLiAqL1xuY29uc3QgYXNzZXJ0QWN0dWFsRXhwZWN0ZWROYW1lc1J1bGU6IFJ1bGUuUnVsZU1vZHVsZSA9IHtcbiAgY3JlYXRlKGNvbnRleHQ6IFJ1bGUuUnVsZUNvbnRleHQpOiBSdWxlLlJ1bGVMaXN0ZW5lciB7XG4gICAgcmV0dXJuIHtcbiAgICAgIENhbGxFeHByZXNzaW9uKG5vZGUpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgYW5hbHlzaXMgPSBhbmFseXplVGVzdEJsb2NrKGNvbnRleHQsIG5vZGUpO1xuICAgICAgICBpZiAoYW5hbHlzaXMgPT09IHZvaWQgMCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGRlY2xhcmVkSWRlbnRpZmllcnMgPSBnZXRBc3NlcnREZWNsYXJlZElkZW50aWZpZXJzKGFuYWx5c2lzKTtcbiAgICAgICAgY29uc3QgcmVwb3J0ZWROYW1lcyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuXG4gICAgICAgIGZvciAoY29uc3Qgc3RhdGVtZW50IG9mIGFuYWx5c2lzLnN0YXRlbWVudHMpIHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBzdGF0ZW1lbnQucGhhc2VzLmluY2x1ZGVzKFwiQXNzZXJ0XCIpICYmXG4gICAgICAgICAgICBoYXNBc3NlcnRpb24oc3RhdGVtZW50Lm5vZGUpXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICByZXBvcnRBc3NlcnRpb25QcmVmaXhlcyh7XG4gICAgICAgICAgICAgIGFzc2VydGlvbk5vZGU6IHN0YXRlbWVudC5ub2RlLFxuICAgICAgICAgICAgICBjb250ZXh0LFxuICAgICAgICAgICAgICBkZWNsYXJlZElkZW50aWZpZXJzLFxuICAgICAgICAgICAgICByZXBvcnRlZE5hbWVzLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgIH0gc2F0aXNmaWVzIFJ1bGUuUnVsZUxpc3RlbmVyO1xuICB9LFxuICBtZXRhOiB7XG4gICAgZG9jczoge1xuICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgIFwiUmVxdWlyZSBBc3NlcnQtcGhhc2UgY29tcGFyaXNvbiB2YXJpYWJsZXMgdG8gdXNlIGFjdHVhbCovZXhwZWN0ZWQqIHByZWZpeGVzLlwiLFxuICAgICAgcmVjb21tZW5kZWQ6IGZhbHNlLFxuICAgICAgdXJsOiBcImh0dHBzOi8vZ2l0aHViLmNvbS9wYXJsb3RpL2VzbGludC1wbHVnaW4vYmxvYi9tYWluL2RvY3MvcnVsZXMvYXNzZXJ0LWFjdHVhbC1leHBlY3RlZC1uYW1lcy5tZFwiLFxuICAgIH0sXG4gICAgbWVzc2FnZXM6IHtcbiAgICAgIG1pc3NpbmdQcmVmaXg6XG4gICAgICAgIFwiUmVuYW1lICd7e25hbWV9fScgdG8gdXNlIHRoZSAne3twcmVmaXh9fScgcHJlZml4IHdoZW4gY29tcGFyaW5nIHZhbHVlcyBpbnNpZGUgLy8gQXNzZXJ0LlwiLFxuICAgIH0sXG4gICAgc2NoZW1hOiBbXSxcbiAgICB0eXBlOiBcInN1Z2dlc3Rpb25cIixcbiAgfSxcbn07XG5cbmV4cG9ydCB7IGFzc2VydEFjdHVhbEV4cGVjdGVkTmFtZXNSdWxlIH07XG4iXX0=
|
package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.combined.d.ts
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/** Companion module for combined-section phase purity behavior spec coverage. */
|
|
2
|
+
declare const phasePurityReportingBehaviorCombinedCompanion: true;
|
|
3
|
+
export { phasePurityReportingBehaviorCombinedCompanion };
|
|
4
|
+
//# sourceMappingURL=phase-purity-reporting.behavior.combined.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"phase-purity-reporting.behavior.combined.d.ts","sourceRoot":"","sources":["../../../../src/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.combined.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,QAAA,MAAM,6CAA6C,EAAG,IAAa,CAAC;AAEpE,OAAO,EAAE,6CAA6C,EAAE,CAAC"}
|
package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.combined.js
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/** Companion module for combined-section phase purity behavior spec coverage. */
|
|
2
|
+
const phasePurityReportingBehaviorCombinedCompanion = true;
|
|
3
|
+
export { phasePurityReportingBehaviorCombinedCompanion };
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhhc2UtcHVyaXR5LXJlcG9ydGluZy5iZWhhdmlvci5jb21iaW5lZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vdGVzdGluZy9lbmZvcmNlLWFhYS1waGFzZS1wdXJpdHkvcGhhc2UtcHVyaXR5LXJlcG9ydGluZy5iZWhhdmlvci5jb21iaW5lZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpRkFBaUY7QUFDakYsTUFBTSw2Q0FBNkMsR0FBRyxJQUFhLENBQUM7QUFFcEUsT0FBTyxFQUFFLDZDQUE2QyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiogQ29tcGFuaW9uIG1vZHVsZSBmb3IgY29tYmluZWQtc2VjdGlvbiBwaGFzZSBwdXJpdHkgYmVoYXZpb3Igc3BlYyBjb3ZlcmFnZS4gKi9cclxuY29uc3QgcGhhc2VQdXJpdHlSZXBvcnRpbmdCZWhhdmlvckNvbWJpbmVkQ29tcGFuaW9uID0gdHJ1ZSBhcyBjb25zdDtcclxuXHJcbmV4cG9ydCB7IHBoYXNlUHVyaXR5UmVwb3J0aW5nQmVoYXZpb3JDb21iaW5lZENvbXBhbmlvbiB9O1xyXG4iXX0=
|
package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.companion.d.ts
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/** Companion module for phase purity reporting companion marker spec coverage. */
|
|
2
|
+
declare const phasePurityReportingBehaviorCompanionCompanion: true;
|
|
3
|
+
export { phasePurityReportingBehaviorCompanionCompanion };
|
|
4
|
+
//# sourceMappingURL=phase-purity-reporting.behavior.companion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"phase-purity-reporting.behavior.companion.d.ts","sourceRoot":"","sources":["../../../../src/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.companion.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,QAAA,MAAM,8CAA8C,EAAG,IAAa,CAAC;AAErE,OAAO,EAAE,8CAA8C,EAAE,CAAC"}
|
package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.companion.js
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/** Companion module for phase purity reporting companion marker spec coverage. */
|
|
2
|
+
const phasePurityReportingBehaviorCompanionCompanion = true;
|
|
3
|
+
export { phasePurityReportingBehaviorCompanionCompanion };
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhhc2UtcHVyaXR5LXJlcG9ydGluZy5iZWhhdmlvci5jb21wYW5pb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL3Rlc3RpbmcvZW5mb3JjZS1hYWEtcGhhc2UtcHVyaXR5L3BoYXNlLXB1cml0eS1yZXBvcnRpbmcuYmVoYXZpb3IuY29tcGFuaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGtGQUFrRjtBQUNsRixNQUFNLDhDQUE4QyxHQUFHLElBQWEsQ0FBQztBQUVyRSxPQUFPLEVBQUUsOENBQThDLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBDb21wYW5pb24gbW9kdWxlIGZvciBwaGFzZSBwdXJpdHkgcmVwb3J0aW5nIGNvbXBhbmlvbiBtYXJrZXIgc3BlYyBjb3ZlcmFnZS4gKi9cclxuY29uc3QgcGhhc2VQdXJpdHlSZXBvcnRpbmdCZWhhdmlvckNvbXBhbmlvbkNvbXBhbmlvbiA9IHRydWUgYXMgY29uc3Q7XHJcblxyXG5leHBvcnQgeyBwaGFzZVB1cml0eVJlcG9ydGluZ0JlaGF2aW9yQ29tcGFuaW9uQ29tcGFuaW9uIH07XHJcbiJdfQ==
|
|
@@ -185,4 +185,4 @@ async function runRuleWithMockedAnalysis(analysis) {
|
|
|
185
185
|
}
|
|
186
186
|
}
|
|
187
187
|
export { runRule, runRuleWithMockedAnalysis };
|
|
188
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS10ZXN0LWhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL3Rlc3RpbmcvZW5mb3JjZS1hYWEtcGhhc2UtcHVyaXR5L3J1bGUtdGVzdC1oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDaEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFLNUIsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sUUFBUSxDQUFDO0FBeUJuRDs7Ozs7Ozs7O0dBU0c7QUFDSCxTQUFTLHFCQUFxQixDQUM1QixjQUFpQztJQUVqQyxPQUFPO1FBQ0wsZ0JBQWdCLEVBQUUsR0FBc0IsRUFBRSxDQUFDLGNBQWM7UUFDekQsWUFBWSxFQUFFLEdBQVksRUFBRSxDQUFDLEtBQUs7UUFDbEMsYUFBYSxFQUFFLEdBQVksRUFBRSxDQUFDLEtBQUs7UUFDbkMsUUFBUSxFQUFFLEdBQVksRUFBRSxDQUFDLEtBQUs7UUFDOUIsc0JBQXNCLEVBQUUsR0FBWSxFQUFFLENBQUMsS0FBSztRQUM1QyxXQUFXLEVBQUUsR0FBWSxFQUFFLENBQUMsS0FBSztRQUNqQyx3QkFBd0IsRUFBRSxHQUFZLEVBQUUsQ0FBQyxLQUFLO1FBQzlDLG9CQUFvQixFQUFFLEdBQVksRUFBRSxDQUFDLEtBQUs7UUFDMUMsc0JBQXNCLEVBQUUsR0FBWSxFQUFFLENBQUMsS0FBSztLQUM3QyxDQUFDO0FBQ0osQ0FBQztBQUVEOzs7Ozs7Ozs7R0FTRztBQUNILFNBQVMsb0JBQW9CLENBQzNCLFFBQTZCO0lBRTdCLE9BQU87UUFDTCxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7UUFDeEIsYUFBYSxFQUFFLENBQUM7UUFDaEIsY0FBYyxFQUFFLDBCQUEwQixFQUFFO1FBQzVDLE9BQU8s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RUQ7Ozs7Ozs7OztHQVNHO0FBQ0gsU0FBUyxPQUFPLENBQUMsSUFBWTtJQUMzQixNQUFNLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBRWxELE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FDbEIsSUFBSSxFQUNKO1FBQ0U7WUFDRSxLQUFLLEVBQUUsQ0FBQyxTQUFTLENBQUM7WUFDbEIsZUFBZSxFQUFFO2dCQUNmLFdBQVcsRUFBRSxJQUFJO2dCQUNqQixNQUFNO2dCQUNOLFVBQVUsRUFBRSxRQUFRO2FBQ3JCO1lBQ0QsT0FBTyxFQUFFO2dCQUNQLFdBQVcsRUFBRTtvQkFDWCxLQUFLLEVBQUU7d0JBQ0wsMEJBQTBCLEVBQUUseUJBQXlCO3FCQUN0RDtpQkFDRjthQUNGO1lBQ0QsS0FBSyxFQUFFO2dCQUNMLHNDQUFzQyxFQUFFLE9BQU87YUFDaEQ7U0FDRjtLQUNGLEVBQ0QsaUJBQWlCLENBQ2xCLENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7Ozs7OztHQVNHO0FBQ0gsS0FBSyxVQUFVLHlCQUF5QixDQUN0QyxRQUE2QjtJQUU3QixNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7SUFDdkIsTUFBTSxRQUFRLEdBQUcsTUFBTSxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFFNUQsSUFBSSxDQUFDO1FBQ0gsUUFBUSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQTJCLENBQUMsQ0FBQztRQUNoRSxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBb0IsQ0FBQztJQUMxQyxDQUFDO1lBQVMsQ0FBQztRQUNULG9CQUFvQixFQUFFLENBQUM7SUFDekIsQ0FBQztBQUNILENBQUM7QUFFRCxPQUFPLEVBQUUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSAqIGFzIEVTVHJlZSBmcm9tIFwiZXN0cmVlXCI7XHJcblxyXG5pbXBvcnQgeyBMaW50ZXIgfSBmcm9tIFwiZXNsaW50XCI7XHJcbmltcG9ydCB7IHBhcnNlciB9IGZyb20gXCJ0eXBlc2NyaXB0LWVzbGludFwiO1xyXG5pbXBvcnQgeyB2aSB9IGZyb20gXCJ2aXRlc3RcIjtcclxuXHJcbmltcG9ydCB0eXBlICogYXMgQWFhTW9kdWxlIGZyb20gXCIuLi9hYWFcIjtcclxuaW1wb3J0IHR5cGUgeyBUZXN0QmxvY2tBbmFseXNpcyB9IGZyb20gXCIuLi9hYWFcIjtcclxuXHJcbmltcG9ydCB7IGVuZm9yY2VBYWFQaGFzZVB1cml0eVJ1bGUgfSBmcm9tIFwiLi9ydWxlXCI7XHJcblxyXG4vKiogTWluaW1hbCBhbmFseXNpcyBpbnB1dCBhY2NlcHRlZCBieSB0aGUgbW9ja2VkIEFBQSBoZWxwZXIuICovXHJcbmludGVyZmFjZSBNb2NrZWRBbmFseXNpc0lucHV0IHtcclxuICAvKiogU2VjdGlvbiBjb21tZW50cyByZWxldmFudCB0byB0aGUgcnVsZSB1bmRlciB0ZXN0LiAqL1xyXG4gIHNlY3Rpb25Db21tZW50czoge1xyXG4gICAgLyoqIFBoYXNlIG5hbWVzIGRlY2xhcmVkIGJ5IHRoZSBzeW50aGV0aWMgY29tbWVudC4gKi9cclxuICAgIHBoYXNlczogVGVzdEJsb2NrQW5hbHlzaXNbXCJzZWN0aW9uQ29tbWVudHNcIl1bbnVtYmVyXVtcInBoYXNlc1wiXTtcclxuICB9W107XHJcbiAgLyoqIFN0YXRlbWVudCBtZXRhZGF0YSByZWxldmFudCB0byB0aGUgcnVsZSB1bmRlciB0ZXN0LiAqL1xyXG4gIHN0YXRlbWVudHM6IHtcclxuICAgIC8qKiBTeW50aGV0aWMgc3RhdGVtZW50IG5vZGUgcHJvdmlkZWQgdG8gdGhlIHJ1bGUuICovXHJcbiAgICBub2RlOiBFU1RyZWUuU3RhdGVtZW50O1xyXG5cclxuICAgIC8qKiBBY3RpdmUgcGhhc2VzIGFzc2lnbmVkIHRvIHRoZSBzdGF0ZW1lbnQuICovXHJcbiAgICBwaGFzZXM6IFRlc3RCbG9ja0FuYWx5c2lzW1wic3RhdGVtZW50c1wiXVtudW1iZXJdW1wicGhhc2VzXCJdO1xyXG4gIH1bXTtcclxufVxyXG5cclxuLyoqIE1vZHVsZSBzaGFwZSByZXR1cm5lZCB3aGVuIHRoZSBydWxlIGlzIGxvYWRlZCBhZnRlciBtb2NraW5nIHRoZSBBQUEgaGVscGVycy4gKi9cclxuaW50ZXJmYWNlIE1vY2tlZFJ1bGVNb2R1bGUge1xyXG4gIC8qKiBSdWxlIGltcGxlbWVudGF0aW9uIHVuZGVyIHRlc3QuICovXHJcbiAgZW5mb3JjZUFhYVBoYXNlUHVyaXR5UnVsZTogdHlwZW9mIGVuZm9yY2VBYWFQaGFzZVB1cml0eVJ1bGU7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDcmVhdGVzIHRoZSBtb2NrZWQgQUFBIG1vZHVsZSB1c2VkIGJ5IHRoZSBydWxlIHRlc3QgaGVscGVyLlxyXG4gKiBAcGFyYW0gbW9ja2VkQW5hbHlzaXMgTW9ja2VkIGFuYWx5c2lzIHJldHVybmVkIGJ5IHRoZSBoZWxwZXIuXHJcbiAqIEByZXR1cm5zIFBhcnRpYWwgQUFBIG1vZHVsZSB1c2VkIGZvciBWaXRlc3QgbW9ja2luZy5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBjb25zdCBtb2R1bGUgPSBjcmVhdGVNb2NrZWRBYWFNb2R1bGUoY3JlYXRlTW9ja2VkQW5hbHlzaXMoeyBzZWN0aW9uQ29tbWVudHM6IFtdLCBzdGF0ZW1lbnRzOiBbXSB9KSk7XHJcbiAqIHZvaWQgbW9kdWxlO1xyXG4gKiBgYGBcclxuICovXHJcbmZ1bmN0aW9uIGNyZWF0ZU1vY2tlZEFhYU1vZHVsZShcclxuICBtb2NrZWRBbmFseXNpczogVGVzdEJsb2NrQW5hbHlzaXMsXHJcbik6IFBhcnRpYWw8dHlwZW9mIEFhYU1vZHVsZT4ge1xyXG4gIHJldHVybiB7XHJcbiAgICBhbmFseXplVGVzdEJsb2NrOiAoKTogVGVzdEJsb2NrQW5hbHlzaXMgPT4gbW9ja2VkQW5hbHlzaXMsXHJcbiAgICBoYXNBc3NlcnRpb246ICgpOiBib29sZWFuID0+IGZhbHNlLFxyXG4gICAgaGFzQXN5bmNMb2dpYzogKCk6IGJvb2xlYW4gPT4gZmFsc2UsXHJcbiAgICBoYXNBd2FpdDogKCk6IGJvb2xlYW4gPT4gZmFsc2UsXHJcbiAgICBoYXNDYXB0dXJhYmxlQWN0UmVzdWx0OiAoKTogYm9vbGVhbiA9PiBmYWxzZSxcclxuICAgIGhhc011dGF0aW9uOiAoKTogYm9vbGVhbiA9PiBmYWxzZSxcclxuICAgIGlzTWVhbmluZ2Z1bEFjdFN0YXRlbWVudDogKCk6IGJvb2xlYW4gPT4gZmFsc2UsXHJcbiAgICBpc1NldHVwTGlrZVN0YXRlbWVudDogKCk6IGJvb2xlYW4gPT4gZmFsc2UsXHJcbiAgICBpc1ZhbGlkQXNzZXJ0U3RhdGVtZW50OiAoKTogYm9vbGVhbiA9PiBmYWxzZSxcclxuICB9O1xyXG59XHJcblxyXG4vKipcclxuICogQ3JlYXRlcyBhIGZ1bGwgYW5hbHlzaXMgb2JqZWN0IGZyb20gdGhlIG1pbmltYWwgZmllbGRzIHVzZWQgaW4gdGVzdHMuXHJcbiAqIEBwYXJhbSBhbmFseXNpcyBNaW5pbWFsIGFuYWx5c2lzIGlucHV0IHVzZWQgYnkgdGVzdHMuXHJcbiAqIEByZXR1cm5zIENvbXBsZXRlIGFuYWx5c2lzIG9iamVjdCBjb25zdW1lZCBieSB0aGUgcnVsZS5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBjb25zdCByZXN1bHQgPSBjcmVhdGVNb2NrZWRBbmFseXNpcyh7IHNlY3Rpb25Db21tZW50czogW10sIHN0YXRlbWVudHM6IFtdIH0pO1xyXG4gKiB2b2lkIHJlc3VsdDtcclxuICogYGBgXHJcbiAqL1xyXG5mdW5jdGlvbiBjcmVhdGVNb2NrZWRBbmFseXNpcyhcclxuICBhbmFseXNpczogTW9ja2VkQW5hbHlzaXNJbnB1dCxcclxuKTogVGVzdEJsb2NrQW5hbHlzaXMge1xyXG4gIHJldHVybiB7XHJcbiAgICBib2R5OiBjcmVhdGVNb2NrZWRCb2R5KCksXHJcbiAgICBib2R5TGluZUNvdW50OiAwLFxyXG4gICAgY2FsbEV4cHJlc3Npb246IGNyZWF0ZU1vY2tlZENhbGxFeHByZXNzaW9uKCksXHJcbiAgICBuZXdsaW5lOiBcIlxcblwiLFxyXG4gICAgc2VjdGlvbkNvbW1lbnRzOiBhbmFseXNpcy5zZWN0aW9uQ29tbWVudHMubWFwKChzZWN0aW9uQ29tbWVudCkgPT4gKHtcclxuICAgICAgY29tbWVudDoge1xyXG4gICAgICAgIGxvYzoge1xyXG4gICAgICAgICAgZW5kOiB7IGNvbHVtbjogMCwgbGluZTogMSB9LFxyXG4gICAgICAgICAgc3RhcnQ6IHsgY29sdW1uOiAwLCBsaW5lOiAxIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgICByYW5nZTogWzAsIDBdLFxyXG4gICAgICAgIHR5cGU6IFwiTGluZVwiLFxyXG4gICAgICAgIHZhbHVlOiBgICR7c2VjdGlvbkNvbW1lbnQucGhhc2VzLmpvaW4oXCIgLyBcIil9YCxcclxuICAgICAgfSxcclxuICAgICAgcGhhc2VzOiBzZWN0aW9uQ29tbWVudC5waGFzZXMsXHJcbiAgICB9KSksXHJcbiAgICBzb3VyY2VUZXh0OiBcIlwiLFxyXG4gICAgc3RhdGVtZW50czogYW5hbHlzaXMuc3RhdGVtZW50cy5tYXAoKHN0YXRlbWVudCkgPT4gKHtcclxuICAgICAgbm9kZTogc3RhdGVtZW50Lm5vZGUgYXMgVGVzdEJsb2NrQW5hbHlzaXNbXCJzdGF0ZW1lbnRzXCJdW251bWJlcl1bXCJub2RlXCJdLFxyXG4gICAgICBwaGFzZTogc3RhdGVtZW50LnBoYXNlcy5hdCgtMSksXHJcbiAgICAgIHBoYXNlczogc3RhdGVtZW50LnBoYXNlcyxcclxuICAgIH0pKSxcclxuICB9O1xyXG59XHJcblxyXG4vKipcclxuICogQ3JlYXRlcyBhIG1pbmltYWwgbG9jYXRlZCBibG9jayBzdGF0ZW1lbnQgZm9yIG1vY2tlZCBBQUEgYW5hbHlzaXMuXHJcbiAqIEByZXR1cm5zIE1pbmltYWwgbG9jYXRlZCBibG9jayBzdGF0ZW1lbnQuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogY29uc3QgYm9keSA9IGNyZWF0ZU1vY2tlZEJvZHkoKTtcclxuICogYGBgXHJcbiAqL1xyXG5mdW5jdGlvbiBjcmVhdGVNb2NrZWRCb2R5KCk6IFRlc3RCbG9ja0FuYWx5c2lzW1wiYm9keVwiXSB7XHJcbiAgcmV0dXJuIHtcclxuICAgIGJvZHk6IFtdLFxyXG4gICAgbG9jOiB7XHJcbiAgICAgIGVuZDogeyBjb2x1bW46IDAsIGxpbmU6IDEgfSxcclxuICAgICAgc3RhcnQ6IHsgY29sdW1uOiAwLCBsaW5lOiAxIH0sXHJcbiAgICB9LFxyXG4gICAgcmFuZ2U6IFswLCAwXSxcclxuICAgIHR5cGU6IFwiQmxvY2tTdGF0ZW1lbnRcIixcclxuICB9IGFzIFRlc3RCbG9ja0FuYWx5c2lzW1wiYm9keVwiXTtcclxufVxyXG5cclxuLyoqXHJcbiAqIENyZWF0ZXMgYSBtaW5pbWFsIGxvY2F0ZWQgY2FsbCBleHByZXNzaW9uIGZvciBtb2NrZWQgQUFBIGFuYWx5c2lzLlxyXG4gKiBAcmV0dXJucyBNaW5pbWFsIGxvY2F0ZWQgY2FsbCBleHByZXNzaW9uLlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGNvbnN0IGNhbGxFeHByZXNzaW9uID0gY3JlYXRlTW9ja2VkQ2FsbEV4cHJlc3Npb24oKTtcclxuICogYGBgXHJcbiAqL1xyXG5mdW5jdGlvbiBjcmVhdGVNb2NrZWRDYWxsRXhwcmVzc2lvbigpOiBUZXN0QmxvY2tBbmFseXNpc1tcImNhbGxFeHByZXNzaW9uXCJdIHtcclxuICByZXR1cm4ge1xyXG4gICAgYXJndW1lbnRzOiBbXSxcclxuICAgIGNhbGxlZTogeyBuYW1lOiBcIml0XCIsIHR5cGU6IFwiSWRlbnRpZmllclwiIH0gYXMgRVNUcmVlLklkZW50aWZpZXIsXHJcbiAgICBsb2M6IHtcclxuICAgICAgZW5kOiB7IGNvbHVtbjogMCwgbGluZTogMSB9LFxyXG4gICAgICBzdGFydDogeyBjb2x1bW46IDAsIGxpbmU6IDEgfSxcclxuICAgIH0sXHJcbiAgICBvcHRpb25hbDogZmFsc2UsXHJcbiAgICByYW5nZTogWzAsIDBdLFxyXG4gICAgdHlwZTogXCJDYWxsRXhwcmVzc2lvblwiLFxyXG4gIH0gYXMgVGVzdEJsb2NrQW5hbHlzaXNbXCJjYWxsRXhwcmVzc2lvblwiXTtcclxufVxyXG5cclxuLyoqXHJcbiAqIENyZWF0ZXMgdGhlIG1vY2tlZCBydWxlIGxpc3RlbmVyIHVzZWQgYnkgdGhlIGhlbHBlci5cclxuICogQHBhcmFtIGFuYWx5c2lzIE1vY2tlZCBhbmFseXNpcyByZXR1cm5lZCBmcm9tIGBhbmFseXplVGVzdEJsb2NrYC5cclxuICogQHBhcmFtIHJlcG9ydCBSZXBvcnQgc3B5IHBhc3NlZCBpbnRvIHRoZSBtb2NrZWQgcnVsZSBjb250ZXh0LlxyXG4gKiBAcmV0dXJucyBDYWxsLWV4cHJlc3Npb24gbGlzdGVuZXIgcHJvZHVjZWQgYnkgdGhlIG1vY2tlZCBydWxlLlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGNvbnN0IGxpc3RlbmVyID0gYXdhaXQgbG9hZE1vY2tlZExpc3RlbmVyKHsgc2VjdGlvbkNvbW1lbnRzOiBbXSwgc3RhdGVtZW50czogW10gfSwgdmkuZm4oKSk7XHJcbiAqIHZvaWQgbGlzdGVuZXI7XHJcbiAqIGBgYFxyXG4gKi9cclxuYXN5bmMgZnVuY3Rpb24gbG9hZE1vY2tlZExpc3RlbmVyKFxyXG4gIGFuYWx5c2lzOiBNb2NrZWRBbmFseXNpc0lucHV0LFxyXG4gIHJlcG9ydDogUmV0dXJuVHlwZTx0eXBlb2YgdmkuZm4+LFxyXG4pOiBQcm9taXNlPCgobm9kZTogRVNUcmVlLkNhbGxFeHByZXNzaW9uKSA9PiB2b2lkKSB8IHVuZGVmaW5lZD4ge1xyXG4gIHZpLnJlc2V0TW9kdWxlcygpO1xyXG4gIHZpLmRvTW9jayhcIi4uL2FhYVwiLCAoKSA9PlxyXG4gICAgY3JlYXRlTW9ja2VkQWFhTW9kdWxlKGNyZWF0ZU1vY2tlZEFuYWx5c2lzKGFuYWx5c2lzKSksXHJcbiAgKTtcclxuXHJcbiAgY29uc3QgcnVsZU1vZHVsZTogTW9ja2VkUnVsZU1vZHVsZSA9IGF3YWl0IGltcG9ydChcIi4vcnVsZVwiKTtcclxuXHJcbiAgcmV0dXJuIHJ1bGVNb2R1bGUuZW5mb3JjZUFhYVBoYXNlUHVyaXR5UnVsZS5jcmVhdGUoeyByZXBvcnQgfSBhcyBuZXZlcilcclxuICAgIC5DYWxsRXhwcmVzc2lvbiBhcyAoKG5vZGU6IEVTVHJlZS5DYWxsRXhwcmVzc2lvbikgPT4gdm9pZCkgfCB1bmRlZmluZWQ7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZXNldHMgdGhlIG1vY2tlZCBBQUEgbW9kdWxlIHN0YXRlIGJldHdlZW4gdGVzdCBydW5zLlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIHJlc2V0TW9ja2VkQWFhTW9kdWxlKCk7XHJcbiAqIGBgYFxyXG4gKi9cclxuZnVuY3Rpb24gcmVzZXRNb2NrZWRBYWFNb2R1bGUoKTogdm9pZCB7XHJcbiAgdmkuZG9Vbm1vY2soXCIuLi9hYWFcIik7XHJcbiAgdmkucmVzZXRNb2R1bGVzKCk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSdW5zIHRoZSBydWxlIGFnYWluc3Qgb25lIHNvdXJjZSBzbmlwcGV0LlxyXG4gKiBAcGFyYW0gY29kZSBTb3VyY2UgY29kZSBwYXNzZWQgdG8gdGhlIGxpbnRlci5cclxuICogQHJldHVybnMgTGludCBtZXNzYWdlcyBwcm9kdWNlZCBieSB0aGUgcnVsZS5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBjb25zdCBtZXNzYWdlcyA9IHJ1blJ1bGUoJ2l0KFwid29ya3NcIiwgKCkgPT4ge30pOycpO1xyXG4gKiB2b2lkIG1lc3NhZ2VzO1xyXG4gKiBgYGBcclxuICovXHJcbmZ1bmN0aW9uIHJ1blJ1bGUoY29kZTogc3RyaW5nKTogTGludGVyLkxpbnRNZXNzYWdlW10ge1xyXG4gIGNvbnN0IGxpbnRlciA9IG5ldyBMaW50ZXIoeyBjb25maWdUeXBlOiBcImZsYXRcIiB9KTtcclxuXHJcbiAgcmV0dXJuIGxpbnRlci52ZXJpZnkoXHJcbiAgICBjb2RlLFxyXG4gICAgW1xyXG4gICAgICB7XHJcbiAgICAgICAgZmlsZXM6IFtcIioqLyoudHNcIl0sXHJcbiAgICAgICAgbGFuZ3VhZ2VPcHRpb25zOiB7XHJcbiAgICAgICAgICBlY21hVmVyc2lvbjogMjAyMixcclxuICAgICAgICAgIHBhcnNlcixcclxuICAgICAgICAgIHNvdXJjZVR5cGU6IFwibW9kdWxlXCIsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBwbHVnaW5zOiB7XHJcbiAgICAgICAgICBjb2RlcGVyZmVjdDoge1xyXG4gICAgICAgICAgICBydWxlczoge1xyXG4gICAgICAgICAgICAgIFwiZW5mb3JjZS1hYWEtcGhhc2UtcHVyaXR5XCI6IGVuZm9yY2VBYWFQaGFzZVB1cml0eVJ1bGUsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgcnVsZXM6IHtcclxuICAgICAgICAgIFwiY29kZXBlcmZlY3QvZW5mb3JjZS1hYWEtcGhhc2UtcHVyaXR5XCI6IFwiZXJyb3JcIixcclxuICAgICAgICB9LFxyXG4gICAgICB9LFxyXG4gICAgXSxcclxuICAgIFwiZXhhbXBsZS5zcGVjLnRzXCIsXHJcbiAgKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFJ1bnMgdGhlIHJ1bGUgd2l0aCBhIG1vY2tlZCBBQUEgYW5hbHlzaXMgcmVzdWx0LlxyXG4gKiBAcGFyYW0gYW5hbHlzaXMgTW9ja2VkIGFuYWx5c2lzIHJldHVybmVkIGZyb20gYGFuYWx5emVUZXN0QmxvY2tgLlxyXG4gKiBAcmV0dXJucyBDYXB0dXJlZCByZXBvcnQgY2FsbHMgaXNzdWVkIGJ5IHRoZSBydWxlLlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGNvbnN0IGNhbGxzID0gYXdhaXQgcnVuUnVsZVdpdGhNb2NrZWRBbmFseXNpcyh7IHNlY3Rpb25Db21tZW50czogW10sIHN0YXRlbWVudHM6IFtdIH0pO1xyXG4gKiB2b2lkIGNhbGxzO1xyXG4gKiBgYGBcclxuICovXHJcbmFzeW5jIGZ1bmN0aW9uIHJ1blJ1bGVXaXRoTW9ja2VkQW5hbHlzaXMoXHJcbiAgYW5hbHlzaXM6IE1vY2tlZEFuYWx5c2lzSW5wdXQsXHJcbik6IFByb21pc2U8dW5rbm93bltdW10+IHtcclxuICBjb25zdCByZXBvcnQgPSB2aS5mbigpO1xyXG4gIGNvbnN0IGxpc3RlbmVyID0gYXdhaXQgbG9hZE1vY2tlZExpc3RlbmVyKGFuYWx5c2lzLCByZXBvcnQpO1xyXG5cclxuICB0cnkge1xyXG4gICAgbGlzdGVuZXI/Lih7IHR5cGU6IFwiQ2FsbEV4cHJlc3Npb25cIiB9IGFzIEVTVHJlZS5DYWxsRXhwcmVzc2lvbik7XHJcbiAgICByZXR1cm4gcmVwb3J0Lm1vY2suY2FsbHMgYXMgdW5rbm93bltdW107XHJcbiAgfSBmaW5hbGx5IHtcclxuICAgIHJlc2V0TW9ja2VkQWFhTW9kdWxlKCk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgeyBydW5SdWxlLCBydW5SdWxlV2l0aE1vY2tlZEFuYWx5c2lzIH07XHJcbiJdfQ==
|
|
188
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS10ZXN0LWhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL3Rlc3RpbmcvZW5mb3JjZS1hYWEtcGhhc2UtcHVyaXR5L3J1bGUtdGVzdC1oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDaEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFLNUIsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sUUFBUSxDQUFDO0FBeUJuRDs7Ozs7Ozs7O0dBU0c7QUFDSCxTQUFTLHFCQUFxQixDQUM1QixjQUFpQztJQUVqQyxPQUFPO1FBQ0wsZ0JBQWdCLEVBQUUsR0FBc0IsRUFBRSxDQUFDLGNBQWM7UUFDekQsWUFBWSxFQUFFLEdBQVksRUFBRSxDQUFDLEtBQUs7UUFDbEMsYUFBYSxFQUFFLEdBQVksRUFBRSxDQUFDLEtBQUs7UUFDbkMsUUFBUSxFQUFFLEdBQVksRUFBRSxDQUFDLEtBQUs7UUFDOUIsc0JBQXNCLEVBQUUsR0FBWSxFQUFFLENBQUMsS0FBSztRQUM1QyxXQUFXLEVBQUUsR0FBWSxFQUFFLENBQUMsS0FBSztRQUNqQyx3QkFBd0IsRUFBRSxHQUFZLEVBQUUsQ0FBQyxLQUFLO1FBQzlDLG9CQUFvQixFQUFFLEdBQVksRUFBRSxDQUFDLEtBQUs7UUFDMUMsc0JBQXNCLEVBQUUsR0FBWSxFQUFFLENBQUMsS0FBSztLQUM3QyxDQUFDO0FBQ0osQ0FBQztBQUVEOzs7Ozs7Ozs7R0FTRztBQUNILFNBQVMsb0JBQW9CLENBQzNCLFFBQTZCO0lBRTdCLE9BQU87UUFDTCxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7UUFDeEIsYUFBYSxFQUFFLENBQUM7UUFDaEIsY0FBYyxFQUFFLDBCQUEwQixFQUFFO1FBQzVDLE9BQU8sRUFBRSxJQUFJO1FBQ2IsZUFBZSxFQUFFLFFBQVEsQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ2pFLE9BQU8sRUFBRTtnQkFDUCxHQUFHLEVBQUU7b0JBQ0gsR0FBRyxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFO29CQUMzQixLQUFLLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUU7aUJBQzlCO2dCQUNELEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ2IsSUFBSSxFQUFFLE1BQU07Z0JBQ1osS0FBSyxFQUFFLElBQUksY0FBYyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7YUFDL0M7WUFDRCxNQUFNLEVBQUUsY0FBYyxDQUFDLE1BQU07U0FDOUIsQ0FBQyxDQUFDO1FBQ0gsVUFBVSxFQUFFLEVBQUU7UUFDZCxVQUFVLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDbEQsSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUF1RDtZQUN2RSxLQUFLLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDOUIsTUFBTSxFQUFFLFNBQVMsQ0FBQyxNQUFNO1NBQ3pCLENBQUMsQ0FBQztLQUNKLENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7Ozs7R0FPRztBQUNILFNBQVMsZ0JBQWdCO0lBQ3ZCLE9BQU87UUFDTCxJQUFJLEVBQUUsRUFBRTtRQUNSLEdBQUcsRUFBRTtZQUNILEdBQUcsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRTtZQUMzQixLQUFLLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUU7U0FDOUI7UUFDRCxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2IsSUFBSSxFQUFFLGdCQUFnQjtLQUN2QixDQUFDO0FBQ0osQ0FBQztBQUVEOzs7Ozs7O0dBT0c7QUFDSCxTQUFTLDBCQUEwQjtJQUNqQyxPQUFPO1FBQ0wsU0FBUyxFQUFFLEVBQUU7UUFDYixNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQXVCO1FBQy9ELEdBQUcsRUFBRTtZQUNILEdBQUcsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRTtZQUMzQixLQUFLLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUU7U0FDOUI7UUFDRCxRQUFRLEVBQUUsS0FBSztRQUNmLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDYixJQUFJLEVBQUUsZ0JBQWdCO0tBQ3ZCLENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7Ozs7Ozs7R0FVRztBQUNILEtBQUssVUFBVSxrQkFBa0IsQ0FDL0IsUUFBNkIsRUFDN0IsTUFBZ0M7SUFFaEMsRUFBRSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ2xCLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUN2QixxQkFBcUIsQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUN0RCxDQUFDO0lBRUYsTUFBTSxVQUFVLEdBQXFCLE1BQU0sTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRTVELE9BQU8sVUFBVSxDQUFDLHlCQUF5QixDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sRUFBVyxDQUFDO1NBQ3BFLGNBQXFFLENBQUM7QUFDM0UsQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNILFNBQVMsb0JBQW9CO0lBQzNCLEVBQUUsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdEIsRUFBRSxDQUFDLFlBQVksRUFBRSxDQUFDO0FBQ3BCLENBQUM7QUFFRDs7Ozs7Ozs7O0dBU0c7QUFDSCxTQUFTLE9BQU8sQ0FBQyxJQUFZO0lBQzNCLE1BQU0sTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFFbEQsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUNsQixJQUFJLEVBQ0o7UUFDRTtZQUNFLEtBQUssRUFBRSxDQUFDLFNBQVMsQ0FBQztZQUNsQixlQUFlLEVBQUU7Z0JBQ2YsV0FBVyxFQUFFLElBQUk7Z0JBQ2pCLE1BQU07Z0JBQ04sVUFBVSxFQUFFLFFBQVE7YUFDckI7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AsV0FBVyxFQUFFO29CQUNYLEtBQUssRUFBRTt3QkFDTCwwQkFBMEIsRUFBRSx5QkFBeUI7cUJBQ3REO2lCQUNGO2FBQ0Y7WUFDRCxLQUFLLEVBQUU7Z0JBQ0wsc0NBQXNDLEVBQUUsT0FBTzthQUNoRDtTQUNGO0tBQ0YsRUFDRCxpQkFBaUIsQ0FDbEIsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7Ozs7O0dBU0c7QUFDSCxLQUFLLFVBQVUseUJBQXlCLENBQ3RDLFFBQTZCO0lBRTdCLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztJQUN2QixNQUFNLFFBQVEsR0FBRyxNQUFNLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUU1RCxJQUFJLENBQUM7UUFDSCxRQUFRLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBMkIsQ0FBQyxDQUFDO1FBQ2hFLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFvQixDQUFDO0lBQzFDLENBQUM7WUFBUyxDQUFDO1FBQ1Qsb0JBQW9CLEVBQUUsQ0FBQztJQUN6QixDQUFDO0FBQ0gsQ0FBQztBQUVELE9BQU8sRUFBRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlICogYXMgRVNUcmVlIGZyb20gXCJlc3RyZWVcIjtcclxuXHJcbmltcG9ydCB7IExpbnRlciB9IGZyb20gXCJlc2xpbnRcIjtcclxuaW1wb3J0IHsgcGFyc2VyIH0gZnJvbSBcInR5cGVzY3JpcHQtZXNsaW50XCI7XHJcbmltcG9ydCB7IHZpIH0gZnJvbSBcInZpdGVzdFwiO1xyXG5cclxuaW1wb3J0IHR5cGUgKiBhcyBBYWFNb2R1bGUgZnJvbSBcIi4uL2FhYVwiO1xyXG5pbXBvcnQgdHlwZSB7IFRlc3RCbG9ja0FuYWx5c2lzIH0gZnJvbSBcIi4uL2FhYVwiO1xyXG5cclxuaW1wb3J0IHsgZW5mb3JjZUFhYVBoYXNlUHVyaXR5UnVsZSB9IGZyb20gXCIuL3J1bGVcIjtcclxuXHJcbi8qKiBNaW5pbWFsIGFuYWx5c2lzIGlucHV0IGFjY2VwdGVkIGJ5IHRoZSBtb2NrZWQgQUFBIGhlbHBlci4gKi9cclxuaW50ZXJmYWNlIE1vY2tlZEFuYWx5c2lzSW5wdXQge1xyXG4gIC8qKiBTZWN0aW9uIGNvbW1lbnRzIHJlbGV2YW50IHRvIHRoZSBydWxlIHVuZGVyIHRlc3QuICovXHJcbiAgc2VjdGlvbkNvbW1lbnRzOiB7XHJcbiAgICAvKiogUGhhc2UgbmFtZXMgZGVjbGFyZWQgYnkgdGhlIHN5bnRoZXRpYyBjb21tZW50LiAqL1xyXG4gICAgcGhhc2VzOiBUZXN0QmxvY2tBbmFseXNpc1tcInNlY3Rpb25Db21tZW50c1wiXVtudW1iZXJdW1wicGhhc2VzXCJdO1xyXG4gIH1bXTtcclxuICAvKiogU3RhdGVtZW50IG1ldGFkYXRhIHJlbGV2YW50IHRvIHRoZSBydWxlIHVuZGVyIHRlc3QuICovXHJcbiAgc3RhdGVtZW50czoge1xyXG4gICAgLyoqIFN5bnRoZXRpYyBzdGF0ZW1lbnQgbm9kZSBwcm92aWRlZCB0byB0aGUgcnVsZS4gKi9cclxuICAgIG5vZGU6IEVTVHJlZS5TdGF0ZW1lbnQ7XHJcblxyXG4gICAgLyoqIEFjdGl2ZSBwaGFzZXMgYXNzaWduZWQgdG8gdGhlIHN0YXRlbWVudC4gKi9cclxuICAgIHBoYXNlczogVGVzdEJsb2NrQW5hbHlzaXNbXCJzdGF0ZW1lbnRzXCJdW251bWJlcl1bXCJwaGFzZXNcIl07XHJcbiAgfVtdO1xyXG59XHJcblxyXG4vKiogTW9kdWxlIHNoYXBlIHJldHVybmVkIHdoZW4gdGhlIHJ1bGUgaXMgbG9hZGVkIGFmdGVyIG1vY2tpbmcgdGhlIEFBQSBoZWxwZXJzLiAqL1xyXG5pbnRlcmZhY2UgTW9ja2VkUnVsZU1vZHVsZSB7XHJcbiAgLyoqIFJ1bGUgaW1wbGVtZW50YXRpb24gdW5kZXIgdGVzdC4gKi9cclxuICBlbmZvcmNlQWFhUGhhc2VQdXJpdHlSdWxlOiB0eXBlb2YgZW5mb3JjZUFhYVBoYXNlUHVyaXR5UnVsZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIENyZWF0ZXMgdGhlIG1vY2tlZCBBQUEgbW9kdWxlIHVzZWQgYnkgdGhlIHJ1bGUgdGVzdCBoZWxwZXIuXHJcbiAqIEBwYXJhbSBtb2NrZWRBbmFseXNpcyBNb2NrZWQgYW5hbHlzaXMgcmV0dXJuZWQgYnkgdGhlIGhlbHBlci5cclxuICogQHJldHVybnMgUGFydGlhbCBBQUEgbW9kdWxlIHVzZWQgZm9yIFZpdGVzdCBtb2NraW5nLlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGNvbnN0IG1vZHVsZSA9IGNyZWF0ZU1vY2tlZEFhYU1vZHVsZShjcmVhdGVNb2NrZWRBbmFseXNpcyh7IHNlY3Rpb25Db21tZW50czogW10sIHN0YXRlbWVudHM6IFtdIH0pKTtcclxuICogdm9pZCBtb2R1bGU7XHJcbiAqIGBgYFxyXG4gKi9cclxuZnVuY3Rpb24gY3JlYXRlTW9ja2VkQWFhTW9kdWxlKFxyXG4gIG1vY2tlZEFuYWx5c2lzOiBUZXN0QmxvY2tBbmFseXNpcyxcclxuKTogUGFydGlhbDx0eXBlb2YgQWFhTW9kdWxlPiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIGFuYWx5emVUZXN0QmxvY2s6ICgpOiBUZXN0QmxvY2tBbmFseXNpcyA9PiBtb2NrZWRBbmFseXNpcyxcclxuICAgIGhhc0Fzc2VydGlvbjogKCk6IGJvb2xlYW4gPT4gZmFsc2UsXHJcbiAgICBoYXNBc3luY0xvZ2ljOiAoKTogYm9vbGVhbiA9PiBmYWxzZSxcclxuICAgIGhhc0F3YWl0OiAoKTogYm9vbGVhbiA9PiBmYWxzZSxcclxuICAgIGhhc0NhcHR1cmFibGVBY3RSZXN1bHQ6ICgpOiBib29sZWFuID0+IGZhbHNlLFxyXG4gICAgaGFzTXV0YXRpb246ICgpOiBib29sZWFuID0+IGZhbHNlLFxyXG4gICAgaXNNZWFuaW5nZnVsQWN0U3RhdGVtZW50OiAoKTogYm9vbGVhbiA9PiBmYWxzZSxcclxuICAgIGlzU2V0dXBMaWtlU3RhdGVtZW50OiAoKTogYm9vbGVhbiA9PiBmYWxzZSxcclxuICAgIGlzVmFsaWRBc3NlcnRTdGF0ZW1lbnQ6ICgpOiBib29sZWFuID0+IGZhbHNlLFxyXG4gIH07XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDcmVhdGVzIGEgZnVsbCBhbmFseXNpcyBvYmplY3QgZnJvbSB0aGUgbWluaW1hbCBmaWVsZHMgdXNlZCBpbiB0ZXN0cy5cclxuICogQHBhcmFtIGFuYWx5c2lzIE1pbmltYWwgYW5hbHlzaXMgaW5wdXQgdXNlZCBieSB0ZXN0cy5cclxuICogQHJldHVybnMgQ29tcGxldGUgYW5hbHlzaXMgb2JqZWN0IGNvbnN1bWVkIGJ5IHRoZSBydWxlLlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGNvbnN0IHJlc3VsdCA9IGNyZWF0ZU1vY2tlZEFuYWx5c2lzKHsgc2VjdGlvbkNvbW1lbnRzOiBbXSwgc3RhdGVtZW50czogW10gfSk7XHJcbiAqIHZvaWQgcmVzdWx0O1xyXG4gKiBgYGBcclxuICovXHJcbmZ1bmN0aW9uIGNyZWF0ZU1vY2tlZEFuYWx5c2lzKFxyXG4gIGFuYWx5c2lzOiBNb2NrZWRBbmFseXNpc0lucHV0LFxyXG4pOiBUZXN0QmxvY2tBbmFseXNpcyB7XHJcbiAgcmV0dXJuIHtcclxuICAgIGJvZHk6IGNyZWF0ZU1vY2tlZEJvZHkoKSxcclxuICAgIGJvZHlMaW5lQ291bnQ6IDAsXHJcbiAgICBjYWxsRXhwcmVzc2lvbjogY3JlYXRlTW9ja2VkQ2FsbEV4cHJlc3Npb24oKSxcclxuICAgIG5ld2xpbmU6IFwiXFxuXCIsXHJcbiAgICBzZWN0aW9uQ29tbWVudHM6IGFuYWx5c2lzLnNlY3Rpb25Db21tZW50cy5tYXAoKHNlY3Rpb25Db21tZW50KSA9PiAoe1xyXG4gICAgICBjb21tZW50OiB7XHJcbiAgICAgICAgbG9jOiB7XHJcbiAgICAgICAgICBlbmQ6IHsgY29sdW1uOiAwLCBsaW5lOiAxIH0sXHJcbiAgICAgICAgICBzdGFydDogeyBjb2x1bW46IDAsIGxpbmU6IDEgfSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHJhbmdlOiBbMCwgMF0sXHJcbiAgICAgICAgdHlwZTogXCJMaW5lXCIsXHJcbiAgICAgICAgdmFsdWU6IGAgJHtzZWN0aW9uQ29tbWVudC5waGFzZXMuam9pbihcIiAvIFwiKX1gLFxyXG4gICAgICB9LFxyXG4gICAgICBwaGFzZXM6IHNlY3Rpb25Db21tZW50LnBoYXNlcyxcclxuICAgIH0pKSxcclxuICAgIHNvdXJjZVRleHQ6IFwiXCIsXHJcbiAgICBzdGF0ZW1lbnRzOiBhbmFseXNpcy5zdGF0ZW1lbnRzLm1hcCgoc3RhdGVtZW50KSA9PiAoe1xyXG4gICAgICBub2RlOiBzdGF0ZW1lbnQubm9kZSBhcyBUZXN0QmxvY2tBbmFseXNpc1tcInN0YXRlbWVudHNcIl1bbnVtYmVyXVtcIm5vZGVcIl0sXHJcbiAgICAgIHBoYXNlOiBzdGF0ZW1lbnQucGhhc2VzLmF0KC0xKSxcclxuICAgICAgcGhhc2VzOiBzdGF0ZW1lbnQucGhhc2VzLFxyXG4gICAgfSkpLFxyXG4gIH07XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDcmVhdGVzIGEgbWluaW1hbCBsb2NhdGVkIGJsb2NrIHN0YXRlbWVudCBmb3IgbW9ja2VkIEFBQSBhbmFseXNpcy5cclxuICogQHJldHVybnMgTWluaW1hbCBsb2NhdGVkIGJsb2NrIHN0YXRlbWVudC5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBjb25zdCBib2R5ID0gY3JlYXRlTW9ja2VkQm9keSgpO1xyXG4gKiBgYGBcclxuICovXHJcbmZ1bmN0aW9uIGNyZWF0ZU1vY2tlZEJvZHkoKTogVGVzdEJsb2NrQW5hbHlzaXNbXCJib2R5XCJdIHtcclxuICByZXR1cm4ge1xyXG4gICAgYm9keTogW10sXHJcbiAgICBsb2M6IHtcclxuICAgICAgZW5kOiB7IGNvbHVtbjogMCwgbGluZTogMSB9LFxyXG4gICAgICBzdGFydDogeyBjb2x1bW46IDAsIGxpbmU6IDEgfSxcclxuICAgIH0sXHJcbiAgICByYW5nZTogWzAsIDBdLFxyXG4gICAgdHlwZTogXCJCbG9ja1N0YXRlbWVudFwiLFxyXG4gIH07XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDcmVhdGVzIGEgbWluaW1hbCBsb2NhdGVkIGNhbGwgZXhwcmVzc2lvbiBmb3IgbW9ja2VkIEFBQSBhbmFseXNpcy5cclxuICogQHJldHVybnMgTWluaW1hbCBsb2NhdGVkIGNhbGwgZXhwcmVzc2lvbi5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBjb25zdCBjYWxsRXhwcmVzc2lvbiA9IGNyZWF0ZU1vY2tlZENhbGxFeHByZXNzaW9uKCk7XHJcbiAqIGBgYFxyXG4gKi9cclxuZnVuY3Rpb24gY3JlYXRlTW9ja2VkQ2FsbEV4cHJlc3Npb24oKTogVGVzdEJsb2NrQW5hbHlzaXNbXCJjYWxsRXhwcmVzc2lvblwiXSB7XHJcbiAgcmV0dXJuIHtcclxuICAgIGFyZ3VtZW50czogW10sXHJcbiAgICBjYWxsZWU6IHsgbmFtZTogXCJpdFwiLCB0eXBlOiBcIklkZW50aWZpZXJcIiB9IGFzIEVTVHJlZS5JZGVudGlmaWVyLFxyXG4gICAgbG9jOiB7XHJcbiAgICAgIGVuZDogeyBjb2x1bW46IDAsIGxpbmU6IDEgfSxcclxuICAgICAgc3RhcnQ6IHsgY29sdW1uOiAwLCBsaW5lOiAxIH0sXHJcbiAgICB9LFxyXG4gICAgb3B0aW9uYWw6IGZhbHNlLFxyXG4gICAgcmFuZ2U6IFswLCAwXSxcclxuICAgIHR5cGU6IFwiQ2FsbEV4cHJlc3Npb25cIixcclxuICB9O1xyXG59XHJcblxyXG4vKipcclxuICogQ3JlYXRlcyB0aGUgbW9ja2VkIHJ1bGUgbGlzdGVuZXIgdXNlZCBieSB0aGUgaGVscGVyLlxyXG4gKiBAcGFyYW0gYW5hbHlzaXMgTW9ja2VkIGFuYWx5c2lzIHJldHVybmVkIGZyb20gYGFuYWx5emVUZXN0QmxvY2tgLlxyXG4gKiBAcGFyYW0gcmVwb3J0IFJlcG9ydCBzcHkgcGFzc2VkIGludG8gdGhlIG1vY2tlZCBydWxlIGNvbnRleHQuXHJcbiAqIEByZXR1cm5zIENhbGwtZXhwcmVzc2lvbiBsaXN0ZW5lciBwcm9kdWNlZCBieSB0aGUgbW9ja2VkIHJ1bGUuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogY29uc3QgbGlzdGVuZXIgPSBhd2FpdCBsb2FkTW9ja2VkTGlzdGVuZXIoeyBzZWN0aW9uQ29tbWVudHM6IFtdLCBzdGF0ZW1lbnRzOiBbXSB9LCB2aS5mbigpKTtcclxuICogdm9pZCBsaXN0ZW5lcjtcclxuICogYGBgXHJcbiAqL1xyXG5hc3luYyBmdW5jdGlvbiBsb2FkTW9ja2VkTGlzdGVuZXIoXHJcbiAgYW5hbHlzaXM6IE1vY2tlZEFuYWx5c2lzSW5wdXQsXHJcbiAgcmVwb3J0OiBSZXR1cm5UeXBlPHR5cGVvZiB2aS5mbj4sXHJcbik6IFByb21pc2U8KChub2RlOiBFU1RyZWUuQ2FsbEV4cHJlc3Npb24pID0+IHZvaWQpIHwgdW5kZWZpbmVkPiB7XHJcbiAgdmkucmVzZXRNb2R1bGVzKCk7XHJcbiAgdmkuZG9Nb2NrKFwiLi4vYWFhXCIsICgpID0+XHJcbiAgICBjcmVhdGVNb2NrZWRBYWFNb2R1bGUoY3JlYXRlTW9ja2VkQW5hbHlzaXMoYW5hbHlzaXMpKSxcclxuICApO1xyXG5cclxuICBjb25zdCBydWxlTW9kdWxlOiBNb2NrZWRSdWxlTW9kdWxlID0gYXdhaXQgaW1wb3J0KFwiLi9ydWxlXCIpO1xyXG5cclxuICByZXR1cm4gcnVsZU1vZHVsZS5lbmZvcmNlQWFhUGhhc2VQdXJpdHlSdWxlLmNyZWF0ZSh7IHJlcG9ydCB9IGFzIG5ldmVyKVxyXG4gICAgLkNhbGxFeHByZXNzaW9uIGFzICgobm9kZTogRVNUcmVlLkNhbGxFeHByZXNzaW9uKSA9PiB2b2lkKSB8IHVuZGVmaW5lZDtcclxufVxyXG5cclxuLyoqXHJcbiAqIFJlc2V0cyB0aGUgbW9ja2VkIEFBQSBtb2R1bGUgc3RhdGUgYmV0d2VlbiB0ZXN0IHJ1bnMuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogcmVzZXRNb2NrZWRBYWFNb2R1bGUoKTtcclxuICogYGBgXHJcbiAqL1xyXG5mdW5jdGlvbiByZXNldE1vY2tlZEFhYU1vZHVsZSgpOiB2b2lkIHtcclxuICB2aS5kb1VubW9jayhcIi4uL2FhYVwiKTtcclxuICB2aS5yZXNldE1vZHVsZXMoKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFJ1bnMgdGhlIHJ1bGUgYWdhaW5zdCBvbmUgc291cmNlIHNuaXBwZXQuXHJcbiAqIEBwYXJhbSBjb2RlIFNvdXJjZSBjb2RlIHBhc3NlZCB0byB0aGUgbGludGVyLlxyXG4gKiBAcmV0dXJucyBMaW50IG1lc3NhZ2VzIHByb2R1Y2VkIGJ5IHRoZSBydWxlLlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGNvbnN0IG1lc3NhZ2VzID0gcnVuUnVsZSgnaXQoXCJ3b3Jrc1wiLCAoKSA9PiB7fSk7Jyk7XHJcbiAqIHZvaWQgbWVzc2FnZXM7XHJcbiAqIGBgYFxyXG4gKi9cclxuZnVuY3Rpb24gcnVuUnVsZShjb2RlOiBzdHJpbmcpOiBMaW50ZXIuTGludE1lc3NhZ2VbXSB7XHJcbiAgY29uc3QgbGludGVyID0gbmV3IExpbnRlcih7IGNvbmZpZ1R5cGU6IFwiZmxhdFwiIH0pO1xyXG5cclxuICByZXR1cm4gbGludGVyLnZlcmlmeShcclxuICAgIGNvZGUsXHJcbiAgICBbXHJcbiAgICAgIHtcclxuICAgICAgICBmaWxlczogW1wiKiovKi50c1wiXSxcclxuICAgICAgICBsYW5ndWFnZU9wdGlvbnM6IHtcclxuICAgICAgICAgIGVjbWFWZXJzaW9uOiAyMDIyLFxyXG4gICAgICAgICAgcGFyc2VyLFxyXG4gICAgICAgICAgc291cmNlVHlwZTogXCJtb2R1bGVcIixcclxuICAgICAgICB9LFxyXG4gICAgICAgIHBsdWdpbnM6IHtcclxuICAgICAgICAgIGNvZGVwZXJmZWN0OiB7XHJcbiAgICAgICAgICAgIHJ1bGVzOiB7XHJcbiAgICAgICAgICAgICAgXCJlbmZvcmNlLWFhYS1waGFzZS1wdXJpdHlcIjogZW5mb3JjZUFhYVBoYXNlUHVyaXR5UnVsZSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgICBydWxlczoge1xyXG4gICAgICAgICAgXCJjb2RlcGVyZmVjdC9lbmZvcmNlLWFhYS1waGFzZS1wdXJpdHlcIjogXCJlcnJvclwiLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gICAgXCJleGFtcGxlLnNwZWMudHNcIixcclxuICApO1xyXG59XHJcblxyXG4vKipcclxuICogUnVucyB0aGUgcnVsZSB3aXRoIGEgbW9ja2VkIEFBQSBhbmFseXNpcyByZXN1bHQuXHJcbiAqIEBwYXJhbSBhbmFseXNpcyBNb2NrZWQgYW5hbHlzaXMgcmV0dXJuZWQgZnJvbSBgYW5hbHl6ZVRlc3RCbG9ja2AuXHJcbiAqIEByZXR1cm5zIENhcHR1cmVkIHJlcG9ydCBjYWxscyBpc3N1ZWQgYnkgdGhlIHJ1bGUuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogY29uc3QgY2FsbHMgPSBhd2FpdCBydW5SdWxlV2l0aE1vY2tlZEFuYWx5c2lzKHsgc2VjdGlvbkNvbW1lbnRzOiBbXSwgc3RhdGVtZW50czogW10gfSk7XHJcbiAqIHZvaWQgY2FsbHM7XHJcbiAqIGBgYFxyXG4gKi9cclxuYXN5bmMgZnVuY3Rpb24gcnVuUnVsZVdpdGhNb2NrZWRBbmFseXNpcyhcclxuICBhbmFseXNpczogTW9ja2VkQW5hbHlzaXNJbnB1dCxcclxuKTogUHJvbWlzZTx1bmtub3duW11bXT4ge1xyXG4gIGNvbnN0IHJlcG9ydCA9IHZpLmZuKCk7XHJcbiAgY29uc3QgbGlzdGVuZXIgPSBhd2FpdCBsb2FkTW9ja2VkTGlzdGVuZXIoYW5hbHlzaXMsIHJlcG9ydCk7XHJcblxyXG4gIHRyeSB7XHJcbiAgICBsaXN0ZW5lcj8uKHsgdHlwZTogXCJDYWxsRXhwcmVzc2lvblwiIH0gYXMgRVNUcmVlLkNhbGxFeHByZXNzaW9uKTtcclxuICAgIHJldHVybiByZXBvcnQubW9jay5jYWxscyBhcyB1bmtub3duW11bXTtcclxuICB9IGZpbmFsbHkge1xyXG4gICAgcmVzZXRNb2NrZWRBYWFNb2R1bGUoKTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCB7IHJ1blJ1bGUsIHJ1blJ1bGVXaXRoTW9ja2VkQW5hbHlzaXMgfTtcclxuIl19
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rule.d.ts","sourceRoot":"","sources":["../../../../src/domain/testing/enforce-aaa-phase-purity/rule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"rule.d.ts","sourceRoot":"","sources":["../../../../src/domain/testing/enforce-aaa-phase-purity/rule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAKnC,+EAA+E;AAC/E,QAAA,MAAM,yBAAyB,EAAE,IAAI,CAAC,UAsCrC,CAAC;AAEF,OAAO,EAAE,yBAAyB,EAAE,CAAC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { createRuleDocumentation } from "../../custom-rule-documentation.js";
|
|
2
1
|
import { analyzeTestBlock } from "../aaa/index.js";
|
|
3
2
|
import { reportPhasePurityViolations } from "./phase-purity-reporting.js";
|
|
4
3
|
/** Enforces pure Arrange, Act, and Assert behavior inside AAA-marked tests. */
|
|
@@ -15,7 +14,11 @@ const enforceAaaPhasePurityRule = {
|
|
|
15
14
|
};
|
|
16
15
|
},
|
|
17
16
|
meta: {
|
|
18
|
-
docs:
|
|
17
|
+
docs: {
|
|
18
|
+
description: "Keep setup, action, and assertions inside their intended AAA phases.",
|
|
19
|
+
recommended: false,
|
|
20
|
+
url: "https://github.com/parloti/eslint-plugin/blob/main/docs/rules/enforce-aaa-phase-purity.md",
|
|
21
|
+
},
|
|
19
22
|
messages: {
|
|
20
23
|
actionInArrange: "Keep the function under test out of Arrange; reserve Arrange for setup only.",
|
|
21
24
|
assertionOutsideAssert: "Move assertions into the // Assert section so test logic does not leak earlier.",
|
|
@@ -31,4 +34,4 @@ const enforceAaaPhasePurityRule = {
|
|
|
31
34
|
},
|
|
32
35
|
};
|
|
33
36
|
export { enforceAaaPhasePurityRule };
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vdGVzdGluZy9lbmZvcmNlLWFhYS1waGFzZS1wdXJpdHkvcnVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDMUMsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFdkUsK0VBQStFO0FBQy9FLE1BQU0seUJBQXlCLEdBQW9CO0lBQ2pELE1BQU0sQ0FBQyxPQUF5QjtRQUM5QixPQUFPO1lBQ0wsY0FBYyxDQUFDLElBQUk7Z0JBQ2pCLE1BQU0sUUFBUSxHQUFHLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDakQsSUFBSSxRQUFRLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQztvQkFDeEIsT0FBTztnQkFDVCxDQUFDO2dCQUNELDJCQUEyQixDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztZQUNqRCxDQUFDO1NBQzBCLENBQUM7SUFDaEMsQ0FBQztJQUNELElBQUksRUFBRTtRQUNKLElBQUksRUFBRTtZQUNKLFdBQVcsRUFDVCxzRUFBc0U7WUFDeEUsV0FBVyxFQUFFLEtBQUs7WUFDbEIsR0FBRyxFQUFFLDJGQUEyRjtTQUNqRztRQUNELFFBQVEsRUFBRTtZQUNSLGVBQWUsRUFDYiw4RUFBOEU7WUFDaEYsc0JBQXNCLEVBQ3BCLGlGQUFpRjtZQUNuRixjQUFjLEVBQUUsMkNBQTJDO1lBQzNELGVBQWUsRUFBRSwyQ0FBMkM7WUFDNUQsb0JBQW9CLEVBQ2xCLGdHQUFnRztZQUNsRyxnQkFBZ0IsRUFDZCwyREFBMkQ7WUFDN0Qsb0JBQW9CLEVBQ2xCLDhFQUE4RTtZQUNoRixhQUFhLEVBQ1gsMkVBQTJFO1NBQzlFO1FBQ0QsTUFBTSxFQUFFLEVBQUU7UUFDVixJQUFJLEVBQUUsU0FBUztLQUNoQjtDQUNGLENBQUM7QUFFRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUnVsZSB9IGZyb20gXCJlc2xpbnRcIjtcblxuaW1wb3J0IHsgYW5hbHl6ZVRlc3RCbG9jayB9IGZyb20gXCIuLi9hYWFcIjtcbmltcG9ydCB7IHJlcG9ydFBoYXNlUHVyaXR5VmlvbGF0aW9ucyB9IGZyb20gXCIuL3BoYXNlLXB1cml0eS1yZXBvcnRpbmdcIjtcblxuLyoqIEVuZm9yY2VzIHB1cmUgQXJyYW5nZSwgQWN0LCBhbmQgQXNzZXJ0IGJlaGF2aW9yIGluc2lkZSBBQUEtbWFya2VkIHRlc3RzLiAqL1xuY29uc3QgZW5mb3JjZUFhYVBoYXNlUHVyaXR5UnVsZTogUnVsZS5SdWxlTW9kdWxlID0ge1xuICBjcmVhdGUoY29udGV4dDogUnVsZS5SdWxlQ29udGV4dCk6IFJ1bGUuUnVsZUxpc3RlbmVyIHtcbiAgICByZXR1cm4ge1xuICAgICAgQ2FsbEV4cHJlc3Npb24obm9kZSk6IHZvaWQge1xuICAgICAgICBjb25zdCBhbmFseXNpcyA9IGFuYWx5emVUZXN0QmxvY2soY29udGV4dCwgbm9kZSk7XG4gICAgICAgIGlmIChhbmFseXNpcyA9PT0gdm9pZCAwKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHJlcG9ydFBoYXNlUHVyaXR5VmlvbGF0aW9ucyhjb250ZXh0LCBhbmFseXNpcyk7XG4gICAgICB9LFxuICAgIH0gc2F0aXNmaWVzIFJ1bGUuUnVsZUxpc3RlbmVyO1xuICB9LFxuICBtZXRhOiB7XG4gICAgZG9jczoge1xuICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgIFwiS2VlcCBzZXR1cCwgYWN0aW9uLCBhbmQgYXNzZXJ0aW9ucyBpbnNpZGUgdGhlaXIgaW50ZW5kZWQgQUFBIHBoYXNlcy5cIixcbiAgICAgIHJlY29tbWVuZGVkOiBmYWxzZSxcbiAgICAgIHVybDogXCJodHRwczovL2dpdGh1Yi5jb20vcGFybG90aS9lc2xpbnQtcGx1Z2luL2Jsb2IvbWFpbi9kb2NzL3J1bGVzL2VuZm9yY2UtYWFhLXBoYXNlLXB1cml0eS5tZFwiLFxuICAgIH0sXG4gICAgbWVzc2FnZXM6IHtcbiAgICAgIGFjdGlvbkluQXJyYW5nZTpcbiAgICAgICAgXCJLZWVwIHRoZSBmdW5jdGlvbiB1bmRlciB0ZXN0IG91dCBvZiBBcnJhbmdlOyByZXNlcnZlIEFycmFuZ2UgZm9yIHNldHVwIG9ubHkuXCIsXG4gICAgICBhc3NlcnRpb25PdXRzaWRlQXNzZXJ0OlxuICAgICAgICBcIk1vdmUgYXNzZXJ0aW9ucyBpbnRvIHRoZSAvLyBBc3NlcnQgc2VjdGlvbiBzbyB0ZXN0IGxvZ2ljIGRvZXMgbm90IGxlYWsgZWFybGllci5cIixcbiAgICAgIGFzeW5jSW5BcnJhbmdlOiBcIkRvIG5vdCB0cmlnZ2VyIGFzeW5jIGJlaGF2aW9yIGluIEFycmFuZ2UuXCIsXG4gICAgICBhd2FpdE91dHNpZGVBY3Q6IFwiVXNlIGF3YWl0IG9ubHkgaW5zaWRlIHRoZSAvLyBBY3Qgc2VjdGlvbi5cIixcbiAgICAgIG1pc3NpbmdNZWFuaW5nZnVsQWN0OlxuICAgICAgICBcIlRoZSAvLyBBY3Qgc2VjdGlvbiBtdXN0IGNvbnRhaW4gYSBtZWFuaW5nZnVsIFNVVCBpbnRlcmFjdGlvbiwgbm90IG9ubHkgdXRpbGl0eSBvciBzZXR1cCBjYWxscy5cIixcbiAgICAgIG11dGF0aW9uQWZ0ZXJBY3Q6XG4gICAgICAgIFwiRG8gbm90IG11dGF0ZSB0ZXN0IGRhdGEgYWZ0ZXIgdGhlIC8vIEFjdCBzZWN0aW9uIGhhcyBydW4uXCIsXG4gICAgICBub25Bc3NlcnRpb25JbkFzc2VydDpcbiAgICAgICAgXCJLZWVwIHRoZSAvLyBBc3NlcnQgc2VjdGlvbiBmb2N1c2VkIG9uIGFzc2VydGlvbnMgYW5kIGFzc2VydGlvbi1sb2NhbCB2YWx1ZXMuXCIsXG4gICAgICBzZXR1cEFmdGVyQWN0OlxuICAgICAgICBcIkRvIG5vdCBjb250aW51ZSBhcnJhbmdpbmcgdGVzdCBkYXRhIGFmdGVyIHRoZSAvLyBBY3Qgc2VjdGlvbiBoYXMgc3RhcnRlZC5cIixcbiAgICB9LFxuICAgIHNjaGVtYTogW10sXG4gICAgdHlwZTogXCJwcm9ibGVtXCIsXG4gIH0sXG59O1xuXG5leHBvcnQgeyBlbmZvcmNlQWFhUGhhc2VQdXJpdHlSdWxlIH07XG4iXX0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rule.d.ts","sourceRoot":"","sources":["../../../../src/domain/testing/enforce-aaa-structure/rule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"rule.d.ts","sourceRoot":"","sources":["../../../../src/domain/testing/enforce-aaa-structure/rule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAqFnC,kFAAkF;AAClF,QAAA,MAAM,uBAAuB,EAAE,IAAI,CAAC,UAwCnC,CAAC;AAEF,OAAO,EAAE,uBAAuB,EAAE,CAAC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { createRuleDocumentation } from "../../custom-rule-documentation.js";
|
|
2
1
|
import { aaaPhaseOrder, analyzeTestBlock, getFlattenedSections } from "../aaa/index.js";
|
|
3
2
|
/**
|
|
4
3
|
* Reports a duplicate or out-of-order AAA section comment.
|
|
@@ -72,7 +71,11 @@ const enforceAaaStructureRule = {
|
|
|
72
71
|
};
|
|
73
72
|
},
|
|
74
73
|
meta: {
|
|
75
|
-
docs:
|
|
74
|
+
docs: {
|
|
75
|
+
description: "Require AAA sections to appear once and in Arrange, Act, Assert order.",
|
|
76
|
+
recommended: false,
|
|
77
|
+
url: "https://github.com/parloti/eslint-plugin/blob/main/docs/rules/enforce-aaa-structure.md",
|
|
78
|
+
},
|
|
76
79
|
messages: {
|
|
77
80
|
duplicateSection: "Use the // {{section}} section comment only once per test.",
|
|
78
81
|
invalidOrder: "Move the // {{section}} section comment so AAA phases stay in Arrange, Act, Assert order.",
|
|
@@ -82,4 +85,4 @@ const enforceAaaStructureRule = {
|
|
|
82
85
|
},
|
|
83
86
|
};
|
|
84
87
|
export { enforceAaaStructureRule };
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vdGVzdGluZy9lbmZvcmNlLWFhYS1zdHJ1Y3R1cmUvcnVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sUUFBUSxDQUFDO0FBNkIvRTs7Ozs7Ozs7Ozs7R0FXRztBQUNILE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxLQUE4QixFQUFRLEVBQUU7SUFDbEUsTUFBTSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLEdBQUcsS0FBSyxDQUFDO0lBRTlDLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFDYixJQUFJLEVBQUUsRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLEtBQUssRUFBRTtRQUNoQyxTQUFTO1FBQ1QsSUFBSSxFQUFFLE9BQU8sQ0FBQyxPQUFPO0tBQ3RCLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQztBQUVGOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLEtBQThCLEVBQVUsRUFBRTtJQUNwRSxNQUFNLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsS0FBSyxDQUFDO0lBRS9ELElBQUksVUFBVSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNsQyxrQkFBa0IsQ0FBQyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUN4RSxPQUFPLGNBQWMsQ0FBQztJQUN4QixDQUFDO0lBRUQsTUFBTSxpQkFBaUIsR0FBRyxhQUFhLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZELElBQUksaUJBQWlCLEdBQUcsY0FBYyxFQUFFLENBQUM7UUFDdkMsa0JBQWtCLENBQUMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxVQUFVLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLGlCQUFpQixDQUFDLENBQUM7QUFDckQsQ0FBQyxDQUFDO0FBRUYsa0ZBQWtGO0FBQ2xGLE1BQU0sdUJBQXVCLEdBQW9CO0lBQy9DLE1BQU0sQ0FBQyxPQUF5QjtRQUM5QixPQUFPO1lBQ0wsY0FBYyxDQUFDLElBQUk7Z0JBQ2pCLE1BQU0sUUFBUSxHQUFHLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDakQsSUFBSSxRQUFRLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQztvQkFDeEIsT0FBTztnQkFDVCxDQUFDO2dCQUVELE1BQU0saUJBQWlCLEdBQUcsb0JBQW9CLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ3pELE1BQU0sVUFBVSxHQUFHLElBQUksR0FBRyxFQUFVLENBQUM7Z0JBQ3JDLElBQUksY0FBYyxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUV4QixLQUFLLE1BQU0sT0FBTyxJQUFJLGlCQUFpQixFQUFFLENBQUM7b0JBQ3hDLGNBQWMsR0FBRyxrQkFBa0IsQ0FBQzt3QkFDbEMsT0FBTzt3QkFDUCxjQUFjO3dCQUNkLE9BQU87d0JBQ1AsVUFBVTtxQkFDWCxDQUFDLENBQUM7Z0JBQ0wsQ0FBQztZQUNILENBQUM7U0FDMEIsQ0FBQztJQUNoQyxDQUFDO0lBQ0QsSUFBSSxFQUFFO1FBQ0osSUFBSSxFQUFFO1lBQ0osV0FBVyxFQUNULHdFQUF3RTtZQUMxRSxXQUFXLEVBQUUsS0FBSztZQUNsQixHQUFHLEVBQUUsd0ZBQXdGO1NBQzlGO1FBQ0QsUUFBUSxFQUFFO1lBQ1IsZ0JBQWdCLEVBQ2QsNERBQTREO1lBQzlELFlBQVksRUFDViwyRkFBMkY7U0FDOUY7UUFDRCxNQUFNLEVBQUUsRUFBRTtRQUNWLElBQUksRUFBRSxTQUFTO0tBQ2hCO0NBQ0YsQ0FBQztBQUVGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSdWxlIH0gZnJvbSBcImVzbGludFwiO1xuXG5pbXBvcnQgeyBhYWFQaGFzZU9yZGVyLCBhbmFseXplVGVzdEJsb2NrLCBnZXRGbGF0dGVuZWRTZWN0aW9ucyB9IGZyb20gXCIuLi9hYWFcIjtcblxuLyoqIENvbXBvc2l0ZSBpbnB1dCBmb3IgcmVwb3J0aW5nIG9uZSBBQUEgc2VjdGlvbiBpc3N1ZS4gKi9cbmludGVyZmFjZSBSZXBvcnRTZWN0aW9uSXNzdWVJbnB1dCB7XG4gIC8qKiBBY3RpdmUgRVNMaW50IHJ1bGUgY29udGV4dC4gKi9cbiAgY29udGV4dDogUnVsZS5SdWxlQ29udGV4dDtcblxuICAvKiogTWVzc2FnZSBpZGVudGlmaWVyIHRvIHJlcG9ydCBmb3IgdGhlIHNlY3Rpb24uICovXG4gIG1lc3NhZ2VJZDogXCJkdXBsaWNhdGVTZWN0aW9uXCIgfCBcImludmFsaWRPcmRlclwiO1xuXG4gIC8qKiBTZWN0aW9uIGNvbW1lbnQgYW5kIHBoYXNlIG1ldGFkYXRhIHVuZGVyIGluc3BlY3Rpb24uICovXG4gIHNlY3Rpb246IFJldHVyblR5cGU8dHlwZW9mIGdldEZsYXR0ZW5lZFNlY3Rpb25zPltudW1iZXJdO1xufVxuXG4vKiogQ29tcG9zaXRlIGlucHV0IGZvciBhZHZhbmNpbmcgdGhlIEFBQSBzZWN0aW9uIG9yZGVyaW5nIHN0YXRlLiAqL1xuaW50ZXJmYWNlIFVwZGF0ZVNlY3Rpb25PcmRlcklucHV0IHtcbiAgLyoqIEFjdGl2ZSBFU0xpbnQgcnVsZSBjb250ZXh0LiAqL1xuICBjb250ZXh0OiBSdWxlLlJ1bGVDb250ZXh0O1xuXG4gIC8qKiBIaWdoZXN0IHBoYXNlIG9yZGVyIHNlZW4gc28gZmFyLiAqL1xuICBsYXN0UGhhc2VPcmRlcjogbnVtYmVyO1xuXG4gIC8qKiBTZWN0aW9uIGNvbW1lbnQgYW5kIHBoYXNlIG1ldGFkYXRhIHVuZGVyIGluc3BlY3Rpb24uICovXG4gIHNlY3Rpb246IFJldHVyblR5cGU8dHlwZW9mIGdldEZsYXR0ZW5lZFNlY3Rpb25zPltudW1iZXJdO1xuXG4gIC8qKiBTZXQgb2YgcGhhc2VzIGFscmVhZHkgc2VlbiBpbiB0aGUgY3VycmVudCB0ZXN0IGJsb2NrLiAqL1xuICBzZWVuUGhhc2VzOiBTZXQ8c3RyaW5nPjtcbn1cblxuLyoqXG4gKiBSZXBvcnRzIGEgZHVwbGljYXRlIG9yIG91dC1vZi1vcmRlciBBQUEgc2VjdGlvbiBjb21tZW50LlxuICogQHBhcmFtIGlucHV0IENvbXBvc2l0ZSByZXBvcnRpbmcgaW5wdXQgZm9yIHRoZSBjdXJyZW50IHNlY3Rpb24uXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogcmVwb3J0U2VjdGlvbklzc3VlKHtcbiAqICAgY29udGV4dDoge30gYXMgUnVsZS5SdWxlQ29udGV4dCxcbiAqICAgbWVzc2FnZUlkOiBcImR1cGxpY2F0ZVNlY3Rpb25cIixcbiAqICAgc2VjdGlvbjoge30gYXMgUmV0dXJuVHlwZTx0eXBlb2YgZ2V0RmxhdHRlbmVkU2VjdGlvbnM+W251bWJlcl0sXG4gKiB9KTtcbiAqIGBgYFxuICovXG5jb25zdCByZXBvcnRTZWN0aW9uSXNzdWUgPSAoaW5wdXQ6IFJlcG9ydFNlY3Rpb25Jc3N1ZUlucHV0KTogdm9pZCA9PiB7XG4gIGNvbnN0IHsgY29udGV4dCwgbWVzc2FnZUlkLCBzZWN0aW9uIH0gPSBpbnB1dDtcblxuICBjb250ZXh0LnJlcG9ydCh7XG4gICAgZGF0YTogeyBzZWN0aW9uOiBzZWN0aW9uLnBoYXNlIH0sXG4gICAgbWVzc2FnZUlkLFxuICAgIG5vZGU6IHNlY3Rpb24uY29tbWVudCxcbiAgfSk7XG59O1xuXG4vKipcbiAqIFRyYWNrcyB0aGUgY3VycmVudCBBQUEgb3JkZXJpbmcgc3RhdGUgZm9yIG9uZSBmbGF0dGVuZWQgc2VjdGlvbi5cbiAqIEBwYXJhbSBpbnB1dCBDb21wb3NpdGUgb3JkZXJpbmcgc3RhdGUgZm9yIHRoZSBjdXJyZW50IHNlY3Rpb24uXG4gKiBAcmV0dXJucyBVcGRhdGVkIHBoYXNlIG9yZGVyIHdhdGVybWFyay5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBuZXh0T3JkZXIgPSB1cGRhdGVTZWN0aW9uT3JkZXIoe1xuICogICBjb250ZXh0OiB7fSBhcyBSdWxlLlJ1bGVDb250ZXh0LFxuICogICBsYXN0UGhhc2VPcmRlcjogLTEsXG4gKiAgIHNlY3Rpb246IHt9IGFzIFJldHVyblR5cGU8dHlwZW9mIGdldEZsYXR0ZW5lZFNlY3Rpb25zPltudW1iZXJdLFxuICogICBzZWVuUGhhc2VzOiBuZXcgU2V0KCksXG4gKiB9KTtcbiAqIHZvaWQgbmV4dE9yZGVyO1xuICogYGBgXG4gKi9cbmNvbnN0IHVwZGF0ZVNlY3Rpb25PcmRlciA9IChpbnB1dDogVXBkYXRlU2VjdGlvbk9yZGVySW5wdXQpOiBudW1iZXIgPT4ge1xuICBjb25zdCB7IGNvbnRleHQsIGxhc3RQaGFzZU9yZGVyLCBzZWN0aW9uLCBzZWVuUGhhc2VzIH0gPSBpbnB1dDtcblxuICBpZiAoc2VlblBoYXNlcy5oYXMoc2VjdGlvbi5waGFzZSkpIHtcbiAgICByZXBvcnRTZWN0aW9uSXNzdWUoeyBjb250ZXh0LCBtZXNzYWdlSWQ6IFwiZHVwbGljYXRlU2VjdGlvblwiLCBzZWN0aW9uIH0pO1xuICAgIHJldHVybiBsYXN0UGhhc2VPcmRlcjtcbiAgfVxuXG4gIGNvbnN0IGN1cnJlbnRQaGFzZU9yZGVyID0gYWFhUGhhc2VPcmRlcltzZWN0aW9uLnBoYXNlXTtcbiAgaWYgKGN1cnJlbnRQaGFzZU9yZGVyIDwgbGFzdFBoYXNlT3JkZXIpIHtcbiAgICByZXBvcnRTZWN0aW9uSXNzdWUoeyBjb250ZXh0LCBtZXNzYWdlSWQ6IFwiaW52YWxpZE9yZGVyXCIsIHNlY3Rpb24gfSk7XG4gIH1cblxuICBzZWVuUGhhc2VzLmFkZChzZWN0aW9uLnBoYXNlKTtcbiAgcmV0dXJuIE1hdGgubWF4KGxhc3RQaGFzZU9yZGVyLCBjdXJyZW50UGhhc2VPcmRlcik7XG59O1xuXG4vKiogRW5mb3JjZXMgYSBzaW5nbGUgQXJyYW5nZS9BY3QvQXNzZXJ0IHNlcXVlbmNlIGluc2lkZSBzdXBwb3J0ZWQgdGVzdCBibG9ja3MuICovXG5jb25zdCBlbmZvcmNlQWFhU3RydWN0dXJlUnVsZTogUnVsZS5SdWxlTW9kdWxlID0ge1xuICBjcmVhdGUoY29udGV4dDogUnVsZS5SdWxlQ29udGV4dCk6IFJ1bGUuUnVsZUxpc3RlbmVyIHtcbiAgICByZXR1cm4ge1xuICAgICAgQ2FsbEV4cHJlc3Npb24obm9kZSk6IHZvaWQge1xuICAgICAgICBjb25zdCBhbmFseXNpcyA9IGFuYWx5emVUZXN0QmxvY2soY29udGV4dCwgbm9kZSk7XG4gICAgICAgIGlmIChhbmFseXNpcyA9PT0gdm9pZCAwKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZmxhdHRlbmVkU2VjdGlvbnMgPSBnZXRGbGF0dGVuZWRTZWN0aW9ucyhhbmFseXNpcyk7XG4gICAgICAgIGNvbnN0IHNlZW5QaGFzZXMgPSBuZXcgU2V0PHN0cmluZz4oKTtcbiAgICAgICAgbGV0IGxhc3RQaGFzZU9yZGVyID0gLTE7XG5cbiAgICAgICAgZm9yIChjb25zdCBzZWN0aW9uIG9mIGZsYXR0ZW5lZFNlY3Rpb25zKSB7XG4gICAgICAgICAgbGFzdFBoYXNlT3JkZXIgPSB1cGRhdGVTZWN0aW9uT3JkZXIoe1xuICAgICAgICAgICAgY29udGV4dCxcbiAgICAgICAgICAgIGxhc3RQaGFzZU9yZGVyLFxuICAgICAgICAgICAgc2VjdGlvbixcbiAgICAgICAgICAgIHNlZW5QaGFzZXMsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfSBzYXRpc2ZpZXMgUnVsZS5SdWxlTGlzdGVuZXI7XG4gIH0sXG4gIG1ldGE6IHtcbiAgICBkb2NzOiB7XG4gICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgXCJSZXF1aXJlIEFBQSBzZWN0aW9ucyB0byBhcHBlYXIgb25jZSBhbmQgaW4gQXJyYW5nZSwgQWN0LCBBc3NlcnQgb3JkZXIuXCIsXG4gICAgICByZWNvbW1lbmRlZDogZmFsc2UsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9naXRodWIuY29tL3BhcmxvdGkvZXNsaW50LXBsdWdpbi9ibG9iL21haW4vZG9jcy9ydWxlcy9lbmZvcmNlLWFhYS1zdHJ1Y3R1cmUubWRcIixcbiAgICB9LFxuICAgIG1lc3NhZ2VzOiB7XG4gICAgICBkdXBsaWNhdGVTZWN0aW9uOlxuICAgICAgICBcIlVzZSB0aGUgLy8ge3tzZWN0aW9ufX0gc2VjdGlvbiBjb21tZW50IG9ubHkgb25jZSBwZXIgdGVzdC5cIixcbiAgICAgIGludmFsaWRPcmRlcjpcbiAgICAgICAgXCJNb3ZlIHRoZSAvLyB7e3NlY3Rpb259fSBzZWN0aW9uIGNvbW1lbnQgc28gQUFBIHBoYXNlcyBzdGF5IGluIEFycmFuZ2UsIEFjdCwgQXNzZXJ0IG9yZGVyLlwiLFxuICAgIH0sXG4gICAgc2NoZW1hOiBbXSxcbiAgICB0eXBlOiBcInByb2JsZW1cIixcbiAgfSxcbn07XG5cbmV4cG9ydCB7IGVuZm9yY2VBYWFTdHJ1Y3R1cmVSdWxlIH07XG4iXX0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rule.d.ts","sourceRoot":"","sources":["../../../../src/domain/testing/prefer-vi-mocked-import/rule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"rule.d.ts","sourceRoot":"","sources":["../../../../src/domain/testing/prefer-vi-mocked-import/rule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAKnC,6EAA6E;AAC7E,QAAA,MAAM,wBAAwB,EAAE,IAAI,CAAC,UAuCpC,CAAC;AAEF,OAAO,EAAE,wBAAwB,EAAE,CAAC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { createRuleDocumentation } from "../../custom-rule-documentation.js";
|
|
2
1
|
import { buildFixes } from "./fix.js";
|
|
3
2
|
import { collectMatches } from "./match.js";
|
|
4
3
|
/** Enforce inline `vi.fn()` mocks inside `vi.mock`/`vi.doMock` factories. */
|
|
@@ -23,7 +22,11 @@ const preferViMockedImportRule = {
|
|
|
23
22
|
};
|
|
24
23
|
},
|
|
25
24
|
meta: {
|
|
26
|
-
docs:
|
|
25
|
+
docs: {
|
|
26
|
+
description: "Prefer inlining vi.fn mocks in vi.mock/vi.doMock factories and using vi.mocked(...).",
|
|
27
|
+
recommended: false,
|
|
28
|
+
url: "https://github.com/parloti/eslint-plugin/blob/main/docs/rules/prefer-vi-mocked-import.md",
|
|
29
|
+
},
|
|
27
30
|
fixable: "code",
|
|
28
31
|
messages: {
|
|
29
32
|
preferViMockedImport: "Inline vi.fn mocks in the vi.mock/vi.doMock factory and use vi.mocked(...) for calls.",
|
|
@@ -33,4 +36,4 @@ const preferViMockedImportRule = {
|
|
|
33
36
|
},
|
|
34
37
|
};
|
|
35
38
|
export { preferViMockedImportRule };
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vdGVzdGluZy9wcmVmZXItdmktbW9ja2VkLWltcG9ydC9ydWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDbkMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUV6Qyw2RUFBNkU7QUFDN0UsTUFBTSx3QkFBd0IsR0FBb0I7SUFDaEQsTUFBTSxDQUFDLE9BQXlCO1FBQzlCLE9BQU87WUFDTCxPQUFPLEVBQUUsR0FBUyxFQUFFO2dCQUNsQixNQUFNLE9BQU8sR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBRXhDLElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztvQkFDekIsT0FBTztnQkFDVCxDQUFDO2dCQUVELEtBQUssTUFBTSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztvQkFDL0MsT0FBTyxDQUFDLE1BQU0sQ0FBQzt3QkFDYixHQUFHLEVBQ0QsS0FBSyxLQUFLLENBQUM7NEJBQ1QsQ0FBQyxDQUFDLENBQUMsS0FBcUIsRUFBYyxFQUFFLENBQ3BDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDOzRCQUM5QixDQUFDLENBQUMsS0FBSyxDQUFDO3dCQUNaLFNBQVMsRUFBRSxzQkFBc0I7d0JBQ2pDLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtxQkFDakIsQ0FBQyxDQUFDO2dCQUNMLENBQUM7WUFDSCxDQUFDO1NBQzBCLENBQUM7SUFDaEMsQ0FBQztJQUNELElBQUksRUFBRTtRQUNKLElBQUksRUFBRTtZQUNKLFdBQVcsRUFDVCxzRkFBc0Y7WUFDeEYsV0FBVyxFQUFFLEtBQUs7WUFDbEIsR0FBRyxFQUFFLDBGQUEwRjtTQUNoRztRQUNELE9BQU8sRUFBRSxNQUFNO1FBQ2YsUUFBUSxFQUFFO1lBQ1Isb0JBQW9CLEVBQ2xCLHVGQUF1RjtTQUMxRjtRQUNELE1BQU0sRUFBRSxFQUFFO1FBQ1YsSUFBSSxFQUFFLFlBQVk7S0FDbkI7Q0FDRixDQUFDO0FBRUYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJ1bGUgfSBmcm9tIFwiZXNsaW50XCI7XG5cbmltcG9ydCB7IGJ1aWxkRml4ZXMgfSBmcm9tIFwiLi9maXhcIjtcbmltcG9ydCB7IGNvbGxlY3RNYXRjaGVzIH0gZnJvbSBcIi4vbWF0Y2hcIjtcblxuLyoqIEVuZm9yY2UgaW5saW5lIGB2aS5mbigpYCBtb2NrcyBpbnNpZGUgYHZpLm1vY2tgL2B2aS5kb01vY2tgIGZhY3Rvcmllcy4gKi9cbmNvbnN0IHByZWZlclZpTW9ja2VkSW1wb3J0UnVsZTogUnVsZS5SdWxlTW9kdWxlID0ge1xuICBjcmVhdGUoY29udGV4dDogUnVsZS5SdWxlQ29udGV4dCk6IFJ1bGUuUnVsZUxpc3RlbmVyIHtcbiAgICByZXR1cm4ge1xuICAgICAgUHJvZ3JhbTogKCk6IHZvaWQgPT4ge1xuICAgICAgICBjb25zdCBtYXRjaGVzID0gY29sbGVjdE1hdGNoZXMoY29udGV4dCk7XG5cbiAgICAgICAgaWYgKG1hdGNoZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9yIChjb25zdCBbaW5kZXgsIG1hdGNoXSBvZiBtYXRjaGVzLmVudHJpZXMoKSkge1xuICAgICAgICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgICAgICAgIGZpeDpcbiAgICAgICAgICAgICAgaW5kZXggPT09IDBcbiAgICAgICAgICAgICAgICA/IChmaXhlcjogUnVsZS5SdWxlRml4ZXIpOiBSdWxlLkZpeFtdID0+XG4gICAgICAgICAgICAgICAgICAgIGJ1aWxkRml4ZXMobWF0Y2hlcywgZml4ZXIpXG4gICAgICAgICAgICAgICAgOiB2b2lkIDAsXG4gICAgICAgICAgICBtZXNzYWdlSWQ6IFwicHJlZmVyVmlNb2NrZWRJbXBvcnRcIixcbiAgICAgICAgICAgIG5vZGU6IG1hdGNoLm5vZGUsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfSBzYXRpc2ZpZXMgUnVsZS5SdWxlTGlzdGVuZXI7XG4gIH0sXG4gIG1ldGE6IHtcbiAgICBkb2NzOiB7XG4gICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgXCJQcmVmZXIgaW5saW5pbmcgdmkuZm4gbW9ja3MgaW4gdmkubW9jay92aS5kb01vY2sgZmFjdG9yaWVzIGFuZCB1c2luZyB2aS5tb2NrZWQoLi4uKS5cIixcbiAgICAgIHJlY29tbWVuZGVkOiBmYWxzZSxcbiAgICAgIHVybDogXCJodHRwczovL2dpdGh1Yi5jb20vcGFybG90aS9lc2xpbnQtcGx1Z2luL2Jsb2IvbWFpbi9kb2NzL3J1bGVzL3ByZWZlci12aS1tb2NrZWQtaW1wb3J0Lm1kXCIsXG4gICAgfSxcbiAgICBmaXhhYmxlOiBcImNvZGVcIixcbiAgICBtZXNzYWdlczoge1xuICAgICAgcHJlZmVyVmlNb2NrZWRJbXBvcnQ6XG4gICAgICAgIFwiSW5saW5lIHZpLmZuIG1vY2tzIGluIHRoZSB2aS5tb2NrL3ZpLmRvTW9jayBmYWN0b3J5IGFuZCB1c2UgdmkubW9ja2VkKC4uLikgZm9yIGNhbGxzLlwiLFxuICAgIH0sXG4gICAgc2NoZW1hOiBbXSxcbiAgICB0eXBlOiBcInN1Z2dlc3Rpb25cIixcbiAgfSxcbn07XG5cbmV4cG9ydCB7IHByZWZlclZpTW9ja2VkSW1wb3J0UnVsZSB9O1xuIl19
|
|
@@ -40,6 +40,16 @@ declare function getModuleSpecifier(moduleArgument: TSESTree.Expression): string
|
|
|
40
40
|
* ```
|
|
41
41
|
*/
|
|
42
42
|
declare function getPropertyName(propertyKey: TSESTree.PropertyName): string | undefined;
|
|
43
|
+
/**
|
|
44
|
+
* Checks whether an expression's cast chain contains an escape-hatch cast through unknown or any.
|
|
45
|
+
* @param expression Expression to inspect.
|
|
46
|
+
* @returns True when at least one cast in the chain uses unknown or any as the type annotation.
|
|
47
|
+
* @example
|
|
48
|
+
* ```typescript
|
|
49
|
+
* const isEscapeHatch = hasEscapeHatchCast(expression);
|
|
50
|
+
* ```
|
|
51
|
+
*/
|
|
52
|
+
declare function hasEscapeHatchCast(expression: TSESTree.Expression): boolean;
|
|
43
53
|
/**
|
|
44
54
|
* Narrows object literal elements to the subset the fixer can rewrite safely.
|
|
45
55
|
* @param property Object literal element to inspect.
|
|
@@ -73,6 +83,7 @@ declare function isVitestMockCall(node: TSESTree.CallExpression): boolean;
|
|
|
73
83
|
*/
|
|
74
84
|
declare function shouldWrapImplicitObject(factoryArgument: TSESTree.ArrowFunctionExpression | TSESTree.FunctionExpression, returnExpression: TSESTree.Expression, objectExpression: TSESTree.ObjectExpression): boolean;
|
|
75
85
|
/**
|
|
86
|
+
* Checks whether an expression's cast chain contains an escape-hatch cast through unknown or any.
|
|
76
87
|
* Removes surrounding cast wrappers from an expression.
|
|
77
88
|
* @param expression Expression to unwrap.
|
|
78
89
|
* @returns The innermost non-cast expression.
|
|
@@ -82,5 +93,5 @@ declare function shouldWrapImplicitObject(factoryArgument: TSESTree.ArrowFunctio
|
|
|
82
93
|
* ```
|
|
83
94
|
*/
|
|
84
95
|
declare function unwrapExpression(expression: TSESTree.Expression): TSESTree.Expression;
|
|
85
|
-
export { canUseShorthand, getFactoryReturnExpression, getModuleSpecifier, getPropertyName, isSupportedProperty, isVitestMockCall, shouldWrapImplicitObject, unwrapExpression, };
|
|
96
|
+
export { canUseShorthand, getFactoryReturnExpression, getModuleSpecifier, getPropertyName, hasEscapeHatchCast, isSupportedProperty, isVitestMockCall, shouldWrapImplicitObject, unwrapExpression, };
|
|
86
97
|
//# sourceMappingURL=ast-helpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ast-helpers.d.ts","sourceRoot":"","sources":["../../../../src/domain/testing/prefer-vitest-incremental-casts/ast-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEnE;;;;;;;;GAQG;AACH,iBAAS,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAU3D;AAED;;;;;;;;GAQG;AACH,iBAAS,0BAA0B,CACjC,eAAe,EACX,QAAQ,CAAC,uBAAuB,GAChC,QAAQ,CAAC,kBAAkB,GAC9B,QAAQ,CAAC,UAAU,GAAG,SAAS,CAYjC;AAED;;;;;;;;GAQG;AACH,iBAAS,kBAAkB,CACzB,cAAc,EAAE,QAAQ,CAAC,UAAU,GAClC,MAAM,GAAG,SAAS,CAkBpB;AAED;;;;;;;;GAQG;AACH,iBAAS,eAAe,CACtB,WAAW,EAAE,QAAQ,CAAC,YAAY,GACjC,MAAM,GAAG,SAAS,CAapB;AAED;;;;;;;;GAQG;AACH,iBAAS,mBAAmB,CAC1B,QAAQ,EAAE,QAAQ,CAAC,oBAAoB,GACtC,QAAQ,IAAI,iBAAiB,CAQ/B;AAED;;;;;;;;GAQG;AACH,iBAAS,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,cAAc,GAAG,OAAO,CAahE;AAED;;;;;;;;;;GAUG;AACH,iBAAS,wBAAwB,CAC/B,eAAe,EACX,QAAQ,CAAC,uBAAuB,GAChC,QAAQ,CAAC,kBAAkB,EAC/B,gBAAgB,EAAE,QAAQ,CAAC,UAAU,EACrC,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB,GAC1C,OAAO,CAMT;AAED
|
|
1
|
+
{"version":3,"file":"ast-helpers.d.ts","sourceRoot":"","sources":["../../../../src/domain/testing/prefer-vitest-incremental-casts/ast-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEnE;;;;;;;;GAQG;AACH,iBAAS,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAU3D;AAED;;;;;;;;GAQG;AACH,iBAAS,0BAA0B,CACjC,eAAe,EACX,QAAQ,CAAC,uBAAuB,GAChC,QAAQ,CAAC,kBAAkB,GAC9B,QAAQ,CAAC,UAAU,GAAG,SAAS,CAYjC;AAED;;;;;;;;GAQG;AACH,iBAAS,kBAAkB,CACzB,cAAc,EAAE,QAAQ,CAAC,UAAU,GAClC,MAAM,GAAG,SAAS,CAkBpB;AAED;;;;;;;;GAQG;AACH,iBAAS,eAAe,CACtB,WAAW,EAAE,QAAQ,CAAC,YAAY,GACjC,MAAM,GAAG,SAAS,CAapB;AAED;;;;;;;;GAQG;AACH,iBAAS,kBAAkB,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,GAAG,OAAO,CAoBpE;AAED;;;;;;;;GAQG;AACH,iBAAS,mBAAmB,CAC1B,QAAQ,EAAE,QAAQ,CAAC,oBAAoB,GACtC,QAAQ,IAAI,iBAAiB,CAQ/B;AAED;;;;;;;;GAQG;AACH,iBAAS,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,cAAc,GAAG,OAAO,CAahE;AAED;;;;;;;;;;GAUG;AACH,iBAAS,wBAAwB,CAC/B,eAAe,EACX,QAAQ,CAAC,uBAAuB,GAChC,QAAQ,CAAC,kBAAkB,EAC/B,gBAAgB,EAAE,QAAQ,CAAC,UAAU,EACrC,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB,GAC1C,OAAO,CAMT;AAED;;;;;;;;;GASG;AACH,iBAAS,gBAAgB,CACvB,UAAU,EAAE,QAAQ,CAAC,UAAU,GAC9B,QAAQ,CAAC,UAAU,CAYrB;AAED,OAAO,EACL,eAAe,EACf,0BAA0B,EAC1B,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,wBAAwB,EACxB,gBAAgB,GACjB,CAAC"}
|