doc-detective 4.0.0-beta.1-dev.5 → 4.0.0-beta.1-dev.7

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.
@@ -3,7 +3,7 @@
3
3
  * Discovers input files, reads them, and parses tests from content.
4
4
  * Uses detectTests from common for browser-compatible content parsing.
5
5
  */
6
- export { detectTests };
6
+ export { detectTests, parseTests };
7
7
  /**
8
8
  * Detects tests from files based on config.
9
9
  * Assumes config has already been processed by setConfig.
@@ -16,4 +16,17 @@ export { detectTests };
16
16
  declare function detectTests({ config }: {
17
17
  config: any;
18
18
  }): Promise<any[]>;
19
+ /**
20
+ * Parse files for tests. Reads each file and extracts test specifications.
21
+ * Uses detectTests from common for text content parsing.
22
+ *
23
+ * @param {Object} options
24
+ * @param {Object} options.config - Configuration object
25
+ * @param {Array<string>} options.files - Array of file paths to parse
26
+ * @returns {Promise<Array>} Array of test specifications
27
+ */
28
+ declare function parseTests({ config, files }: {
29
+ config: any;
30
+ files: string[];
31
+ }): Promise<any[]>;
19
32
  //# sourceMappingURL=detectTests.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"detectTests.d.ts","sourceRoot":"","sources":["../../src/core/detectTests.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAWH,OAAO,EAAE,WAAW,EAAE,CAAC;AAEvB;;;;;;;;GAQG;AACH,iBAAe,WAAW,CAAC,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,GAAG,CAAA;CAAE,kBAUrD"}
1
+ {"version":3,"file":"detectTests.d.ts","sourceRoot":"","sources":["../../src/core/detectTests.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAYH,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;AAEnC;;;;;;;;GAQG;AACH,iBAAe,WAAW,CAAC,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,GAAG,CAAA;CAAE,kBAUrD;AA8QD;;;;;;;;GAQG;AACH,iBAAe,UAAU,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;IAAE,MAAM,EAAE,GAAG,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,kBA+O5E"}
@@ -7,11 +7,12 @@ import fs from "node:fs";
7
7
  import path from "node:path";
8
8
  import os from "node:os";
9
9
  import crypto from "node:crypto";
10
+ import YAML from "yaml";
10
11
  import { validate } from "../common/src/validate.js";
11
- import { detectTests as parseContent } from "../common/src/detectTests.js";
12
+ import { detectTests as parseContent, getLineNumber, getLineStarts } from "../common/src/detectTests.js";
12
13
  import { readFile, resolvePaths } from "./files.js";
13
14
  import { log, fetchFile, spawnCommand } from "./utils.js";
14
- export { detectTests };
15
+ export { detectTests, parseTests };
15
16
  /**
16
17
  * Detects tests from files based on config.
17
18
  * Assumes config has already been processed by setConfig.
@@ -271,18 +272,80 @@ async function parseTests({ config, files }) {
271
272
  log(config, "debug", `file: ${file}`);
272
273
  const extension = path.extname(file).slice(1);
273
274
  let content = "";
274
- content = await readFile({ fileURLOrPath: file });
275
+ let rawContent;
276
+ // For JSON/YAML specs, read raw content once and parse from it
277
+ if (extension === "json" || extension === "yaml" || extension === "yml") {
278
+ try {
279
+ rawContent = await fs.promises.readFile(file, "utf8");
280
+ if (extension === "json") {
281
+ content = JSON.parse(rawContent);
282
+ }
283
+ else {
284
+ content = YAML.parse(rawContent);
285
+ }
286
+ }
287
+ catch (err) {
288
+ console.warn(`Failed to read/parse ${file}: ${err.message}`);
289
+ content = await readFile({ fileURLOrPath: file });
290
+ }
291
+ }
292
+ else {
293
+ content = await readFile({ fileURLOrPath: file });
294
+ }
275
295
  if (typeof content === "object") {
276
- // JSON/YAML spec file - resolve paths and validate
296
+ // Collect step location data from YAML AST before validation/transformation.
297
+ // Location must be applied AFTER resolvePaths (which may transform v2→v3 steps).
298
+ const stepLocations = new Map();
299
+ if (rawContent && content.tests) {
300
+ try {
301
+ const doc = YAML.parseDocument(rawContent);
302
+ const lineStarts = getLineStarts(rawContent);
303
+ const testsNode = doc.get("tests", true);
304
+ if (testsNode && YAML.isSeq(testsNode)) {
305
+ for (let t = 0; t < testsNode.items.length; t++) {
306
+ const testNode = testsNode.get(t, true);
307
+ if (!testNode || !YAML.isMap(testNode))
308
+ continue;
309
+ const stepsNode = testNode.get("steps", true);
310
+ if (!stepsNode || !YAML.isSeq(stepsNode))
311
+ continue;
312
+ const test = content.tests[t];
313
+ if (!test?.steps)
314
+ continue;
315
+ const testMap = new Map();
316
+ for (let s = 0; s < stepsNode.items.length && s < test.steps.length; s++) {
317
+ const stepNode = stepsNode.items[s];
318
+ if (stepNode?.range) {
319
+ testMap.set(s, {
320
+ line: getLineNumber(rawContent, stepNode.range[0], lineStarts),
321
+ startIndex: stepNode.range[0],
322
+ endIndex: stepNode.range[1],
323
+ });
324
+ }
325
+ }
326
+ if (testMap.size > 0)
327
+ stepLocations.set(t, testMap);
328
+ }
329
+ }
330
+ }
331
+ catch { }
332
+ }
333
+ // JSON/YAML spec file - resolve paths and validate (transforms v2→v3)
277
334
  content = await resolvePaths({
278
335
  config: config,
279
336
  object: content,
280
337
  filePath: file,
281
338
  });
282
- for (const test of content.tests) {
339
+ // Merge before/after steps, tracking which steps came from before-specs.
340
+ for (let t = 0; t < content.tests.length; t++) {
341
+ const test = content.tests[t];
283
342
  if (test.before) {
284
343
  const setup = await readFile({ fileURLOrPath: test.before });
285
344
  if (setup?.tests?.[0]?.steps) {
345
+ // Tag before-steps with a marker that survives validation cloning
346
+ for (const step of setup.tests[0].steps) {
347
+ step._fromBefore = true;
348
+ }
286
349
  test.steps = setup.tests[0].steps.concat(test.steps);
287
350
  }
288
351
  }
@@ -324,6 +387,41 @@ async function parseTests({ config, files }) {
324
387
  object: content,
325
388
  filePath: file,
326
389
  });
390
+ // Apply step locations after all validation/transformation (v2→v3 safe).
391
+ // Compute offset from surviving before-steps (tagged with _fromBefore).
392
+ for (const [testIdx, testMap] of stepLocations) {
393
+ const test = content.tests[testIdx];
394
+ if (!test?.steps)
395
+ continue;
396
+ let offset = 0;
397
+ for (const step of test.steps) {
398
+ if (step._fromBefore) {
399
+ offset++;
400
+ }
401
+ else {
402
+ break;
403
+ }
404
+ }
405
+ for (const [stepIdx, loc] of testMap) {
406
+ const pos = offset + stepIdx;
407
+ if (pos < test.steps.length) {
408
+ test.steps[pos].location = loc;
409
+ }
410
+ }
411
+ }
412
+ // Clean up _fromBefore markers from all tests/steps, even if
413
+ // stepLocations is empty (e.g., AST parse failed).
414
+ if (content?.tests) {
415
+ for (const test of content.tests) {
416
+ if (!test?.steps)
417
+ continue;
418
+ for (const step of test.steps) {
419
+ if (step && "_fromBefore" in step) {
420
+ delete step._fromBefore;
421
+ }
422
+ }
423
+ }
424
+ }
327
425
  specs.push(content);
328
426
  }
329
427
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"detectTests.js","sourceRoot":"","sources":["../../src/core/detectTests.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,WAAW,IAAI,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAE,CAAC;AAEvB;;;;;;;;GAQG;AACH,KAAK,UAAU,WAAW,CAAC,EAAE,MAAM,EAAmB;IACpD,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7C,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC/B,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IAE5B,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAClD,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC/B,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAE3B,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CAAC,QAAgB;IACtC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAE1B,IAAI,YAAY,CAAC;IACjB,IAAI,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACjC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAClD,CAAC;SAAM,CAAC;QACN,YAAY,GAAG,YAAY,CAAC;IAC9B,CAAC;IAED,MAAM,cAAc,GAAG,YAAY;SAChC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;SACf,IAAI,CAAC,GAAG,CAAC;SACT,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;SACpB,OAAO,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC;IAEvC,OAAO,cAAc,CAAC;AACxB,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,iBAAiB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAiD;IACvG,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,eAAe,MAAM,EAAE,CAAC,CAAC;IAC9C,IAAI,iBAAiB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAChD,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAa,EAAE,EAAE;QACzC,iBAAiB,GAAG,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;IACH,yBAAyB;IACzB,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7C,0DAA0D;IAC1D,IACE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,OAAO;QAChC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,OAAO;QAChC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,MAAM,EAC/B,CAAC;QACD,MAAM,OAAO,GAAQ,MAAM,QAAQ,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,CAAC;QAC/D,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,GAAG,CACD,MAAM,EACN,OAAO,EACP,GAAG,MAAM,8CAA8C,CACxD,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,UAAU,GAAG,QAAQ,CAAC;YAC1B,SAAS,EAAE,SAAS;YACpB,MAAM,EAAE,OAAO;YACf,WAAW,EAAE,KAAK;SACnB,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACtB,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;YACnC,GAAG,CACD,MAAM,EACN,SAAS,EACT,GAAG,MAAM,8CAA8C,CACxD,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YACjC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,IAAI,UAAU,GAAG,EAAE,CAAC;gBACpB,IAAI,MAAM,CAAC,gBAAgB,KAAK,MAAM,EAAE,CAAC;oBACvC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC/D,CAAC;qBAAM,CAAC;oBACN,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACzC,CAAC;gBACD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC/B,GAAG,CACD,MAAM,EACN,OAAO,EACP,GAAG,UAAU,uEAAuE,MAAM,GAAG,CAC9F,CAAC;oBACF,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;YACD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACf,IAAI,SAAS,GAAG,EAAE,CAAC;gBACnB,IAAI,MAAM,CAAC,gBAAgB,KAAK,MAAM,EAAE,CAAC;oBACvC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC7D,CAAC;qBAAM,CAAC;oBACN,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACvC,CAAC;gBACD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC9B,GAAG,CACD,MAAM,EACN,OAAO,EACP,GAAG,SAAS,sEAAsE,MAAM,GAAG,CAC5F,CAAC;oBACF,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,gCAAgC;IAChC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACpD,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3C,GAAG,CACD,MAAM,EACN,OAAO,EACP,GAAG,MAAM,wEAAwE,CAClF,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,cAAc,CAAC,EAAE,MAAM,EAAE,MAAM,EAAmC;IAC/E,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACnE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,eAAe,CAAC,CAAC;IACxD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,IAAI,EAAE,CAAC,CAAC;IACxD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,4BAA4B,OAAO,EAAE,CAAC,CAAC;QAC5D,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;IACD,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAC9D,IAAI,WAAW,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QAC/B,GAAG,CACD,MAAM,EACN,OAAO,EACP,8DAA8D,WAAW,CAAC,MAAM,EAAE,CACnF,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,wBAAwB,MAAM,EAAE,CAAC,CAAC;IACtD,MAAM,aAAa,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE;QAC/C,IAAI;QACJ,MAAM;QACN,IAAI;QACJ,MAAM;QACN,IAAI;QACJ,SAAS;KACV,CAAC,CAAC;IACH,IAAI,aAAa,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QACjC,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,+BAA+B,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5E,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,YAAY,CAAC,EAAE,MAAM,EAAmB;IACrD,IAAI,IAAI,GAAa,EAAE,CAAC;IACxB,IAAI,KAAK,GAAa,EAAE,CAAC;IACzB,IAAI,QAAQ,GAAU,EAAE,CAAC;IAEzB,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC;IAC/B,IAAI,KAAK;QAAE,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IAC3B,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC;IAChC,IAAI,OAAO;QAAE,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEjD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,6BAA6B,CAAC,CAAC;QACtD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,eAAe,GAAa,EAAE,CAAC;IAErC,4DAA4D;IAC5D,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC;QAChC,MAAM,CAAC,mBAAmB,GAAG,EAAE,CAAC;IAClC,CAAC;IAED,KAAK,IAAI,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC5B,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,MAAM,EAAE,CAAC,CAAC;QAE1C,gDAAgD;QAChD,IAAI,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAClC,GAAG,CACD,MAAM,EACN,SAAS,EACT,wBAAwB,MAAM,0EAA0E,CACzG,CAAC;YACF,SAAS;QACX,CAAC;QAED,2BAA2B;QAC3B,IAAI,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAC1E,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,CAAC;YACtC,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;gBAC7B,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;gBACtC,SAAS;YACX,CAAC;YACD,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC;QACtB,CAAC;QACD,yCAAyC;QACzC,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,IAAI,CAAC;YACH,MAAM,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;YACtC,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;QAC5C,CAAC;QAAC,MAAM,CAAC;YACP,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,uBAAuB,MAAM,aAAa,CAAC,CAAC;YACnE,SAAS;QACX,CAAC;QAED,iDAAiD;QACjD,IACE,MAAM;YACN,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,UAAU;YACnC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC5D,MAAM,CAAC,eAAe,EACtB,CAAC;YACD,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;YAC5D,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC9C,QAAQ,CAAC,MAAM,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;gBACjD,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACnC,CAAC;YACD,SAAS;QACX,CAAC;QAED,cAAc;QACd,IAAI,MAAM,IAAI,CAAC,MAAM,iBAAiB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC;YACnE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QACnC,CAAC;aAAM,IAAI,KAAK,EAAE,CAAC;YACjB,IAAI,GAAG,EAAE,CAAC;YACV,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;YACjB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;gBACpC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;oBAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,GAAG,GAAG,MAAM,CAAC,CAAC;oBACjD,IAAI,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;wBAAE,SAAS;oBAC/C,MAAM,MAAM,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;oBAC7C,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;oBACjD,IACE,MAAM;wBACN,CAAC,MAAM,iBAAiB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,EAC7D,CAAC;wBACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;oBACpC,CAAC;yBAAM,IAAI,KAAK,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;wBACrC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBACrB,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;GAQG;AACH,KAAK,UAAU,UAAU,CAAC,EAAE,MAAM,EAAE,KAAK,EAAoC;IAC3E,IAAI,KAAK,GAAU,EAAE,CAAC;IAEtB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC;QACtC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC9C,IAAI,OAAO,GAAQ,EAAE,CAAC;QACtB,OAAO,GAAG,MAAM,QAAQ,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAElD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,mDAAmD;YACnD,OAAO,GAAG,MAAM,YAAY,CAAC;gBAC3B,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,OAAO;gBACf,QAAQ,EAAE,IAAI;aACf,CAAC,CAAC;YAEH,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBACjC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBAChB,MAAM,KAAK,GAAQ,MAAM,QAAQ,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;oBAClE,IAAI,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;wBAC7B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACvD,CAAC;gBACH,CAAC;gBACD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBACf,MAAM,OAAO,GAAQ,MAAM,QAAQ,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;oBACnE,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;wBAC/B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;oBACzD,CAAC;gBACH,CAAC;YACH,CAAC;YACD,qBAAqB;YACrB,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBACjC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAS,EAAE,EAAE;oBAC3C,MAAM,UAAU,GAAG,QAAQ,CAAC;wBAC1B,SAAS,EAAE,SAAS;wBACpB,MAAM,EAAE,EAAE,GAAG,IAAI,EAAE;wBACnB,WAAW,EAAE,KAAK;qBACnB,CAAC,CAAC;oBACH,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;wBACtB,GAAG,CACD,MAAM,EACN,SAAS,EACT,QAAQ,IAAI,gCAAgC,CAC7C,CAAC;wBACF,OAAO,KAAK,CAAC;oBACf,CAAC;oBACD,OAAO,IAAI,CAAC;gBACd,CAAC,CAAC,CAAC;YACL,CAAC;YACD,MAAM,UAAU,GAAG,QAAQ,CAAC;gBAC1B,SAAS,EAAE,SAAS;gBACpB,MAAM,EAAE,OAAO;gBACf,WAAW,EAAE,KAAK;aACnB,CAAC,CAAC;YACH,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBACtB,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;gBACnC,GAAG,CACD,MAAM,EACN,SAAS,EACT,2CAA2C,IAAI,8CAA8C,CAC9F,CAAC;gBACF,SAAS;YACX,CAAC;YACD,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC;YAC5B,OAAO,GAAG,MAAM,YAAY,CAAC;gBAC3B,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,OAAO;gBACf,QAAQ,EAAE,IAAI;aACf,CAAC,CAAC;YACH,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,sDAAsD;YACtD,IAAI,EAAE,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;YAC9B,IAAI,IAAI,GAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;YAC7D,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAa,EAAE,EAAE,CACvD,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,CACxC,CAAC;YAEF,sBAAsB;YACtB,IAAI,QAAQ,EAAE,QAAQ,EAAE,CAAC;gBACvB,IAAI,QAAQ,GAAQ,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBACtD,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBAC1C,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBAEhC,MAAM,IAAI,GAAG;oBACX,KAAK,EAAE;wBACL;4BACE,QAAQ;yBACT;qBACF;iBACF,CAAC;gBAEF,MAAM,UAAU,GAAG,QAAQ,CAAC;oBAC1B,SAAS,EAAE,SAAS;oBACpB,MAAM,EAAE,IAAI;oBACZ,WAAW,EAAE,KAAK;iBACnB,CAAC,CAAC;gBACH,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;oBACtB,GAAG,CACD,MAAM,EACN,SAAS,EACT,qBAAqB,IAAI,wBAAwB,UAAU,CAAC,MAAM,aAAa,CAChF,CAAC;oBACF,SAAS;gBACX,CAAC;gBAED,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACtB,SAAS;YACX,CAAC;YAED,2CAA2C;YAC3C,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC;gBAC/B,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,OAAO;gBAChB,QAAQ,EAAE,QAAQ;gBAClB,QAAQ,EAAE,IAAI;aACf,CAAC,CAAC;YACH,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;YAE1B,6BAA6B;YAC7B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAC5B,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CACnD,CAAC;YAEF,gBAAgB;YAChB,MAAM,UAAU,GAAG,QAAQ,CAAC;gBAC1B,SAAS,EAAE,SAAS;gBACpB,MAAM,EAAE,IAAI;gBACZ,WAAW,EAAE,KAAK;aACnB,CAAC,CAAC;YACH,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBACtB,GAAG,CACD,MAAM,EACN,SAAS,EACT,cAAc,IAAI,qDAAqD,CACxE,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,IAAI,GAAG,MAAM,YAAY,CAAC;oBACxB,MAAM,EAAE,MAAM;oBACd,MAAM,EAAE,IAAI;oBACZ,QAAQ,EAAE,IAAI;iBACf,CAAC,CAAC;gBACH,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnB,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"detectTests.js","sourceRoot":"","sources":["../../src/core/detectTests.ts"],"names":[],"mappings":"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"}