@codeperfect/eslint-plugin 2.3.0 → 2.5.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/application/index.d.ts +1 -1
- package/dist/application/index.d.ts.map +1 -1
- package/dist/application/index.js +2 -2
- package/dist/codeperfect-eslint-plugin-1.0.0.tgz +0 -0
- package/dist/domain/architecture/consistent-barrel-files/consistent-barrel-files-options.d.ts.map +1 -1
- package/dist/domain/architecture/consistent-barrel-files/consistent-barrel-files-options.js +4 -2
- 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 +2 -4
- package/dist/domain/architecture/consistent-barrel-files/no-import-export-aliases-rule.d.ts.map +1 -1
- package/dist/domain/architecture/consistent-barrel-files/no-import-export-aliases-rule.js +4 -134
- package/dist/domain/architecture/consistent-barrel-files/no-import-export-aliases-utilities.d.ts +14 -0
- package/dist/domain/architecture/consistent-barrel-files/no-import-export-aliases-utilities.d.ts.map +1 -0
- package/dist/domain/architecture/consistent-barrel-files/no-import-export-aliases-utilities.js +154 -0
- package/dist/domain/architecture/consistent-barrel-files/no-import-export-extensions-rule.d.ts.map +1 -1
- package/dist/domain/architecture/consistent-barrel-files/no-import-export-extensions-rule.js +10 -12
- 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 +4 -11
- package/dist/domain/architecture/no-unused-exports/no-unused-exports-declaration-utilities.d.ts +14 -0
- package/dist/domain/architecture/no-unused-exports/no-unused-exports-declaration-utilities.d.ts.map +1 -0
- package/dist/domain/architecture/no-unused-exports/no-unused-exports-declaration-utilities.js +187 -0
- package/dist/domain/architecture/no-unused-exports/no-unused-exports-identifier-utilities.d.ts +26 -0
- package/dist/domain/architecture/no-unused-exports/no-unused-exports-identifier-utilities.d.ts.map +1 -0
- package/dist/domain/architecture/no-unused-exports/no-unused-exports-identifier-utilities.js +95 -0
- package/dist/domain/architecture/no-unused-exports/no-unused-exports-pattern-utilities.d.ts +32 -0
- package/dist/domain/architecture/no-unused-exports/no-unused-exports-pattern-utilities.d.ts.map +1 -0
- package/dist/domain/architecture/no-unused-exports/no-unused-exports-pattern-utilities.js +78 -0
- package/dist/domain/architecture/no-unused-exports/no-unused-exports-public-api-usage-utilities.d.ts +18 -0
- package/dist/domain/architecture/no-unused-exports/no-unused-exports-public-api-usage-utilities.d.ts.map +1 -0
- package/dist/domain/architecture/no-unused-exports/no-unused-exports-public-api-usage-utilities.js +45 -0
- package/dist/domain/architecture/no-unused-exports/no-unused-exports-record-utilities.d.ts +34 -0
- package/dist/domain/architecture/no-unused-exports/no-unused-exports-record-utilities.d.ts.map +1 -0
- package/dist/domain/architecture/no-unused-exports/no-unused-exports-record-utilities.js +44 -0
- package/dist/domain/architecture/no-unused-exports/no-unused-exports-symbol-utilities.d.ts +59 -0
- package/dist/domain/architecture/no-unused-exports/no-unused-exports-symbol-utilities.d.ts.map +1 -0
- package/dist/domain/architecture/no-unused-exports/no-unused-exports-symbol-utilities.js +133 -0
- package/dist/domain/architecture/no-unused-exports/no-unused-exports-usage-utilities.d.ts +28 -0
- package/dist/domain/architecture/no-unused-exports/no-unused-exports-usage-utilities.d.ts.map +1 -0
- package/dist/domain/architecture/no-unused-exports/no-unused-exports-usage-utilities.js +106 -0
- package/dist/domain/architecture/no-unused-exports/no-unused-exports-utilities.d.ts +21 -21
- package/dist/domain/architecture/no-unused-exports/no-unused-exports-utilities.d.ts.map +1 -1
- package/dist/domain/architecture/no-unused-exports/no-unused-exports-utilities.js +24 -587
- package/dist/domain/architecture/no-unused-exports/rule.js +3 -3
- package/dist/domain/core/no-multiple-declarators/rule-utilities.d.ts +58 -0
- package/dist/domain/core/no-multiple-declarators/rule-utilities.d.ts.map +1 -0
- package/dist/domain/core/no-multiple-declarators/rule-utilities.js +204 -0
- package/dist/domain/core/no-multiple-declarators/rule.d.ts.map +1 -1
- package/dist/domain/core/no-multiple-declarators/rule.js +9 -211
- package/dist/domain/core/no-multiple-declarators/types.js +2 -2
- package/dist/domain/core/prefer-interface-types/rule-utilities.d.ts +57 -0
- package/dist/domain/core/prefer-interface-types/rule-utilities.d.ts.map +1 -0
- package/dist/domain/core/prefer-interface-types/rule-utilities.js +105 -0
- package/dist/domain/core/prefer-interface-types/rule.d.ts.map +1 -1
- package/dist/domain/core/prefer-interface-types/rule.js +2 -104
- package/dist/domain/docs/no-interface-member-docs/comment-removal-ranges.d.ts +25 -0
- package/dist/domain/docs/no-interface-member-docs/comment-removal-ranges.d.ts.map +1 -0
- package/dist/domain/docs/no-interface-member-docs/comment-removal-ranges.js +64 -0
- package/dist/domain/docs/no-interface-member-docs/comment-utilities.d.ts +2 -24
- package/dist/domain/docs/no-interface-member-docs/comment-utilities.d.ts.map +1 -1
- package/dist/domain/docs/no-interface-member-docs/comment-utilities.js +3 -65
- package/dist/domain/docs/no-interface-member-docs/parameter-tags.js +2 -2
- package/dist/domain/docs/no-interface-member-docs/parameter-utilities.js +2 -2
- package/dist/domain/docs/no-interface-member-docs/rule.d.ts.map +1 -1
- package/dist/domain/docs/no-interface-member-docs/rule.js +3 -2
- package/dist/domain/docs/require-example-language/examples-collect.d.ts +15 -0
- package/dist/domain/docs/require-example-language/examples-collect.d.ts.map +1 -0
- package/dist/domain/docs/require-example-language/examples-collect.js +113 -0
- package/dist/domain/docs/require-example-language/examples.d.ts +24 -13
- package/dist/domain/docs/require-example-language/examples.d.ts.map +1 -1
- package/dist/domain/docs/require-example-language/examples.js +2 -111
- package/dist/domain/docs/require-example-language/fixes.js +4 -4
- package/dist/domain/docs/require-example-language/rule.d.ts.map +1 -1
- package/dist/domain/docs/require-example-language/rule.js +9 -8
- package/dist/domain/docs/require-example-language/types.d.ts.map +1 -1
- package/dist/domain/docs/require-example-language/types.js +1 -1
- package/dist/domain/index.d.ts +1 -1
- package/dist/domain/index.d.ts.map +1 -1
- package/dist/domain/index.js +2 -2
- package/dist/domain/testing/aaa/analyzer.analysis.helpers.d.ts.map +1 -1
- package/dist/domain/testing/aaa/analyzer.analysis.helpers.js +8 -8
- package/dist/domain/testing/aaa/analyzer.assertions.helpers.d.ts.map +1 -1
- package/dist/domain/testing/aaa/analyzer.assertions.helpers.js +10 -9
- package/dist/domain/testing/aaa/analyzer.assertions.operands.d.ts.map +1 -1
- package/dist/domain/testing/aaa/analyzer.assertions.operands.js +2 -5
- package/dist/domain/testing/aaa/analyzer.classification.helpers.js +14 -16
- package/dist/domain/testing/aaa/analyzer.classification.traversal.js +6 -4
- package/dist/domain/testing/aaa/analyzer.super.d.ts.map +1 -1
- package/dist/domain/testing/aaa/analyzer.super.js +10 -8
- package/dist/domain/testing/assert-actual-expected-names/rule.d.ts.map +1 -1
- package/dist/domain/testing/assert-actual-expected-names/rule.js +21 -23
- package/dist/domain/testing/enforce-aaa-phase-purity/pattern-identifiers.d.ts.map +1 -1
- package/dist/domain/testing/enforce-aaa-phase-purity/pattern-identifiers.js +1 -1
- package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.d.ts.map +1 -1
- package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.js +2 -160
- package/dist/domain/testing/enforce-aaa-phase-purity/statement-purity-reporters.d.ts +41 -0
- package/dist/domain/testing/enforce-aaa-phase-purity/statement-purity-reporters.d.ts.map +1 -0
- package/dist/domain/testing/enforce-aaa-phase-purity/statement-purity-reporters.js +161 -0
- package/dist/domain/testing/enforce-aaa-structure/missing-section-fixes.d.ts.map +1 -1
- package/dist/domain/testing/enforce-aaa-structure/missing-section-fixes.js +2 -2
- package/dist/domain/testing/enforce-aaa-structure/rule-section-reporting.d.ts +81 -0
- package/dist/domain/testing/enforce-aaa-structure/rule-section-reporting.d.ts.map +1 -0
- package/dist/domain/testing/enforce-aaa-structure/rule-section-reporting.js +181 -0
- package/dist/domain/testing/enforce-aaa-structure/rule.d.ts.map +1 -1
- package/dist/domain/testing/enforce-aaa-structure/rule.js +28 -217
- package/dist/domain/testing/index.d.ts +1 -0
- package/dist/domain/testing/index.d.ts.map +1 -1
- package/dist/domain/testing/index.js +2 -1
- package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/index.d.ts +2 -0
- package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/index.d.ts.map +1 -0
- package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/index.js +2 -0
- package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-detection.d.ts +29 -0
- package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-detection.d.ts.map +1 -0
- package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-detection.js +200 -0
- package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-names.d.ts +12 -0
- package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-names.d.ts.map +1 -0
- package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-names.js +151 -0
- package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-reporting.d.ts +16 -0
- package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-reporting.d.ts.map +1 -0
- package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-reporting.js +109 -0
- package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule.d.ts +5 -0
- package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule.d.ts.map +1 -0
- package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule.js +35 -0
- package/dist/domain/testing/prefer-vi-mocked-import/fix-import-updates.d.ts.map +1 -1
- package/dist/domain/testing/prefer-vi-mocked-import/fix-import-updates.js +7 -4
- package/dist/domain/testing/prefer-vi-mocked-import/fix-imports.d.ts.map +1 -1
- package/dist/domain/testing/prefer-vi-mocked-import/fix-imports.js +7 -4
- package/dist/domain/testing/prefer-vi-mocked-import/fix.js +2 -2
- package/dist/domain/testing/prefer-vi-mocked-import/match-collisions.d.ts +18 -0
- package/dist/domain/testing/prefer-vi-mocked-import/match-collisions.d.ts.map +1 -0
- package/dist/domain/testing/prefer-vi-mocked-import/match-collisions.js +162 -0
- package/dist/domain/testing/prefer-vi-mocked-import/match-rewrites.d.ts.map +1 -1
- package/dist/domain/testing/prefer-vi-mocked-import/match-rewrites.js +5 -4
- package/dist/domain/testing/prefer-vi-mocked-import/match-seeds.d.ts +29 -0
- package/dist/domain/testing/prefer-vi-mocked-import/match-seeds.d.ts.map +1 -0
- package/dist/domain/testing/prefer-vi-mocked-import/match-seeds.js +100 -0
- package/dist/domain/testing/prefer-vi-mocked-import/match.d.ts.map +1 -1
- package/dist/domain/testing/prefer-vi-mocked-import/match.js +5 -246
- package/dist/domain/testing/prefer-vi-mocked-import/rule.d.ts.map +1 -1
- package/dist/domain/testing/prefer-vi-mocked-import/rule.js +18 -20
- package/dist/domain/testing/require-act-result-capture/rule.d.ts.map +1 -1
- package/dist/domain/testing/require-act-result-capture/rule.js +47 -21
- package/dist/domain/testing/require-test-companion/rule.d.ts.map +1 -1
- package/dist/domain/testing/require-test-companion/rule.js +2 -4
- package/dist/domain/testing/single-act-statement/rule.d.ts.map +1 -1
- package/dist/domain/testing/single-act-statement/rule.js +20 -22
- package/dist/infrastructure/codeperfect-plugin.d.ts +2 -0
- package/dist/infrastructure/codeperfect-plugin.d.ts.map +1 -1
- package/dist/infrastructure/codeperfect-plugin.js +3 -2
- package/dist/infrastructure/presets.d.ts.map +1 -1
- package/dist/infrastructure/presets.js +3 -1
- package/package.json +58 -58
- package/dist/.tsbuildinfo +0 -1
|
@@ -161,114 +161,5 @@ function checkExampleContent(content) {
|
|
|
161
161
|
}
|
|
162
162
|
return void 0;
|
|
163
163
|
}
|
|
164
|
-
|
|
165
|
-
* Collects comment lines with their offsets.
|
|
166
|
-
* @param commentValue Raw comment value.
|
|
167
|
-
* @returns Parsed comment lines.
|
|
168
|
-
* @example
|
|
169
|
-
* ```typescript
|
|
170
|
-
* const lines = getCommentLines("* @example\n* value");
|
|
171
|
-
* ```
|
|
172
|
-
*/
|
|
173
|
-
function getCommentLines(commentValue) {
|
|
174
|
-
const lines = [];
|
|
175
|
-
for (const match of commentValue.matchAll(/[^\r\n]*(?:\r?\n|$)/gu)) {
|
|
176
|
-
const value = match[0];
|
|
177
|
-
if (value.length === 0) {
|
|
178
|
-
continue;
|
|
179
|
-
}
|
|
180
|
-
lines.push({
|
|
181
|
-
startOffset: match.index,
|
|
182
|
-
text: value.replace(/\r?\n$/u, ""),
|
|
183
|
-
});
|
|
184
|
-
}
|
|
185
|
-
return lines;
|
|
186
|
-
}
|
|
187
|
-
/**
|
|
188
|
-
* Extracts all \@example entries from a JSDoc comment value.
|
|
189
|
-
* Uses a fence-aware parser so lines that start with `@` inside
|
|
190
|
-
* fenced blocks remain part of the same example.
|
|
191
|
-
* @param commentValue Raw comment value.
|
|
192
|
-
* @returns Extracted examples.
|
|
193
|
-
* @example
|
|
194
|
-
* ```typescript
|
|
195
|
-
* const examples = getExamples("* @example\n* ```typescript\n* ok\n* ```");
|
|
196
|
-
* ```
|
|
197
|
-
*/
|
|
198
|
-
function getExamples(commentValue) {
|
|
199
|
-
const commentLines = getCommentLines(commentValue);
|
|
200
|
-
const examples = [];
|
|
201
|
-
let activeExample;
|
|
202
|
-
for (const line of commentLines) {
|
|
203
|
-
if (activeExample === void 0) {
|
|
204
|
-
if (!isExampleHeaderLine(line.text)) {
|
|
205
|
-
continue;
|
|
206
|
-
}
|
|
207
|
-
activeExample = {
|
|
208
|
-
bodyLines: [],
|
|
209
|
-
header: line.text,
|
|
210
|
-
inFence: false,
|
|
211
|
-
startOffset: line.startOffset,
|
|
212
|
-
};
|
|
213
|
-
continue;
|
|
214
|
-
}
|
|
215
|
-
if (!activeExample.inFence && isJSDocumentTagLine(line.text)) {
|
|
216
|
-
examples.push(buildExampleFromParts({
|
|
217
|
-
bodyLines: activeExample.bodyLines,
|
|
218
|
-
commentValue,
|
|
219
|
-
endOffset: line.startOffset,
|
|
220
|
-
header: activeExample.header,
|
|
221
|
-
startOffset: activeExample.startOffset,
|
|
222
|
-
}));
|
|
223
|
-
activeExample = isExampleHeaderLine(line.text)
|
|
224
|
-
? {
|
|
225
|
-
bodyLines: [],
|
|
226
|
-
header: line.text,
|
|
227
|
-
inFence: false,
|
|
228
|
-
startOffset: line.startOffset,
|
|
229
|
-
}
|
|
230
|
-
: void 0;
|
|
231
|
-
continue;
|
|
232
|
-
}
|
|
233
|
-
activeExample.bodyLines.push(line.text);
|
|
234
|
-
if (getFenceLanguage(line.text) !== void 0) {
|
|
235
|
-
activeExample.inFence = !activeExample.inFence;
|
|
236
|
-
}
|
|
237
|
-
}
|
|
238
|
-
if (activeExample !== void 0) {
|
|
239
|
-
examples.push(buildExampleFromParts({
|
|
240
|
-
bodyLines: activeExample.bodyLines,
|
|
241
|
-
commentValue,
|
|
242
|
-
endOffset: commentValue.length,
|
|
243
|
-
header: activeExample.header,
|
|
244
|
-
startOffset: activeExample.startOffset,
|
|
245
|
-
}));
|
|
246
|
-
}
|
|
247
|
-
return examples;
|
|
248
|
-
}
|
|
249
|
-
/**
|
|
250
|
-
* Checks whether a line starts an \@example tag.
|
|
251
|
-
* @param line Line to inspect.
|
|
252
|
-
* @returns True when the line starts an \@example tag.
|
|
253
|
-
* @example
|
|
254
|
-
* ```typescript
|
|
255
|
-
* const isHeader = isExampleHeaderLine(" * @example");
|
|
256
|
-
* ```
|
|
257
|
-
*/
|
|
258
|
-
function isExampleHeaderLine(line) {
|
|
259
|
-
return /^\s*\*?\s*@example\b/u.test(line);
|
|
260
|
-
}
|
|
261
|
-
/**
|
|
262
|
-
* Checks whether a line starts a JSDoc tag.
|
|
263
|
-
* @param line Line to inspect.
|
|
264
|
-
* @returns True when the line starts a JSDoc tag.
|
|
265
|
-
* @example
|
|
266
|
-
* ```typescript
|
|
267
|
-
* const isTag = isJSDocumentTagLine(" * @returns value");
|
|
268
|
-
* ```
|
|
269
|
-
*/
|
|
270
|
-
function isJSDocumentTagLine(line) {
|
|
271
|
-
return /^\s*\*?\s*@\w+\b/u.test(line);
|
|
272
|
-
}
|
|
273
|
-
export { checkExampleContent, getExamples };
|
|
274
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhhbXBsZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL2RvY3MvcmVxdWlyZS1leGFtcGxlLWxhbmd1YWdlL2V4YW1wbGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsZ0JBQWdCLEVBQ2hCLFdBQVcsRUFDWCxTQUFTLEVBQ1QsY0FBYyxHQUNmLE1BQU0scUJBQXFCLENBQUM7QUF5RjdCOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxLQUFpQixFQUFFLFFBQWdCLEVBQWMsRUFBRTtJQUMzRSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ25CLElBQUksUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUMxQixPQUFPLEVBQUUsR0FBRyxLQUFLLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDN0QsQ0FBQztRQUVELE9BQU87WUFDTCxHQUFHLEtBQUs7WUFDUixzQkFBc0IsRUFBRSxLQUFLO1lBQzdCLE9BQU8sRUFBRSxJQUFJO1lBQ2IsZUFBZSxFQUFFLEtBQUs7WUFDdEIsUUFBUSxFQUFFLElBQUk7U0FDZixDQUFDO0lBQ0osQ0FBQztJQUVELE9BQU87UUFDTCxHQUFHLEtBQUs7UUFDUixzQkFBc0IsRUFBRSxLQUFLO1FBQzdCLGFBQWEsRUFBRSxLQUFLLENBQUMsYUFBYSxJQUFJLENBQUMsS0FBSyxDQUFDLHNCQUFzQjtRQUNuRSxPQUFPLEVBQUUsS0FBSztRQUNkLGVBQWUsRUFBRSxLQUFLO1FBQ3RCLFFBQVEsRUFBRSxJQUFJO0tBQ2YsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sdUJBQXVCLEdBQUcsQ0FDOUIsS0FBaUIsRUFDakIsSUFBWSxFQUNBLEVBQUU7SUFDZCxNQUFNLFFBQVEsR0FB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QUFPLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUN4QyxDQUFDO0FBRUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBFeGFtcGxlLCBQcm9ibGVtIH0gZnJvbSBcIi4vdHlwZXNcIjtcblxuaW1wb3J0IHtcbiAgZ2V0RmVuY2VMYW5ndWFnZSxcbiAgZ2V0SW5saW5lQ29udGVudCxcbiAgZ2V0TGluZU1ldGEsXG4gIGdldFByZWZpeCxcbiAgaGFzTGluZUNvbnRlbnQsXG59IGZyb20gXCIuL2V4YW1wbGUtdXRpbGl0aWVzXCI7XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbmludGVyZmFjZSBBY3RpdmVFeGFtcGxlU3RhdGUge1xuICAvKiogQm9keUxpbmVzIGZpZWxkIHZhbHVlLiAqL1xuICBib2R5TGluZXM6IHN0cmluZ1tdO1xuXG4gIC8qKiBIZWFkZXIgZmllbGQgdmFsdWUuICovXG4gIGhlYWRlcjogc3RyaW5nO1xuXG4gIC8qKiBJbkZlbmNlIGZpZWxkIHZhbHVlLiAqL1xuICBpbkZlbmNlOiBib29sZWFuO1xuXG4gIC8qKiBTdGFydE9mZnNldCBmaWVsZCB2YWx1ZS4gKi9cbiAgc3RhcnRPZmZzZXQ6IG51bWJlcjtcbn1cblxuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xuaW50ZXJmYWNlIENvbW1lbnRMaW5lIHtcbiAgLyoqIFN0YXJ0T2Zmc2V0IGZpZWxkIHZhbHVlLiAqL1xuICBzdGFydE9mZnNldDogbnVtYmVyO1xuXG4gIC8qKiBUZXh0IGZpZWxkIHZhbHVlLiAqL1xuICB0ZXh0OiBzdHJpbmc7XG59XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbmludGVyZmFjZSBFeGFtcGxlQ29udGVudENvbnRleHQge1xuICAvKiogQm9keSBmaWVsZCB2YWx1ZS4gKi9cbiAgYm9keTogc3RyaW5nO1xuXG4gIC8qKiBIZWFkZXIgZmllbGQgdmFsdWUuICovXG4gIGhlYWRlcjogc3RyaW5nO1xufVxuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG5pbnRlcmZhY2UgRXhhbXBsZUZyb21QYXJ0c0NvbnRleHQge1xuICAvKiogQm9keUxpbmVzIGZpZWxkIHZhbHVlLiAqL1xuICBib2R5TGluZXM6IHN0cmluZ1tdO1xuXG4gIC8qKiBDb21tZW50VmFsdWUgZmllbGQgdmFsdWUuICovXG4gIGNvbW1lbnRWYWx1ZTogc3RyaW5nO1xuXG4gIC8qKiBFbmRPZmZzZXQgZmllbGQgdmFsdWUuICovXG4gIGVuZE9mZnNldDogbnVtYmVyO1xuXG4gIC8qKiBIZWFkZXIgZmllbGQgdmFsdWUuICovXG4gIGhlYWRlcjogc3RyaW5nO1xuXG4gIC8qKiBTdGFydE9mZnNldCBmaWVsZCB2YWx1ZS4gKi9cbiAgc3RhcnRPZmZzZXQ6IG51bWJlcjtcbn1cblxuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xuaW50ZXJmYWNlIEZlbmNlQW5hbHlzaXMge1xuICAvKiogSGFzRW1wdHlGZW5jZSBmaWVsZCB2YWx1ZS4gKi9cbiAgaGFzRW1wdHlGZW5jZTogYm9vbGVhbjtcblxuICAvKiogSGFzT3V0c2lkZUZlbmNlQ29udGVudCBmaWVsZCB2YWx1ZS4gKi9cbiAgaGFzT3V0c2lkZUZlbmNlQ29udGVudDogYm9vbGVhbjtcblxuICAvKiogTWlzc2luZ0xhbmd1YWdlIGZpZWxkIHZhbHVlLiAqL1xuICBtaXNzaW5nTGFuZ3VhZ2U6IGJvb2xlYW47XG5cbiAgLyoqIFNhd0ZlbmNlIGZpZWxkIHZhbHVlLiAqL1xuICBzYXdGZW5jZTogYm9vbGVhbjtcbn1cblxuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xuaW50ZXJmYWNlIEZlbmNlU3RhdGUge1xuICAvKiogQ3VycmVudEZlbmNlSGFzQ29udGVudCBmaWVsZCB2YWx1ZS4gKi9cbiAgY3VycmVudEZlbmNlSGFzQ29udGVudDogYm9vbGVhbjtcblxuICAvKiogSGFzRW1wdHlGZW5jZSBmaWVsZCB2YWx1ZS4gKi9cbiAgaGFzRW1wdHlGZW5jZTogYm9vbGVhbjtcblxuICAvKiogSGFzT3V0c2lkZUZlbmNlQ29udGVudCBmaWVsZCB2YWx1ZS4gKi9cbiAgaGFzT3V0c2lkZUZlbmNlQ29udGVudDogYm9vbGVhbjtcblxuICAvKiogSW5GZW5jZSBmaWVsZCB2YWx1ZS4gKi9cbiAgaW5GZW5jZTogYm9vbGVhbjtcblxuICAvKiogTWlzc2luZ0xhbmd1YWdlIGZpZWxkIHZhbHVlLiAqL1xuICBtaXNzaW5nTGFuZ3VhZ2U6IGJvb2xlYW47XG5cbiAgLyoqIFNhd0ZlbmNlIGZpZWxkIHZhbHVlLiAqL1xuICBzYXdGZW5jZTogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBVcGRhdGVzIGZlbmNlIHN0YXRlIGJhc2VkIG9uIHRoZSBkZXRlY3RlZCBsYW5ndWFnZS5cbiAqIEBwYXJhbSBzdGF0ZSBDdXJyZW50IGZlbmNlIHRyYWNraW5nIHN0YXRlLlxuICogQHBhcmFtIGxhbmd1YWdlIEZlbmNlIGxhbmd1YWdlIHN0cmluZy5cbiAqIEByZXR1cm5zIFVwZGF0ZWQgZmVuY2UgdHJhY2tpbmcgc3RhdGUuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgbmV4dCA9IHVwZGF0ZUZlbmNlU3RhdGUoc3RhdGUsIFwidHlwZXNjcmlwdFwiKTtcbiAqIGBgYFxuICovXG5jb25zdCB1cGRhdGVGZW5jZVN0YXRlID0gKHN0YXRlOiBGZW5jZVN0YXRlLCBsYW5ndWFnZTogc3RyaW5nKTogRmVuY2VTdGF0ZSA9PiB7XG4gIGlmICghc3RhdGUuaW5GZW5jZSkge1xuICAgIGlmIChsYW5ndWFnZS5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiB7IC4uLnN0YXRlLCBtaXNzaW5nTGFuZ3VhZ2U6IHRydWUsIHNhd0ZlbmNlOiB0cnVlIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgY3VycmVudEZlbmNlSGFzQ29udGVudDogZmFsc2UsXG4gICAgICBpbkZlbmNlOiB0cnVlLFxuICAgICAgbWlzc2luZ0xhbmd1YWdlOiBmYWxzZSxcbiAgICAgIHNhd0ZlbmNlOiB0cnVlLFxuICAgIH07XG4gIH1cblxuICByZXR1cm4ge1xuICAgIC4uLnN0YXRlLFxuICAgIGN1cnJlbnRGZW5jZUhhc0NvbnRlbnQ6IGZhbHNlLFxuICAgIGhhc0VtcHR5RmVuY2U6IHN0YXRlLmhhc0VtcHR5RmVuY2UgfHwgIXN0YXRlLmN1cnJlbnRGZW5jZUhhc0NvbnRlbnQsXG4gICAgaW5GZW5jZTogZmFsc2UsXG4gICAgbWlzc2luZ0xhbmd1YWdlOiBmYWxzZSxcbiAgICBzYXdGZW5jZTogdHJ1ZSxcbiAgfTtcbn07XG5cbi8qKlxuICogVXBkYXRlcyBmZW5jZSB0cmFja2luZyBmb3IgYSBzaW5nbGUgZXhhbXBsZSBsaW5lLlxuICogQHBhcmFtIHN0YXRlIEN1cnJlbnQgZmVuY2UgdHJhY2tpbmcgc3RhdGUuXG4gKiBAcGFyYW0gbGluZSBFeGFtcGxlIGxpbmUgdG8gaW5zcGVjdC5cbiAqIEByZXR1cm5zIFVwZGF0ZWQgZmVuY2UgdHJhY2tpbmcgc3RhdGUuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgbmV4dCA9IHVwZGF0ZUZlbmNlU3RhdGVGb3JMaW5lKHN0YXRlLCBcIiAqIG9rXCIpO1xuICogYGBgXG4gKi9cbmNvbnN0IHVwZGF0ZUZlbmNlU3RhdGVGb3JMaW5lID0gKFxuICBzdGF0ZTogRmVuY2VTdGF0ZSxcbiAgbGluZTogc3RyaW5nLFxuKTogRmVuY2VTdGF0ZSA9PiB7XG4gIGNvbnN0IGxhbmd1YWdlID0gZ2V0RmVuY2VMYW5ndWFnZShsaW5lKTtcblxuICBpZiAobGFuZ3VhZ2UgIT09IHZvaWQgMCkge1xuICAgIHJldHVybiB1cGRhdGVGZW5jZVN0YXRlKHN0YXRlLCBsYW5ndWFnZSk7XG4gIH1cblxuICBpZiAoc3RhdGUuaW5GZW5jZSAmJiBoYXNMaW5lQ29udGVudChsaW5lKSkge1xuICAgIHJldHVybiB7IC4uLnN0YXRlLCBjdXJyZW50RmVuY2VIYXNDb250ZW50OiB0cnVlIH07XG4gIH1cblxuICBpZiAoIXN0YXRlLmluRmVuY2UgJiYgaGFzTGluZUNvbnRlbnQobGluZSkpIHtcbiAgICByZXR1cm4geyAuLi5zdGF0ZSwgaGFzT3V0c2lkZUZlbmNlQ29udGVudDogdHJ1ZSB9O1xuICB9XG5cbiAgcmV0dXJuIHN0YXRlO1xufTtcblxuLyoqXG4gKiBBbmFseXplcyBmZW5jZWQgY29kZSBibG9ja3MgZm9yIG1pc3NpbmcgbGFuZ3VhZ2UgaWRlbnRpZmllcnMuXG4gKiBAcGFyYW0gY29udGVudCBFeGFtcGxlIGNvbnRlbnQgdG8gYW5hbHl6ZS5cbiAqIEByZXR1cm5zIEZlbmNlIGFuYWx5c2lzIHJlc3VsdHMuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgYW5hbHlzaXMgPSBhbmFseXplRmVuY2VDb250ZW50KFwiYGBgdHlwZXNjcmlwdFxcbmNvbnN0IHZhbHVlID0gMTtcXG5gYGBcIik7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gYW5hbHl6ZUZlbmNlQ29udGVudChjb250ZW50OiBzdHJpbmcpOiBGZW5jZUFuYWx5c2lzIHtcbiAgY29uc3QgbGluZXMgPSBjb250ZW50LnNwbGl0KC9cXHI/XFxuL3UpO1xuICBsZXQgc3RhdGU6IEZlbmNlU3RhdGUgPSB7XG4gICAgY3VycmVudEZlbmNlSGFzQ29udGVudDogZmFsc2UsXG4gICAgaGFzRW1wdHlGZW5jZTogZmFsc2UsXG4gICAgaGFzT3V0c2lkZUZlbmNlQ29udGVudDogZmFsc2UsXG4gICAgaW5GZW5jZTogZmFsc2UsXG4gICAgbWlzc2luZ0xhbmd1YWdlOiBmYWxzZSxcbiAgICBzYXdGZW5jZTogZmFsc2UsXG4gIH07XG5cbiAgZm9yIChjb25zdCBsaW5lIG9mIGxpbmVzKSB7XG4gICAgc3RhdGUgPSB1cGRhdGVGZW5jZVN0YXRlRm9yTGluZShzdGF0ZSwgbGluZSk7XG5cbiAgICBpZiAoc3RhdGUubWlzc2luZ0xhbmd1YWdlKSB7XG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBpZiAoc3RhdGUuaW5GZW5jZSAmJiAhc3RhdGUuY3VycmVudEZlbmNlSGFzQ29udGVudCkge1xuICAgIHN0YXRlID0geyAuLi5zdGF0ZSwgaGFzRW1wdHlGZW5jZTogdHJ1ZSB9O1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBoYXNFbXB0eUZlbmNlOiBzdGF0ZS5oYXNFbXB0eUZlbmNlLFxuICAgIGhhc091dHNpZGVGZW5jZUNvbnRlbnQ6IHN0YXRlLmhhc091dHNpZGVGZW5jZUNvbnRlbnQsXG4gICAgbWlzc2luZ0xhbmd1YWdlOiBzdGF0ZS5taXNzaW5nTGFuZ3VhZ2UsXG4gICAgc2F3RmVuY2U6IHN0YXRlLnNhd0ZlbmNlLFxuICB9O1xufVxuXG4vKipcbiAqIEJ1aWxkcyBleGFtcGxlIGNvbnRlbnQgZnJvbSBhbiBpbmxpbmUgaGVhZGVyIGFuZCBib2R5IGxpbmVzLlxuICogQHBhcmFtIGNvbnRleHQgRXhhbXBsZSBoZWFkZXIgYW5kIGJvZHkgbGluZXMuXG4gKiBAcmV0dXJucyBDb21iaW5lZCBleGFtcGxlIGNvbnRlbnQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgY29udGVudCA9IGJ1aWxkRXhhbXBsZUNvbnRlbnQoeyBib2R5OiBcIiogb2tcIiwgaGVhZGVyOiBcIiogQGV4YW1wbGVcIiB9KTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBidWlsZEV4YW1wbGVDb250ZW50KGNvbnRleHQ6IEV4YW1wbGVDb250ZW50Q29udGV4dCk6IHN0cmluZyB7XG4gIGNvbnN0IHsgYm9keSwgaGVhZGVyIH0gPSBjb250ZXh0O1xuICBjb25zdCBpbmxpbmVDb250ZW50ID0gZ2V0SW5saW5lQ29udGVudChoZWFkZXIpO1xuXG4gIGlmIChpbmxpbmVDb250ZW50Lmxlbmd0aCA+IDApIHtcbiAgICByZXR1cm4gYCR7aW5saW5lQ29udGVudH1cXG4ke2JvZHl9YDtcbiAgfVxuXG4gIHJldHVybiBib2R5O1xufVxuXG4vKipcbiAqIEJ1aWxkcyBhbiBFeGFtcGxlIGZyb20gcGFyc2VkIGhlYWRlciBhbmQgYm9keSBkYXRhLlxuICogQHBhcmFtIGNvbnRleHQgUGFyc2VkIGV4YW1wbGUgY29udGV4dC5cbiAqIEByZXR1cm5zIEV4YW1wbGUgbWV0YWRhdGEgZXh0cmFjdGVkIGZyb20gdGhlIHBhcnNlZCBkYXRhLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGV4YW1wbGUgPSBidWlsZEV4YW1wbGVGcm9tUGFydHMoY29udGV4dCk7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gYnVpbGRFeGFtcGxlRnJvbVBhcnRzKGNvbnRleHQ6IEV4YW1wbGVGcm9tUGFydHNDb250ZXh0KTogRXhhbXBsZSB7XG4gIGNvbnN0IHsgYm9keUxpbmVzLCBjb21tZW50VmFsdWUsIGVuZE9mZnNldCwgaGVhZGVyLCBzdGFydE9mZnNldCB9ID0gY29udGV4dDtcbiAgY29uc3QgY29udGVudCA9IGJ1aWxkRXhhbXBsZUNvbnRlbnQoeyBib2R5OiBib2R5TGluZXMuam9pbihcIlxcblwiKSwgaGVhZGVyIH0pO1xuICBjb25zdCBmdWxsID0gY29tbWVudFZhbHVlLnNsaWNlKHN0YXJ0T2Zmc2V0LCBlbmRPZmZzZXQpO1xuICBjb25zdCBsaW5lTWV0YSA9IGdldExpbmVNZXRhKHtcbiAgICBjb21tZW50VmFsdWUsXG4gICAgZnVsbCxcbiAgICBzdGFydE9mZnNldCxcbiAgfSk7XG5cbiAgcmV0dXJuIHtcbiAgICBjb250ZW50OiBjb250ZW50LnRyaW0oKSxcbiAgICBlbmRJbmRleDogbGluZU1ldGEuZW5kSW5kZXgsXG4gICAgZW5kT2Zmc2V0LFxuICAgIGxpbmVJbmRleDogbGluZU1ldGEubGluZUluZGV4LFxuICAgIHByZWZpeDogZ2V0UHJlZml4KGhlYWRlciksXG4gICAgc3RhcnRPZmZzZXQsXG4gIH07XG59XG5cbi8qKlxuICogQ2hlY2tzIGV4YW1wbGUgY29udGVudCBmb3IgcmVxdWlyZWQgZmVuY2VzIGFuZCBsYW5ndWFnZS5cbiAqIEBwYXJhbSBjb250ZW50IEV4YW1wbGUgY29udGVudCB0byBpbnNwZWN0LlxuICogQHJldHVybnMgUHJvYmxlbSBpZGVudGlmaWVyIHdoZW4gdGhlIGNvbnRlbnQgaXMgaW52YWxpZC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBwcm9ibGVtID0gY2hlY2tFeGFtcGxlQ29udGVudChcImBgYHR5cGVzY3JpcHRcXG5jb25zdCBvayA9IHRydWU7XFxuYGBgXCIpO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGNoZWNrRXhhbXBsZUNvbnRlbnQoY29udGVudDogc3RyaW5nKTogUHJvYmxlbSB8IHVuZGVmaW5lZCB7XG4gIGlmIChjb250ZW50LnRyaW0oKS5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gXCJlbXB0eUV4YW1wbGVcIjtcbiAgfVxuXG4gIGNvbnN0IHsgaGFzRW1wdHlGZW5jZSwgaGFzT3V0c2lkZUZlbmNlQ29udGVudCwgbWlzc2luZ0xhbmd1YWdlLCBzYXdGZW5jZSB9ID1cbiAgICBhbmFseXplRmVuY2VDb250ZW50KGNvbnRlbnQpO1xuXG4gIGlmIChtaXNzaW5nTGFuZ3VhZ2UpIHtcbiAgICByZXR1cm4gXCJtaXNzaW5nTGFuZ3VhZ2VcIjtcbiAgfVxuXG4gIGlmIChzYXdGZW5jZSAmJiBoYXNPdXRzaWRlRmVuY2VDb250ZW50KSB7XG4gICAgcmV0dXJuIFwiY29udGVudE91dHNpZGVGZW5jZVwiO1xuICB9XG5cbiAgaWYgKHNhd0ZlbmNlICYmIGhhc0VtcHR5RmVuY2UpIHtcbiAgICByZXR1cm4gXCJlbXB0eUV4YW1wbGVcIjtcbiAgfVxuXG4gIGlmICghc2F3RmVuY2UpIHtcbiAgICByZXR1cm4gXCJtaXNzaW5nRmVuY2VcIjtcbiAgfVxuXG4gIHJldHVybiB2b2lkIDA7XG59XG5cbi8qKlxuICogQ29sbGVjdHMgY29tbWVudCBsaW5lcyB3aXRoIHRoZWlyIG9mZnNldHMuXG4gKiBAcGFyYW0gY29tbWVudFZhbHVlIFJhdyBjb21tZW50IHZhbHVlLlxuICogQHJldHVybnMgUGFyc2VkIGNvbW1lbnQgbGluZXMuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgbGluZXMgPSBnZXRDb21tZW50TGluZXMoXCIqIEBleGFtcGxlXFxuKiB2YWx1ZVwiKTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBnZXRDb21tZW50TGluZXMoY29tbWVudFZhbHVlOiBzdHJpbmcpOiBDb21tZW50TGluZVtdIHtcbiAgY29uc3QgbGluZXM6IENvbW1lbnRMaW5lW10gPSBbXTtcblxuICBmb3IgKGNvbnN0IG1hdGNoIG9mIGNvbW1lbnRWYWx1ZS5tYXRjaEFsbCgvW15cXHJcXG5dKig/Olxccj9cXG58JCkvZ3UpKSB7XG4gICAgY29uc3QgdmFsdWUgPSBtYXRjaFswXTtcblxuICAgIGlmICh2YWx1ZS5sZW5ndGggPT09IDApIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGxpbmVzLnB1c2goe1xuICAgICAgc3RhcnRPZmZzZXQ6IG1hdGNoLmluZGV4LFxuICAgICAgdGV4dDogdmFsdWUucmVwbGFjZSgvXFxyP1xcbiQvdSwgXCJcIiksXG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gbGluZXM7XG59XG5cbi8qKlxuICogRXh0cmFjdHMgYWxsIFxcQGV4YW1wbGUgZW50cmllcyBmcm9tIGEgSlNEb2MgY29tbWVudCB2YWx1ZS5cbiAqIFVzZXMgYSBmZW5jZS1hd2FyZSBwYXJzZXIgc28gbGluZXMgdGhhdCBzdGFydCB3aXRoIGBAYCBpbnNpZGVcbiAqIGZlbmNlZCBibG9ja3MgcmVtYWluIHBhcnQgb2YgdGhlIHNhbWUgZXhhbXBsZS5cbiAqIEBwYXJhbSBjb21tZW50VmFsdWUgUmF3IGNvbW1lbnQgdmFsdWUuXG4gKiBAcmV0dXJucyBFeHRyYWN0ZWQgZXhhbXBsZXMuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgZXhhbXBsZXMgPSBnZXRFeGFtcGxlcyhcIiogQGV4YW1wbGVcXG4qIGBgYHR5cGVzY3JpcHRcXG4qIG9rXFxuKiBgYGBcIik7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gZ2V0RXhhbXBsZXMoY29tbWVudFZhbHVlOiBzdHJpbmcpOiBFeGFtcGxlW10ge1xuICBjb25zdCBjb21tZW50TGluZXMgPSBnZXRDb21tZW50TGluZXMoY29tbWVudFZhbHVlKTtcbiAgY29uc3QgZXhhbXBsZXM6IEV4YW1wbGVbXSA9IFtdO1xuICBsZXQgYWN0aXZlRXhhbXBsZTogQWN0aXZlRXhhbXBsZVN0YXRlIHwgdW5kZWZpbmVkO1xuXG4gIGZvciAoY29uc3QgbGluZSBvZiBjb21tZW50TGluZXMpIHtcbiAgICBpZiAoYWN0aXZlRXhhbXBsZSA9PT0gdm9pZCAwKSB7XG4gICAgICBpZiAoIWlzRXhhbXBsZUhlYWRlckxpbmUobGluZS50ZXh0KSkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgYWN0aXZlRXhhbXBsZSA9IHtcbiAgICAgICAgYm9keUxpbmVzOiBbXSxcbiAgICAgICAgaGVhZGVyOiBsaW5lLnRleHQsXG4gICAgICAgIGluRmVuY2U6IGZhbHNlLFxuICAgICAgICBzdGFydE9mZnNldDogbGluZS5zdGFydE9mZnNldCxcbiAgICAgIH07XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBpZiAoIWFjdGl2ZUV4YW1wbGUuaW5GZW5jZSAmJiBpc0pTRG9jdW1lbnRUYWdMaW5lKGxpbmUudGV4dCkpIHtcbiAgICAgIGV4YW1wbGVzLnB1c2goXG4gICAgICAgIGJ1aWxkRXhhbXBsZUZyb21QYXJ0cyh7XG4gICAgICAgICAgYm9keUxpbmVzOiBhY3RpdmVFeGFtcGxlLmJvZHlMaW5lcyxcbiAgICAgICAgICBjb21tZW50VmFsdWUsXG4gICAgICAgICAgZW5kT2Zmc2V0OiBsaW5lLnN0YXJ0T2Zmc2V0LFxuICAgICAgICAgIGhlYWRlcjogYWN0aXZlRXhhbXBsZS5oZWFkZXIsXG4gICAgICAgICAgc3RhcnRPZmZzZXQ6IGFjdGl2ZUV4YW1wbGUuc3RhcnRPZmZzZXQsXG4gICAgICAgIH0pLFxuICAgICAgKTtcblxuICAgICAgYWN0aXZlRXhhbXBsZSA9IGlzRXhhbXBsZUhlYWRlckxpbmUobGluZS50ZXh0KVxuICAgICAgICA/IHtcbiAgICAgICAgICAgIGJvZHlMaW5lczogW10sXG4gICAgICAgICAgICBoZWFkZXI6IGxpbmUudGV4dCxcbiAgICAgICAgICAgIGluRmVuY2U6IGZhbHNlLFxuICAgICAgICAgICAgc3RhcnRPZmZzZXQ6IGxpbmUuc3RhcnRPZmZzZXQsXG4gICAgICAgICAgfVxuICAgICAgICA6IHZvaWQgMDtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGFjdGl2ZUV4YW1wbGUuYm9keUxpbmVzLnB1c2gobGluZS50ZXh0KTtcblxuICAgIGlmIChnZXRGZW5jZUxhbmd1YWdlKGxpbmUudGV4dCkgIT09IHZvaWQgMCkge1xuICAgICAgYWN0aXZlRXhhbXBsZS5pbkZlbmNlID0gIWFjdGl2ZUV4YW1wbGUuaW5GZW5jZTtcbiAgICB9XG4gIH1cblxuICBpZiAoYWN0aXZlRXhhbXBsZSAhPT0gdm9pZCAwKSB7XG4gICAgZXhhbXBsZXMucHVzaChcbiAgICAgIGJ1aWxkRXhhbXBsZUZyb21QYXJ0cyh7XG4gICAgICAgIGJvZHlMaW5lczogYWN0aXZlRXhhbXBsZS5ib2R5TGluZXMsXG4gICAgICAgIGNvbW1lbnRWYWx1ZSxcbiAgICAgICAgZW5kT2Zmc2V0OiBjb21tZW50VmFsdWUubGVuZ3RoLFxuICAgICAgICBoZWFkZXI6IGFjdGl2ZUV4YW1wbGUuaGVhZGVyLFxuICAgICAgICBzdGFydE9mZnNldDogYWN0aXZlRXhhbXBsZS5zdGFydE9mZnNldCxcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICByZXR1cm4gZXhhbXBsZXM7XG59XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgYSBsaW5lIHN0YXJ0cyBhbiBcXEBleGFtcGxlIHRhZy5cbiAqIEBwYXJhbSBsaW5lIExpbmUgdG8gaW5zcGVjdC5cbiAqIEByZXR1cm5zIFRydWUgd2hlbiB0aGUgbGluZSBzdGFydHMgYW4gXFxAZXhhbXBsZSB0YWcuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgaXNIZWFkZXIgPSBpc0V4YW1wbGVIZWFkZXJMaW5lKFwiICogQGV4YW1wbGVcIik7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gaXNFeGFtcGxlSGVhZGVyTGluZShsaW5lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIC9eXFxzKlxcKj9cXHMqQGV4YW1wbGVcXGIvdS50ZXN0KGxpbmUpO1xufVxuXG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIGEgbGluZSBzdGFydHMgYSBKU0RvYyB0YWcuXG4gKiBAcGFyYW0gbGluZSBMaW5lIHRvIGluc3BlY3QuXG4gKiBAcmV0dXJucyBUcnVlIHdoZW4gdGhlIGxpbmUgc3RhcnRzIGEgSlNEb2MgdGFnLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGlzVGFnID0gaXNKU0RvY3VtZW50VGFnTGluZShcIiAqIEByZXR1cm5zIHZhbHVlXCIpO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGlzSlNEb2N1bWVudFRhZ0xpbmUobGluZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHJldHVybiAvXlxccypcXCo/XFxzKkBcXHcrXFxiL3UudGVzdChsaW5lKTtcbn1cblxuZXhwb3J0IHsgY2hlY2tFeGFtcGxlQ29udGVudCwgZ2V0RXhhbXBsZXMgfTtcbiJdfQ==
|
|
164
|
+
export { buildExampleFromParts, checkExampleContent };
|
|
165
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhhbXBsZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL2RvY3MvcmVxdWlyZS1leGFtcGxlLWxhbmd1YWdlL2V4YW1wbGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsZ0JBQWdCLEVBQ2hCLFdBQVcsRUFDWCxTQUFTLEVBQ1QsY0FBYyxHQUNmLE1BQU0scUJBQXFCLENBQUM7QUFpRTdCOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxLQUFpQixFQUFFLFFBQWdCLEVBQWMsRUFBRTtJQUMzRSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ25CLElBQUksUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUMxQixPQUFPLEVBQUUsR0FBRyxLQUFLLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDN0QsQ0FBQztRQUVELE9BQU87WUFDTCxHQUFHLEtBQUs7WUFDUixzQkFBc0IsRUFBRSxLQUFLO1lBQzdCLE9BQU8sRUFBRSxJQUFJO1lBQ2IsZUFBZSxFQUFFLEtBQUs7WUFDdEIsUUFBUSxFQUFFLElBQUk7U0FDZixDQUFDO0lBQ0osQ0FBQztJQUVELE9BQU87UUFDTCxHQUFHLEtBQUs7UUFDUixzQkFBc0IsRUFBRSxLQUFLO1FBQzdCLGFBQWEsRUFBRSxLQUFLLENBQUMsYUFBYSxJQUFJLENBQUMsS0FBSyxDQUFDLHNCQUFzQjtRQUNuRSxPQUFPLEVBQUUsS0FBSztRQUNkLGVBQWUsRUFBRSxLQUFLO1FBQ3RCLFFBQVEsRUFBRSxJQUFJO0tBQ2YsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sdUJBQXVCLEdBQUcsQ0FDOUIsS0FBaUIsRUFDakIsSUFBWSxFQUNBLEVBQUU7SUFDZCxNQUFNLFFBQVEsR0FB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QUFPLEVBQUUsT0FBTyxDQUFDLElBQUksRUFBRTtRQUN2QixRQUFRLEVBQUUsUUFBUSxDQUFDLFFBQVE7UUFDM0IsU0FBUztRQUNULFNBQVMsRUFBRSxRQUFRLENBQUMsU0FBUztRQUM3QixNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQztRQUN6QixXQUFXO0tBQ1osQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILFNBQVMsbUJBQW1CLENBQUMsT0FBZTtJQUMxQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDaEMsT0FBTyxjQUFjLENBQUM7SUFDeEIsQ0FBQztJQUVELE1BQU0sRUFBRSxhQUFhLEVBQUUsc0JBQXNCLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxHQUN4RSxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUUvQixJQUFJLGVBQWUsRUFBRSxDQUFDO1FBQ3BCLE9BQU8saUJBQWlCLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQUksUUFBUSxJQUFJLHNCQUFzQixFQUFFLENBQUM7UUFDdkMsT0FBTyxxQkFBcUIsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBSSxRQUFRLElBQUksYUFBYSxFQUFFLENBQUM7UUFDOUIsT0FBTyxjQUFjLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNkLE9BQU8sY0FBYyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxPQUFPLEtBQUssQ0FBQyxDQUFDO0FBQ2hCLENBQUM7QUFFRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRXhhbXBsZSwgUHJvYmxlbSB9IGZyb20gXCIuL3R5cGVzXCI7XG5cbmltcG9ydCB7XG4gIGdldEZlbmNlTGFuZ3VhZ2UsXG4gIGdldElubGluZUNvbnRlbnQsXG4gIGdldExpbmVNZXRhLFxuICBnZXRQcmVmaXgsXG4gIGhhc0xpbmVDb250ZW50LFxufSBmcm9tIFwiLi9leGFtcGxlLXV0aWxpdGllc1wiO1xuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG5pbnRlcmZhY2UgRXhhbXBsZUNvbnRlbnRDb250ZXh0IHtcbiAgLyoqIEJvZHkgZmllbGQgdmFsdWUuICovXG4gIGJvZHk6IHN0cmluZztcblxuICAvKiogSGVhZGVyIGZpZWxkIHZhbHVlLiAqL1xuICBoZWFkZXI6IHN0cmluZztcbn1cblxuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xuaW50ZXJmYWNlIEV4YW1wbGVGcm9tUGFydHNDb250ZXh0IHtcbiAgLyoqIEJvZHlMaW5lcyBmaWVsZCB2YWx1ZS4gKi9cbiAgYm9keUxpbmVzOiBzdHJpbmdbXTtcblxuICAvKiogQ29tbWVudFZhbHVlIGZpZWxkIHZhbHVlLiAqL1xuICBjb21tZW50VmFsdWU6IHN0cmluZztcblxuICAvKiogRW5kT2Zmc2V0IGZpZWxkIHZhbHVlLiAqL1xuICBlbmRPZmZzZXQ6IG51bWJlcjtcblxuICAvKiogSGVhZGVyIGZpZWxkIHZhbHVlLiAqL1xuICBoZWFkZXI6IHN0cmluZztcblxuICAvKiogU3RhcnRPZmZzZXQgZmllbGQgdmFsdWUuICovXG4gIHN0YXJ0T2Zmc2V0OiBudW1iZXI7XG59XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbmludGVyZmFjZSBGZW5jZUFuYWx5c2lzIHtcbiAgLyoqIEhhc0VtcHR5RmVuY2UgZmllbGQgdmFsdWUuICovXG4gIGhhc0VtcHR5RmVuY2U6IGJvb2xlYW47XG5cbiAgLyoqIEhhc091dHNpZGVGZW5jZUNvbnRlbnQgZmllbGQgdmFsdWUuICovXG4gIGhhc091dHNpZGVGZW5jZUNvbnRlbnQ6IGJvb2xlYW47XG5cbiAgLyoqIE1pc3NpbmdMYW5ndWFnZSBmaWVsZCB2YWx1ZS4gKi9cbiAgbWlzc2luZ0xhbmd1YWdlOiBib29sZWFuO1xuXG4gIC8qKiBTYXdGZW5jZSBmaWVsZCB2YWx1ZS4gKi9cbiAgc2F3RmVuY2U6IGJvb2xlYW47XG59XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbmludGVyZmFjZSBGZW5jZVN0YXRlIHtcbiAgLyoqIEN1cnJlbnRGZW5jZUhhc0NvbnRlbnQgZmllbGQgdmFsdWUuICovXG4gIGN1cnJlbnRGZW5jZUhhc0NvbnRlbnQ6IGJvb2xlYW47XG5cbiAgLyoqIEhhc0VtcHR5RmVuY2UgZmllbGQgdmFsdWUuICovXG4gIGhhc0VtcHR5RmVuY2U6IGJvb2xlYW47XG5cbiAgLyoqIEhhc091dHNpZGVGZW5jZUNvbnRlbnQgZmllbGQgdmFsdWUuICovXG4gIGhhc091dHNpZGVGZW5jZUNvbnRlbnQ6IGJvb2xlYW47XG5cbiAgLyoqIEluRmVuY2UgZmllbGQgdmFsdWUuICovXG4gIGluRmVuY2U6IGJvb2xlYW47XG5cbiAgLyoqIE1pc3NpbmdMYW5ndWFnZSBmaWVsZCB2YWx1ZS4gKi9cbiAgbWlzc2luZ0xhbmd1YWdlOiBib29sZWFuO1xuXG4gIC8qKiBTYXdGZW5jZSBmaWVsZCB2YWx1ZS4gKi9cbiAgc2F3RmVuY2U6IGJvb2xlYW47XG59XG5cbi8qKlxuICogVXBkYXRlcyBmZW5jZSBzdGF0ZSBiYXNlZCBvbiB0aGUgZGV0ZWN0ZWQgbGFuZ3VhZ2UuXG4gKiBAcGFyYW0gc3RhdGUgQ3VycmVudCBmZW5jZSB0cmFja2luZyBzdGF0ZS5cbiAqIEBwYXJhbSBsYW5ndWFnZSBGZW5jZSBsYW5ndWFnZSBzdHJpbmcuXG4gKiBAcmV0dXJucyBVcGRhdGVkIGZlbmNlIHRyYWNraW5nIHN0YXRlLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IG5leHQgPSB1cGRhdGVGZW5jZVN0YXRlKHN0YXRlLCBcInR5cGVzY3JpcHRcIik7XG4gKiBgYGBcbiAqL1xuY29uc3QgdXBkYXRlRmVuY2VTdGF0ZSA9IChzdGF0ZTogRmVuY2VTdGF0ZSwgbGFuZ3VhZ2U6IHN0cmluZyk6IEZlbmNlU3RhdGUgPT4ge1xuICBpZiAoIXN0YXRlLmluRmVuY2UpIHtcbiAgICBpZiAobGFuZ3VhZ2UubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4geyAuLi5zdGF0ZSwgbWlzc2luZ0xhbmd1YWdlOiB0cnVlLCBzYXdGZW5jZTogdHJ1ZSB9O1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIGN1cnJlbnRGZW5jZUhhc0NvbnRlbnQ6IGZhbHNlLFxuICAgICAgaW5GZW5jZTogdHJ1ZSxcbiAgICAgIG1pc3NpbmdMYW5ndWFnZTogZmFsc2UsXG4gICAgICBzYXdGZW5jZTogdHJ1ZSxcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICAuLi5zdGF0ZSxcbiAgICBjdXJyZW50RmVuY2VIYXNDb250ZW50OiBmYWxzZSxcbiAgICBoYXNFbXB0eUZlbmNlOiBzdGF0ZS5oYXNFbXB0eUZlbmNlIHx8ICFzdGF0ZS5jdXJyZW50RmVuY2VIYXNDb250ZW50LFxuICAgIGluRmVuY2U6IGZhbHNlLFxuICAgIG1pc3NpbmdMYW5ndWFnZTogZmFsc2UsXG4gICAgc2F3RmVuY2U6IHRydWUsXG4gIH07XG59O1xuXG4vKipcbiAqIFVwZGF0ZXMgZmVuY2UgdHJhY2tpbmcgZm9yIGEgc2luZ2xlIGV4YW1wbGUgbGluZS5cbiAqIEBwYXJhbSBzdGF0ZSBDdXJyZW50IGZlbmNlIHRyYWNraW5nIHN0YXRlLlxuICogQHBhcmFtIGxpbmUgRXhhbXBsZSBsaW5lIHRvIGluc3BlY3QuXG4gKiBAcmV0dXJucyBVcGRhdGVkIGZlbmNlIHRyYWNraW5nIHN0YXRlLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IG5leHQgPSB1cGRhdGVGZW5jZVN0YXRlRm9yTGluZShzdGF0ZSwgXCIgKiBva1wiKTtcbiAqIGBgYFxuICovXG5jb25zdCB1cGRhdGVGZW5jZVN0YXRlRm9yTGluZSA9IChcbiAgc3RhdGU6IEZlbmNlU3RhdGUsXG4gIGxpbmU6IHN0cmluZyxcbik6IEZlbmNlU3RhdGUgPT4ge1xuICBjb25zdCBsYW5ndWFnZSA9IGdldEZlbmNlTGFuZ3VhZ2UobGluZSk7XG5cbiAgaWYgKGxhbmd1YWdlICE9PSB2b2lkIDApIHtcbiAgICByZXR1cm4gdXBkYXRlRmVuY2VTdGF0ZShzdGF0ZSwgbGFuZ3VhZ2UpO1xuICB9XG5cbiAgaWYgKHN0YXRlLmluRmVuY2UgJiYgaGFzTGluZUNvbnRlbnQobGluZSkpIHtcbiAgICByZXR1cm4geyAuLi5zdGF0ZSwgY3VycmVudEZlbmNlSGFzQ29udGVudDogdHJ1ZSB9O1xuICB9XG5cbiAgaWYgKCFzdGF0ZS5pbkZlbmNlICYmIGhhc0xpbmVDb250ZW50KGxpbmUpKSB7XG4gICAgcmV0dXJuIHsgLi4uc3RhdGUsIGhhc091dHNpZGVGZW5jZUNvbnRlbnQ6IHRydWUgfTtcbiAgfVxuXG4gIHJldHVybiBzdGF0ZTtcbn07XG5cbi8qKlxuICogQW5hbHl6ZXMgZmVuY2VkIGNvZGUgYmxvY2tzIGZvciBtaXNzaW5nIGxhbmd1YWdlIGlkZW50aWZpZXJzLlxuICogQHBhcmFtIGNvbnRlbnQgRXhhbXBsZSBjb250ZW50IHRvIGFuYWx5emUuXG4gKiBAcmV0dXJucyBGZW5jZSBhbmFseXNpcyByZXN1bHRzLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGFuYWx5c2lzID0gYW5hbHl6ZUZlbmNlQ29udGVudChcImBgYHR5cGVzY3JpcHRcXG5jb25zdCB2YWx1ZSA9IDE7XFxuYGBgXCIpO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGFuYWx5emVGZW5jZUNvbnRlbnQoY29udGVudDogc3RyaW5nKTogRmVuY2VBbmFseXNpcyB7XG4gIGNvbnN0IGxpbmVzID0gY29udGVudC5zcGxpdCgvXFxyP1xcbi91KTtcbiAgbGV0IHN0YXRlOiBGZW5jZVN0YXRlID0ge1xuICAgIGN1cnJlbnRGZW5jZUhhc0NvbnRlbnQ6IGZhbHNlLFxuICAgIGhhc0VtcHR5RmVuY2U6IGZhbHNlLFxuICAgIGhhc091dHNpZGVGZW5jZUNvbnRlbnQ6IGZhbHNlLFxuICAgIGluRmVuY2U6IGZhbHNlLFxuICAgIG1pc3NpbmdMYW5ndWFnZTogZmFsc2UsXG4gICAgc2F3RmVuY2U6IGZhbHNlLFxuICB9O1xuXG4gIGZvciAoY29uc3QgbGluZSBvZiBsaW5lcykge1xuICAgIHN0YXRlID0gdXBkYXRlRmVuY2VTdGF0ZUZvckxpbmUoc3RhdGUsIGxpbmUpO1xuXG4gICAgaWYgKHN0YXRlLm1pc3NpbmdMYW5ndWFnZSkge1xuICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgaWYgKHN0YXRlLmluRmVuY2UgJiYgIXN0YXRlLmN1cnJlbnRGZW5jZUhhc0NvbnRlbnQpIHtcbiAgICBzdGF0ZSA9IHsgLi4uc3RhdGUsIGhhc0VtcHR5RmVuY2U6IHRydWUgfTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgaGFzRW1wdHlGZW5jZTogc3RhdGUuaGFzRW1wdHlGZW5jZSxcbiAgICBoYXNPdXRzaWRlRmVuY2VDb250ZW50OiBzdGF0ZS5oYXNPdXRzaWRlRmVuY2VDb250ZW50LFxuICAgIG1pc3NpbmdMYW5ndWFnZTogc3RhdGUubWlzc2luZ0xhbmd1YWdlLFxuICAgIHNhd0ZlbmNlOiBzdGF0ZS5zYXdGZW5jZSxcbiAgfTtcbn1cblxuLyoqXG4gKiBCdWlsZHMgZXhhbXBsZSBjb250ZW50IGZyb20gYW4gaW5saW5lIGhlYWRlciBhbmQgYm9keSBsaW5lcy5cbiAqIEBwYXJhbSBjb250ZXh0IEV4YW1wbGUgaGVhZGVyIGFuZCBib2R5IGxpbmVzLlxuICogQHJldHVybnMgQ29tYmluZWQgZXhhbXBsZSBjb250ZW50LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGNvbnRlbnQgPSBidWlsZEV4YW1wbGVDb250ZW50KHsgYm9keTogXCIqIG9rXCIsIGhlYWRlcjogXCIqIEBleGFtcGxlXCIgfSk7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gYnVpbGRFeGFtcGxlQ29udGVudChjb250ZXh0OiBFeGFtcGxlQ29udGVudENvbnRleHQpOiBzdHJpbmcge1xuICBjb25zdCB7IGJvZHksIGhlYWRlciB9ID0gY29udGV4dDtcbiAgY29uc3QgaW5saW5lQ29udGVudCA9IGdldElubGluZUNvbnRlbnQoaGVhZGVyKTtcblxuICBpZiAoaW5saW5lQ29udGVudC5sZW5ndGggPiAwKSB7XG4gICAgcmV0dXJuIGAke2lubGluZUNvbnRlbnR9XFxuJHtib2R5fWA7XG4gIH1cblxuICByZXR1cm4gYm9keTtcbn1cblxuLyoqXG4gKiBCdWlsZHMgYW4gRXhhbXBsZSBmcm9tIHBhcnNlZCBoZWFkZXIgYW5kIGJvZHkgZGF0YS5cbiAqIEBwYXJhbSBjb250ZXh0IFBhcnNlZCBleGFtcGxlIGNvbnRleHQuXG4gKiBAcmV0dXJucyBFeGFtcGxlIG1ldGFkYXRhIGV4dHJhY3RlZCBmcm9tIHRoZSBwYXJzZWQgZGF0YS5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBleGFtcGxlID0gYnVpbGRFeGFtcGxlRnJvbVBhcnRzKGNvbnRleHQpO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGJ1aWxkRXhhbXBsZUZyb21QYXJ0cyhjb250ZXh0OiBFeGFtcGxlRnJvbVBhcnRzQ29udGV4dCk6IEV4YW1wbGUge1xuICBjb25zdCB7IGJvZHlMaW5lcywgY29tbWVudFZhbHVlLCBlbmRPZmZzZXQsIGhlYWRlciwgc3RhcnRPZmZzZXQgfSA9IGNvbnRleHQ7XG4gIGNvbnN0IGNvbnRlbnQgPSBidWlsZEV4YW1wbGVDb250ZW50KHsgYm9keTogYm9keUxpbmVzLmpvaW4oXCJcXG5cIiksIGhlYWRlciB9KTtcbiAgY29uc3QgZnVsbCA9IGNvbW1lbnRWYWx1ZS5zbGljZShzdGFydE9mZnNldCwgZW5kT2Zmc2V0KTtcbiAgY29uc3QgbGluZU1ldGEgPSBnZXRMaW5lTWV0YSh7XG4gICAgY29tbWVudFZhbHVlLFxuICAgIGZ1bGwsXG4gICAgc3RhcnRPZmZzZXQsXG4gIH0pO1xuXG4gIHJldHVybiB7XG4gICAgY29udGVudDogY29udGVudC50cmltKCksXG4gICAgZW5kSW5kZXg6IGxpbmVNZXRhLmVuZEluZGV4LFxuICAgIGVuZE9mZnNldCxcbiAgICBsaW5lSW5kZXg6IGxpbmVNZXRhLmxpbmVJbmRleCxcbiAgICBwcmVmaXg6IGdldFByZWZpeChoZWFkZXIpLFxuICAgIHN0YXJ0T2Zmc2V0LFxuICB9O1xufVxuXG4vKipcbiAqIENoZWNrcyBleGFtcGxlIGNvbnRlbnQgZm9yIHJlcXVpcmVkIGZlbmNlcyBhbmQgbGFuZ3VhZ2UuXG4gKiBAcGFyYW0gY29udGVudCBFeGFtcGxlIGNvbnRlbnQgdG8gaW5zcGVjdC5cbiAqIEByZXR1cm5zIFByb2JsZW0gaWRlbnRpZmllciB3aGVuIHRoZSBjb250ZW50IGlzIGludmFsaWQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgcHJvYmxlbSA9IGNoZWNrRXhhbXBsZUNvbnRlbnQoXCJgYGB0eXBlc2NyaXB0XFxuY29uc3Qgb2sgPSB0cnVlO1xcbmBgYFwiKTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBjaGVja0V4YW1wbGVDb250ZW50KGNvbnRlbnQ6IHN0cmluZyk6IFByb2JsZW0gfCB1bmRlZmluZWQge1xuICBpZiAoY29udGVudC50cmltKCkubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIFwiZW1wdHlFeGFtcGxlXCI7XG4gIH1cblxuICBjb25zdCB7IGhhc0VtcHR5RmVuY2UsIGhhc091dHNpZGVGZW5jZUNvbnRlbnQsIG1pc3NpbmdMYW5ndWFnZSwgc2F3RmVuY2UgfSA9XG4gICAgYW5hbHl6ZUZlbmNlQ29udGVudChjb250ZW50KTtcblxuICBpZiAobWlzc2luZ0xhbmd1YWdlKSB7XG4gICAgcmV0dXJuIFwibWlzc2luZ0xhbmd1YWdlXCI7XG4gIH1cblxuICBpZiAoc2F3RmVuY2UgJiYgaGFzT3V0c2lkZUZlbmNlQ29udGVudCkge1xuICAgIHJldHVybiBcImNvbnRlbnRPdXRzaWRlRmVuY2VcIjtcbiAgfVxuXG4gIGlmIChzYXdGZW5jZSAmJiBoYXNFbXB0eUZlbmNlKSB7XG4gICAgcmV0dXJuIFwiZW1wdHlFeGFtcGxlXCI7XG4gIH1cblxuICBpZiAoIXNhd0ZlbmNlKSB7XG4gICAgcmV0dXJuIFwibWlzc2luZ0ZlbmNlXCI7XG4gIH1cblxuICByZXR1cm4gdm9pZCAwO1xufVxuXG5leHBvcnQgeyBidWlsZEV4YW1wbGVGcm9tUGFydHMsIGNoZWNrRXhhbXBsZUNvbnRlbnQgfTtcbiJdfQ==
|
|
@@ -55,13 +55,13 @@ function buildMissingFenceFix(example) {
|
|
|
55
55
|
function buildMissingLanguageFix(original) {
|
|
56
56
|
const lineBreak = original.includes("\r\n") ? "\r\n" : "\n";
|
|
57
57
|
const lines = original.split(/\r?\n/u);
|
|
58
|
-
let
|
|
58
|
+
let isInFence = false;
|
|
59
59
|
const updatedLines = lines.map((line) => {
|
|
60
60
|
const { inFence: nextInFence, line: nextLine } = applyFenceLanguage({
|
|
61
|
-
inFence,
|
|
61
|
+
inFence: isInFence,
|
|
62
62
|
line,
|
|
63
63
|
});
|
|
64
|
-
|
|
64
|
+
isInFence = nextInFence;
|
|
65
65
|
return nextLine;
|
|
66
66
|
});
|
|
67
67
|
const updated = updatedLines.join(lineBreak);
|
|
@@ -182,4 +182,4 @@ function stripContentPrefix(context) {
|
|
|
182
182
|
return line.replace(/^\s*\*\s?/u, "");
|
|
183
183
|
}
|
|
184
184
|
export { createFixer };
|
|
185
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL2RvY3MvcmVxdWlyZS1leGFtcGxlLWxhbmd1YWdlL2ZpeGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQTREeEU7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLGtCQUFrQixDQUFDLE9BQTZCO0lBQ3ZELE1BQU0sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLEdBQUcsT0FBTyxDQUFDO0lBQ2xDLE1BQU0sU0FBUyxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUV2QyxJQUFJLFNBQVMsS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3pCLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxPQUFPLElBQUksU0FBUyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO0lBQ3RFLE1BQU0sUUFBUSxHQUFHLGlCQUFpQjtRQUNoQyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsT0FBTyxrQkFBa0I7UUFDeEMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUVULE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDO0FBQy9DLENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILFNBQVMsb0JBQW9CLENBQUMsT0FBZ0I7SUFDNUMsTUFBTSxZQUFZLEdBQUcscUJBQXFCLENBQUM7UUFDekMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPO1FBQ3hCLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTTtLQUN2QixDQUFDLENBQUM7SUFFSCxPQUFPO1FBQ0wsR0FBRyxPQUFPLENBQUMsTUFBTSxVQUFVO1FBQzNCLEdBQUcsT0FBTyxD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QUFDO1FBQ3ZCLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxJQUFJLGdCQUFnQixFQUFFLENBQUM7UUFDckIsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDN0IsT0FBTyxLQUFLLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBRUQsT0FBTyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUN2QyxDQUFDO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLGtCQUFrQixDQUFDLE9BQWtDO0lBQzVELE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDO0lBRWpDLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQzVCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDeEMsQ0FBQztBQUVELE9BQU8sRUFBRSxXQUFXLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUnVsZSB9IGZyb20gXCJlc2xpbnRcIjtcblxuaW1wb3J0IHR5cGUgeyBFeGFtcGxlLCBQcm9ibGVtIH0gZnJvbSBcIi4vdHlwZXNcIjtcblxuaW1wb3J0IHsgcGFyc2VGZW5jZUxpbmUsIHJlbW92ZUVtcHR5RmVuY2VzIH0gZnJvbSBcIi4vZW1wdHktZmVuY2UtZml4ZXNcIjtcblxuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xuaW50ZXJmYWNlIEVtcHR5RXhhbXBsZUZpeENvbnRleHQge1xuICAvKiogRXhhbXBsZSBmaWVsZCB2YWx1ZS4gKi9cbiAgZXhhbXBsZTogRXhhbXBsZTtcbiAgLyoqIEhhc090aGVyRXhhbXBsZXMgZmllbGQgdmFsdWUuICovXG4gIGhhc090aGVyRXhhbXBsZXM6IGJvb2xlYW47XG4gIC8qKiBPcmlnaW5hbCBmaWVsZCB2YWx1ZS4gKi9cbiAgb3JpZ2luYWw6IHN0cmluZztcbn1cblxuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xuaW50ZXJmYWNlIEZlbmNlTGFuZ3VhZ2VDb250ZXh0IHtcbiAgLyoqIEluRmVuY2UgZmllbGQgdmFsdWUuICovXG4gIGluRmVuY2U6IGJvb2xlYW47XG4gIC8qKiBMaW5lIGZpZWxkIHZhbHVlLiAqL1xuICBsaW5lOiBzdHJpbmc7XG59XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbmludGVyZmFjZSBGZW5jZVJlc3VsdCB7XG4gIC8qKiBJbkZlbmNlIGZpZWxkIHZhbHVlLiAqL1xuICBpbkZlbmNlOiBib29sZWFuO1xuICAvKiogTGluZSBmaWVsZCB2YWx1ZS4gKi9cbiAgbGluZTogc3RyaW5nO1xufVxuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG5pbnRlcmZhY2UgRml4ZXJDb250ZXh0IHtcbiAgLyoqIEFic29sdXRlRW5kIGZpZWxkIHZhbHVlLiAqL1xuICBhYnNvbHV0ZUVuZDogbnVtYmVyO1xuICAvKiogQWJzb2x1dGVTdGFydCBmaWVsZCB2YWx1ZS4gKi9cbiAgYWJzb2x1dGVTdGFydDogbnVtYmVyO1xuICAvKiogRXhhbXBsZSBmaWVsZCB2YWx1ZS4gKi9cbiAgZXhhbXBsZTogRXhhbXBsZTtcbiAgLyoqIEhhc090aGVyRXhhbXBsZXMgZmllbGQgdmFsdWUuICovXG4gIGhhc090aGVyRXhhbXBsZXM6IGJvb2xlYW47XG4gIC8qKiBQcm9ibGVtIGZpZWxkIHZhbHVlLiAqL1xuICBwcm9ibGVtOiBQcm9ibGVtO1xuICAvKiogU291cmNlVGV4dCBmaWVsZCB2YWx1ZS4gKi9cbiAgc291cmNlVGV4dDogc3RyaW5nO1xufVxuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG5pbnRlcmZhY2UgTm9ybWFsaXplQ29udGVudExpbmVzQ29udGV4dCB7XG4gIC8qKiBDb250ZW50IGZpZWxkIHZhbHVlLiAqL1xuICBjb250ZW50OiBzdHJpbmc7XG4gIC8qKiBQcmVmaXggZmllbGQgdmFsdWUuICovXG4gIHByZWZpeDogc3RyaW5nO1xufVxuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG5pbnRlcmZhY2UgU3RyaXBDb250ZW50UHJlZml4Q29udGV4dCB7XG4gIC8qKiBMaW5lIGZpZWxkIHZhbHVlLiAqL1xuICBsaW5lOiBzdHJpbmc7XG4gIC8qKiBQcmVmaXggZmllbGQgdmFsdWUuICovXG4gIHByZWZpeDogc3RyaW5nO1xufVxuXG4vKipcbiAqIEFwcGxpZXMgYSBsYW5ndWFnZSB0byBhIGZlbmNlIGxpbmUgd2hlbiBuZWVkZWQuXG4gKiBAcGFyYW0gY29udGV4dCBGZW5jZSBzdGF0ZSBhbmQgbGluZSBkYXRhLlxuICogQHJldHVybnMgVXBkYXRlZCBsaW5lIGFuZCBmZW5jZSBzdGF0ZS5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCByZXN1bHQgPSBhcHBseUZlbmNlTGFuZ3VhZ2UoeyBpbkZlbmNlOiBmYWxzZSwgbGluZTogXCIgKiBgYGBcIiB9KTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBhcHBseUZlbmNlTGFuZ3VhZ2UoY29udGV4dDogRmVuY2VMYW5ndWFnZUNvbnRleHQpOiBGZW5jZVJlc3VsdCB7XG4gIGNvbnN0IHsgaW5GZW5jZSwgbGluZSB9ID0gY29udGV4dDtcbiAgY29uc3QgZmVuY2VJbmZvID0gcGFyc2VGZW5jZUxpbmUobGluZSk7XG5cbiAgaWYgKGZlbmNlSW5mbyA9PT0gdm9pZCAwKSB7XG4gICAgcmV0dXJuIHsgaW5GZW5jZSwgbGluZSB9O1xuICB9XG5cbiAgY29uc3Qgc2hvdWxkQWRkTGFuZ3VhZ2UgPSAhaW5GZW5jZSAmJiBmZW5jZUluZm8ubGFuZ3VhZ2UubGVuZ3RoID09PSAwO1xuICBjb25zdCBuZXh0TGluZSA9IHNob3VsZEFkZExhbmd1YWdlXG4gICAgPyBgJHtmZW5jZUluZm8ubGVhZGluZ31cXGBcXGBcXGB0eXBlc2NyaXB0YFxuICAgIDogbGluZTtcblxuICByZXR1cm4geyBpbkZlbmNlOiAhaW5GZW5jZSwgbGluZTogbmV4dExpbmUgfTtcbn1cblxuLyoqXG4gKiBCdWlsZHMgYSBmdWxsIGV4YW1wbGUgd2l0aCBhIGZlbmNlZCBibG9jayB3aGVuIG1pc3NpbmcgZW50aXJlbHkuXG4gKiBAcGFyYW0gZXhhbXBsZSBFeGFtcGxlIG1ldGFkYXRhLlxuICogQHJldHVybnMgRXhhbXBsZSB0ZXh0IHdpdGggYSBmZW5jZWQgYmxvY2suXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgdGV4dCA9IGJ1aWxkTWlzc2luZ0ZlbmNlRml4KGV4YW1wbGUpO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGJ1aWxkTWlzc2luZ0ZlbmNlRml4KGV4YW1wbGU6IEV4YW1wbGUpOiBzdHJpbmcge1xuICBjb25zdCBjb250ZW50TGluZXMgPSBub3JtYWxpemVDb250ZW50TGluZXMoe1xuICAgIGNvbnRlbnQ6IGV4YW1wbGUuY29udGVudCxcbiAgICBwcmVmaXg6IGV4YW1wbGUucHJlZml4LFxuICB9KTtcblxuICByZXR1cm4gW1xuICAgIGAke2V4YW1wbGUucHJlZml4fUBleGFtcGxlYCxcbiAgICBgJHtleGFtcGxlLnByZWZpeH1cXGBcXGBcXGB0eXBlc2NyaXB0YCxcbiAgICAuLi5jb250ZW50TGluZXMubWFwKChjb250ZW50TGluZSkgPT5cbiAgICAgIGNvbnRlbnRMaW5lLmxlbmd0aCA+IDBcbiAgICAgICAgPyBgJHtleGFtcGxlLnByZWZpeH0gJHtjb250ZW50TGluZX1gXG4gICAgICAgIDogZXhhbXBsZS5wcmVmaXgsXG4gICAgKSxcbiAgICBgJHtleGFtcGxlLnByZWZpeH1cXGBcXGBcXGBgLFxuICBdLmpvaW4oXCJcXG5cIik7XG59XG5cbi8qKlxuICogQWRkcyBtaXNzaW5nIGxhbmd1YWdlcyB0byBleGlzdGluZyBmZW5jZWQgYmxvY2tzLlxuICogQHBhcmFtIG9yaWdpbmFsIE9yaWdpbmFsIGNvbW1lbnQgdGV4dC5cbiAqIEByZXR1cm5zIFVwZGF0ZWQgY29tbWVudCB0ZXh0IHdoZW4gY2hhbmdlcyBhcmUgbWFkZS5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCB1cGRhdGVkID0gYnVpbGRNaXNzaW5nTGFuZ3VhZ2VGaXgoXCIqIGBgYFxcbiogb2tcXG4qIGBgYFwiKTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBidWlsZE1pc3NpbmdMYW5ndWFnZUZpeChvcmlnaW5hbDogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgY29uc3QgbGluZUJyZWFrID0gb3JpZ2luYWwuaW5jbHVkZXMoXCJcXHJcXG5cIikgPyBcIlxcclxcblwiIDogXCJcXG5cIjtcbiAgY29uc3QgbGluZXMgPSBvcmlnaW5hbC5zcGxpdCgvXFxyP1xcbi91KTtcbiAgbGV0IGluRmVuY2UgPSBmYWxzZTtcblxuICBjb25zdCB1cGRhdGVkTGluZXMgPSBsaW5lcy5tYXAoKGxpbmUpID0+IHtcbiAgICBjb25zdCB7IGluRmVuY2U6IG5leHRJbkZlbmNlLCBsaW5lOiBuZXh0TGluZSB9ID0gYXBwbHlGZW5jZUxhbmd1YWdlKHtcbiAgICAgIGluRmVuY2UsXG4gICAgICBsaW5lLFxuICAgIH0pO1xuICAgIGluRmVuY2UgPSBuZXh0SW5GZW5jZTtcbiAgICByZXR1cm4gbmV4dExpbmU7XG4gIH0pO1xuXG4gIGNvbnN0IHVwZGF0ZWQgPSB1cGRhdGVkTGluZXMuam9pbihsaW5lQnJlYWspO1xuXG4gIHJldHVybiB1cGRhdGVkID09PSBvcmlnaW5hbCA/IHZvaWQgMCA6IHVwZGF0ZWQ7XG59XG5cbi8qKlxuICogQnVpbGRzIGEgZml4ZXIgZnVuY3Rpb24gZm9yIHRoZSByZXBvcnQuXG4gKiBAcGFyYW0gY29udGV4dCBGaXhlciBjb250ZXh0IGRldGFpbHMuXG4gKiBAcmV0dXJucyBGaXhlciBmdW5jdGlvbiBmb3IgRVNMaW50LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGZpeGVyID0gY3JlYXRlRml4ZXIoY29udGV4dCk7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gY3JlYXRlRml4ZXIoXG4gIGNvbnRleHQ6IEZpeGVyQ29udGV4dCxcbik6IChmaXhlcjogUnVsZS5SdWxlRml4ZXIpID0+IFJ1bGUuRml4IHwgdW5kZWZpbmVkIHtcbiAgY29uc3QgeyBhYnNvbHV0ZUVuZCwgYWJzb2x1dGVTdGFydCB9ID0gY29udGV4dDtcblxuICByZXR1cm4gKGZpeGVyOiBSdWxlLlJ1bGVGaXhlcik6IFJ1bGUuRml4IHwgdW5kZWZpbmVkID0+IHtcbiAgICBjb25zdCB1cGRhdGVkID0gZ2V0VXBkYXRlZEV4YW1wbGVUZXh0KGNvbnRleHQpO1xuXG4gICAgaWYgKHVwZGF0ZWQgPT09IHZvaWQgMCkge1xuICAgICAgcmV0dXJuIHZvaWQgMDtcbiAgICB9XG5cbiAgICByZXR1cm4gZml4ZXIucmVwbGFjZVRleHRSYW5nZShbYWJzb2x1dGVTdGFydCwgYWJzb2x1dGVFbmRdLCB1cGRhdGVkKTtcbiAgfTtcbn1cblxuLyoqXG4gKiBFeHRyYWN0cyB0cmFpbGluZyB3aGl0ZXNwYWNlIGZyb20gdGhlIG9yaWdpbmFsIGV4YW1wbGUgcmFuZ2UuXG4gKiBAcGFyYW0gb3JpZ2luYWwgT3JpZ2luYWwgZXhhbXBsZSB0ZXh0LlxuICogQHJldHVybnMgVHJhaWxpbmcgd2hpdGVzcGFjZSB0byBwcmVzZXJ2ZS5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBzdWZmaXggPSBnZXRUcmFpbGluZ1doaXRlc3BhY2UoXCIqIEBleGFtcGxlIG9rXFxuIFwiKTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBnZXRUcmFpbGluZ1doaXRlc3BhY2Uob3JpZ2luYWw6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IHRyYWlsaW5nTWF0Y2ggPSAvKD86XFxyP1xcblsgXFx0XSopJC91LmV4ZWMob3JpZ2luYWwpO1xuXG4gIHJldHVybiB0cmFpbGluZ01hdGNoPy5bMF0gPz8gXCJcIjtcbn1cblxuLyoqXG4gKiBSZXNvbHZlcyB0aGUgdXBkYXRlZCB0ZXh0IGZvciBhbiBleGFtcGxlLlxuICogQHBhcmFtIGNvbnRleHQgRml4ZXIgY29udGV4dCBkZXRhaWxzLlxuICogQHJldHVybnMgRml4ZWQgZXhhbXBsZSB0ZXh0IHdoZW4gYSBjaGFuZ2UgaXMgcmVxdWlyZWQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgdGV4dCA9IGdldFVwZGF0ZWRFeGFtcGxlVGV4dChjb250ZXh0KTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBnZXRVcGRhdGVkRXhhbXBsZVRleHQoY29udGV4dDogRml4ZXJDb250ZXh0KTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgY29uc3Qge1xuICAgIGFic29sdXRlRW5kLFxuICAgIGFic29sdXRlU3RhcnQsXG4gICAgZXhhbXBsZSxcbiAgICBoYXNPdGhlckV4YW1wbGVzLFxuICAgIHByb2JsZW0sXG4gICAgc291cmNlVGV4dCxcbiAgfSA9IGNvbnRleHQ7XG4gIGNvbnN0IG9yaWdpbmFsID0gc291cmNlVGV4dC5zbGljZShhYnNvbHV0ZVN0YXJ0LCBhYnNvbHV0ZUVuZCk7XG5cbiAgaWYgKHByb2JsZW0gPT09IFwibWlzc2luZ0xhbmd1YWdlXCIpIHtcbiAgICByZXR1cm4gYnVpbGRNaXNzaW5nTGFuZ3VhZ2VGaXgob3JpZ2luYWwpO1xuICB9XG5cbiAgaWYgKHByb2JsZW0gPT09IFwiZW1wdHlFeGFtcGxlXCIpIHtcbiAgICByZXR1cm4gcmVzb2x2ZUVtcHR5RXhhbXBsZUZpeCh7IGV4YW1wbGUsIGhhc090aGVyRXhhbXBsZXMsIG9yaWdpbmFsIH0pO1xuICB9XG5cbiAgaWYgKHByb2JsZW0gPT09IFwiY29udGVudE91dHNpZGVGZW5jZVwiKSB7XG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxuXG4gIGNvbnN0IGZpeGVkID0gYnVpbGRNaXNzaW5nRmVuY2VGaXgoZXhhbXBsZSk7XG4gIGNvbnN0IHRyYWlsaW5nV2hpdGVzcGFjZSA9IGdldFRyYWlsaW5nV2hpdGVzcGFjZShvcmlnaW5hbCk7XG5cbiAgcmV0dXJuIHRyYWlsaW5nV2hpdGVzcGFjZS5sZW5ndGggPiAwXG4gICAgPyBgJHtmaXhlZH0ke3RyYWlsaW5nV2hpdGVzcGFjZX1gXG4gICAgOiBmaXhlZDtcbn1cblxuLyoqXG4gKiBOb3JtYWxpemVzIHJhdyBleGFtcGxlIGNvbnRlbnQgbGluZXMgYmVmb3JlIGZlbmNlIHdyYXBwaW5nLlxuICogQHBhcmFtIGNvbnRleHQgUHJlZml4IGFuZCByYXcgY29udGVudC5cbiAqIEByZXR1cm5zIENvbnRlbnQgbGluZXMgc2FmZSB0byB3cmFwIGluIGEgZmVuY2VkIGJsb2NrLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGxpbmVzID0gbm9ybWFsaXplQ29udGVudExpbmVzKHsgY29udGVudDogXCJhXFxuICogYlwiLCBwcmVmaXg6IFwiICogXCIgfSk7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gbm9ybWFsaXplQ29udGVudExpbmVzKFxuICBjb250ZXh0OiBOb3JtYWxpemVDb250ZW50TGluZXNDb250ZXh0LFxuKTogc3RyaW5nW10ge1xuICBjb25zdCB7IGNvbnRlbnQsIHByZWZpeCB9ID0gY29udGV4dDtcbiAgY29uc3QgbGluZXMgPSBjb250ZW50Lmxlbmd0aCA+IDAgPyBjb250ZW50LnNwbGl0KC9cXHI/XFxuL3UpIDogW107XG5cbiAgcmV0dXJuIGxpbmVzXG4gICAgLm1hcCgobGluZSkgPT4gc3RyaXBDb250ZW50UHJlZml4KHsgbGluZSwgcHJlZml4IH0pKVxuICAgIC5tYXAoKGxpbmUpID0+IGxpbmUucmVwbGFjZSgvXFxzKlxcKlxcL1sgXFx0XSokL3UsIFwiXCIpKTtcbn1cblxuLyoqXG4gKiBSZXNvbHZlcyB0aGUgYXBwcm9wcmlhdGUgZml4IGZvciBlbXB0eSBleGFtcGxlcy5cbiAqIEBwYXJhbSBjb250ZXh0IEVtcHR5IGV4YW1wbGUgZml4IGRldGFpbHMuXG4gKiBAcmV0dXJucyBGaXhlZCBleGFtcGxlIHRleHQgd2hlbiBhIGNoYW5nZSBpcyByZXF1aXJlZC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCB0ZXh0ID0gcmVzb2x2ZUVtcHR5RXhhbXBsZUZpeChjb250ZXh0KTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiByZXNvbHZlRW1wdHlFeGFtcGxlRml4KFxuICBjb250ZXh0OiBFbXB0eUV4YW1wbGVGaXhDb250ZXh0LFxuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgY29uc3QgeyBleGFtcGxlLCBoYXNPdGhlckV4YW1wbGVzLCBvcmlnaW5hbCB9ID0gY29udGV4dDtcbiAgY29uc3QgY2xlYW5lZCA9IHJlbW92ZUVtcHR5RmVuY2VzKG9yaWdpbmFsKTtcblxuICBpZiAoY2xlYW5lZCAhPT0gdm9pZCAwKSB7XG4gICAgcmV0dXJuIGNsZWFuZWQ7XG4gIH1cblxuICBpZiAoaGFzT3RoZXJFeGFtcGxlcykge1xuICAgIHJldHVybiBcIlwiO1xuICB9XG5cbiAgaWYgKG9yaWdpbmFsLmluY2x1ZGVzKFwiYGBgXCIpKSB7XG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxuXG4gIHJldHVybiBidWlsZE1pc3NpbmdGZW5jZUZpeChleGFtcGxlKTtcbn1cblxuLyoqXG4gKiBSZW1vdmVzIEpTRG9jIGxpbmUgcHJlZml4ZXMgZnJvbSBleGFtcGxlIGNvbnRlbnQuXG4gKiBAcGFyYW0gY29udGV4dCBQcmVmaXggYW5kIHNvdXJjZSBsaW5lLlxuICogQHJldHVybnMgQ2xlYW5lZCBjb250ZW50IGxpbmUuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgbGluZSA9IHN0cmlwQ29udGVudFByZWZpeCh7IGxpbmU6IFwiICogdmFsdWVcIiwgcHJlZml4OiBcIiAqIFwiIH0pO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIHN0cmlwQ29udGVudFByZWZpeChjb250ZXh0OiBTdHJpcENvbnRlbnRQcmVmaXhDb250ZXh0KTogc3RyaW5nIHtcbiAgY29uc3QgeyBsaW5lLCBwcmVmaXggfSA9IGNvbnRleHQ7XG5cbiAgaWYgKGxpbmUuc3RhcnRzV2l0aChwcmVmaXgpKSB7XG4gICAgcmV0dXJuIGxpbmUuc2xpY2UocHJlZml4Lmxlbmd0aCk7XG4gIH1cblxuICByZXR1cm4gbGluZS5yZXBsYWNlKC9eXFxzKlxcKlxccz8vdSwgXCJcIik7XG59XG5cbmV4cG9ydCB7IGNyZWF0ZUZpeGVyIH07XG4iXX0=
|
|
185
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL2RvY3MvcmVxdWlyZS1leGFtcGxlLWxhbmd1YWdlL2ZpeGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQTREeEU7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLGtCQUFrQixDQUFDLE9BQTZCO0lBQ3ZELE1BQU0sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLEdBQUcsT0FBTyxDQUFDO0lBQ2xDLE1BQU0sU0FBUyxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUV2QyxJQUFJLFNBQVMsS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3pCLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxPQUFPLElBQUksU0FBUyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO0lBQ3RFLE1BQU0sUUFBUSxHQUFHLGlCQUFpQjtRQUNoQyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsT0FBTyxrQkFBa0I7UUFDeEMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUVULE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDO0FBQy9DLENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILFNBQVMsb0JBQW9CLENBQUMsT0FBZ0I7SUFDNUMsTUFBTSxZQUFZLEdBQUcscUJBQXFCLENBQUM7UUFDekMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPO1FBQ3hCLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTTtLQUN2QixDQUFDLENBQUM7SUFFSCxPQUFPO1FBQ0wsR0FBRyxPQUFPLENBQUMsTUFBTSxVQUFVO1FBQzNCLEdBQUcsT0FBTyxD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Q0FBQyxFQUFFLENBQUM7UUFDdkIsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELElBQUksZ0JBQWdCLEVBQUUsQ0FBQztRQUNyQixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUM3QixPQUFPLEtBQUssQ0FBQyxDQUFDO0lBQ2hCLENBQUM7SUFFRCxPQUFPLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ3ZDLENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILFNBQVMsa0JBQWtCLENBQUMsT0FBa0M7SUFDNUQsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsR0FBRyxPQUFPLENBQUM7SUFFakMsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDNUIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUMsQ0FBQztBQUN4QyxDQUFDO0FBRUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSdWxlIH0gZnJvbSBcImVzbGludFwiO1xuXG5pbXBvcnQgdHlwZSB7IEV4YW1wbGUsIFByb2JsZW0gfSBmcm9tIFwiLi90eXBlc1wiO1xuXG5pbXBvcnQgeyBwYXJzZUZlbmNlTGluZSwgcmVtb3ZlRW1wdHlGZW5jZXMgfSBmcm9tIFwiLi9lbXB0eS1mZW5jZS1maXhlc1wiO1xuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG5pbnRlcmZhY2UgRW1wdHlFeGFtcGxlRml4Q29udGV4dCB7XG4gIC8qKiBFeGFtcGxlIGZpZWxkIHZhbHVlLiAqL1xuICBleGFtcGxlOiBFeGFtcGxlO1xuICAvKiogSGFzT3RoZXJFeGFtcGxlcyBmaWVsZCB2YWx1ZS4gKi9cbiAgaGFzT3RoZXJFeGFtcGxlczogYm9vbGVhbjtcbiAgLyoqIE9yaWdpbmFsIGZpZWxkIHZhbHVlLiAqL1xuICBvcmlnaW5hbDogc3RyaW5nO1xufVxuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG5pbnRlcmZhY2UgRmVuY2VMYW5ndWFnZUNvbnRleHQge1xuICAvKiogSW5GZW5jZSBmaWVsZCB2YWx1ZS4gKi9cbiAgaW5GZW5jZTogYm9vbGVhbjtcbiAgLyoqIExpbmUgZmllbGQgdmFsdWUuICovXG4gIGxpbmU6IHN0cmluZztcbn1cblxuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xuaW50ZXJmYWNlIEZlbmNlUmVzdWx0IHtcbiAgLyoqIEluRmVuY2UgZmllbGQgdmFsdWUuICovXG4gIGluRmVuY2U6IGJvb2xlYW47XG4gIC8qKiBMaW5lIGZpZWxkIHZhbHVlLiAqL1xuICBsaW5lOiBzdHJpbmc7XG59XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbmludGVyZmFjZSBGaXhlckNvbnRleHQge1xuICAvKiogQWJzb2x1dGVFbmQgZmllbGQgdmFsdWUuICovXG4gIGFic29sdXRlRW5kOiBudW1iZXI7XG4gIC8qKiBBYnNvbHV0ZVN0YXJ0IGZpZWxkIHZhbHVlLiAqL1xuICBhYnNvbHV0ZVN0YXJ0OiBudW1iZXI7XG4gIC8qKiBFeGFtcGxlIGZpZWxkIHZhbHVlLiAqL1xuICBleGFtcGxlOiBFeGFtcGxlO1xuICAvKiogSGFzT3RoZXJFeGFtcGxlcyBmaWVsZCB2YWx1ZS4gKi9cbiAgaGFzT3RoZXJFeGFtcGxlczogYm9vbGVhbjtcbiAgLyoqIFByb2JsZW0gZmllbGQgdmFsdWUuICovXG4gIHByb2JsZW06IFByb2JsZW07XG4gIC8qKiBTb3VyY2VUZXh0IGZpZWxkIHZhbHVlLiAqL1xuICBzb3VyY2VUZXh0OiBzdHJpbmc7XG59XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbmludGVyZmFjZSBOb3JtYWxpemVDb250ZW50TGluZXNDb250ZXh0IHtcbiAgLyoqIENvbnRlbnQgZmllbGQgdmFsdWUuICovXG4gIGNvbnRlbnQ6IHN0cmluZztcbiAgLyoqIFByZWZpeCBmaWVsZCB2YWx1ZS4gKi9cbiAgcHJlZml4OiBzdHJpbmc7XG59XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbmludGVyZmFjZSBTdHJpcENvbnRlbnRQcmVmaXhDb250ZXh0IHtcbiAgLyoqIExpbmUgZmllbGQgdmFsdWUuICovXG4gIGxpbmU6IHN0cmluZztcbiAgLyoqIFByZWZpeCBmaWVsZCB2YWx1ZS4gKi9cbiAgcHJlZml4OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQXBwbGllcyBhIGxhbmd1YWdlIHRvIGEgZmVuY2UgbGluZSB3aGVuIG5lZWRlZC5cbiAqIEBwYXJhbSBjb250ZXh0IEZlbmNlIHN0YXRlIGFuZCBsaW5lIGRhdGEuXG4gKiBAcmV0dXJucyBVcGRhdGVkIGxpbmUgYW5kIGZlbmNlIHN0YXRlLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHJlc3VsdCA9IGFwcGx5RmVuY2VMYW5ndWFnZSh7IGluRmVuY2U6IGZhbHNlLCBsaW5lOiBcIiAqIGBgYFwiIH0pO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGFwcGx5RmVuY2VMYW5ndWFnZShjb250ZXh0OiBGZW5jZUxhbmd1YWdlQ29udGV4dCk6IEZlbmNlUmVzdWx0IHtcbiAgY29uc3QgeyBpbkZlbmNlLCBsaW5lIH0gPSBjb250ZXh0O1xuICBjb25zdCBmZW5jZUluZm8gPSBwYXJzZUZlbmNlTGluZShsaW5lKTtcblxuICBpZiAoZmVuY2VJbmZvID09PSB2b2lkIDApIHtcbiAgICByZXR1cm4geyBpbkZlbmNlLCBsaW5lIH07XG4gIH1cblxuICBjb25zdCBzaG91bGRBZGRMYW5ndWFnZSA9ICFpbkZlbmNlICYmIGZlbmNlSW5mby5sYW5ndWFnZS5sZW5ndGggPT09IDA7XG4gIGNvbnN0IG5leHRMaW5lID0gc2hvdWxkQWRkTGFuZ3VhZ2VcbiAgICA/IGAke2ZlbmNlSW5mby5sZWFkaW5nfVxcYFxcYFxcYHR5cGVzY3JpcHRgXG4gICAgOiBsaW5lO1xuXG4gIHJldHVybiB7IGluRmVuY2U6ICFpbkZlbmNlLCBsaW5lOiBuZXh0TGluZSB9O1xufVxuXG4vKipcbiAqIEJ1aWxkcyBhIGZ1bGwgZXhhbXBsZSB3aXRoIGEgZmVuY2VkIGJsb2NrIHdoZW4gbWlzc2luZyBlbnRpcmVseS5cbiAqIEBwYXJhbSBleGFtcGxlIEV4YW1wbGUgbWV0YWRhdGEuXG4gKiBAcmV0dXJucyBFeGFtcGxlIHRleHQgd2l0aCBhIGZlbmNlZCBibG9jay5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCB0ZXh0ID0gYnVpbGRNaXNzaW5nRmVuY2VGaXgoZXhhbXBsZSk7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gYnVpbGRNaXNzaW5nRmVuY2VGaXgoZXhhbXBsZTogRXhhbXBsZSk6IHN0cmluZyB7XG4gIGNvbnN0IGNvbnRlbnRMaW5lcyA9IG5vcm1hbGl6ZUNvbnRlbnRMaW5lcyh7XG4gICAgY29udGVudDogZXhhbXBsZS5jb250ZW50LFxuICAgIHByZWZpeDogZXhhbXBsZS5wcmVmaXgsXG4gIH0pO1xuXG4gIHJldHVybiBbXG4gICAgYCR7ZXhhbXBsZS5wcmVmaXh9QGV4YW1wbGVgLFxuICAgIGAke2V4YW1wbGUucHJlZml4fVxcYFxcYFxcYHR5cGVzY3JpcHRgLFxuICAgIC4uLmNvbnRlbnRMaW5lcy5tYXAoKGNvbnRlbnRMaW5lKSA9PlxuICAgICAgY29udGVudExpbmUubGVuZ3RoID4gMFxuICAgICAgICA/IGAke2V4YW1wbGUucHJlZml4fSAke2NvbnRlbnRMaW5lfWBcbiAgICAgICAgOiBleGFtcGxlLnByZWZpeCxcbiAgICApLFxuICAgIGAke2V4YW1wbGUucHJlZml4fVxcYFxcYFxcYGAsXG4gIF0uam9pbihcIlxcblwiKTtcbn1cblxuLyoqXG4gKiBBZGRzIG1pc3NpbmcgbGFuZ3VhZ2VzIHRvIGV4aXN0aW5nIGZlbmNlZCBibG9ja3MuXG4gKiBAcGFyYW0gb3JpZ2luYWwgT3JpZ2luYWwgY29tbWVudCB0ZXh0LlxuICogQHJldHVybnMgVXBkYXRlZCBjb21tZW50IHRleHQgd2hlbiBjaGFuZ2VzIGFyZSBtYWRlLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHVwZGF0ZWQgPSBidWlsZE1pc3NpbmdMYW5ndWFnZUZpeChcIiogYGBgXFxuKiBva1xcbiogYGBgXCIpO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGJ1aWxkTWlzc2luZ0xhbmd1YWdlRml4KG9yaWdpbmFsOiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICBjb25zdCBsaW5lQnJlYWsgPSBvcmlnaW5hbC5pbmNsdWRlcyhcIlxcclxcblwiKSA/IFwiXFxyXFxuXCIgOiBcIlxcblwiO1xuICBjb25zdCBsaW5lcyA9IG9yaWdpbmFsLnNwbGl0KC9cXHI/XFxuL3UpO1xuICBsZXQgaXNJbkZlbmNlID0gZmFsc2U7XG5cbiAgY29uc3QgdXBkYXRlZExpbmVzID0gbGluZXMubWFwKChsaW5lKSA9PiB7XG4gICAgY29uc3QgeyBpbkZlbmNlOiBuZXh0SW5GZW5jZSwgbGluZTogbmV4dExpbmUgfSA9IGFwcGx5RmVuY2VMYW5ndWFnZSh7XG4gICAgICBpbkZlbmNlOiBpc0luRmVuY2UsXG4gICAgICBsaW5lLFxuICAgIH0pO1xuICAgIGlzSW5GZW5jZSA9IG5leHRJbkZlbmNlO1xuICAgIHJldHVybiBuZXh0TGluZTtcbiAgfSk7XG5cbiAgY29uc3QgdXBkYXRlZCA9IHVwZGF0ZWRMaW5lcy5qb2luKGxpbmVCcmVhayk7XG5cbiAgcmV0dXJuIHVwZGF0ZWQgPT09IG9yaWdpbmFsID8gdm9pZCAwIDogdXBkYXRlZDtcbn1cblxuLyoqXG4gKiBCdWlsZHMgYSBmaXhlciBmdW5jdGlvbiBmb3IgdGhlIHJlcG9ydC5cbiAqIEBwYXJhbSBjb250ZXh0IEZpeGVyIGNvbnRleHQgZGV0YWlscy5cbiAqIEByZXR1cm5zIEZpeGVyIGZ1bmN0aW9uIGZvciBFU0xpbnQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgZml4ZXIgPSBjcmVhdGVGaXhlcihjb250ZXh0KTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBjcmVhdGVGaXhlcihcbiAgY29udGV4dDogRml4ZXJDb250ZXh0LFxuKTogKGZpeGVyOiBSdWxlLlJ1bGVGaXhlcikgPT4gUnVsZS5GaXggfCB1bmRlZmluZWQge1xuICBjb25zdCB7IGFic29sdXRlRW5kLCBhYnNvbHV0ZVN0YXJ0IH0gPSBjb250ZXh0O1xuXG4gIHJldHVybiAoZml4ZXI6IFJ1bGUuUnVsZUZpeGVyKTogUnVsZS5GaXggfCB1bmRlZmluZWQgPT4ge1xuICAgIGNvbnN0IHVwZGF0ZWQgPSBnZXRVcGRhdGVkRXhhbXBsZVRleHQoY29udGV4dCk7XG5cbiAgICBpZiAodXBkYXRlZCA9PT0gdm9pZCAwKSB7XG4gICAgICByZXR1cm4gdm9pZCAwO1xuICAgIH1cblxuICAgIHJldHVybiBmaXhlci5yZXBsYWNlVGV4dFJhbmdlKFthYnNvbHV0ZVN0YXJ0LCBhYnNvbHV0ZUVuZF0sIHVwZGF0ZWQpO1xuICB9O1xufVxuXG4vKipcbiAqIEV4dHJhY3RzIHRyYWlsaW5nIHdoaXRlc3BhY2UgZnJvbSB0aGUgb3JpZ2luYWwgZXhhbXBsZSByYW5nZS5cbiAqIEBwYXJhbSBvcmlnaW5hbCBPcmlnaW5hbCBleGFtcGxlIHRleHQuXG4gKiBAcmV0dXJucyBUcmFpbGluZyB3aGl0ZXNwYWNlIHRvIHByZXNlcnZlLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHN1ZmZpeCA9IGdldFRyYWlsaW5nV2hpdGVzcGFjZShcIiogQGV4YW1wbGUgb2tcXG4gXCIpO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGdldFRyYWlsaW5nV2hpdGVzcGFjZShvcmlnaW5hbDogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgdHJhaWxpbmdNYXRjaCA9IC8oPzpcXHI/XFxuWyBcXHRdKikkL3UuZXhlYyhvcmlnaW5hbCk7XG5cbiAgcmV0dXJuIHRyYWlsaW5nTWF0Y2g/LlswXSA/PyBcIlwiO1xufVxuXG4vKipcbiAqIFJlc29sdmVzIHRoZSB1cGRhdGVkIHRleHQgZm9yIGFuIGV4YW1wbGUuXG4gKiBAcGFyYW0gY29udGV4dCBGaXhlciBjb250ZXh0IGRldGFpbHMuXG4gKiBAcmV0dXJucyBGaXhlZCBleGFtcGxlIHRleHQgd2hlbiBhIGNoYW5nZSBpcyByZXF1aXJlZC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCB0ZXh0ID0gZ2V0VXBkYXRlZEV4YW1wbGVUZXh0KGNvbnRleHQpO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGdldFVwZGF0ZWRFeGFtcGxlVGV4dChjb250ZXh0OiBGaXhlckNvbnRleHQpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICBjb25zdCB7XG4gICAgYWJzb2x1dGVFbmQsXG4gICAgYWJzb2x1dGVTdGFydCxcbiAgICBleGFtcGxlLFxuICAgIGhhc090aGVyRXhhbXBsZXMsXG4gICAgcHJvYmxlbSxcbiAgICBzb3VyY2VUZXh0LFxuICB9ID0gY29udGV4dDtcbiAgY29uc3Qgb3JpZ2luYWwgPSBzb3VyY2VUZXh0LnNsaWNlKGFic29sdXRlU3RhcnQsIGFic29sdXRlRW5kKTtcblxuICBpZiAocHJvYmxlbSA9PT0gXCJtaXNzaW5nTGFuZ3VhZ2VcIikge1xuICAgIHJldHVybiBidWlsZE1pc3NpbmdMYW5ndWFnZUZpeChvcmlnaW5hbCk7XG4gIH1cblxuICBpZiAocHJvYmxlbSA9PT0gXCJlbXB0eUV4YW1wbGVcIikge1xuICAgIHJldHVybiByZXNvbHZlRW1wdHlFeGFtcGxlRml4KHsgZXhhbXBsZSwgaGFzT3RoZXJFeGFtcGxlcywgb3JpZ2luYWwgfSk7XG4gIH1cblxuICBpZiAocHJvYmxlbSA9PT0gXCJjb250ZW50T3V0c2lkZUZlbmNlXCIpIHtcbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG5cbiAgY29uc3QgZml4ZWQgPSBidWlsZE1pc3NpbmdGZW5jZUZpeChleGFtcGxlKTtcbiAgY29uc3QgdHJhaWxpbmdXaGl0ZXNwYWNlID0gZ2V0VHJhaWxpbmdXaGl0ZXNwYWNlKG9yaWdpbmFsKTtcblxuICByZXR1cm4gdHJhaWxpbmdXaGl0ZXNwYWNlLmxlbmd0aCA+IDBcbiAgICA/IGAke2ZpeGVkfSR7dHJhaWxpbmdXaGl0ZXNwYWNlfWBcbiAgICA6IGZpeGVkO1xufVxuXG4vKipcbiAqIE5vcm1hbGl6ZXMgcmF3IGV4YW1wbGUgY29udGVudCBsaW5lcyBiZWZvcmUgZmVuY2Ugd3JhcHBpbmcuXG4gKiBAcGFyYW0gY29udGV4dCBQcmVmaXggYW5kIHJhdyBjb250ZW50LlxuICogQHJldHVybnMgQ29udGVudCBsaW5lcyBzYWZlIHRvIHdyYXAgaW4gYSBmZW5jZWQgYmxvY2suXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgbGluZXMgPSBub3JtYWxpemVDb250ZW50TGluZXMoeyBjb250ZW50OiBcImFcXG4gKiBiXCIsIHByZWZpeDogXCIgKiBcIiB9KTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBub3JtYWxpemVDb250ZW50TGluZXMoXG4gIGNvbnRleHQ6IE5vcm1hbGl6ZUNvbnRlbnRMaW5lc0NvbnRleHQsXG4pOiBzdHJpbmdbXSB7XG4gIGNvbnN0IHsgY29udGVudCwgcHJlZml4IH0gPSBjb250ZXh0O1xuICBjb25zdCBsaW5lcyA9IGNvbnRlbnQubGVuZ3RoID4gMCA/IGNvbnRlbnQuc3BsaXQoL1xccj9cXG4vdSkgOiBbXTtcblxuICByZXR1cm4gbGluZXNcbiAgICAubWFwKChsaW5lKSA9PiBzdHJpcENvbnRlbnRQcmVmaXgoeyBsaW5lLCBwcmVmaXggfSkpXG4gICAgLm1hcCgobGluZSkgPT4gbGluZS5yZXBsYWNlKC9cXHMqXFwqXFwvWyBcXHRdKiQvdSwgXCJcIikpO1xufVxuXG4vKipcbiAqIFJlc29sdmVzIHRoZSBhcHByb3ByaWF0ZSBmaXggZm9yIGVtcHR5IGV4YW1wbGVzLlxuICogQHBhcmFtIGNvbnRleHQgRW1wdHkgZXhhbXBsZSBmaXggZGV0YWlscy5cbiAqIEByZXR1cm5zIEZpeGVkIGV4YW1wbGUgdGV4dCB3aGVuIGEgY2hhbmdlIGlzIHJlcXVpcmVkLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHRleHQgPSByZXNvbHZlRW1wdHlFeGFtcGxlRml4KGNvbnRleHQpO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIHJlc29sdmVFbXB0eUV4YW1wbGVGaXgoXG4gIGNvbnRleHQ6IEVtcHR5RXhhbXBsZUZpeENvbnRleHQsXG4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICBjb25zdCB7IGV4YW1wbGUsIGhhc090aGVyRXhhbXBsZXMsIG9yaWdpbmFsIH0gPSBjb250ZXh0O1xuICBjb25zdCBjbGVhbmVkID0gcmVtb3ZlRW1wdHlGZW5jZXMob3JpZ2luYWwpO1xuXG4gIGlmIChjbGVhbmVkICE9PSB2b2lkIDApIHtcbiAgICByZXR1cm4gY2xlYW5lZDtcbiAgfVxuXG4gIGlmIChoYXNPdGhlckV4YW1wbGVzKSB7XG4gICAgcmV0dXJuIFwiXCI7XG4gIH1cblxuICBpZiAob3JpZ2luYWwuaW5jbHVkZXMoXCJgYGBcIikpIHtcbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG5cbiAgcmV0dXJuIGJ1aWxkTWlzc2luZ0ZlbmNlRml4KGV4YW1wbGUpO1xufVxuXG4vKipcbiAqIFJlbW92ZXMgSlNEb2MgbGluZSBwcmVmaXhlcyBmcm9tIGV4YW1wbGUgY29udGVudC5cbiAqIEBwYXJhbSBjb250ZXh0IFByZWZpeCBhbmQgc291cmNlIGxpbmUuXG4gKiBAcmV0dXJucyBDbGVhbmVkIGNvbnRlbnQgbGluZS5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBsaW5lID0gc3RyaXBDb250ZW50UHJlZml4KHsgbGluZTogXCIgKiB2YWx1ZVwiLCBwcmVmaXg6IFwiICogXCIgfSk7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gc3RyaXBDb250ZW50UHJlZml4KGNvbnRleHQ6IFN0cmlwQ29udGVudFByZWZpeENvbnRleHQpOiBzdHJpbmcge1xuICBjb25zdCB7IGxpbmUsIHByZWZpeCB9ID0gY29udGV4dDtcblxuICBpZiAobGluZS5zdGFydHNXaXRoKHByZWZpeCkpIHtcbiAgICByZXR1cm4gbGluZS5zbGljZShwcmVmaXgubGVuZ3RoKTtcbiAgfVxuXG4gIHJldHVybiBsaW5lLnJlcGxhY2UoL15cXHMqXFwqXFxzPy91LCBcIlwiKTtcbn1cblxuZXhwb3J0IHsgY3JlYXRlRml4ZXIgfTtcbiJdfQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rule.d.ts","sourceRoot":"","sources":["../../../../src/domain/docs/require-example-language/rule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAKnC;;GAEG;AACH,QAAA,MAAM,0BAA0B,EAAE,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"rule.d.ts","sourceRoot":"","sources":["../../../../src/domain/docs/require-example-language/rule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAKnC;;GAEG;AACH,QAAA,MAAM,0BAA0B,EAAE,IAAI,CAAC,UAwCtC,CAAC;AAEF,OAAO,EAAE,0BAA0B,EAAE,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { getExamples } from "./examples.js";
|
|
1
|
+
import { getExamples } from "./examples-collect.js";
|
|
2
2
|
import { reportExample } from "./reporting.js";
|
|
3
3
|
/**
|
|
4
4
|
* ESLint rule requiring \@example tags to use fenced code blocks with a language.
|
|
@@ -7,12 +7,13 @@ const requireExampleLanguageRule = {
|
|
|
7
7
|
create(context) {
|
|
8
8
|
const { sourceCode } = context;
|
|
9
9
|
for (const comment of sourceCode.getAllComments()) {
|
|
10
|
-
if (comment.type === "Block" && comment.value.startsWith("*")) {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
10
|
+
if (!(comment.type === "Block" && comment.value.startsWith("*"))) {
|
|
11
|
+
continue;
|
|
12
|
+
}
|
|
13
|
+
const examples = getExamples(comment.value);
|
|
14
|
+
const hasOtherExamples = examples.length > 1;
|
|
15
|
+
for (const example of examples) {
|
|
16
|
+
reportExample({ comment, context, example, hasOtherExamples });
|
|
16
17
|
}
|
|
17
18
|
}
|
|
18
19
|
return {};
|
|
@@ -35,4 +36,4 @@ const requireExampleLanguageRule = {
|
|
|
35
36
|
},
|
|
36
37
|
};
|
|
37
38
|
export { requireExampleLanguageRule };
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vZG9jcy9yZXF1aXJlLWV4YW1wbGUtbGFuZ3VhZ2UvcnVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDakQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU1Qzs7R0FFRztBQUNILE1BQU0sMEJBQTBCLEdBQW9CO0lBQ2xELE1BQU0sQ0FBQyxPQUF5QjtRQUM5QixNQUFNLEVBQUUsVUFBVSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBRS9CLEtBQUssTUFBTSxPQUFPLElBQUksVUFBVSxDQUFDLGNBQWMsRUFBRSxFQUFFLENBQUM7WUFDbEQsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksS0FBSyxPQUFPLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUNqRSxTQUFTO1lBQ1gsQ0FBQztZQUVELE1BQU0sUUFBUSxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFNUMsTUFBTSxnQkFBZ0IsR0FBRyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztZQUU3QyxLQUFLLE1BQU0sT0FBTyxJQUFJLFFBQVEsRUFBRSxDQUFDO2dCQUMvQixhQUFhLENBQUMsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7WUFDakUsQ0FBQztRQUNILENBQUM7UUFFRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFDRCxJQUFJLEVBQUU7UUFDSixJQUFJLEVBQUU7WUFDSixXQUFXLEVBQ1Qsa0VBQWtFO1lBQ3BFLFdBQVcsRUFBRSxLQUFLO1lBQ2xCLEdBQUcsRUFBRSwyRkFBMkY7U0FDakc7UUFDRCxPQUFPLEVBQUUsTUFBTTtRQUNmLFFBQVEsRUFBRTtZQUNSLG1CQUFtQixFQUNqQiwyREFBMkQ7WUFDN0QsWUFBWSxFQUFFLHdDQUF3QztZQUN0RCxZQUFZLEVBQ1YsaUZBQWlGO1lBQ25GLGVBQWUsRUFDYiwyRUFBMkU7U0FDOUU7UUFDRCxNQUFNLEVBQUUsRUFBRTtRQUNWLElBQUksRUFBRSxTQUFTO0tBQ2hCO0NBQ0YsQ0FBQztBQUVGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSdWxlIH0gZnJvbSBcImVzbGludFwiO1xuXG5pbXBvcnQgeyBnZXRFeGFtcGxlcyB9IGZyb20gXCIuL2V4YW1wbGVzLWNvbGxlY3RcIjtcbmltcG9ydCB7IHJlcG9ydEV4YW1wbGUgfSBmcm9tIFwiLi9yZXBvcnRpbmdcIjtcblxuLyoqXG4gKiBFU0xpbnQgcnVsZSByZXF1aXJpbmcgXFxAZXhhbXBsZSB0YWdzIHRvIHVzZSBmZW5jZWQgY29kZSBibG9ja3Mgd2l0aCBhIGxhbmd1YWdlLlxuICovXG5jb25zdCByZXF1aXJlRXhhbXBsZUxhbmd1YWdlUnVsZTogUnVsZS5SdWxlTW9kdWxlID0ge1xuICBjcmVhdGUoY29udGV4dDogUnVsZS5SdWxlQ29udGV4dCk6IFJ1bGUuUnVsZUxpc3RlbmVyIHtcbiAgICBjb25zdCB7IHNvdXJjZUNvZGUgfSA9IGNvbnRleHQ7XG5cbiAgICBmb3IgKGNvbnN0IGNvbW1lbnQgb2Ygc291cmNlQ29kZS5nZXRBbGxDb21tZW50cygpKSB7XG4gICAgICBpZiAoIShjb21tZW50LnR5cGUgPT09IFwiQmxvY2tcIiAmJiBjb21tZW50LnZhbHVlLnN0YXJ0c1dpdGgoXCIqXCIpKSkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgZXhhbXBsZXMgPSBnZXRFeGFtcGxlcyhjb21tZW50LnZhbHVlKTtcblxuICAgICAgY29uc3QgaGFzT3RoZXJFeGFtcGxlcyA9IGV4YW1wbGVzLmxlbmd0aCA+IDE7XG5cbiAgICAgIGZvciAoY29uc3QgZXhhbXBsZSBvZiBleGFtcGxlcykge1xuICAgICAgICByZXBvcnRFeGFtcGxlKHsgY29tbWVudCwgY29udGV4dCwgZXhhbXBsZSwgaGFzT3RoZXJFeGFtcGxlcyB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4ge307XG4gIH0sXG4gIG1ldGE6IHtcbiAgICBkb2NzOiB7XG4gICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgXCJSZXF1aXJlIEBleGFtcGxlIHRhZ3MgdG8gdXNlIGZlbmNlZCBjb2RlIGJsb2NrcyB3aXRoIGEgbGFuZ3VhZ2UuXCIsXG4gICAgICByZWNvbW1lbmRlZDogZmFsc2UsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9naXRodWIuY29tL3BhcmxvdGkvZXNsaW50LXBsdWdpbi9ibG9iL21haW4vZG9jcy9ydWxlcy9yZXF1aXJlLWV4YW1wbGUtbGFuZ3VhZ2UubWRcIixcbiAgICB9LFxuICAgIGZpeGFibGU6IFwiY29kZVwiLFxuICAgIG1lc3NhZ2VzOiB7XG4gICAgICBjb250ZW50T3V0c2lkZUZlbmNlOlxuICAgICAgICBcIkBleGFtcGxlIGNvbnRlbnQgbXVzdCBiZSBmdWxseSBpbnNpZGUgZmVuY2VkIGNvZGUgYmxvY2tzLlwiLFxuICAgICAgZW1wdHlFeGFtcGxlOiBcIkBleGFtcGxlIG11c3QgaW5jbHVkZSBleGFtcGxlIGNvbnRlbnQuXCIsXG4gICAgICBtaXNzaW5nRmVuY2U6XG4gICAgICAgIFwiQGV4YW1wbGUgbXVzdCBpbmNsdWRlIGEgZmVuY2VkIGNvZGUgYmxvY2sgd2l0aCBhIGxhbmd1YWdlIChlLmcuIGBgYHR5cGVzY3JpcHQpLlwiLFxuICAgICAgbWlzc2luZ0xhbmd1YWdlOlxuICAgICAgICBcIkBleGFtcGxlIGZlbmNlZCBjb2RlIGJsb2NrcyBtdXN0IHNwZWNpZnkgYSBsYW5ndWFnZSAoZS5nLiBgYGB0eXBlc2NyaXB0KS5cIixcbiAgICB9LFxuICAgIHNjaGVtYTogW10sXG4gICAgdHlwZTogXCJwcm9ibGVtXCIsXG4gIH0sXG59O1xuXG5leHBvcnQgeyByZXF1aXJlRXhhbXBsZUxhbmd1YWdlUnVsZSB9O1xuIl19
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/domain/docs/require-example-language/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEnC,qCAAqC;AACrC,KAAK,OAAO,GAAG,UAAU,CACvB,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,gBAAgB,CAAC,CACjD,CAAC,MAAM,CAAC,CAAC;AAEV,qCAAqC;AACrC,UAAU,OAAO;IACf,2BAA2B;IAC3B,OAAO,EAAE,MAAM,CAAC;IAEhB,4BAA4B;IAC5B,QAAQ,EAAE,MAAM,CAAC;IAEjB,6BAA6B;IAC7B,SAAS,EAAE,MAAM,CAAC;IAElB,6BAA6B;IAC7B,SAAS,EAAE,MAAM,CAAC;IAElB,0BAA0B;IAC1B,MAAM,EAAE,MAAM,CAAC;IAEf,+BAA+B;IAC/B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,qCAAqC;AACrC,KAAK,OAAO,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/domain/docs/require-example-language/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEnC,qCAAqC;AACrC,KAAK,OAAO,GAAG,UAAU,CACvB,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,gBAAgB,CAAC,CACjD,CAAC,MAAM,CAAC,CAAC;AAEV,qCAAqC;AACrC,UAAU,OAAO;IACf,2BAA2B;IAC3B,OAAO,EAAE,MAAM,CAAC;IAEhB,4BAA4B;IAC5B,QAAQ,EAAE,MAAM,CAAC;IAEjB,6BAA6B;IAC7B,SAAS,EAAE,MAAM,CAAC;IAElB,6BAA6B;IAC7B,SAAS,EAAE,MAAM,CAAC;IAElB,0BAA0B;IAC1B,MAAM,EAAE,MAAM,CAAC;IAEf,+BAA+B;IAC/B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,qCAAqC;AACrC,KAAK,OAAO,GACV,qBAAqB,GAAG,cAAc,GAAG,cAAc,GAAG,iBAAiB,CAAC;AAE9E,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL2RvY3MvcmVxdWlyZS1leGFtcGxlLWxhbmd1YWdlL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJ1bGUgfSBmcm9tIFwiZXNsaW50XCI7XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbnR5cGUgQ29tbWVudCA9IFJldHVyblR5cGU8XG4gIFJ1bGUuUnVsZUNvbnRleHRbXCJzb3VyY2VDb2RlXCJdW1wiZ2V0QWxsQ29tbWVudHNcIl1cbj5bbnVtYmVyXTtcblxuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xuaW50ZXJmYWNlIEV4YW1wbGUge1xuICAvKiogQ29udGVudCBmaWVsZCB2YWx1ZS4gKi9cbiAgY29udGVudDogc3RyaW5nO1xuXG4gIC8qKiBFbmRJbmRleCBmaWVsZCB2YWx1ZS4gKi9cbiAgZW5kSW5kZXg6IG51bWJlcjtcblxuICAvKiogRW5kT2Zmc2V0IGZpZWxkIHZhbHVlLiAqL1xuICBlbmRPZmZzZXQ6IG51bWJlcjtcblxuICAvKiogTGluZUluZGV4IGZpZWxkIHZhbHVlLiAqL1xuICBsaW5lSW5kZXg6IG51bWJlcjtcblxuICAvKiogUHJlZml4IGZpZWxkIHZhbHVlLiAqL1xuICBwcmVmaXg6IHN0cmluZztcblxuICAvKiogU3RhcnRPZmZzZXQgZmllbGQgdmFsdWUuICovXG4gIHN0YXJ0T2Zmc2V0OiBudW1iZXI7XG59XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbnR5cGUgUHJvYmxlbSA9XG4gIFwiY29udGVudE91dHNpZGVGZW5jZVwiIHwgXCJlbXB0eUV4YW1wbGVcIiB8IFwibWlzc2luZ0ZlbmNlXCIgfCBcIm1pc3NpbmdMYW5ndWFnZVwiO1xuXG5leHBvcnQgdHlwZSB7IENvbW1lbnQsIEV4YW1wbGUsIFByb2JsZW0gfTtcbiJdfQ==
|
package/dist/domain/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { barrelFilesExportsOnlyRule, consistentBarrelFilesRule, noImportExportAliasesRule, noImportExportExtensionsRule, noReexportsOutsideBarrelsRule, noUnusedExportsRule, } from "./architecture/index.js";
|
|
2
2
|
export { noMultipleDeclaratorsRule, preferInterfaceTypesRule } from "./core/index.js";
|
|
3
3
|
export { noInterfaceMemberDocumentationRule, requireExampleLanguageRule, singleLineJsdocRule, } from "./docs/index.js";
|
|
4
|
-
export { assertActualExpectedNamesRule, enforceAaaStructureRule, preferViMockedImportRule, requireActResultCaptureRule, requireTestCompanionRule, singleActStatementRule, } from "./testing/index.js";
|
|
4
|
+
export { assertActualExpectedNamesRule, enforceAaaStructureRule, noUnsafeVitestMockFactoryCastRule, preferViMockedImportRule, requireActResultCaptureRule, requireTestCompanionRule, singleActStatementRule, } from "./testing/index.js";
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/domain/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,EACzB,yBAAyB,EACzB,4BAA4B,EAC5B,6BAA6B,EAC7B,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,MAAM,QAAQ,CAAC;AAC7E,OAAO,EACL,kCAAkC,EAClC,0BAA0B,EAC1B,mBAAmB,GACpB,MAAM,QAAQ,CAAC;AAChB,OAAO,EACL,6BAA6B,EAC7B,uBAAuB,EACvB,wBAAwB,EACxB,2BAA2B,EAC3B,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/domain/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,EACzB,yBAAyB,EACzB,4BAA4B,EAC5B,6BAA6B,EAC7B,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,MAAM,QAAQ,CAAC;AAC7E,OAAO,EACL,kCAAkC,EAClC,0BAA0B,EAC1B,mBAAmB,GACpB,MAAM,QAAQ,CAAC;AAChB,OAAO,EACL,6BAA6B,EAC7B,uBAAuB,EACvB,iCAAiC,EACjC,wBAAwB,EACxB,2BAA2B,EAC3B,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,WAAW,CAAC"}
|
package/dist/domain/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { barrelFilesExportsOnlyRule, consistentBarrelFilesRule, noImportExportAliasesRule, noImportExportExtensionsRule, noReexportsOutsideBarrelsRule, noUnusedExportsRule, } from "./architecture/index.js";
|
|
2
2
|
export { noMultipleDeclaratorsRule, preferInterfaceTypesRule } from "./core/index.js";
|
|
3
3
|
export { noInterfaceMemberDocumentationRule, requireExampleLanguageRule, singleLineJsdocRule, } from "./docs/index.js";
|
|
4
|
-
export { assertActualExpectedNamesRule, enforceAaaStructureRule, preferViMockedImportRule, requireActResultCaptureRule, requireTestCompanionRule, singleActStatementRule, } from "./testing/index.js";
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
4
|
+
export { assertActualExpectedNamesRule, enforceAaaStructureRule, noUnsafeVitestMockFactoryCastRule, preferViMockedImportRule, requireActResultCaptureRule, requireTestCompanionRule, singleActStatementRule, } from "./testing/index.js";
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZG9tYWluL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCwwQkFBMEIsRUFDMUIseUJBQXlCLEVBQ3pCLHlCQUF5QixFQUN6Qiw0QkFBNEIsRUFDNUIsNkJBQTZCLEVBQzdCLG1CQUFtQixHQUNwQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUM3RSxPQUFPLEVBQ0wsa0NBQWtDLEVBQ2xDLDBCQUEwQixFQUMxQixtQkFBbUIsR0FDcEIsTUFBTSxRQUFRLENBQUM7QUFDaEIsT0FBTyxFQUNMLDZCQUE2QixFQUM3Qix1QkFBdUIsRUFDdkIsaUNBQWlDLEVBQ2pDLHdCQUF3QixFQUN4QiwyQkFBMkIsRUFDM0Isd0JBQXdCLEVBQ3hCLHNCQUFzQixHQUN2QixNQUFNLFdBQVcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7XHJcbiAgYmFycmVsRmlsZXNFeHBvcnRzT25seVJ1bGUsXHJcbiAgY29uc2lzdGVudEJhcnJlbEZpbGVzUnVsZSxcclxuICBub0ltcG9ydEV4cG9ydEFsaWFzZXNSdWxlLFxyXG4gIG5vSW1wb3J0RXhwb3J0RXh0ZW5zaW9uc1J1bGUsXHJcbiAgbm9SZWV4cG9ydHNPdXRzaWRlQmFycmVsc1J1bGUsXHJcbiAgbm9VbnVzZWRFeHBvcnRzUnVsZSxcclxufSBmcm9tIFwiLi9hcmNoaXRlY3R1cmVcIjtcclxuZXhwb3J0IHsgbm9NdWx0aXBsZURlY2xhcmF0b3JzUnVsZSwgcHJlZmVySW50ZXJmYWNlVHlwZXNSdWxlIH0gZnJvbSBcIi4vY29yZVwiO1xyXG5leHBvcnQge1xyXG4gIG5vSW50ZXJmYWNlTWVtYmVyRG9jdW1lbnRhdGlvblJ1bGUsXHJcbiAgcmVxdWlyZUV4YW1wbGVMYW5ndWFnZVJ1bGUsXHJcbiAgc2luZ2xlTGluZUpzZG9jUnVsZSxcclxufSBmcm9tIFwiLi9kb2NzXCI7XHJcbmV4cG9ydCB7XHJcbiAgYXNzZXJ0QWN0dWFsRXhwZWN0ZWROYW1lc1J1bGUsXHJcbiAgZW5mb3JjZUFhYVN0cnVjdHVyZVJ1bGUsXHJcbiAgbm9VbnNhZmVWaXRlc3RNb2NrRmFjdG9yeUNhc3RSdWxlLFxyXG4gIHByZWZlclZpTW9ja2VkSW1wb3J0UnVsZSxcclxuICByZXF1aXJlQWN0UmVzdWx0Q2FwdHVyZVJ1bGUsXHJcbiAgcmVxdWlyZVRlc3RDb21wYW5pb25SdWxlLFxyXG4gIHNpbmdsZUFjdFN0YXRlbWVudFJ1bGUsXHJcbn0gZnJvbSBcIi4vdGVzdGluZ1wiO1xyXG4iXX0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyzer.analysis.helpers.d.ts","sourceRoot":"","sources":["../../../../src/domain/testing/aaa/analyzer.analysis.helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,QAAQ,CAAC;AAEtC,OAAO,KAAK,EACV,QAAQ,EACR,WAAW,EACX,aAAa,EACb,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAEjB,yDAAyD;AACzD,QAAA,MAAM,aAAa;;;;CAI0B,CAAC;AAS9C,mDAAmD;AACnD,UAAU,gBAAgB;IACxB,sDAAsD;IACtD,OAAO,EAAE,aAAa,CAAC;IACvB,wDAAwD;IACxD,KAAK,EAAE,QAAQ,CAAC;CACjB;AAED,kEAAkE;AAClE,UAAU,iBAAiB;IACzB,iDAAiD;IACjD,QAAQ,EAAE,qBAAqB,CAAC;IAChC,0CAA0C;IAC1C,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;CACpD;AAED,+DAA+D;AAC/D,KAAK,qBAAqB,GAAG,WAAW,CACtC,MAAM,CAAC,uBAAuB,GAAG,MAAM,CAAC,kBAAkB,CAC3D,GAAG;IACF,qDAAqD;IACrD,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;CAC1C,CAAC;AAEF;;;;;;;;GAQG;AACH,iBAAS,kBAAkB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,MAAM,CAE/D;AAED;;;;;;;;GAQG;AACH,iBAAS,wBAAwB,CAC/B,QAAQ,EAAE,IAAI,CAAC,iBAAiB,EAAE,YAAY,CAAC,GAC9C,iBAAiB,CAAC,YAAY,CAAC,CAKjC;AAED;;;;;;;;GAQG;AACH,iBAAS,oBAAoB,CAC3B,QAAQ,EAAE,IAAI,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,GACnD,gBAAgB,EAAE,CAOpB;AAED;;;;;;;;;GASG;AACH,iBAAS,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAa7E;AAED;;;;;;;;GAQG;AACH,iBAAS,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAE/C;AAED;;;;;;;;GAQG;AACH,iBAAS,wBAAwB,CAC/B,QAAQ,EAAE,IAAI,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,GACnD,iBAAiB,CAAC,iBAAiB,CAAC,CAMtC;AAED;;;;;;;;GAQG;AACH,iBAAS,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,QAAQ,EAAE,CAO1D;AAED;;;;;;;;;GASG;AACH,iBAAS,kBAAkB,CACzB,SAAS,EAAE,MAAM,CAAC,SAAS,EAC3B,eAAe,EAAE,iBAAiB,CAAC,iBAAiB,CAAC,GACpD,QAAQ,EAAE,CAaZ;AAED;;;;;;;;GAQG;AACH,iBAAS,oBAAoB,CAC3B,IAAI,EAAE,MAAM,CAAC,cAAc,GAC1B,iBAAiB,GAAG,SAAS,CAqB/B;
|
|
1
|
+
{"version":3,"file":"analyzer.analysis.helpers.d.ts","sourceRoot":"","sources":["../../../../src/domain/testing/aaa/analyzer.analysis.helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,QAAQ,CAAC;AAEtC,OAAO,KAAK,EACV,QAAQ,EACR,WAAW,EACX,aAAa,EACb,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAEjB,yDAAyD;AACzD,QAAA,MAAM,aAAa;;;;CAI0B,CAAC;AAS9C,mDAAmD;AACnD,UAAU,gBAAgB;IACxB,sDAAsD;IACtD,OAAO,EAAE,aAAa,CAAC;IACvB,wDAAwD;IACxD,KAAK,EAAE,QAAQ,CAAC;CACjB;AAED,kEAAkE;AAClE,UAAU,iBAAiB;IACzB,iDAAiD;IACjD,QAAQ,EAAE,qBAAqB,CAAC;IAChC,0CAA0C;IAC1C,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;CACpD;AAED,+DAA+D;AAC/D,KAAK,qBAAqB,GAAG,WAAW,CACtC,MAAM,CAAC,uBAAuB,GAAG,MAAM,CAAC,kBAAkB,CAC3D,GAAG;IACF,qDAAqD;IACrD,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;CAC1C,CAAC;AAEF;;;;;;;;GAQG;AACH,iBAAS,kBAAkB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,MAAM,CAE/D;AAED;;;;;;;;GAQG;AACH,iBAAS,wBAAwB,CAC/B,QAAQ,EAAE,IAAI,CAAC,iBAAiB,EAAE,YAAY,CAAC,GAC9C,iBAAiB,CAAC,YAAY,CAAC,CAKjC;AAED;;;;;;;;GAQG;AACH,iBAAS,oBAAoB,CAC3B,QAAQ,EAAE,IAAI,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,GACnD,gBAAgB,EAAE,CAOpB;AAED;;;;;;;;;GASG;AACH,iBAAS,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAa7E;AAED;;;;;;;;GAQG;AACH,iBAAS,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAE/C;AAED;;;;;;;;GAQG;AACH,iBAAS,wBAAwB,CAC/B,QAAQ,EAAE,IAAI,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,GACnD,iBAAiB,CAAC,iBAAiB,CAAC,CAMtC;AAED;;;;;;;;GAQG;AACH,iBAAS,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,QAAQ,EAAE,CAO1D;AAED;;;;;;;;;GASG;AACH,iBAAS,kBAAkB,CACzB,SAAS,EAAE,MAAM,CAAC,SAAS,EAC3B,eAAe,EAAE,iBAAiB,CAAC,iBAAiB,CAAC,GACpD,QAAQ,EAAE,CAaZ;AAED;;;;;;;;GAQG;AACH,iBAAS,oBAAoB,CAC3B,IAAI,EAAE,MAAM,CAAC,cAAc,GAC1B,iBAAiB,GAAG,SAAS,CAqB/B;AA4CD,2CAA2C;AAC3C,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,wBAAwB,EACxB,oBAAoB,EACpB,iBAAiB,EACjB,UAAU,EACV,wBAAwB,EACxB,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,GACrB,CAAC"}
|
|
@@ -171,14 +171,14 @@ function getSupportedTestCall(node) {
|
|
|
171
171
|
* ```
|
|
172
172
|
*/
|
|
173
173
|
function getTestRootName(callee) {
|
|
174
|
-
|
|
175
|
-
|
|
174
|
+
let current = callee;
|
|
175
|
+
while (current.type === "CallExpression" ||
|
|
176
|
+
(current.type === "MemberExpression" && current.object.type !== "Super")) {
|
|
177
|
+
current =
|
|
178
|
+
current.type === "CallExpression" ? current.callee : current.object;
|
|
176
179
|
}
|
|
177
|
-
if (
|
|
178
|
-
return
|
|
179
|
-
}
|
|
180
|
-
if (callee.type === "MemberExpression" && callee.object.type !== "Super") {
|
|
181
|
-
return getTestRootName(callee.object);
|
|
180
|
+
if (current.type === "Identifier") {
|
|
181
|
+
return current.name;
|
|
182
182
|
}
|
|
183
183
|
return void 0;
|
|
184
184
|
}
|
|
@@ -196,4 +196,4 @@ function isAaaPhase(value) {
|
|
|
196
196
|
}
|
|
197
197
|
/** Companion marker for test isolation. */
|
|
198
198
|
export { aaaPhaseOrder, countActStatements, getActTopLevelStatements, getFlattenedSections, getLineStartRange, getNewline, getPhaseBoundaryComments, getSectionPhases, getStatementPhases, getSupportedTestCall, };
|
|
199
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl6ZXIuYW5hbHlzaXMuaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vdGVzdGluZy9hYWEvYW5hbHl6ZXIuYW5hbHlzaXMuaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFTQSx5REFBeUQ7QUFDekQsTUFBTSxhQUFhLEdBQUc7SUFDcEIsR0FBRyxFQUFFLENBQUM7SUFDTixPQUFPLEVBQUUsQ0FBQztJQUNWLE1BQU0sRUFBRSxDQUFDO0NBQ2tDLENBQUM7QUFFOUMsa0NBQWtDO0FBQ2xDLE1BQU0sVUFBVSxHQUFHLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxRQUFRLENBSTdDLENBQUM7QUEwQkY7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLGtCQUFrQixDQUFDLFFBQTJCO0lBQ3JELE9BQU8sd0JBQXdCLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDO0FBQ25ELENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILFNBQVMsd0JBQXdCLENBQy9CLFFBQStDO0lBRS9DLE9BQU8sUUFBUSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQy9CLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FDWixTQUFTLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUMzRSxDQUFDO0FBQ0osQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsU0FBUyxvQkFBb0IsQ0FDM0IsUUFBb0Q7SUFFcEQsT0FBTyxRQUFRLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLGNBQWMsRUFBRSxFQUFFLENBQ3pELGNBQWMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3BDLE9BQU8sRUFBRSxjQUFjLENBQUMsT0FBTztRQUMvQixLQUFLO0tBQ04sQ0FB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QUFDO0FBQ2hELENBQUM7QUFFRCwyQ0FBMkM7QUFDM0MsT0FBTyxFQUNMLGFBQWEsRUFDYixrQkFBa0IsRUFDbEIsd0JBQXdCLEVBQ3hCLG9CQUFvQixFQUNwQixpQkFBaUIsRUFDakIsVUFBVSxFQUNWLHdCQUF3QixFQUN4QixnQkFBZ0IsRUFDaEIsa0JBQWtCLEVBQ2xCLG9CQUFvQixHQUNyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgKiBhcyBFU1RyZWUgZnJvbSBcImVzdHJlZVwiO1xyXG5cclxuaW1wb3J0IHR5cGUge1xyXG4gIEFhYVBoYXNlLFxyXG4gIExvY2F0ZWROb2RlLFxyXG4gIFNvdXJjZUNvbW1lbnQsXHJcbiAgVGVzdEJsb2NrQW5hbHlzaXMsXHJcbn0gZnJvbSBcIi4vdHlwZXNcIjtcclxuXHJcbi8qKiBDYW5vbmljYWwgb3JkZXJpbmcgdXNlZCB3aGVuIGNvbXBhcmluZyBBQUEgcGhhc2VzLiAqL1xyXG5jb25zdCBhYWFQaGFzZU9yZGVyID0ge1xyXG4gIEFjdDogMSxcclxuICBBcnJhbmdlOiAwLFxyXG4gIEFzc2VydDogMixcclxufSBhcyBjb25zdCBzYXRpc2ZpZXMgUmVjb3JkPEFhYVBoYXNlLCBudW1iZXI+O1xyXG5cclxuLyoqIFJlY29nbml6ZWQgQUFBIHBoYXNlIG5hbWVzLiAqL1xyXG5jb25zdCBwaGFzZU5hbWVzID0gW1wiQXJyYW5nZVwiLCBcIkFjdFwiLCBcIkFzc2VydFwiXSBhcyBjb25zdCBzYXRpc2ZpZXMgcmVhZG9ubHkgW1xyXG4gIEFhYVBoYXNlLFxyXG4gIEFhYVBoYXNlLFxyXG4gIEFhYVBoYXNlLFxyXG5dO1xyXG5cclxuLyoqIEhlbHBlciBzdGF0ZSBmb3IgZmxhdHRlbmVkIHNlY3Rpb24gY29tbWVudHMuICovXHJcbmludGVyZmFjZSBGbGF0dGVuZWRTZWN0aW9uIHtcclxuICAvKiogT3JpZ2luYWwgc291cmNlIGNvbW1lbnQgZm9yIHRoZSBzZWN0aW9uIG1hcmtlci4gKi9cclxuICBjb21tZW50OiBTb3VyY2VDb21tZW50O1xyXG4gIC8qKiBQaGFzZSByZXByZXNlbnRlZCBieSB0aGUgZmxhdHRlbmVkIHNlY3Rpb24gZW50cnkuICovXHJcbiAgcGhhc2U6IEFhYVBoYXNlO1xyXG59XHJcblxyXG4vKiogU3VwcG9ydGVkIGNhbGwtZXhwcmVzc2lvbiB3cmFwcGVyIGZvciBhbmFseXplZCB0ZXN0IGJsb2Nrcy4gKi9cclxuaW50ZXJmYWNlIFN1cHBvcnRlZFRlc3RDYWxsIHtcclxuICAvKiogQ2FsbGJhY2sgYXJndW1lbnQgdGhhdCBvd25zIHRoZSB0ZXN0IGJvZHkuICovXHJcbiAgY2FsbGJhY2s6IFN1cHBvcnRlZFRlc3RDYWxsYmFjaztcclxuICAvKiogT3JpZ2luYWwgYGl0YCBvciBgdGVzdGAgaW52b2NhdGlvbi4gKi9cclxuICBjYWxsRXhwcmVzc2lvbjogTG9jYXRlZE5vZGU8RVNUcmVlLkNhbGxFeHByZXNzaW9uPjtcclxufVxyXG5cclxuLyoqIFN1cHBvcnRlZCB0ZXN0IGNhbGxiYWNrIHNoYXBlIGZvciBgaXRgIGFuZCBgdGVzdGAgY2FsbHMuICovXHJcbnR5cGUgU3VwcG9ydGVkVGVzdENhbGxiYWNrID0gTG9jYXRlZE5vZGU8XHJcbiAgRVNUcmVlLkFycm93RnVuY3Rpb25FeHByZXNzaW9uIHwgRVNUcmVlLkZ1bmN0aW9uRXhwcmVzc2lvblxyXG4+ICYge1xyXG4gIC8qKiBDYWxsYmFjayBib2R5IGJsb2NrIHVzZWQgZm9yIHNlY3Rpb24gYW5hbHlzaXMuICovXHJcbiAgYm9keTogTG9jYXRlZE5vZGU8RVNUcmVlLkJsb2NrU3RhdGVtZW50PjtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBDb3VudHMgQWN0IHN0YXRlbWVudHMuXHJcbiAqIEBwYXJhbSBhbmFseXNpcyBJbnB1dCBhbmFseXNpcyB2YWx1ZS5cclxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBjb3VudEFjdFN0YXRlbWVudHMoYW5hbHlzaXMpO1xyXG4gKiBgYGBcclxuICovXHJcbmZ1bmN0aW9uIGNvdW50QWN0U3RhdGVtZW50cyhhbmFseXNpczogVGVzdEJsb2NrQW5hbHlzaXMpOiBudW1iZXIge1xyXG4gIHJldHVybiBnZXRBY3RUb3BMZXZlbFN0YXRlbWVudHMoYW5hbHlzaXMpLmxlbmd0aDtcclxufVxyXG5cclxuLyoqXHJcbiAqIEdldHMgdG9wLWxldmVsIHN0YXRlbWVudHMgdGhhdCBiZWxvbmcgdG8gdGhlIEFjdCBwaGFzZSBvbmx5LlxyXG4gKiBAcGFyYW0gYW5hbHlzaXMgSW5wdXQgYW5hbHlzaXMgdmFsdWUuXHJcbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogZ2V0QWN0VG9wTGV2ZWxTdGF0ZW1lbnRzKGFuYWx5c2lzKTtcclxuICogYGBgXHJcbiAqL1xyXG5mdW5jdGlvbiBnZXRBY3RUb3BMZXZlbFN0YXRlbWVudHMoXHJcbiAgYW5hbHlzaXM6IFBpY2s8VGVzdEJsb2NrQW5hbHlzaXMsIFwic3RhdGVtZW50c1wiPixcclxuKTogVGVzdEJsb2NrQW5hbHlzaXNbXCJzdGF0ZW1lbnRzXCJdIHtcclxuICByZXR1cm4gYW5hbHlzaXMuc3RhdGVtZW50cy5maWx0ZXIoXHJcbiAgICAoc3RhdGVtZW50KSA9PlxyXG4gICAgICBzdGF0ZW1lbnQucGhhc2VzLmluY2x1ZGVzKFwiQWN0XCIpICYmICFzdGF0ZW1lbnQucGhhc2VzLmluY2x1ZGVzKFwiQXNzZXJ0XCIpLFxyXG4gICk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBGbGF0dGVucyBzZWN0aW9uIGNvbW1lbnRzLlxyXG4gKiBAcGFyYW0gYW5hbHlzaXMgSW5wdXQgYW5hbHlzaXMgdmFsdWUuXHJcbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogZ2V0RmxhdHRlbmVkU2VjdGlvbnMoYW5hbHlzaXMpO1xyXG4gKiBgYGBcclxuICovXHJcbmZ1bmN0aW9uIGdldEZsYXR0ZW5lZFNlY3Rpb25zKFxyXG4gIGFuYWx5c2lzOiBQaWNrPFRlc3RCbG9ja0FuYWx5c2lzLCBcInNlY3Rpb25Db21tZW50c1wiPixcclxuKTogRmxhdHRlbmVkU2VjdGlvbltdIHtcclxuICByZXR1cm4gYW5hbHlzaXMuc2VjdGlvbkNvbW1lbnRzLmZsYXRNYXAoKHNlY3Rpb25Db21tZW50KSA9PlxyXG4gICAgc2VjdGlvbkNvbW1lbnQucGhhc2VzLm1hcCgocGhhc2UpID0+ICh7XHJcbiAgICAgIGNvbW1lbnQ6IHNlY3Rpb25Db21tZW50LmNvbW1lbnQsXHJcbiAgICAgIHBoYXNlLFxyXG4gICAgfSkpLFxyXG4gICk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBHZXRzIHRoZSBzdGFydCByYW5nZSBmb3IgYSBsaW5lLlxyXG4gKiBAcGFyYW0gc291cmNlVGV4dCBJbnB1dCBzb3VyY2VUZXh0IHZhbHVlLlxyXG4gKiBAcGFyYW0gbGluZSBJbnB1dCBsaW5lIHZhbHVlLlxyXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGdldExpbmVTdGFydFJhbmdlKHNvdXJjZVRleHQsIDIpO1xyXG4gKiBgYGBcclxuICovXHJcbmZ1bmN0aW9uIGdldExpbmVTdGFydFJhbmdlKHNvdXJjZVRleHQ6IHN0cmluZywgbGluZTogbnVtYmVyKTogW251bWJlciwgbnVtYmVyXSB7XHJcbiAgbGV0IGN1cnJlbnRMaW5lID0gMTtcclxuICBsZXQgY3VycmVudE9mZnNldCA9IDA7XHJcbiAgZm9yIChjb25zdCBjaGFyYWN0ZXIgb2Ygc291cmNlVGV4dCkge1xyXG4gICAgaWYgKGN1cnJlbnRMaW5lID09PSBsaW5lKSB7XHJcbiAgICAgIHJldHVybiBbY3VycmVudE9mZnNldCwgY3VycmVudE9mZnNldF07XHJcbiAgICB9XHJcbiAgICBpZiAoY2hhcmFjdGVyID09PSBcIlxcblwiKSB7XHJcbiAgICAgIGN1cnJlbnRMaW5lICs9IDE7XHJcbiAgICB9XHJcbiAgICBjdXJyZW50T2Zmc2V0ICs9IDE7XHJcbiAgfVxyXG4gIHJldHVybiBbc291cmNlVGV4dC5sZW5ndGgsIHNvdXJjZVRleHQubGVuZ3RoXTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEdldHMgdGhlIG5ld2xpbmUgc2VxdWVuY2UuXHJcbiAqIEBwYXJhbSB0ZXh0IElucHV0IHRleHQgdmFsdWUuXHJcbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogZ2V0TmV3bGluZShzb3VyY2VUZXh0KTtcclxuICogYGBgXHJcbiAqL1xyXG5mdW5jdGlvbiBnZXROZXdsaW5lKHRleHQ6IHN0cmluZyk6IFwiXFxuXCIgfCBcIlxcclxcblwiIHtcclxuICByZXR1cm4gdGV4dC5pbmNsdWRlcyhcIlxcclxcblwiKSA/IFwiXFxyXFxuXCIgOiBcIlxcblwiO1xyXG59XHJcblxyXG4vKipcclxuICogR2V0cyBwaGFzZS1ib3VuZGFyeSBjb21tZW50cy5cclxuICogQHBhcmFtIGFuYWx5c2lzIElucHV0IGFuYWx5c2lzIHZhbHVlLlxyXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGdldFBoYXNlQm91bmRhcnlDb21tZW50cyhhbmFseXNpcyk7XHJcbiAqIGBgYFxyXG4gKi9cclxuZnVuY3Rpb24gZ2V0UGhhc2VCb3VuZGFyeUNvbW1lbnRzKFxyXG4gIGFuYWx5c2lzOiBQaWNrPFRlc3RCbG9ja0FuYWx5c2lzLCBcInNlY3Rpb25Db21tZW50c1wiPixcclxuKTogVGVzdEJsb2NrQW5hbHlzaXNbXCJzZWN0aW9uQ29tbWVudHNcIl0ge1xyXG4gIHJldHVybiBhbmFseXNpcy5zZWN0aW9uQ29tbWVudHMuZmlsdGVyKChzZWN0aW9uQ29tbWVudCkgPT5cclxuICAgIHNlY3Rpb25Db21tZW50LnBoYXNlcy5zb21lKFxyXG4gICAgICAocGhhc2UpID0+IHBoYXNlID09PSBcIkFjdFwiIHx8IHBoYXNlID09PSBcIkFzc2VydFwiLFxyXG4gICAgKSxcclxuICApO1xyXG59XHJcblxyXG4vKipcclxuICogUGFyc2VzIEFBQSBwaGFzZXMgZnJvbSBhIGNvbW1lbnQuXHJcbiAqIEBwYXJhbSBjb21tZW50VmFsdWUgSW5wdXQgY29tbWVudFZhbHVlIHZhbHVlLlxyXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGdldFNlY3Rpb25QaGFzZXMoXCJBcnJhbmdlICYgQWN0XCIpO1xyXG4gKiBgYGBcclxuICovXHJcbmZ1bmN0aW9uIGdldFNlY3Rpb25QaGFzZXMoY29tbWVudFZhbHVlOiBzdHJpbmcpOiBBYWFQaGFzZVtdIHtcclxuICBjb25zdCB0cmltbWVkQ29tbWVudCA9IGNvbW1lbnRWYWx1ZS50cmltKCk7XHJcbiAgaWYgKHRyaW1tZWRDb21tZW50Lmxlbmd0aCA9PT0gMCkge1xyXG4gICAgcmV0dXJuIFtdO1xyXG4gIH1cclxuICBjb25zdCBwYXJ0cyA9IHRyaW1tZWRDb21tZW50LnNwbGl0KC9cXHMqJlxccyovdSk7XHJcbiAgcmV0dXJuIHBhcnRzLmV2ZXJ5KChwYXJ0KSA9PiBpc0FhYVBoYXNlKHBhcnQpKSA/IHBhcnRzIDogW107XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBHZXRzIHRoZSBhY3RpdmUgcGhhc2VzIGZvciBhIHN0YXRlbWVudC5cclxuICogQHBhcmFtIHN0YXRlbWVudCBJbnB1dCBzdGF0ZW1lbnQgdmFsdWUuXHJcbiAqIEBwYXJhbSBzZWN0aW9uQ29tbWVudHMgSW5wdXQgc2VjdGlvbkNvbW1lbnRzIHZhbHVlLlxyXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGdldFN0YXRlbWVudFBoYXNlcyhzdGF0ZW1lbnQsIHNlY3Rpb25Db21tZW50cyk7XHJcbiAqIGBgYFxyXG4gKi9cclxuZnVuY3Rpb24gZ2V0U3RhdGVtZW50UGhhc2VzKFxyXG4gIHN0YXRlbWVudDogRVNUcmVlLlN0YXRlbWVudCxcclxuICBzZWN0aW9uQ29tbWVudHM6IFRlc3RCbG9ja0FuYWx5c2lzW1wic2VjdGlvbkNvbW1lbnRzXCJdLFxyXG4pOiBBYWFQaGFzZVtdIHtcclxuICBjb25zdCBzdGF0ZW1lbnRMaW5lID0gc3RhdGVtZW50LmxvYz8uc3RhcnQubGluZTtcclxuICBpZiAoc3RhdGVtZW50TGluZSA9PT0gdm9pZCAwKSB7XHJcbiAgICByZXR1cm4gW107XHJcbiAgfVxyXG4gIGxldCBjdXJyZW50UGhhc2VzOiBBYWFQaGFzZVtdID0gW107XHJcbiAgZm9yIChjb25zdCBzZWN0aW9uQ29tbWVudCBvZiBzZWN0aW9uQ29tbWVudHMpIHtcclxuICAgIGlmIChzZWN0aW9uQ29tbWVudC5jb21tZW50LmxvYy5zdGFydC5saW5lID4gc3RhdGVtZW50TGluZSkge1xyXG4gICAgICBicmVhaztcclxuICAgIH1cclxuICAgIGN1cnJlbnRQaGFzZXMgPSBzZWN0aW9uQ29tbWVudC5waGFzZXM7XHJcbiAgfVxyXG4gIHJldHVybiBjdXJyZW50UGhhc2VzO1xyXG59XHJcblxyXG4vKipcclxuICogR2V0cyBzdXBwb3J0ZWQgdGVzdCBjYWxsIG1ldGFkYXRhLlxyXG4gKiBAcGFyYW0gbm9kZSBJbnB1dCBub2RlIHZhbHVlLlxyXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGdldFN1cHBvcnRlZFRlc3RDYWxsKG5vZGUpO1xyXG4gKiBgYGBcclxuICovXHJcbmZ1bmN0aW9uIGdldFN1cHBvcnRlZFRlc3RDYWxsKFxyXG4gIG5vZGU6IEVTVHJlZS5DYWxsRXhwcmVzc2lvbixcclxuKTogU3VwcG9ydGVkVGVzdENhbGwgfCB1bmRlZmluZWQge1xyXG4gIGNvbnN0IHJvb3ROYW1lID0gZ2V0VGVzdFJvb3ROYW1lKG5vZGUuY2FsbGVlKTtcclxuICBpZiAocm9vdE5hbWUgIT09IFwiaXRcIiAmJiByb290TmFtZSAhPT0gXCJ0ZXN0XCIpIHtcclxuICAgIHJldHVybiB2b2lkIDA7XHJcbiAgfVxyXG5cclxuICBjb25zdCBjYWxsYmFja0FyZ3VtZW50ID0gbm9kZS5hcmd1bWVudHMuYXQoLTEpO1xyXG4gIGlmIChcclxuICAgIGNhbGxiYWNrQXJndW1lbnQgPT09IHZvaWQgMCB8fFxyXG4gICAgY2FsbGJhY2tBcmd1bWVudC50eXBlID09PSBcIlNwcmVhZEVsZW1lbnRcIiB8fFxyXG4gICAgKGNhbGxiYWNrQXJndW1lbnQudHlwZSAhPT0gXCJBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvblwiICYmXHJcbiAgICAgIGNhbGxiYWNrQXJndW1lbnQudHlwZSAhPT0gXCJGdW5jdGlvbkV4cHJlc3Npb25cIikgfHxcclxuICAgIGNhbGxiYWNrQXJndW1lbnQuYm9keS50eXBlICE9PSBcIkJsb2NrU3RhdGVtZW50XCJcclxuICApIHtcclxuICAgIHJldHVybiB2b2lkIDA7XHJcbiAgfVxyXG5cclxuICByZXR1cm4ge1xyXG4gICAgY2FsbGJhY2s6IGNhbGxiYWNrQXJndW1lbnQgYXMgU3VwcG9ydGVkVGVzdENhbGxiYWNrLFxyXG4gICAgY2FsbEV4cHJlc3Npb246IG5vZGUgYXMgTG9jYXRlZE5vZGU8RVNUcmVlLkNhbGxFeHByZXNzaW9uPixcclxuICB9O1xyXG59XHJcblxyXG4vKipcclxuICogR2V0cyB0aGUgcm9vdCB0ZXN0IGNhbGxlZSBuYW1lLlxyXG4gKiBAcGFyYW0gY2FsbGVlIElucHV0IGNhbGxlZSB2YWx1ZS5cclxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBnZXRUZXN0Um9vdE5hbWUoY2FsbEV4cHJlc3Npb24uY2FsbGVlKTtcclxuICogYGBgXHJcbiAqL1xyXG5mdW5jdGlvbiBnZXRUZXN0Um9vdE5hbWUoXHJcbiAgY2FsbGVlOiBFU1RyZWUuQ2FsbEV4cHJlc3Npb25bXCJjYWxsZWVcIl0sXHJcbik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XHJcbiAgaWYgKGNhbGxlZS50eXBlID09PSBcIkNhbGxFeHByZXNzaW9uXCIpIHtcclxuICAgIHJldHVybiBnZXRUZXN0Um9vdE5hbWUoY2FsbGVlLmNhbGxlZSk7XHJcbiAgfVxyXG4gIGlmIChjYWxsZWUudHlwZSA9PT0gXCJJZGVudGlmaWVyXCIpIHtcclxuICAgIHJldHVybiBjYWxsZWUubmFtZTtcclxuICB9XHJcbiAgaWYgKGNhbGxlZS50eXBlID09PSBcIk1lbWJlckV4cHJlc3Npb25cIiAmJiBjYWxsZWUub2JqZWN0LnR5cGUgIT09IFwiU3VwZXJcIikge1xyXG4gICAgcmV0dXJuIGdldFRlc3RSb290TmFtZShjYWxsZWUub2JqZWN0KTtcclxuICB9XHJcbiAgcmV0dXJuIHZvaWQgMDtcclxufVxyXG5cclxuLyoqXHJcbiAqIENoZWNrcyB3aGV0aGVyIGEgdmFsdWUgaXMgYW4gQUFBIHBoYXNlLlxyXG4gKiBAcGFyYW0gdmFsdWUgSW5wdXQgdmFsdWUgdmFsdWUuXHJcbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogaXNBYWFQaGFzZShcIkFycmFuZ2VcIik7XHJcbiAqIGBgYFxyXG4gKi9cclxuZnVuY3Rpb24gaXNBYWFQaGFzZSh2YWx1ZTogc3RyaW5nKTogdmFsdWUgaXMgQWFhUGhhc2Uge1xyXG4gIHJldHVybiBwaGFzZU5hbWVzLmluY2x1ZGVzKHZhbHVlIGFzIEFhYVBoYXNlKTtcclxufVxyXG5cclxuLyoqIENvbXBhbmlvbiBtYXJrZXIgZm9yIHRlc3QgaXNvbGF0aW9uLiAqL1xyXG5leHBvcnQge1xyXG4gIGFhYVBoYXNlT3JkZXIsXHJcbiAgY291bnRBY3RTdGF0ZW1lbnRzLFxyXG4gIGdldEFjdFRvcExldmVsU3RhdGVtZW50cyxcclxuICBnZXRGbGF0dGVuZWRTZWN0aW9ucyxcclxuICBnZXRMaW5lU3RhcnRSYW5nZSxcclxuICBnZXROZXdsaW5lLFxyXG4gIGdldFBoYXNlQm91bmRhcnlDb21tZW50cyxcclxuICBnZXRTZWN0aW9uUGhhc2VzLFxyXG4gIGdldFN0YXRlbWVudFBoYXNlcyxcclxuICBnZXRTdXBwb3J0ZWRUZXN0Q2FsbCxcclxufTtcclxuIl19
|
|
199
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl6ZXIuYW5hbHlzaXMuaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vdGVzdGluZy9hYWEvYW5hbHl6ZXIuYW5hbHlzaXMuaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFTQSx5REFBeUQ7QUFDekQsTUFBTSxhQUFhLEdBQUc7SUFDcEIsR0FBRyxFQUFFLENBQUM7SUFDTixPQUFPLEVBQUUsQ0FBQztJQUNWLE1BQU0sRUFBRSxDQUFDO0NBQ2tDLENBQUM7QUFFOUMsa0NBQWtDO0FBQ2xDLE1BQU0sVUFBVSxHQUFHLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxRQUFRLENBSTdDLENBQUM7QUEwQkY7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLGtCQUFrQixDQUFDLFFBQTJCO0lBQ3JELE9BQU8sd0JBQXdCLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDO0FBQ25ELENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILFNBQVMsd0JBQXdCLENBQy9CLFFBQStDO0lBRS9DLE9BQU8sUUFBUSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQy9CLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FDWixTQUFTLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUMzRSxDQUFDO0FBQ0osQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsU0FBUyxvQkFBb0IsQ0FDM0IsUUFBb0Q7SUFFcEQsT0FBTyxRQUFRLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLGNBQWMsRUFBRSxFQUFFLENBQ3pELGNBQWMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3BDLE9BQU8sRUFBRSxjQUFjLENBQUMsT0FBTztRQUMvQixLQUFLO0tBQ04sQ0FB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LFVBQVUsQ0FBQyxRQUFRLENBQUMsS0FBaUIsQ0FBQyxDQUFDO0FBQ2hELENBQUM7QUFFRCwyQ0FBMkM7QUFDM0MsT0FBTyxFQUNMLGFBQWEsRUFDYixrQkFBa0IsRUFDbEIsd0JBQXdCLEVBQ3hCLG9CQUFvQixFQUNwQixpQkFBaUIsRUFDakIsVUFBVSxFQUNWLHdCQUF3QixFQUN4QixnQkFBZ0IsRUFDaEIsa0JBQWtCLEVBQ2xCLG9CQUFvQixHQUNyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgKiBhcyBFU1RyZWUgZnJvbSBcImVzdHJlZVwiO1xyXG5cclxuaW1wb3J0IHR5cGUge1xyXG4gIEFhYVBoYXNlLFxyXG4gIExvY2F0ZWROb2RlLFxyXG4gIFNvdXJjZUNvbW1lbnQsXHJcbiAgVGVzdEJsb2NrQW5hbHlzaXMsXHJcbn0gZnJvbSBcIi4vdHlwZXNcIjtcclxuXHJcbi8qKiBDYW5vbmljYWwgb3JkZXJpbmcgdXNlZCB3aGVuIGNvbXBhcmluZyBBQUEgcGhhc2VzLiAqL1xyXG5jb25zdCBhYWFQaGFzZU9yZGVyID0ge1xyXG4gIEFjdDogMSxcclxuICBBcnJhbmdlOiAwLFxyXG4gIEFzc2VydDogMixcclxufSBhcyBjb25zdCBzYXRpc2ZpZXMgUmVjb3JkPEFhYVBoYXNlLCBudW1iZXI+O1xyXG5cclxuLyoqIFJlY29nbml6ZWQgQUFBIHBoYXNlIG5hbWVzLiAqL1xyXG5jb25zdCBwaGFzZU5hbWVzID0gW1wiQXJyYW5nZVwiLCBcIkFjdFwiLCBcIkFzc2VydFwiXSBhcyBjb25zdCBzYXRpc2ZpZXMgcmVhZG9ubHkgW1xyXG4gIEFhYVBoYXNlLFxyXG4gIEFhYVBoYXNlLFxyXG4gIEFhYVBoYXNlLFxyXG5dO1xyXG5cclxuLyoqIEhlbHBlciBzdGF0ZSBmb3IgZmxhdHRlbmVkIHNlY3Rpb24gY29tbWVudHMuICovXHJcbmludGVyZmFjZSBGbGF0dGVuZWRTZWN0aW9uIHtcclxuICAvKiogT3JpZ2luYWwgc291cmNlIGNvbW1lbnQgZm9yIHRoZSBzZWN0aW9uIG1hcmtlci4gKi9cclxuICBjb21tZW50OiBTb3VyY2VDb21tZW50O1xyXG4gIC8qKiBQaGFzZSByZXByZXNlbnRlZCBieSB0aGUgZmxhdHRlbmVkIHNlY3Rpb24gZW50cnkuICovXHJcbiAgcGhhc2U6IEFhYVBoYXNlO1xyXG59XHJcblxyXG4vKiogU3VwcG9ydGVkIGNhbGwtZXhwcmVzc2lvbiB3cmFwcGVyIGZvciBhbmFseXplZCB0ZXN0IGJsb2Nrcy4gKi9cclxuaW50ZXJmYWNlIFN1cHBvcnRlZFRlc3RDYWxsIHtcclxuICAvKiogQ2FsbGJhY2sgYXJndW1lbnQgdGhhdCBvd25zIHRoZSB0ZXN0IGJvZHkuICovXHJcbiAgY2FsbGJhY2s6IFN1cHBvcnRlZFRlc3RDYWxsYmFjaztcclxuICAvKiogT3JpZ2luYWwgYGl0YCBvciBgdGVzdGAgaW52b2NhdGlvbi4gKi9cclxuICBjYWxsRXhwcmVzc2lvbjogTG9jYXRlZE5vZGU8RVNUcmVlLkNhbGxFeHByZXNzaW9uPjtcclxufVxyXG5cclxuLyoqIFN1cHBvcnRlZCB0ZXN0IGNhbGxiYWNrIHNoYXBlIGZvciBgaXRgIGFuZCBgdGVzdGAgY2FsbHMuICovXHJcbnR5cGUgU3VwcG9ydGVkVGVzdENhbGxiYWNrID0gTG9jYXRlZE5vZGU8XHJcbiAgRVNUcmVlLkFycm93RnVuY3Rpb25FeHByZXNzaW9uIHwgRVNUcmVlLkZ1bmN0aW9uRXhwcmVzc2lvblxyXG4+ICYge1xyXG4gIC8qKiBDYWxsYmFjayBib2R5IGJsb2NrIHVzZWQgZm9yIHNlY3Rpb24gYW5hbHlzaXMuICovXHJcbiAgYm9keTogTG9jYXRlZE5vZGU8RVNUcmVlLkJsb2NrU3RhdGVtZW50PjtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBDb3VudHMgQWN0IHN0YXRlbWVudHMuXHJcbiAqIEBwYXJhbSBhbmFseXNpcyBJbnB1dCBhbmFseXNpcyB2YWx1ZS5cclxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBjb3VudEFjdFN0YXRlbWVudHMoYW5hbHlzaXMpO1xyXG4gKiBgYGBcclxuICovXHJcbmZ1bmN0aW9uIGNvdW50QWN0U3RhdGVtZW50cyhhbmFseXNpczogVGVzdEJsb2NrQW5hbHlzaXMpOiBudW1iZXIge1xyXG4gIHJldHVybiBnZXRBY3RUb3BMZXZlbFN0YXRlbWVudHMoYW5hbHlzaXMpLmxlbmd0aDtcclxufVxyXG5cclxuLyoqXHJcbiAqIEdldHMgdG9wLWxldmVsIHN0YXRlbWVudHMgdGhhdCBiZWxvbmcgdG8gdGhlIEFjdCBwaGFzZSBvbmx5LlxyXG4gKiBAcGFyYW0gYW5hbHlzaXMgSW5wdXQgYW5hbHlzaXMgdmFsdWUuXHJcbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogZ2V0QWN0VG9wTGV2ZWxTdGF0ZW1lbnRzKGFuYWx5c2lzKTtcclxuICogYGBgXHJcbiAqL1xyXG5mdW5jdGlvbiBnZXRBY3RUb3BMZXZlbFN0YXRlbWVudHMoXHJcbiAgYW5hbHlzaXM6IFBpY2s8VGVzdEJsb2NrQW5hbHlzaXMsIFwic3RhdGVtZW50c1wiPixcclxuKTogVGVzdEJsb2NrQW5hbHlzaXNbXCJzdGF0ZW1lbnRzXCJdIHtcclxuICByZXR1cm4gYW5hbHlzaXMuc3RhdGVtZW50cy5maWx0ZXIoXHJcbiAgICAoc3RhdGVtZW50KSA9PlxyXG4gICAgICBzdGF0ZW1lbnQucGhhc2VzLmluY2x1ZGVzKFwiQWN0XCIpICYmICFzdGF0ZW1lbnQucGhhc2VzLmluY2x1ZGVzKFwiQXNzZXJ0XCIpLFxyXG4gICk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBGbGF0dGVucyBzZWN0aW9uIGNvbW1lbnRzLlxyXG4gKiBAcGFyYW0gYW5hbHlzaXMgSW5wdXQgYW5hbHlzaXMgdmFsdWUuXHJcbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogZ2V0RmxhdHRlbmVkU2VjdGlvbnMoYW5hbHlzaXMpO1xyXG4gKiBgYGBcclxuICovXHJcbmZ1bmN0aW9uIGdldEZsYXR0ZW5lZFNlY3Rpb25zKFxyXG4gIGFuYWx5c2lzOiBQaWNrPFRlc3RCbG9ja0FuYWx5c2lzLCBcInNlY3Rpb25Db21tZW50c1wiPixcclxuKTogRmxhdHRlbmVkU2VjdGlvbltdIHtcclxuICByZXR1cm4gYW5hbHlzaXMuc2VjdGlvbkNvbW1lbnRzLmZsYXRNYXAoKHNlY3Rpb25Db21tZW50KSA9PlxyXG4gICAgc2VjdGlvbkNvbW1lbnQucGhhc2VzLm1hcCgocGhhc2UpID0+ICh7XHJcbiAgICAgIGNvbW1lbnQ6IHNlY3Rpb25Db21tZW50LmNvbW1lbnQsXHJcbiAgICAgIHBoYXNlLFxyXG4gICAgfSkpLFxyXG4gICk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBHZXRzIHRoZSBzdGFydCByYW5nZSBmb3IgYSBsaW5lLlxyXG4gKiBAcGFyYW0gc291cmNlVGV4dCBJbnB1dCBzb3VyY2VUZXh0IHZhbHVlLlxyXG4gKiBAcGFyYW0gbGluZSBJbnB1dCBsaW5lIHZhbHVlLlxyXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGdldExpbmVTdGFydFJhbmdlKHNvdXJjZVRleHQsIDIpO1xyXG4gKiBgYGBcclxuICovXHJcbmZ1bmN0aW9uIGdldExpbmVTdGFydFJhbmdlKHNvdXJjZVRleHQ6IHN0cmluZywgbGluZTogbnVtYmVyKTogW251bWJlciwgbnVtYmVyXSB7XHJcbiAgbGV0IGN1cnJlbnRMaW5lID0gMTtcclxuICBsZXQgY3VycmVudE9mZnNldCA9IDA7XHJcbiAgZm9yIChjb25zdCBjaGFyYWN0ZXIgb2Ygc291cmNlVGV4dCkge1xyXG4gICAgaWYgKGN1cnJlbnRMaW5lID09PSBsaW5lKSB7XHJcbiAgICAgIHJldHVybiBbY3VycmVudE9mZnNldCwgY3VycmVudE9mZnNldF07XHJcbiAgICB9XHJcbiAgICBpZiAoY2hhcmFjdGVyID09PSBcIlxcblwiKSB7XHJcbiAgICAgIGN1cnJlbnRMaW5lICs9IDE7XHJcbiAgICB9XHJcbiAgICBjdXJyZW50T2Zmc2V0ICs9IDE7XHJcbiAgfVxyXG4gIHJldHVybiBbc291cmNlVGV4dC5sZW5ndGgsIHNvdXJjZVRleHQubGVuZ3RoXTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEdldHMgdGhlIG5ld2xpbmUgc2VxdWVuY2UuXHJcbiAqIEBwYXJhbSB0ZXh0IElucHV0IHRleHQgdmFsdWUuXHJcbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogZ2V0TmV3bGluZShzb3VyY2VUZXh0KTtcclxuICogYGBgXHJcbiAqL1xyXG5mdW5jdGlvbiBnZXROZXdsaW5lKHRleHQ6IHN0cmluZyk6IFwiXFxuXCIgfCBcIlxcclxcblwiIHtcclxuICByZXR1cm4gdGV4dC5pbmNsdWRlcyhcIlxcclxcblwiKSA/IFwiXFxyXFxuXCIgOiBcIlxcblwiO1xyXG59XHJcblxyXG4vKipcclxuICogR2V0cyBwaGFzZS1ib3VuZGFyeSBjb21tZW50cy5cclxuICogQHBhcmFtIGFuYWx5c2lzIElucHV0IGFuYWx5c2lzIHZhbHVlLlxyXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGdldFBoYXNlQm91bmRhcnlDb21tZW50cyhhbmFseXNpcyk7XHJcbiAqIGBgYFxyXG4gKi9cclxuZnVuY3Rpb24gZ2V0UGhhc2VCb3VuZGFyeUNvbW1lbnRzKFxyXG4gIGFuYWx5c2lzOiBQaWNrPFRlc3RCbG9ja0FuYWx5c2lzLCBcInNlY3Rpb25Db21tZW50c1wiPixcclxuKTogVGVzdEJsb2NrQW5hbHlzaXNbXCJzZWN0aW9uQ29tbWVudHNcIl0ge1xyXG4gIHJldHVybiBhbmFseXNpcy5zZWN0aW9uQ29tbWVudHMuZmlsdGVyKChzZWN0aW9uQ29tbWVudCkgPT5cclxuICAgIHNlY3Rpb25Db21tZW50LnBoYXNlcy5zb21lKFxyXG4gICAgICAocGhhc2UpID0+IHBoYXNlID09PSBcIkFjdFwiIHx8IHBoYXNlID09PSBcIkFzc2VydFwiLFxyXG4gICAgKSxcclxuICApO1xyXG59XHJcblxyXG4vKipcclxuICogUGFyc2VzIEFBQSBwaGFzZXMgZnJvbSBhIGNvbW1lbnQuXHJcbiAqIEBwYXJhbSBjb21tZW50VmFsdWUgSW5wdXQgY29tbWVudFZhbHVlIHZhbHVlLlxyXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGdldFNlY3Rpb25QaGFzZXMoXCJBcnJhbmdlICYgQWN0XCIpO1xyXG4gKiBgYGBcclxuICovXHJcbmZ1bmN0aW9uIGdldFNlY3Rpb25QaGFzZXMoY29tbWVudFZhbHVlOiBzdHJpbmcpOiBBYWFQaGFzZVtdIHtcclxuICBjb25zdCB0cmltbWVkQ29tbWVudCA9IGNvbW1lbnRWYWx1ZS50cmltKCk7XHJcbiAgaWYgKHRyaW1tZWRDb21tZW50Lmxlbmd0aCA9PT0gMCkge1xyXG4gICAgcmV0dXJuIFtdO1xyXG4gIH1cclxuICBjb25zdCBwYXJ0cyA9IHRyaW1tZWRDb21tZW50LnNwbGl0KC9cXHMqJlxccyovdSk7XHJcbiAgcmV0dXJuIHBhcnRzLmV2ZXJ5KChwYXJ0KSA9PiBpc0FhYVBoYXNlKHBhcnQpKSA/IHBhcnRzIDogW107XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBHZXRzIHRoZSBhY3RpdmUgcGhhc2VzIGZvciBhIHN0YXRlbWVudC5cclxuICogQHBhcmFtIHN0YXRlbWVudCBJbnB1dCBzdGF0ZW1lbnQgdmFsdWUuXHJcbiAqIEBwYXJhbSBzZWN0aW9uQ29tbWVudHMgSW5wdXQgc2VjdGlvbkNvbW1lbnRzIHZhbHVlLlxyXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGdldFN0YXRlbWVudFBoYXNlcyhzdGF0ZW1lbnQsIHNlY3Rpb25Db21tZW50cyk7XHJcbiAqIGBgYFxyXG4gKi9cclxuZnVuY3Rpb24gZ2V0U3RhdGVtZW50UGhhc2VzKFxyXG4gIHN0YXRlbWVudDogRVNUcmVlLlN0YXRlbWVudCxcclxuICBzZWN0aW9uQ29tbWVudHM6IFRlc3RCbG9ja0FuYWx5c2lzW1wic2VjdGlvbkNvbW1lbnRzXCJdLFxyXG4pOiBBYWFQaGFzZVtdIHtcclxuICBjb25zdCBzdGF0ZW1lbnRMaW5lID0gc3RhdGVtZW50LmxvYz8uc3RhcnQubGluZTtcclxuICBpZiAoc3RhdGVtZW50TGluZSA9PT0gdm9pZCAwKSB7XHJcbiAgICByZXR1cm4gW107XHJcbiAgfVxyXG4gIGxldCBjdXJyZW50UGhhc2VzOiBBYWFQaGFzZVtdID0gW107XHJcbiAgZm9yIChjb25zdCBzZWN0aW9uQ29tbWVudCBvZiBzZWN0aW9uQ29tbWVudHMpIHtcclxuICAgIGlmIChzZWN0aW9uQ29tbWVudC5jb21tZW50LmxvYy5zdGFydC5saW5lID4gc3RhdGVtZW50TGluZSkge1xyXG4gICAgICBicmVhaztcclxuICAgIH1cclxuICAgIGN1cnJlbnRQaGFzZXMgPSBzZWN0aW9uQ29tbWVudC5waGFzZXM7XHJcbiAgfVxyXG4gIHJldHVybiBjdXJyZW50UGhhc2VzO1xyXG59XHJcblxyXG4vKipcclxuICogR2V0cyBzdXBwb3J0ZWQgdGVzdCBjYWxsIG1ldGFkYXRhLlxyXG4gKiBAcGFyYW0gbm9kZSBJbnB1dCBub2RlIHZhbHVlLlxyXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGdldFN1cHBvcnRlZFRlc3RDYWxsKG5vZGUpO1xyXG4gKiBgYGBcclxuICovXHJcbmZ1bmN0aW9uIGdldFN1cHBvcnRlZFRlc3RDYWxsKFxyXG4gIG5vZGU6IEVTVHJlZS5DYWxsRXhwcmVzc2lvbixcclxuKTogU3VwcG9ydGVkVGVzdENhbGwgfCB1bmRlZmluZWQge1xyXG4gIGNvbnN0IHJvb3ROYW1lID0gZ2V0VGVzdFJvb3ROYW1lKG5vZGUuY2FsbGVlKTtcclxuICBpZiAocm9vdE5hbWUgIT09IFwiaXRcIiAmJiByb290TmFtZSAhPT0gXCJ0ZXN0XCIpIHtcclxuICAgIHJldHVybiB2b2lkIDA7XHJcbiAgfVxyXG5cclxuICBjb25zdCBjYWxsYmFja0FyZ3VtZW50ID0gbm9kZS5hcmd1bWVudHMuYXQoLTEpO1xyXG4gIGlmIChcclxuICAgIGNhbGxiYWNrQXJndW1lbnQgPT09IHZvaWQgMCB8fFxyXG4gICAgY2FsbGJhY2tBcmd1bWVudC50eXBlID09PSBcIlNwcmVhZEVsZW1lbnRcIiB8fFxyXG4gICAgKGNhbGxiYWNrQXJndW1lbnQudHlwZSAhPT0gXCJBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvblwiICYmXHJcbiAgICAgIGNhbGxiYWNrQXJndW1lbnQudHlwZSAhPT0gXCJGdW5jdGlvbkV4cHJlc3Npb25cIikgfHxcclxuICAgIGNhbGxiYWNrQXJndW1lbnQuYm9keS50eXBlICE9PSBcIkJsb2NrU3RhdGVtZW50XCJcclxuICApIHtcclxuICAgIHJldHVybiB2b2lkIDA7XHJcbiAgfVxyXG5cclxuICByZXR1cm4ge1xyXG4gICAgY2FsbGJhY2s6IGNhbGxiYWNrQXJndW1lbnQgYXMgU3VwcG9ydGVkVGVzdENhbGxiYWNrLFxyXG4gICAgY2FsbEV4cHJlc3Npb246IG5vZGUgYXMgTG9jYXRlZE5vZGU8RVNUcmVlLkNhbGxFeHByZXNzaW9uPixcclxuICB9O1xyXG59XHJcblxyXG4vKipcclxuICogR2V0cyB0aGUgcm9vdCB0ZXN0IGNhbGxlZSBuYW1lLlxyXG4gKiBAcGFyYW0gY2FsbGVlIElucHV0IGNhbGxlZSB2YWx1ZS5cclxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBnZXRUZXN0Um9vdE5hbWUoY2FsbEV4cHJlc3Npb24uY2FsbGVlKTtcclxuICogYGBgXHJcbiAqL1xyXG5mdW5jdGlvbiBnZXRUZXN0Um9vdE5hbWUoXHJcbiAgY2FsbGVlOiBFU1RyZWUuQ2FsbEV4cHJlc3Npb25bXCJjYWxsZWVcIl0sXHJcbik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XHJcbiAgbGV0IGN1cnJlbnQ6IEVTVHJlZS5DYWxsRXhwcmVzc2lvbltcImNhbGxlZVwiXSA9IGNhbGxlZTtcclxuXHJcbiAgd2hpbGUgKFxyXG4gICAgY3VycmVudC50eXBlID09PSBcIkNhbGxFeHByZXNzaW9uXCIgfHxcclxuICAgIChjdXJyZW50LnR5cGUgPT09IFwiTWVtYmVyRXhwcmVzc2lvblwiICYmIGN1cnJlbnQub2JqZWN0LnR5cGUgIT09IFwiU3VwZXJcIilcclxuICApIHtcclxuICAgIGN1cnJlbnQgPVxyXG4gICAgICBjdXJyZW50LnR5cGUgPT09IFwiQ2FsbEV4cHJlc3Npb25cIiA/IGN1cnJlbnQuY2FsbGVlIDogY3VycmVudC5vYmplY3Q7XHJcbiAgfVxyXG5cclxuICBpZiAoY3VycmVudC50eXBlID09PSBcIklkZW50aWZpZXJcIikge1xyXG4gICAgcmV0dXJuIGN1cnJlbnQubmFtZTtcclxuICB9XHJcblxyXG4gIHJldHVybiB2b2lkIDA7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDaGVja3Mgd2hldGhlciBhIHZhbHVlIGlzIGFuIEFBQSBwaGFzZS5cclxuICogQHBhcmFtIHZhbHVlIElucHV0IHZhbHVlIHZhbHVlLlxyXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGlzQWFhUGhhc2UoXCJBcnJhbmdlXCIpO1xyXG4gKiBgYGBcclxuICovXHJcbmZ1bmN0aW9uIGlzQWFhUGhhc2UodmFsdWU6IHN0cmluZyk6IHZhbHVlIGlzIEFhYVBoYXNlIHtcclxuICByZXR1cm4gcGhhc2VOYW1lcy5pbmNsdWRlcyh2YWx1ZSBhcyBBYWFQaGFzZSk7XHJcbn1cclxuXHJcbi8qKiBDb21wYW5pb24gbWFya2VyIGZvciB0ZXN0IGlzb2xhdGlvbi4gKi9cclxuZXhwb3J0IHtcclxuICBhYWFQaGFzZU9yZGVyLFxyXG4gIGNvdW50QWN0U3RhdGVtZW50cyxcclxuICBnZXRBY3RUb3BMZXZlbFN0YXRlbWVudHMsXHJcbiAgZ2V0RmxhdHRlbmVkU2VjdGlvbnMsXHJcbiAgZ2V0TGluZVN0YXJ0UmFuZ2UsXHJcbiAgZ2V0TmV3bGluZSxcclxuICBnZXRQaGFzZUJvdW5kYXJ5Q29tbWVudHMsXHJcbiAgZ2V0U2VjdGlvblBoYXNlcyxcclxuICBnZXRTdGF0ZW1lbnRQaGFzZXMsXHJcbiAgZ2V0U3VwcG9ydGVkVGVzdENhbGwsXHJcbn07XHJcbiJdfQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyzer.assertions.helpers.d.ts","sourceRoot":"","sources":["../../../../src/domain/testing/aaa/analyzer.assertions.helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,QAAQ,CAAC;AAEtC,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAW9D,8DAA8D;AAC9D,UAAU,oBAAoB;IAC5B,2CAA2C;IAC3C,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B;AAED;;;;;;;;GAQG;AACH,iBAAS,4BAA4B,CACnC,QAAQ,EAAE,iBAAiB,GAC1B,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAkB7C;AAwBD;;;;;;;;GAQG;AACH,iBAAS,uBAAuB,CAC9B,SAAS,EAAE,MAAM,CAAC,SAAS,GAC1B,oBAAoB,CAqBtB;AAED;;;;;;;;GAQG;AACH,iBAAS,sBAAsB,CAC7B,SAAS,EAAE,MAAM,CAAC,SAAS,GAC1B,MAAM,CAAC,UAAU,GAAG,SAAS,CAY/B;AAED;;;;;;;;GAQG;AACH,iBAAS,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,GAAG,OAAO,CAQ1D;AAED;;;;;;;;GAQG;AACH,iBAAS,kBAAkB,CACzB,UAAU,EAAE,MAAM,CAAC,UAAU,GAAG,SAAS,GACxC,OAAO,CAOT;AAED;;;;;;;;GAQG;AACH,iBAAS,sBAAsB,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,GAAG,OAAO,CAmBpE;AAED;;;;;;;;GAQG;AACH,iBAAS,gBAAgB,CACvB,UAAU,EAAE,MAAM,CAAC,UAAU,GAAG,SAAS,GACxC,MAAM,CAAC,UAAU,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"analyzer.assertions.helpers.d.ts","sourceRoot":"","sources":["../../../../src/domain/testing/aaa/analyzer.assertions.helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,QAAQ,CAAC;AAEtC,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAW9D,8DAA8D;AAC9D,UAAU,oBAAoB;IAC5B,2CAA2C;IAC3C,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B;AAED;;;;;;;;GAQG;AACH,iBAAS,4BAA4B,CACnC,QAAQ,EAAE,iBAAiB,GAC1B,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAkB7C;AAwBD;;;;;;;;GAQG;AACH,iBAAS,uBAAuB,CAC9B,SAAS,EAAE,MAAM,CAAC,SAAS,GAC1B,oBAAoB,CAqBtB;AAED;;;;;;;;GAQG;AACH,iBAAS,sBAAsB,CAC7B,SAAS,EAAE,MAAM,CAAC,SAAS,GAC1B,MAAM,CAAC,UAAU,GAAG,SAAS,CAY/B;AAED;;;;;;;;GAQG;AACH,iBAAS,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,GAAG,OAAO,CAQ1D;AAED;;;;;;;;GAQG;AACH,iBAAS,kBAAkB,CACzB,UAAU,EAAE,MAAM,CAAC,UAAU,GAAG,SAAS,GACxC,OAAO,CAOT;AAED;;;;;;;;GAQG;AACH,iBAAS,sBAAsB,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,GAAG,OAAO,CAmBpE;AAED;;;;;;;;GAQG;AACH,iBAAS,gBAAgB,CACvB,UAAU,EAAE,MAAM,CAAC,UAAU,GAAG,SAAS,GACxC,MAAM,CAAC,UAAU,GAAG,SAAS,CAY/B;AAED;;;;;;;;;GASG;AACH,iBAAS,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,UAAU,GAAG,OAAO,CAExE;AAED,2CAA2C;AAC3C,OAAO,EACL,4BAA4B,EAC5B,uBAAuB,EACvB,sBAAsB,EACtB,YAAY,EACZ,kBAAkB,EAClB,sBAAsB,EACtB,gBAAgB,EAChB,UAAU,GACX,CAAC"}
|