@cucumber/query 13.0.2 → 13.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  import * as messages from '@cucumber/messages';
2
- import { Duration, Feature, Pickle, PickleStep, Step, TestCase, TestCaseFinished, TestCaseStarted, TestRunFinished, TestRunStarted, TestStep, TestStepFinished, TestStepResult, TestStepResultStatus } from '@cucumber/messages';
2
+ import { Attachment, Duration, Feature, Hook, Meta, Pickle, PickleStep, Step, TestCase, TestCaseFinished, TestCaseStarted, TestRunFinished, TestRunStarted, TestStep, TestStepFinished, TestStepResult, TestStepResultStatus } from '@cucumber/messages';
3
3
  import { NamingStrategy } from "./Lineage";
4
4
  export default class Query {
5
5
  private readonly testStepResultByPickleId;
@@ -12,6 +12,7 @@ export default class Query {
12
12
  private readonly hooksById;
13
13
  private readonly attachmentsByTestStepId;
14
14
  private readonly stepMatchArgumentsListsByPickleStepId;
15
+ private meta;
15
16
  private testRunStarted;
16
17
  private testRunFinished;
17
18
  private readonly testCaseStarted;
@@ -23,6 +24,7 @@ export default class Query {
23
24
  private readonly testStepById;
24
25
  private readonly testCaseFinishedByTestCaseStartedId;
25
26
  private readonly testStepFinishedByTestCaseStartedId;
27
+ private readonly attachmentsByTestCaseStartedId;
26
28
  update(envelope: messages.Envelope): void;
27
29
  private updateGherkinDocument;
28
30
  private updateFeature;
@@ -32,6 +34,7 @@ export default class Query {
32
34
  private updatePickle;
33
35
  private updateTestCase;
34
36
  private updateTestCaseStarted;
37
+ private updateAttachment;
35
38
  private updateTestStepFinished;
36
39
  private updateTestCaseFinished;
37
40
  /**
@@ -68,7 +71,10 @@ export default class Query {
68
71
  findAllTestCaseStarted(): ReadonlyArray<TestCaseStarted>;
69
72
  findAllTestCaseStartedGroupedByFeature(): Map<Feature | undefined, ReadonlyArray<TestCaseStarted>>;
70
73
  findAllTestSteps(): ReadonlyArray<TestStep>;
74
+ findAttachmentsBy(testStepFinished: TestStepFinished): ReadonlyArray<Attachment>;
71
75
  findFeatureBy(testCaseStarted: TestCaseStarted): Feature | undefined;
76
+ findHookBy(testStep: TestStep): Hook | undefined;
77
+ findMeta(): Meta | undefined;
72
78
  findMostSevereTestStepResultBy(testCaseStarted: TestCaseStarted): TestStepResult | undefined;
73
79
  findNameOf(pickle: Pickle, namingStrategy: NamingStrategy): string;
74
80
  findPickleBy(testCaseStarted: TestCaseStarted): Pickle | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"Query.d.ts","sourceRoot":"","sources":["../../src/Query.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Query.d.ts","sourceRoot":"","sources":["../../src/Query.ts"],"names":[],"mappings":"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"}
package/dist/src/Query.js CHANGED
@@ -22,14 +22,10 @@ var __importStar = (this && this.__importStar) || function (mod) {
22
22
  __setModuleDefault(result, mod);
23
23
  return result;
24
24
  };
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
25
  Object.defineProperty(exports, "__esModule", { value: true });
29
26
  const messages = __importStar(require("@cucumber/messages"));
30
27
  const messages_1 = require("@cucumber/messages");
31
28
  const multimaps_1 = require("@teppeis/multimaps");
32
- const assert_1 = __importDefault(require("assert"));
33
29
  const helpers_1 = require("./helpers");
34
30
  class Query {
35
31
  constructor() {
@@ -52,8 +48,12 @@ class Query {
52
48
  this.testStepById = new Map();
53
49
  this.testCaseFinishedByTestCaseStartedId = new Map();
54
50
  this.testStepFinishedByTestCaseStartedId = new multimaps_1.ArrayMultimap();
51
+ this.attachmentsByTestCaseStartedId = new multimaps_1.ArrayMultimap();
55
52
  }
56
53
  update(envelope) {
54
+ if (envelope.meta) {
55
+ this.meta = envelope.meta;
56
+ }
57
57
  if (envelope.gherkinDocument) {
58
58
  this.updateGherkinDocument(envelope.gherkinDocument);
59
59
  }
@@ -73,7 +73,7 @@ class Query {
73
73
  this.updateTestCaseStarted(envelope.testCaseStarted);
74
74
  }
75
75
  if (envelope.attachment) {
76
- this.attachmentsByTestStepId.put(envelope.attachment.testStepId, envelope.attachment);
76
+ this.updateAttachment(envelope.attachment);
77
77
  }
78
78
  if (envelope.testStepFinished) {
79
79
  this.updateTestStepFinished(envelope.testStepFinished);
@@ -164,6 +164,14 @@ class Query {
164
164
  this.attachmentsByTestStepId.delete(testStep.id);
165
165
  }
166
166
  }
167
+ updateAttachment(attachment) {
168
+ if (attachment.testStepId) {
169
+ this.attachmentsByTestStepId.put(attachment.testStepId, attachment);
170
+ }
171
+ if (attachment.testCaseStartedId) {
172
+ this.attachmentsByTestCaseStartedId.put(attachment.testCaseStartedId, attachment);
173
+ }
174
+ }
167
175
  updateTestStepFinished(testStepFinished) {
168
176
  this.testStepFinishedByTestCaseStartedId.put(testStepFinished.testCaseStartedId, testStepFinished);
169
177
  const pickleId = this.pickleIdByTestStepId.get(testStepFinished.testStepId);
@@ -325,10 +333,23 @@ class Query {
325
333
  const testSteps = [...this.testStepById.values()];
326
334
  return testSteps.sort(helpers_1.comparatorById);
327
335
  }
336
+ findAttachmentsBy(testStepFinished) {
337
+ return this.attachmentsByTestCaseStartedId.get(testStepFinished.testCaseStartedId)
338
+ .filter(attachment => attachment.testStepId === testStepFinished.testStepId);
339
+ }
328
340
  findFeatureBy(testCaseStarted) {
329
341
  var _a;
330
342
  return (_a = this.findLineageBy(testCaseStarted)) === null || _a === void 0 ? void 0 : _a.feature;
331
343
  }
344
+ findHookBy(testStep) {
345
+ if (!testStep.hookId) {
346
+ return undefined;
347
+ }
348
+ return this.hooksById.get(testStep.hookId);
349
+ }
350
+ findMeta() {
351
+ return this.meta;
352
+ }
332
353
  findMostSevereTestStepResultBy(testCaseStarted) {
333
354
  return this.findTestStepFinishedAndTestStepBy(testCaseStarted)
334
355
  .map(([testStepFinished]) => testStepFinished.testStepResult)
@@ -341,16 +362,18 @@ class Query {
341
362
  }
342
363
  findPickleBy(testCaseStarted) {
343
364
  const testCase = this.findTestCaseBy(testCaseStarted);
344
- assert_1.default.ok(testCase, 'Expected to find TestCase from TestCaseStarted');
365
+ helpers_1.assert.ok(testCase, 'Expected to find TestCase from TestCaseStarted');
345
366
  return this.pickleById.get(testCase.pickleId);
346
367
  }
347
368
  findPickleStepBy(testStep) {
348
- assert_1.default.ok(testStep.pickleStepId, 'Expected TestStep to have a pickleStepId');
369
+ if (!testStep.pickleStepId) {
370
+ return undefined;
371
+ }
349
372
  return this.pickleStepById.get(testStep.pickleStepId);
350
373
  }
351
374
  findStepBy(pickleStep) {
352
375
  const [astNodeId] = pickleStep.astNodeIds;
353
- assert_1.default.ok('Expected PickleStep to have an astNodeId');
376
+ helpers_1.assert.ok(astNodeId, 'Expected PickleStep to have an astNodeId');
354
377
  return this.stepById.get(astNodeId);
355
378
  }
356
379
  findTestCaseBy(testCaseStarted) {
@@ -392,14 +415,14 @@ class Query {
392
415
  .get(testCaseStarted.id)
393
416
  .map((testStepFinished) => {
394
417
  const testStep = this.findTestStepBy(testStepFinished);
395
- assert_1.default.ok(testStep, 'Expected to find TestStep by TestStepFinished');
418
+ helpers_1.assert.ok(testStep, 'Expected to find TestStep by TestStepFinished');
396
419
  return [testStepFinished, testStep];
397
420
  });
398
421
  }
399
422
  findLineageBy(element) {
400
423
  const pickle = "testCaseId" in element ? this.findPickleBy(element) : element;
401
424
  const deepestAstNodeId = pickle.astNodeIds.at(-1);
402
- assert_1.default.ok(deepestAstNodeId, 'Expected Pickle to have at least one astNodeId');
425
+ helpers_1.assert.ok(deepestAstNodeId, 'Expected Pickle to have at least one astNodeId');
403
426
  return this.lineageById.get(deepestAstNodeId);
404
427
  }
405
428
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Query.js","sourceRoot":"","sources":["../../src/Query.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6DAA8C;AAC9C,iDAoB2B;AAC3B,kDAAgD;AAEhD,oDAA4B;AAC5B,uCAA4E;AAE5E,MAAqB,KAAK;IAA1B;QACmB,6BAAwB,GAAG,IAAI,yBAAa,EAAmC,CAAA;QAC/E,kCAA6B,GAAG,IAAI,yBAAa,EAG/D,CAAA;QACc,uBAAkB,GAAG,IAAI,GAAG,EAA6B,CAAA;QACzD,yBAAoB,GAAG,IAAI,GAAG,EAAkB,CAAA;QAChD,6BAAwB,GAAG,IAAI,GAAG,EAAkB,CAAA;QACpD,gCAA2B,GAAG,IAAI,yBAAa,EAG7D,CAAA;QACc,8BAAyB,GAAG,IAAI,yBAAa,EAAkB,CAAA;QAC/D,cAAS,GAAG,IAAI,GAAG,EAAyB,CAAA;QAC5C,4BAAuB,GAAG,IAAI,yBAAa,EAA+B,CAAA;QAC1E,0CAAqC,GAAG,IAAI,GAAG,EAG7D,CAAA;QAIc,oBAAe,GAA2B,EAAE,CAAA;QAC5C,gBAAW,GAAyB,IAAI,GAAG,EAAE,CAAA;QAC7C,aAAQ,GAAsB,IAAI,GAAG,EAAE,CAAA;QACvC,eAAU,GAAwB,IAAI,GAAG,EAAE,CAAA;QAC3C,mBAAc,GAA4B,IAAI,GAAG,EAAE,CAAA;QACnD,iBAAY,GAA0B,IAAI,GAAG,EAAE,CAAA;QAC/C,iBAAY,GAA0B,IAAI,GAAG,EAAE,CAAA;QAC/C,wCAAmC,GAAkC,IAAI,GAAG,EAAE,CAAA;QAC9E,wCAAmC,GAChD,IAAI,yBAAa,EAAE,CAAA;IA6czB,CAAC;IA3cQ,MAAM,CAAC,QAA2B;QACvC,IAAI,QAAQ,CAAC,eAAe,EAAE,CAAC;YAC7B,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAA;QACtD,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YACpB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QACpC,CAAC;QACD,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;YAClB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;QACrD,CAAC;QACD,IAAI,QAAQ,CAAC,cAAc,EAAE,CAAC;YAC5B,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,cAAc,CAAA;QAC/C,CAAC;QACD,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACtB,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;QACxC,CAAC;QACD,IAAI,QAAQ,CAAC,eAAe,EAAE,CAAC;YAC7B,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAA;QACtD,CAAC;QACD,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;YACxB,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAA;QACvF,CAAC;QACD,IAAI,QAAQ,CAAC,gBAAgB,EAAE,CAAC;YAC9B,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAA;QACxD,CAAC;QACD,IAAI,QAAQ,CAAC,gBAAgB,EAAE,CAAC;YAC9B,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAA;QACxD,CAAC;QACD,IAAI,QAAQ,CAAC,eAAe,EAAE,CAAC;YAC7B,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC,eAAe,CAAA;QACjD,CAAC;IACH,CAAC;IAEO,qBAAqB,CAAC,eAAgC;QAC5D,IAAI,eAAe,CAAC,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,OAAO,EAAE;gBAC1C,eAAe;aAChB,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAEO,aAAa,CAAC,OAAgB,EAAE,OAAgB;QACtD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE;YACxC,IAAI,YAAY,CAAC,UAAU,EAAE,CAAC;gBAC5B,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;YACjD,CAAC;YACD,IAAI,YAAY,CAAC,QAAQ,EAAE,CAAC;gBAC1B,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,QAAQ,kCACpC,OAAO,KACV,OAAO,IACP,CAAA;YACJ,CAAC;YACD,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC;gBACtB,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,kCAC5B,OAAO,KACV,OAAO,IACP,CAAA;YACJ,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAEO,UAAU,CAAC,IAAU,EAAE,OAAgB;QAC7C,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;YAClC,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;gBACzB,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;YAC9C,CAAC;YACD,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;gBACvB,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,QAAQ,kCACjC,OAAO,KACV,IAAI,IACJ,CAAA;YACJ,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAEO,cAAc,CAAC,QAAkB,EAAE,OAAgB;QACzD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,kCAC3B,OAAO,KACV,QAAQ,IACR,CAAA;QACF,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE;YACpD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,kCAC3B,OAAO,KACV,QAAQ;gBACR,QAAQ;gBACR,aAAa,IACb,CAAA;YACF,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE;gBACnD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,kCAC1B,OAAO,KACV,QAAQ;oBACR,QAAQ;oBACR,aAAa;oBACb,OAAO;oBACP,YAAY,IACZ,CAAA;YACJ,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QACF,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IAClC,CAAC;IAEO,WAAW,CAAC,KAA0B;QAC5C,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAA;IAC3D,CAAC;IAEO,YAAY,CAAC,MAAc;QACjC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;QACtC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC,CAAA;IAC1F,CAAC;IAEO,cAAc,CAAC,QAAkB;QACvC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAA;QAE5C,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;QACxD,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YACtC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAA;YAC5C,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;YAC7D,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAA;YACrE,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAA;YACtE,IAAI,CAAC,qCAAqC,CAAC,GAAG,CAC1C,QAAQ,CAAC,YAAY,EACrB,QAAQ,CAAC,uBAAuB,CACnC,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAEO,qBAAqB,CAAC,eAAgC;QAC5D,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;QAE1C;;;;WAIG;QACH,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,CAAC,UAAU,CAAC,CAAA;QAClE,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;QACvD,KAAK,MAAM,QAAQ,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;YAC1C,IAAI,CAAC,6BAA6B,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;YAChE,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;YACpD,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QAClD,CAAC;IACH,CAAC;IAEO,sBAAsB,CAAC,gBAAkC;QAC/D,IAAI,CAAC,mCAAmC,CAAC,GAAG,CACxC,gBAAgB,CAAC,iBAAiB,EAClC,gBAAgB,CACnB,CAAA;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAA;QAC3E,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,QAAQ,EAAE,gBAAgB,CAAC,cAAc,CAAC,CAAA;QAC5E,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAA;QACnE,IAAI,CAAC,6BAA6B,CAAC,GAAG,CAClC,QAAQ,CAAC,YAAY,EACrB,gBAAgB,CAAC,cAAc,CAClC,CAAA;QACD,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,gBAAgB,CAAC,cAAc,CAAC,CAAA;IACpF,CAAC;IAEO,sBAAsB,CAAC,gBAAkC;QAC/D,IAAI,CAAC,mCAAmC,CAAC,GAAG,CACxC,gBAAgB,CAAC,iBAAiB,EAClC,gBAAgB,CACnB,CAAA;IACH,CAAC;IAED;;;OAGG;IACI,4BAA4B,CACjC,aAAgC;QAEhC,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO;gBACL;oBACE,MAAM,EAAE,QAAQ,CAAC,oBAAoB,CAAC,OAAO;oBAC7C,QAAQ,EAAE,QAAQ,CAAC,cAAc,CAAC,sBAAsB,CAAC,CAAC,CAAC;iBAC5D;aACF,CAAA;QACH,CAAC;QACD,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC,eAA0C,EAAE,QAAQ,EAAE,EAAE;YACnF,OAAO,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAA;QACjF,CAAC,EAAE,EAAE,CAAC,CAAA;IACR,CAAC;IAED;;;OAGG;IACI,wBAAwB,CAC7B,SAA4B;QAE5B,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO;gBACL;oBACE,MAAM,EAAE,QAAQ,CAAC,oBAAoB,CAAC,OAAO;oBAC7C,QAAQ,EAAE,QAAQ,CAAC,cAAc,CAAC,sBAAsB,CAAC,CAAC,CAAC;iBAC5D;aACF,CAAA;QACH,CAAC;QACD,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,eAA0C,EAAE,QAAQ,EAAE,EAAE;YAC/E,OAAO,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAA;QAC5E,CAAC,EAAE,EAAE,CAAC,CAAA;IACR,CAAC;IAED;;;OAGG;IACI,wBAAwB,CAC7B,aAAgC;QAEhC,OAAO,IAAI,CAAC,uBAAuB,CACjC,aAAa,CAAC,MAAM,CAAC,CAAC,WAAqB,EAAE,YAAoB,EAAE,EAAE;YACnE,OAAO,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAA;QAC7E,CAAC,EAAE,EAAE,CAAC,CACP,CAAA;IACH,CAAC;IAEM,uBAAuB,CAAC,WAA8B;QAC3D,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,WAAkC,EAAE,UAAU,EAAE,EAAE;YAC3E,OAAO,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAA;QACzE,CAAC,EAAE,EAAE,CAAC,CAAA;IACR,CAAC;IAED;;;OAGG;IACI,0BAA0B,CAC/B,YAAoB;QAEpB,OAAO,IAAI,CAAC,qCAAqC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;IACrE,CAAC;IAEM,OAAO,CAAC,MAAc;QAC3B,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IACnC,CAAC;IAEM,kBAAkB,CAAC,QAAgB;QACxC,MAAM,SAAS,GAAwB,EAAE,CAAA;QAEzC,IAAI,CAAC,iBAAiB,CACpB,QAAQ,EACR,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAC9B,GAAG,EAAE,CAAC,IAAI,CACX,CAAA;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IAEM,iBAAiB,CAAC,QAAgB;QACvC,MAAM,SAAS,GAAwB,EAAE,CAAA;QAEzC,IAAI,CAAC,iBAAiB,CACpB,QAAQ,EACR,GAAG,EAAE,CAAC,IAAI,EACV,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAC/B,CAAA;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IAEO,iBAAiB,CACvB,QAAgB,EAChB,iBAAoD,EACpD,gBAAmD;QAEnD,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAEtD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAM;QACR,CAAC;QAED,IAAI,eAAe,GAAG,KAAK,CAAA;QAE3B,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;YACtC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,eAAe,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAA;YACpE,CAAC;iBAAM,CAAC;gBACN,eAAe,GAAG,IAAI,CAAA;YACxB,CAAC;QACH,CAAC;IACH,CAAC;IAEM,kBAAkB,CAAC,UAAkB;QAC1C,OAAO,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IACzD,CAAC;IAEM,eAAe,CACpB,SAA4B;QAE5B,MAAM,MAAM,GAA2D,EAAE,CAAA;QACzE,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,MAAM,cAAc,GAAG,IAAA,iCAAsB,EAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;YACxF,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YAChD,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,GAAG,CAAC,CAAA;QAC3C,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAED,gDAAgD;IAEzC,mCAAmC;QACxC,MAAM,MAAM,GAAyC;YACnD,CAAC,+BAAoB,CAAC,SAAS,CAAC,EAAE,CAAC;YACnC,CAAC,+BAAoB,CAAC,MAAM,CAAC,EAAE,CAAC;YAChC,CAAC,+BAAoB,CAAC,MAAM,CAAC,EAAE,CAAC;YAChC,CAAC,+BAAoB,CAAC,OAAO,CAAC,EAAE,CAAC;YACjC,CAAC,+BAAoB,CAAC,OAAO,CAAC,EAAE,CAAC;YACjC,CAAC,+BAAoB,CAAC,SAAS,CAAC,EAAE,CAAC;YACnC,CAAC,+BAAoB,CAAC,OAAO,CAAC,EAAE,CAAC;SAClC,CAAA;QACD,KAAK,MAAM,eAAe,IAAI,IAAI,CAAC,sBAAsB,EAAE,EAAE,CAAC;YAC5D,MAAM,gBAAgB,GAAG,IAAI,CAAC,iCAAiC,CAAC,eAAe,CAAC;iBAC7E,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,cAAc,CAAC;iBAC5D,IAAI,CAAC,4BAAkB,CAAC;iBACxB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;YACT,IAAI,gBAAgB,EAAE,CAAC;gBACrB,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAA;YACnC,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAEM,qBAAqB;QAC1B,OAAO,IAAI,CAAC,sBAAsB,EAAE,CAAC,MAAM,CAAA;IAC7C,CAAC;IAEM,cAAc;QACnB,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAA;QAC7C,OAAO,OAAO,CAAC,IAAI,CAAC,wBAAc,CAAC,CAAA;IACrC,CAAC;IAEM,kBAAkB;QACvB,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAA;QACrD,OAAO,WAAW,CAAC,IAAI,CAAC,wBAAc,CAAC,CAAA;IACzC,CAAC;IAEM,sBAAsB;QAC3B,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,eAAe,EAAE,EAAE;YACrD,MAAM,gBAAgB,GAAG,IAAI,CAAC,mCAAmC,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC,CAAA;YACzF,uDAAuD;YACvD,OAAO,CAAC,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,aAAa,CAAA,CAAA;QACzC,CAAC,CAAC,CAAA;IACJ,CAAC;IAEM,sCAAsC;QAC3C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,sBAAsB,EAAE;aACxB,GAAG,CAAC,eAAe,CAAC,EAAE,CAAE,CAAC,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,EAAE,eAAe,CAAW,CAAC;aACzF,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,sBAAY,EAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;aAC7E,OAAO,CAAC,CAAC,CAAC,EAAC,OAAO,EAAC,EAAE,eAAe,CAAC,EAAE,EAAE;;YACxC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,MAAA,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,mCAAI,EAAE,EAAE,eAAe,CAAC,CAAC,CAAA;QACxE,CAAC,CAAC,CAAA;QACN,OAAO,OAAO,CAAA;IAChB,CAAC;IAEM,gBAAgB;QACrB,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAA;QACjD,OAAO,SAAS,CAAC,IAAI,CAAC,wBAAc,CAAC,CAAA;IACvC,CAAC;IAEM,aAAa,CAAC,eAAgC;;QACnD,OAAO,MAAA,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,0CAAE,OAAO,CAAA;IACrD,CAAC;IAEM,8BAA8B,CAAC,eAAgC;QACpE,OAAO,IAAI,CAAC,iCAAiC,CAAC,eAAe,CAAC;aAC3D,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,cAAc,CAAC;aAC5D,IAAI,CAAC,4BAAkB,CAAC;aACxB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IACX,CAAC;IAEM,UAAU,CAAC,MAAc,EAAE,cAA8B;QAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;QAC1C,OAAO,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAA;IACvE,CAAC;IAEM,YAAY,CAAC,eAAgC;QAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,CAAA;QACrD,gBAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,gDAAgD,CAAC,CAAA;QACrE,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAC/C,CAAC;IAEM,gBAAgB,CAAC,QAAkB;QACxC,gBAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,0CAA0C,CAAC,CAAA;QAC5E,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;IACvD,CAAC;IAEM,UAAU,CAAC,UAAsB;QACtC,MAAM,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,UAAU,CAAA;QACzC,gBAAM,CAAC,EAAE,CAAC,0CAA0C,CAAC,CAAA;QACrD,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;IACrC,CAAC;IAEM,cAAc,CAAC,eAAgC;QACpD,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,CAAC,UAAU,CAAC,CAAA;IAC1D,CAAC;IAEM,sBAAsB,CAAC,eAAgC;QAC5D,MAAM,gBAAgB,GAAG,IAAI,CAAC,sBAAsB,CAAC,eAAe,CAAC,CAAA;QACrE,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,OAAO,yBAAc,CAAC,sBAAsB,CACxC,yBAAc,CAAC,iCAAiC,CAAC,gBAAgB,CAAC,SAAS,CAAC;YAC5E,yBAAc,CAAC,iCAAiC,CAAC,eAAe,CAAC,SAAS,CAAC,CAC9E,CAAA;IACH,CAAC;IAEM,sBAAsB,CAAC,eAAgC;QAC5D,OAAO,IAAI,CAAC,mCAAmC,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC,CAAA;IACzE,CAAC;IAEM,mBAAmB;QACxB,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAClD,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,OAAO,yBAAc,CAAC,sBAAsB,CACxC,yBAAc,CAAC,iCAAiC,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC;YAChF,yBAAc,CAAC,iCAAiC,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAClF,CAAA;IACH,CAAC;IAEM,mBAAmB;QACxB,OAAO,IAAI,CAAC,eAAe,CAAA;IAC7B,CAAC;IAEM,kBAAkB;QACvB,OAAO,IAAI,CAAC,cAAc,CAAA;IAC5B,CAAC;IAEM,cAAc,CAAC,gBAAkC;QACtD,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAA;IAC3D,CAAC;IAEM,uBAAuB,CAAC,eAAgC;QAC7D,qEAAqE;QACrE,OAAO,CAAC,GAAG,IAAI,CAAC,mCAAmC,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAA;IAC9E,CAAC;IAEM,iCAAiC,CACpC,eAAgC;QAElC,OAAO,IAAI,CAAC,mCAAmC;aAC1C,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC;aACvB,GAAG,CAAC,CAAC,gBAAgB,EAAE,EAAE;YACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAA;YACtD,gBAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,+CAA+C,CAAC,CAAA;YACpE,OAAO,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAA;QACrC,CAAC,CAAC,CAAA;IACR,CAAC;IAEO,aAAa,CAAC,OAAiC;QACrD,MAAM,MAAM,GAAG,YAAY,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;QAC7E,MAAM,gBAAgB,GAAG,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;QACjD,gBAAM,CAAC,EAAE,CAAC,gBAAgB,EAAE,gDAAgD,CAAC,CAAA;QAC7E,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;IAC/C,CAAC;CACF;AA7eD,wBA6eC","sourcesContent":["import * as messages from '@cucumber/messages'\nimport {\n Duration,\n Feature,\n getWorstTestStepResult,\n GherkinDocument,\n Pickle,\n PickleStep,\n Rule,\n Scenario,\n Step,\n TestCase,\n TestCaseFinished,\n TestCaseStarted,\n TestRunFinished,\n TestRunStarted,\n TestStep,\n TestStepFinished,\n TestStepResult,\n TestStepResultStatus,\n TimeConversion\n} from '@cucumber/messages'\nimport {ArrayMultimap} from '@teppeis/multimaps'\nimport {Lineage, NamingStrategy} from \"./Lineage\";\nimport assert from 'assert';\nimport { comparatorBy, comparatorById, comparatorByStatus } from './helpers'\n\nexport default class Query {\n private readonly testStepResultByPickleId = new ArrayMultimap<string, messages.TestStepResult>()\n private readonly testStepResultsByPickleStepId = new ArrayMultimap<\n string,\n messages.TestStepResult\n >()\n private readonly testCaseByPickleId = new Map<string, messages.TestCase>()\n private readonly pickleIdByTestStepId = new Map<string, string>()\n private readonly pickleStepIdByTestStepId = new Map<string, string>()\n private readonly testStepResultsbyTestStepId = new ArrayMultimap<\n string,\n messages.TestStepResult\n >()\n private readonly testStepIdsByPickleStepId = new ArrayMultimap<string, string>()\n private readonly hooksById = new Map<string, messages.Hook>()\n private readonly attachmentsByTestStepId = new ArrayMultimap<string, messages.Attachment>()\n private readonly stepMatchArgumentsListsByPickleStepId = new Map<\n string,\n readonly messages.StepMatchArgumentsList[]\n >()\n\n private testRunStarted: TestRunStarted\n private testRunFinished: TestRunFinished\n private readonly testCaseStarted: Array<TestCaseStarted> = []\n private readonly lineageById: Map<string, Lineage> = new Map()\n private readonly stepById: Map<string, Step> = new Map()\n private readonly pickleById: Map<string, Pickle> = new Map()\n private readonly pickleStepById: Map<string, PickleStep> = new Map()\n private readonly testCaseById: Map<string, TestCase> = new Map()\n private readonly testStepById: Map<string, TestStep> = new Map()\n private readonly testCaseFinishedByTestCaseStartedId: Map<string, TestCaseFinished> = new Map()\n private readonly testStepFinishedByTestCaseStartedId: ArrayMultimap<string, TestStepFinished> =\n new ArrayMultimap()\n\n public update(envelope: messages.Envelope) {\n if (envelope.gherkinDocument) {\n this.updateGherkinDocument(envelope.gherkinDocument)\n }\n if (envelope.pickle) {\n this.updatePickle(envelope.pickle)\n }\n if (envelope.hook) {\n this.hooksById.set(envelope.hook.id, envelope.hook)\n }\n if (envelope.testRunStarted) {\n this.testRunStarted = envelope.testRunStarted\n }\n if (envelope.testCase) {\n this.updateTestCase(envelope.testCase)\n }\n if (envelope.testCaseStarted) {\n this.updateTestCaseStarted(envelope.testCaseStarted)\n }\n if (envelope.attachment) {\n this.attachmentsByTestStepId.put(envelope.attachment.testStepId, envelope.attachment)\n }\n if (envelope.testStepFinished) {\n this.updateTestStepFinished(envelope.testStepFinished)\n }\n if (envelope.testCaseFinished) {\n this.updateTestCaseFinished(envelope.testCaseFinished)\n }\n if (envelope.testRunFinished) {\n this.testRunFinished = envelope.testRunFinished\n }\n }\n\n private updateGherkinDocument(gherkinDocument: GherkinDocument) {\n if (gherkinDocument.feature) {\n this.updateFeature(gherkinDocument.feature, {\n gherkinDocument,\n })\n }\n }\n\n private updateFeature(feature: Feature, lineage: Lineage) {\n feature.children.forEach((featureChild) => {\n if (featureChild.background) {\n this.updateSteps(featureChild.background.steps)\n }\n if (featureChild.scenario) {\n this.updateScenario(featureChild.scenario, {\n ...lineage,\n feature,\n })\n }\n if (featureChild.rule) {\n this.updateRule(featureChild.rule, {\n ...lineage,\n feature,\n })\n }\n })\n }\n\n private updateRule(rule: Rule, lineage: Lineage) {\n rule.children.forEach((ruleChild) => {\n if (ruleChild.background) {\n this.updateSteps(ruleChild.background.steps)\n }\n if (ruleChild.scenario) {\n this.updateScenario(ruleChild.scenario, {\n ...lineage,\n rule,\n })\n }\n })\n }\n\n private updateScenario(scenario: Scenario, lineage: Lineage) {\n this.lineageById.set(scenario.id, {\n ...lineage,\n scenario,\n })\n scenario.examples.forEach((examples, examplesIndex) => {\n this.lineageById.set(examples.id, {\n ...lineage,\n scenario,\n examples,\n examplesIndex,\n })\n examples.tableBody.forEach((example, exampleIndex) => {\n this.lineageById.set(example.id, {\n ...lineage,\n scenario,\n examples,\n examplesIndex,\n example,\n exampleIndex,\n })\n })\n })\n this.updateSteps(scenario.steps)\n }\n\n private updateSteps(steps: ReadonlyArray<Step>) {\n steps.forEach((step) => this.stepById.set(step.id, step))\n }\n\n private updatePickle(pickle: Pickle) {\n this.pickleById.set(pickle.id, pickle)\n pickle.steps.forEach((pickleStep) => this.pickleStepById.set(pickleStep.id, pickleStep))\n }\n\n private updateTestCase(testCase: TestCase) {\n this.testCaseById.set(testCase.id, testCase)\n\n this.testCaseByPickleId.set(testCase.pickleId, testCase)\n testCase.testSteps.forEach((testStep) => {\n this.testStepById.set(testStep.id, testStep)\n this.pickleIdByTestStepId.set(testStep.id, testCase.pickleId)\n this.pickleStepIdByTestStepId.set(testStep.id, testStep.pickleStepId)\n this.testStepIdsByPickleStepId.put(testStep.pickleStepId, testStep.id)\n this.stepMatchArgumentsListsByPickleStepId.set(\n testStep.pickleStepId,\n testStep.stepMatchArgumentsLists\n )\n })\n }\n\n private updateTestCaseStarted(testCaseStarted: TestCaseStarted) {\n this.testCaseStarted.push(testCaseStarted)\n\n /*\n when a test case attempt starts besides the first one, clear all existing results\n and attachments for that test case, so we always report on the latest attempt\n (applies to legacy pickle-oriented query methods only)\n */\n const testCase = this.testCaseById.get(testCaseStarted.testCaseId)\n this.testStepResultByPickleId.delete(testCase.pickleId)\n for (const testStep of testCase.testSteps) {\n this.testStepResultsByPickleStepId.delete(testStep.pickleStepId)\n this.testStepResultsbyTestStepId.delete(testStep.id)\n this.attachmentsByTestStepId.delete(testStep.id)\n }\n }\n\n private updateTestStepFinished(testStepFinished: TestStepFinished) {\n this.testStepFinishedByTestCaseStartedId.put(\n testStepFinished.testCaseStartedId,\n testStepFinished\n )\n\n const pickleId = this.pickleIdByTestStepId.get(testStepFinished.testStepId)\n this.testStepResultByPickleId.put(pickleId, testStepFinished.testStepResult)\n const testStep = this.testStepById.get(testStepFinished.testStepId)\n this.testStepResultsByPickleStepId.put(\n testStep.pickleStepId,\n testStepFinished.testStepResult\n )\n this.testStepResultsbyTestStepId.put(testStep.id, testStepFinished.testStepResult)\n }\n\n private updateTestCaseFinished(testCaseFinished: TestCaseFinished) {\n this.testCaseFinishedByTestCaseStartedId.set(\n testCaseFinished.testCaseStartedId,\n testCaseFinished\n )\n }\n\n /**\n * Gets all the results for multiple pickle steps\n * @param pickleStepIds\n */\n public getPickleStepTestStepResults(\n pickleStepIds: readonly string[]\n ): readonly messages.TestStepResult[] {\n if (pickleStepIds.length === 0) {\n return [\n {\n status: messages.TestStepResultStatus.UNKNOWN,\n duration: messages.TimeConversion.millisecondsToDuration(0),\n },\n ]\n }\n return pickleStepIds.reduce((testStepResults: messages.TestStepResult[], pickleId) => {\n return testStepResults.concat(this.testStepResultsByPickleStepId.get(pickleId))\n }, [])\n }\n\n /**\n * Gets all the results for multiple pickles\n * @param pickleIds\n */\n public getPickleTestStepResults(\n pickleIds: readonly string[]\n ): readonly messages.TestStepResult[] {\n if (pickleIds.length === 0) {\n return [\n {\n status: messages.TestStepResultStatus.UNKNOWN,\n duration: messages.TimeConversion.millisecondsToDuration(0),\n },\n ]\n }\n return pickleIds.reduce((testStepResults: messages.TestStepResult[], pickleId) => {\n return testStepResults.concat(this.testStepResultByPickleId.get(pickleId))\n }, [])\n }\n\n /**\n * Gets all the attachments for multiple pickle steps\n * @param pickleStepIds\n */\n public getPickleStepAttachments(\n pickleStepIds: readonly string[]\n ): readonly messages.Attachment[] {\n return this.getTestStepsAttachments(\n pickleStepIds.reduce((testStepIds: string[], pickleStepId: string) => {\n return testStepIds.concat(this.testStepIdsByPickleStepId.get(pickleStepId))\n }, [])\n )\n }\n\n public getTestStepsAttachments(testStepIds: readonly string[]): readonly messages.Attachment[] {\n return testStepIds.reduce((attachments: messages.Attachment[], testStepId) => {\n return attachments.concat(this.attachmentsByTestStepId.get(testStepId))\n }, [])\n }\n\n /**\n * Get StepMatchArguments for a pickle step\n * @param pickleStepId\n */\n public getStepMatchArgumentsLists(\n pickleStepId: string\n ): readonly messages.StepMatchArgumentsList[] | undefined {\n return this.stepMatchArgumentsListsByPickleStepId.get(pickleStepId)\n }\n\n public getHook(hookId: string): messages.Hook {\n return this.hooksById.get(hookId)\n }\n\n public getBeforeHookSteps(pickleId: string): readonly messages.TestStep[] {\n const hookSteps: messages.TestStep[] = []\n\n this.identifyHookSteps(\n pickleId,\n (hook) => hookSteps.push(hook),\n () => null\n )\n return hookSteps\n }\n\n public getAfterHookSteps(pickleId: string): readonly messages.TestStep[] {\n const hookSteps: messages.TestStep[] = []\n\n this.identifyHookSteps(\n pickleId,\n () => null,\n (hook) => hookSteps.push(hook)\n )\n return hookSteps\n }\n\n private identifyHookSteps(\n pickleId: string,\n onBeforeHookFound: (hook: messages.TestStep) => void,\n onAfterHookFound: (hook: messages.TestStep) => void\n ): void {\n const testCase = this.testCaseByPickleId.get(pickleId)\n\n if (!testCase) {\n return\n }\n\n let pickleStepFound = false\n\n for (const step of testCase.testSteps) {\n if (step.hookId) {\n pickleStepFound ? onAfterHookFound(step) : onBeforeHookFound(step)\n } else {\n pickleStepFound = true\n }\n }\n }\n\n public getTestStepResults(testStepId: string): messages.TestStepResult[] {\n return this.testStepResultsbyTestStepId.get(testStepId)\n }\n\n public getStatusCounts(\n pickleIds: readonly string[]\n ): Partial<Record<messages.TestStepResultStatus, number>> {\n const result: Partial<Record<messages.TestStepResultStatus, number>> = {}\n for (const pickleId of pickleIds) {\n const testStepResult = getWorstTestStepResult(this.getPickleTestStepResults([pickleId]))\n const count = result[testStepResult.status] || 0\n result[testStepResult.status] = count + 1\n }\n return result\n }\n\n /* new common interface with Java starts here */\n\n public countMostSevereTestStepResultStatus(): Record<TestStepResultStatus, number> {\n const result: Record<TestStepResultStatus, number> = {\n [TestStepResultStatus.AMBIGUOUS]: 0,\n [TestStepResultStatus.FAILED]: 0,\n [TestStepResultStatus.PASSED]: 0,\n [TestStepResultStatus.PENDING]: 0,\n [TestStepResultStatus.SKIPPED]: 0,\n [TestStepResultStatus.UNDEFINED]: 0,\n [TestStepResultStatus.UNKNOWN]: 0,\n }\n for (const testCaseStarted of this.findAllTestCaseStarted()) {\n const mostSevereResult = this.findTestStepFinishedAndTestStepBy(testCaseStarted)\n .map(([testStepFinished]) => testStepFinished.testStepResult)\n .sort(comparatorByStatus)\n .at(-1)\n if (mostSevereResult) {\n result[mostSevereResult.status]++\n }\n }\n return result\n }\n\n public countTestCasesStarted(): number {\n return this.findAllTestCaseStarted().length\n }\n\n public findAllPickles(): ReadonlyArray<Pickle> {\n const pickles = [...this.pickleById.values()]\n return pickles.sort(comparatorById)\n }\n\n public findAllPickleSteps(): ReadonlyArray<PickleStep> {\n const pickleSteps = [...this.pickleStepById.values()]\n return pickleSteps.sort(comparatorById)\n }\n\n public findAllTestCaseStarted(): ReadonlyArray<TestCaseStarted> {\n return this.testCaseStarted.filter((testCaseStarted) => {\n const testCaseFinished = this.testCaseFinishedByTestCaseStartedId.get(testCaseStarted.id)\n // only include if not yet finished OR won't be retried\n return !testCaseFinished?.willBeRetried\n })\n }\n\n public findAllTestCaseStartedGroupedByFeature(): Map<Feature | undefined, ReadonlyArray<TestCaseStarted>> {\n const results = new Map();\n this.findAllTestCaseStarted()\n .map(testCaseStarted => ([this.findLineageBy(testCaseStarted), testCaseStarted] as const))\n .sort(([a], [b]) => comparatorBy(a.gherkinDocument, b.gherkinDocument, \"uri\"))\n .forEach(([{feature}, testCaseStarted]) => {\n results.set(feature, [...results.get(feature) ?? [], testCaseStarted])\n })\n return results\n }\n\n public findAllTestSteps(): ReadonlyArray<TestStep> {\n const testSteps = [...this.testStepById.values()]\n return testSteps.sort(comparatorById)\n }\n\n public findFeatureBy(testCaseStarted: TestCaseStarted): Feature | undefined {\n return this.findLineageBy(testCaseStarted)?.feature\n }\n\n public findMostSevereTestStepResultBy(testCaseStarted: TestCaseStarted): TestStepResult | undefined {\n return this.findTestStepFinishedAndTestStepBy(testCaseStarted)\n .map(([testStepFinished]) => testStepFinished.testStepResult)\n .sort(comparatorByStatus)\n .at(-1)\n }\n\n public findNameOf(pickle: Pickle, namingStrategy: NamingStrategy): string {\n const lineage = this.findLineageBy(pickle)\n return lineage ? namingStrategy.reduce(lineage, pickle) : pickle.name\n }\n\n public findPickleBy(testCaseStarted: TestCaseStarted): Pickle | undefined {\n const testCase = this.findTestCaseBy(testCaseStarted)\n assert.ok(testCase, 'Expected to find TestCase from TestCaseStarted')\n return this.pickleById.get(testCase.pickleId)\n }\n\n public findPickleStepBy(testStep: TestStep): PickleStep | undefined {\n assert.ok(testStep.pickleStepId, 'Expected TestStep to have a pickleStepId')\n return this.pickleStepById.get(testStep.pickleStepId)\n }\n\n public findStepBy(pickleStep: PickleStep): Step | undefined {\n const [astNodeId] = pickleStep.astNodeIds\n assert.ok('Expected PickleStep to have an astNodeId')\n return this.stepById.get(astNodeId)\n }\n\n public findTestCaseBy(testCaseStarted: TestCaseStarted): TestCase | undefined {\n return this.testCaseById.get(testCaseStarted.testCaseId)\n }\n\n public findTestCaseDurationBy(testCaseStarted: TestCaseStarted): Duration | undefined {\n const testCaseFinished = this.findTestCaseFinishedBy(testCaseStarted)\n if (!testCaseFinished) {\n return undefined\n }\n return TimeConversion.millisecondsToDuration(\n TimeConversion.timestampToMillisecondsSinceEpoch(testCaseFinished.timestamp) -\n TimeConversion.timestampToMillisecondsSinceEpoch(testCaseStarted.timestamp)\n )\n }\n\n public findTestCaseFinishedBy(testCaseStarted: TestCaseStarted): TestCaseFinished | undefined {\n return this.testCaseFinishedByTestCaseStartedId.get(testCaseStarted.id)\n }\n\n public findTestRunDuration(): Duration | undefined {\n if (!this.testRunStarted || !this.testRunFinished) {\n return undefined\n }\n return TimeConversion.millisecondsToDuration(\n TimeConversion.timestampToMillisecondsSinceEpoch(this.testRunFinished.timestamp) -\n TimeConversion.timestampToMillisecondsSinceEpoch(this.testRunStarted.timestamp)\n )\n }\n\n public findTestRunFinished(): TestRunFinished | undefined {\n return this.testRunFinished\n }\n\n public findTestRunStarted(): TestRunStarted | undefined {\n return this.testRunStarted\n }\n\n public findTestStepBy(testStepFinished: TestStepFinished): TestStep | undefined {\n return this.testStepById.get(testStepFinished.testStepId)\n }\n\n public findTestStepsFinishedBy(testCaseStarted: TestCaseStarted): ReadonlyArray<TestStepFinished> {\n // multimaps `get` implements `getOrDefault([])` behaviour internally\n return [...this.testStepFinishedByTestCaseStartedId.get(testCaseStarted.id)]\n }\n\n public findTestStepFinishedAndTestStepBy(\n testCaseStarted: TestCaseStarted\n ): ReadonlyArray<[TestStepFinished, TestStep]> {\n return this.testStepFinishedByTestCaseStartedId\n .get(testCaseStarted.id)\n .map((testStepFinished) => {\n const testStep = this.findTestStepBy(testStepFinished)\n assert.ok(testStep, 'Expected to find TestStep by TestStepFinished')\n return [testStepFinished, testStep]\n })\n }\n\n private findLineageBy(element: Pickle | TestCaseStarted) {\n const pickle = \"testCaseId\" in element ? this.findPickleBy(element) : element\n const deepestAstNodeId = pickle.astNodeIds.at(-1)\n assert.ok(deepestAstNodeId, 'Expected Pickle to have at least one astNodeId')\n return this.lineageById.get(deepestAstNodeId)\n }\n}\n"]}
1
+ {"version":3,"file":"Query.js","sourceRoot":"","sources":["../../src/Query.ts"],"names":[],"mappings":"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","sourcesContent":["import * as messages from '@cucumber/messages'\nimport {\n Attachment,\n Duration,\n Feature,\n getWorstTestStepResult,\n GherkinDocument,\n Hook,\n Meta,\n Pickle,\n PickleStep,\n Rule,\n Scenario,\n Step,\n TestCase,\n TestCaseFinished,\n TestCaseStarted,\n TestRunFinished,\n TestRunStarted,\n TestStep,\n TestStepFinished,\n TestStepResult,\n TestStepResultStatus,\n TimeConversion,\n} from '@cucumber/messages'\nimport {ArrayMultimap} from '@teppeis/multimaps'\nimport {Lineage, NamingStrategy} from \"./Lineage\";\nimport { comparatorBy, comparatorById, comparatorByStatus, assert } from './helpers'\n\nexport default class Query {\n private readonly testStepResultByPickleId = new ArrayMultimap<string, messages.TestStepResult>()\n private readonly testStepResultsByPickleStepId = new ArrayMultimap<\n string,\n messages.TestStepResult\n >()\n private readonly testCaseByPickleId = new Map<string, messages.TestCase>()\n private readonly pickleIdByTestStepId = new Map<string, string>()\n private readonly pickleStepIdByTestStepId = new Map<string, string>()\n private readonly testStepResultsbyTestStepId = new ArrayMultimap<\n string,\n messages.TestStepResult\n >()\n private readonly testStepIdsByPickleStepId = new ArrayMultimap<string, string>()\n private readonly hooksById = new Map<string, messages.Hook>()\n private readonly attachmentsByTestStepId = new ArrayMultimap<string, messages.Attachment>()\n private readonly stepMatchArgumentsListsByPickleStepId = new Map<\n string,\n readonly messages.StepMatchArgumentsList[]\n >()\n\n private meta: Meta\n private testRunStarted: TestRunStarted\n private testRunFinished: TestRunFinished\n private readonly testCaseStarted: Array<TestCaseStarted> = []\n private readonly lineageById: Map<string, Lineage> = new Map()\n private readonly stepById: Map<string, Step> = new Map()\n private readonly pickleById: Map<string, Pickle> = new Map()\n private readonly pickleStepById: Map<string, PickleStep> = new Map()\n private readonly testCaseById: Map<string, TestCase> = new Map()\n private readonly testStepById: Map<string, TestStep> = new Map()\n private readonly testCaseFinishedByTestCaseStartedId: Map<string, TestCaseFinished> = new Map()\n private readonly testStepFinishedByTestCaseStartedId: ArrayMultimap<string, TestStepFinished> =\n new ArrayMultimap()\n private readonly attachmentsByTestCaseStartedId: ArrayMultimap<string, Attachment> =\n new ArrayMultimap()\n\n public update(envelope: messages.Envelope) {\n if (envelope.meta) {\n this.meta = envelope.meta\n }\n if (envelope.gherkinDocument) {\n this.updateGherkinDocument(envelope.gherkinDocument)\n }\n if (envelope.pickle) {\n this.updatePickle(envelope.pickle)\n }\n if (envelope.hook) {\n this.hooksById.set(envelope.hook.id, envelope.hook)\n }\n if (envelope.testRunStarted) {\n this.testRunStarted = envelope.testRunStarted\n }\n if (envelope.testCase) {\n this.updateTestCase(envelope.testCase)\n }\n if (envelope.testCaseStarted) {\n this.updateTestCaseStarted(envelope.testCaseStarted)\n }\n if (envelope.attachment) {\n this.updateAttachment(envelope.attachment)\n }\n if (envelope.testStepFinished) {\n this.updateTestStepFinished(envelope.testStepFinished)\n }\n if (envelope.testCaseFinished) {\n this.updateTestCaseFinished(envelope.testCaseFinished)\n }\n if (envelope.testRunFinished) {\n this.testRunFinished = envelope.testRunFinished\n }\n }\n\n private updateGherkinDocument(gherkinDocument: GherkinDocument) {\n if (gherkinDocument.feature) {\n this.updateFeature(gherkinDocument.feature, {\n gherkinDocument,\n })\n }\n }\n\n private updateFeature(feature: Feature, lineage: Lineage) {\n feature.children.forEach((featureChild) => {\n if (featureChild.background) {\n this.updateSteps(featureChild.background.steps)\n }\n if (featureChild.scenario) {\n this.updateScenario(featureChild.scenario, {\n ...lineage,\n feature,\n })\n }\n if (featureChild.rule) {\n this.updateRule(featureChild.rule, {\n ...lineage,\n feature,\n })\n }\n })\n }\n\n private updateRule(rule: Rule, lineage: Lineage) {\n rule.children.forEach((ruleChild) => {\n if (ruleChild.background) {\n this.updateSteps(ruleChild.background.steps)\n }\n if (ruleChild.scenario) {\n this.updateScenario(ruleChild.scenario, {\n ...lineage,\n rule,\n })\n }\n })\n }\n\n private updateScenario(scenario: Scenario, lineage: Lineage) {\n this.lineageById.set(scenario.id, {\n ...lineage,\n scenario,\n })\n scenario.examples.forEach((examples, examplesIndex) => {\n this.lineageById.set(examples.id, {\n ...lineage,\n scenario,\n examples,\n examplesIndex,\n })\n examples.tableBody.forEach((example, exampleIndex) => {\n this.lineageById.set(example.id, {\n ...lineage,\n scenario,\n examples,\n examplesIndex,\n example,\n exampleIndex,\n })\n })\n })\n this.updateSteps(scenario.steps)\n }\n\n private updateSteps(steps: ReadonlyArray<Step>) {\n steps.forEach((step) => this.stepById.set(step.id, step))\n }\n\n private updatePickle(pickle: Pickle) {\n this.pickleById.set(pickle.id, pickle)\n pickle.steps.forEach((pickleStep) => this.pickleStepById.set(pickleStep.id, pickleStep))\n }\n\n private updateTestCase(testCase: TestCase) {\n this.testCaseById.set(testCase.id, testCase)\n\n this.testCaseByPickleId.set(testCase.pickleId, testCase)\n testCase.testSteps.forEach((testStep) => {\n this.testStepById.set(testStep.id, testStep)\n this.pickleIdByTestStepId.set(testStep.id, testCase.pickleId)\n this.pickleStepIdByTestStepId.set(testStep.id, testStep.pickleStepId)\n this.testStepIdsByPickleStepId.put(testStep.pickleStepId, testStep.id)\n this.stepMatchArgumentsListsByPickleStepId.set(\n testStep.pickleStepId,\n testStep.stepMatchArgumentsLists\n )\n })\n }\n\n private updateTestCaseStarted(testCaseStarted: TestCaseStarted) {\n this.testCaseStarted.push(testCaseStarted)\n\n /*\n when a test case attempt starts besides the first one, clear all existing results\n and attachments for that test case, so we always report on the latest attempt\n (applies to legacy pickle-oriented query methods only)\n */\n const testCase = this.testCaseById.get(testCaseStarted.testCaseId)\n this.testStepResultByPickleId.delete(testCase.pickleId)\n for (const testStep of testCase.testSteps) {\n this.testStepResultsByPickleStepId.delete(testStep.pickleStepId)\n this.testStepResultsbyTestStepId.delete(testStep.id)\n this.attachmentsByTestStepId.delete(testStep.id)\n }\n }\n\n private updateAttachment(attachment: Attachment) {\n if (attachment.testStepId) {\n this.attachmentsByTestStepId.put(attachment.testStepId, attachment)\n }\n if (attachment.testCaseStartedId) {\n this.attachmentsByTestCaseStartedId.put(attachment.testCaseStartedId, attachment)\n }\n }\n\n private updateTestStepFinished(testStepFinished: TestStepFinished) {\n this.testStepFinishedByTestCaseStartedId.put(\n testStepFinished.testCaseStartedId,\n testStepFinished\n )\n\n const pickleId = this.pickleIdByTestStepId.get(testStepFinished.testStepId)\n this.testStepResultByPickleId.put(pickleId, testStepFinished.testStepResult)\n const testStep = this.testStepById.get(testStepFinished.testStepId)\n this.testStepResultsByPickleStepId.put(\n testStep.pickleStepId,\n testStepFinished.testStepResult\n )\n this.testStepResultsbyTestStepId.put(testStep.id, testStepFinished.testStepResult)\n }\n\n private updateTestCaseFinished(testCaseFinished: TestCaseFinished) {\n this.testCaseFinishedByTestCaseStartedId.set(\n testCaseFinished.testCaseStartedId,\n testCaseFinished\n )\n }\n\n /**\n * Gets all the results for multiple pickle steps\n * @param pickleStepIds\n */\n public getPickleStepTestStepResults(\n pickleStepIds: readonly string[]\n ): readonly messages.TestStepResult[] {\n if (pickleStepIds.length === 0) {\n return [\n {\n status: messages.TestStepResultStatus.UNKNOWN,\n duration: messages.TimeConversion.millisecondsToDuration(0),\n },\n ]\n }\n return pickleStepIds.reduce((testStepResults: messages.TestStepResult[], pickleId) => {\n return testStepResults.concat(this.testStepResultsByPickleStepId.get(pickleId))\n }, [])\n }\n\n /**\n * Gets all the results for multiple pickles\n * @param pickleIds\n */\n public getPickleTestStepResults(\n pickleIds: readonly string[]\n ): readonly messages.TestStepResult[] {\n if (pickleIds.length === 0) {\n return [\n {\n status: messages.TestStepResultStatus.UNKNOWN,\n duration: messages.TimeConversion.millisecondsToDuration(0),\n },\n ]\n }\n return pickleIds.reduce((testStepResults: messages.TestStepResult[], pickleId) => {\n return testStepResults.concat(this.testStepResultByPickleId.get(pickleId))\n }, [])\n }\n\n /**\n * Gets all the attachments for multiple pickle steps\n * @param pickleStepIds\n */\n public getPickleStepAttachments(\n pickleStepIds: readonly string[]\n ): readonly messages.Attachment[] {\n return this.getTestStepsAttachments(\n pickleStepIds.reduce((testStepIds: string[], pickleStepId: string) => {\n return testStepIds.concat(this.testStepIdsByPickleStepId.get(pickleStepId))\n }, [])\n )\n }\n\n public getTestStepsAttachments(testStepIds: readonly string[]): readonly messages.Attachment[] {\n return testStepIds.reduce((attachments: messages.Attachment[], testStepId) => {\n return attachments.concat(this.attachmentsByTestStepId.get(testStepId))\n }, [])\n }\n\n /**\n * Get StepMatchArguments for a pickle step\n * @param pickleStepId\n */\n public getStepMatchArgumentsLists(\n pickleStepId: string\n ): readonly messages.StepMatchArgumentsList[] | undefined {\n return this.stepMatchArgumentsListsByPickleStepId.get(pickleStepId)\n }\n\n public getHook(hookId: string): messages.Hook {\n return this.hooksById.get(hookId)\n }\n\n public getBeforeHookSteps(pickleId: string): readonly messages.TestStep[] {\n const hookSteps: messages.TestStep[] = []\n\n this.identifyHookSteps(\n pickleId,\n (hook) => hookSteps.push(hook),\n () => null\n )\n return hookSteps\n }\n\n public getAfterHookSteps(pickleId: string): readonly messages.TestStep[] {\n const hookSteps: messages.TestStep[] = []\n\n this.identifyHookSteps(\n pickleId,\n () => null,\n (hook) => hookSteps.push(hook)\n )\n return hookSteps\n }\n\n private identifyHookSteps(\n pickleId: string,\n onBeforeHookFound: (hook: messages.TestStep) => void,\n onAfterHookFound: (hook: messages.TestStep) => void\n ): void {\n const testCase = this.testCaseByPickleId.get(pickleId)\n\n if (!testCase) {\n return\n }\n\n let pickleStepFound = false\n\n for (const step of testCase.testSteps) {\n if (step.hookId) {\n pickleStepFound ? onAfterHookFound(step) : onBeforeHookFound(step)\n } else {\n pickleStepFound = true\n }\n }\n }\n\n public getTestStepResults(testStepId: string): messages.TestStepResult[] {\n return this.testStepResultsbyTestStepId.get(testStepId)\n }\n\n public getStatusCounts(\n pickleIds: readonly string[]\n ): Partial<Record<messages.TestStepResultStatus, number>> {\n const result: Partial<Record<messages.TestStepResultStatus, number>> = {}\n for (const pickleId of pickleIds) {\n const testStepResult = getWorstTestStepResult(this.getPickleTestStepResults([pickleId]))\n const count = result[testStepResult.status] || 0\n result[testStepResult.status] = count + 1\n }\n return result\n }\n\n /* new common interface with Java starts here */\n\n public countMostSevereTestStepResultStatus(): Record<TestStepResultStatus, number> {\n const result: Record<TestStepResultStatus, number> = {\n [TestStepResultStatus.AMBIGUOUS]: 0,\n [TestStepResultStatus.FAILED]: 0,\n [TestStepResultStatus.PASSED]: 0,\n [TestStepResultStatus.PENDING]: 0,\n [TestStepResultStatus.SKIPPED]: 0,\n [TestStepResultStatus.UNDEFINED]: 0,\n [TestStepResultStatus.UNKNOWN]: 0,\n }\n for (const testCaseStarted of this.findAllTestCaseStarted()) {\n const mostSevereResult = this.findTestStepFinishedAndTestStepBy(testCaseStarted)\n .map(([testStepFinished]) => testStepFinished.testStepResult)\n .sort(comparatorByStatus)\n .at(-1)\n if (mostSevereResult) {\n result[mostSevereResult.status]++\n }\n }\n return result\n }\n\n public countTestCasesStarted(): number {\n return this.findAllTestCaseStarted().length\n }\n\n public findAllPickles(): ReadonlyArray<Pickle> {\n const pickles = [...this.pickleById.values()]\n return pickles.sort(comparatorById)\n }\n\n public findAllPickleSteps(): ReadonlyArray<PickleStep> {\n const pickleSteps = [...this.pickleStepById.values()]\n return pickleSteps.sort(comparatorById)\n }\n\n public findAllTestCaseStarted(): ReadonlyArray<TestCaseStarted> {\n return this.testCaseStarted.filter((testCaseStarted) => {\n const testCaseFinished = this.testCaseFinishedByTestCaseStartedId.get(testCaseStarted.id)\n // only include if not yet finished OR won't be retried\n return !testCaseFinished?.willBeRetried\n })\n }\n\n public findAllTestCaseStartedGroupedByFeature(): Map<Feature | undefined, ReadonlyArray<TestCaseStarted>> {\n const results = new Map();\n this.findAllTestCaseStarted()\n .map(testCaseStarted => ([this.findLineageBy(testCaseStarted), testCaseStarted] as const))\n .sort(([a], [b]) => comparatorBy(a.gherkinDocument, b.gherkinDocument, \"uri\"))\n .forEach(([{feature}, testCaseStarted]) => {\n results.set(feature, [...results.get(feature) ?? [], testCaseStarted])\n })\n return results\n }\n\n public findAllTestSteps(): ReadonlyArray<TestStep> {\n const testSteps = [...this.testStepById.values()]\n return testSteps.sort(comparatorById)\n }\n\n public findAttachmentsBy(testStepFinished: TestStepFinished): ReadonlyArray<Attachment> {\n return this.attachmentsByTestCaseStartedId.get(testStepFinished.testCaseStartedId)\n .filter(attachment => attachment.testStepId === testStepFinished.testStepId)\n }\n\n public findFeatureBy(testCaseStarted: TestCaseStarted): Feature | undefined {\n return this.findLineageBy(testCaseStarted)?.feature\n }\n\n public findHookBy(testStep: TestStep): Hook | undefined {\n if (!testStep.hookId){\n return undefined\n }\n return this.hooksById.get(testStep.hookId)\n }\n\n public findMeta(): Meta | undefined {\n return this.meta;\n }\n\n public findMostSevereTestStepResultBy(testCaseStarted: TestCaseStarted): TestStepResult | undefined {\n return this.findTestStepFinishedAndTestStepBy(testCaseStarted)\n .map(([testStepFinished]) => testStepFinished.testStepResult)\n .sort(comparatorByStatus)\n .at(-1)\n }\n\n public findNameOf(pickle: Pickle, namingStrategy: NamingStrategy): string {\n const lineage = this.findLineageBy(pickle)\n return lineage ? namingStrategy.reduce(lineage, pickle) : pickle.name\n }\n\n public findPickleBy(testCaseStarted: TestCaseStarted): Pickle | undefined {\n const testCase = this.findTestCaseBy(testCaseStarted)\n assert.ok(testCase, 'Expected to find TestCase from TestCaseStarted')\n return this.pickleById.get(testCase.pickleId)\n }\n\n public findPickleStepBy(testStep: TestStep): PickleStep | undefined {\n if (!testStep.pickleStepId){\n return undefined\n }\n return this.pickleStepById.get(testStep.pickleStepId)\n }\n\n public findStepBy(pickleStep: PickleStep): Step | undefined {\n const [astNodeId] = pickleStep.astNodeIds\n assert.ok(astNodeId, 'Expected PickleStep to have an astNodeId')\n return this.stepById.get(astNodeId)\n }\n\n public findTestCaseBy(testCaseStarted: TestCaseStarted): TestCase | undefined {\n return this.testCaseById.get(testCaseStarted.testCaseId)\n }\n\n public findTestCaseDurationBy(testCaseStarted: TestCaseStarted): Duration | undefined {\n const testCaseFinished = this.findTestCaseFinishedBy(testCaseStarted)\n if (!testCaseFinished) {\n return undefined\n }\n return TimeConversion.millisecondsToDuration(\n TimeConversion.timestampToMillisecondsSinceEpoch(testCaseFinished.timestamp) -\n TimeConversion.timestampToMillisecondsSinceEpoch(testCaseStarted.timestamp)\n )\n }\n\n public findTestCaseFinishedBy(testCaseStarted: TestCaseStarted): TestCaseFinished | undefined {\n return this.testCaseFinishedByTestCaseStartedId.get(testCaseStarted.id)\n }\n\n public findTestRunDuration(): Duration | undefined {\n if (!this.testRunStarted || !this.testRunFinished) {\n return undefined\n }\n return TimeConversion.millisecondsToDuration(\n TimeConversion.timestampToMillisecondsSinceEpoch(this.testRunFinished.timestamp) -\n TimeConversion.timestampToMillisecondsSinceEpoch(this.testRunStarted.timestamp)\n )\n }\n\n public findTestRunFinished(): TestRunFinished | undefined {\n return this.testRunFinished\n }\n\n public findTestRunStarted(): TestRunStarted | undefined {\n return this.testRunStarted\n }\n\n public findTestStepBy(testStepFinished: TestStepFinished): TestStep | undefined {\n return this.testStepById.get(testStepFinished.testStepId)\n }\n\n public findTestStepsFinishedBy(testCaseStarted: TestCaseStarted): ReadonlyArray<TestStepFinished> {\n // multimaps `get` implements `getOrDefault([])` behaviour internally\n return [...this.testStepFinishedByTestCaseStartedId.get(testCaseStarted.id)]\n }\n\n public findTestStepFinishedAndTestStepBy(\n testCaseStarted: TestCaseStarted\n ): ReadonlyArray<[TestStepFinished, TestStep]> {\n return this.testStepFinishedByTestCaseStartedId\n .get(testCaseStarted.id)\n .map((testStepFinished) => {\n const testStep = this.findTestStepBy(testStepFinished)\n assert.ok(testStep, 'Expected to find TestStep by TestStepFinished')\n return [testStepFinished, testStep]\n })\n }\n\n private findLineageBy(element: Pickle | TestCaseStarted) {\n const pickle = \"testCaseId\" in element ? this.findPickleBy(element) : element\n const deepestAstNodeId = pickle.astNodeIds.at(-1)\n assert.ok(deepestAstNodeId, 'Expected Pickle to have at least one astNodeId')\n return this.lineageById.get(deepestAstNodeId)\n }\n}\n"]}
@@ -5,5 +5,8 @@ interface WithId {
5
5
  export declare function comparatorById(a: WithId, b: WithId): 0 | 1 | -1;
6
6
  export declare function comparatorBy(a: any, b: any, key: string): 0 | 1 | -1;
7
7
  export declare function comparatorByStatus(a: TestStepResult, b: TestStepResult): 0 | 1 | -1;
8
+ export declare const assert: {
9
+ ok(target: unknown, message: string): void;
10
+ };
8
11
  export {};
9
12
  //# sourceMappingURL=helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAwB,MAAM,oBAAoB,CAAA;AAEzE,UAAU,MAAM;IACZ,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;CACtB;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,cAElD;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,cAQvD;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,cAAc,cAQtE"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAwB,MAAM,oBAAoB,CAAA;AAEzE,UAAU,MAAM;IACZ,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;CACtB;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,cAElD;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,cAQvD;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,cAAc,cAQtE;AAcD,eAAO,MAAM,MAAM;eACJ,OAAO,WAAW,MAAM;CAKtC,CAAA"}
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.assert = void 0;
3
4
  exports.comparatorById = comparatorById;
4
5
  exports.comparatorBy = comparatorBy;
5
6
  exports.comparatorByStatus = comparatorByStatus;
@@ -36,4 +37,11 @@ function ordinal(status) {
36
37
  messages_1.TestStepResultStatus.FAILED,
37
38
  ].indexOf(status);
38
39
  }
40
+ exports.assert = {
41
+ ok(target, message) {
42
+ if (!target) {
43
+ throw new Error(message);
44
+ }
45
+ }
46
+ };
39
47
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":";;AAMA,wCAEC;AAED,oCAQC;AAED,gDAQC;AA5BD,iDAAyE;AAMzE,SAAgB,cAAc,CAAC,CAAS,EAAE,CAAS;IAC/C,OAAO,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAA;AACnC,CAAC;AAED,SAAgB,YAAY,CAAC,CAAM,EAAE,CAAM,EAAE,GAAW;IACpD,IAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QACnB,OAAO,CAAC,CAAC,CAAC;IACd,CAAC;IACD,IAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QACnB,OAAO,CAAC,CAAC;IACb,CAAC;IACD,OAAO,CAAC,CAAC;AACb,CAAC;AAED,SAAgB,kBAAkB,CAAC,CAAiB,EAAE,CAAiB;IACnE,IAAI,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACxC,OAAO,CAAC,CAAC,CAAC;IACd,CAAC;IACD,IAAI,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACxC,OAAO,CAAC,CAAC;IACb,CAAC;IACD,OAAO,CAAC,CAAC;AACb,CAAC;AAED,SAAS,OAAO,CAAC,MAA4B;IACzC,OAAO;QACH,+BAAoB,CAAC,OAAO;QAC5B,+BAAoB,CAAC,MAAM;QAC3B,+BAAoB,CAAC,OAAO;QAC5B,+BAAoB,CAAC,OAAO;QAC5B,+BAAoB,CAAC,SAAS;QAC9B,+BAAoB,CAAC,SAAS;QAC9B,+BAAoB,CAAC,MAAM;KAC9B,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;AACrB,CAAC","sourcesContent":["import { TestStepResult, TestStepResultStatus } from '@cucumber/messages'\n\ninterface WithId {\n id: string | number\n}\n\nexport function comparatorById(a: WithId, b: WithId) {\n return comparatorBy(a, b, \"id\")\n}\n\nexport function comparatorBy(a: any, b: any, key: string) {\n if ( a[key] < b[key] ){\n return -1;\n }\n if ( a[key] > b[key] ){\n return 1;\n }\n return 0;\n}\n\nexport function comparatorByStatus(a: TestStepResult, b: TestStepResult) {\n if (ordinal(a.status) < ordinal(b.status)) {\n return -1;\n }\n if (ordinal(a.status) > ordinal(b.status) ){\n return 1;\n }\n return 0;\n}\n\nfunction ordinal(status: TestStepResultStatus) {\n return [\n TestStepResultStatus.UNKNOWN,\n TestStepResultStatus.PASSED,\n TestStepResultStatus.SKIPPED,\n TestStepResultStatus.PENDING,\n TestStepResultStatus.UNDEFINED,\n TestStepResultStatus.AMBIGUOUS,\n TestStepResultStatus.FAILED,\n ].indexOf(status)\n}"]}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":";;;AAMA,wCAEC;AAED,oCAQC;AAED,gDAQC;AA5BD,iDAAyE;AAMzE,SAAgB,cAAc,CAAC,CAAS,EAAE,CAAS;IAC/C,OAAO,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAA;AACnC,CAAC;AAED,SAAgB,YAAY,CAAC,CAAM,EAAE,CAAM,EAAE,GAAW;IACpD,IAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QACnB,OAAO,CAAC,CAAC,CAAC;IACd,CAAC;IACD,IAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QACnB,OAAO,CAAC,CAAC;IACb,CAAC;IACD,OAAO,CAAC,CAAC;AACb,CAAC;AAED,SAAgB,kBAAkB,CAAC,CAAiB,EAAE,CAAiB;IACnE,IAAI,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACxC,OAAO,CAAC,CAAC,CAAC;IACd,CAAC;IACD,IAAI,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACxC,OAAO,CAAC,CAAC;IACb,CAAC;IACD,OAAO,CAAC,CAAC;AACb,CAAC;AAED,SAAS,OAAO,CAAC,MAA4B;IACzC,OAAO;QACH,+BAAoB,CAAC,OAAO;QAC5B,+BAAoB,CAAC,MAAM;QAC3B,+BAAoB,CAAC,OAAO;QAC5B,+BAAoB,CAAC,OAAO;QAC5B,+BAAoB,CAAC,SAAS;QAC9B,+BAAoB,CAAC,SAAS;QAC9B,+BAAoB,CAAC,MAAM;KAC9B,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;AACrB,CAAC;AAEY,QAAA,MAAM,GAAG;IAClB,EAAE,CAAC,MAAe,EAAE,OAAe;QAC/B,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAA;QAC5B,CAAC;IACL,CAAC;CACJ,CAAA","sourcesContent":["import { TestStepResult, TestStepResultStatus } from '@cucumber/messages'\n\ninterface WithId {\n id: string | number\n}\n\nexport function comparatorById(a: WithId, b: WithId) {\n return comparatorBy(a, b, \"id\")\n}\n\nexport function comparatorBy(a: any, b: any, key: string) {\n if ( a[key] < b[key] ){\n return -1;\n }\n if ( a[key] > b[key] ){\n return 1;\n }\n return 0;\n}\n\nexport function comparatorByStatus(a: TestStepResult, b: TestStepResult) {\n if (ordinal(a.status) < ordinal(b.status)) {\n return -1;\n }\n if (ordinal(a.status) > ordinal(b.status) ){\n return 1;\n }\n return 0;\n}\n\nfunction ordinal(status: TestStepResultStatus) {\n return [\n TestStepResultStatus.UNKNOWN,\n TestStepResultStatus.PASSED,\n TestStepResultStatus.SKIPPED,\n TestStepResultStatus.PENDING,\n TestStepResultStatus.UNDEFINED,\n TestStepResultStatus.AMBIGUOUS,\n TestStepResultStatus.FAILED,\n ].indexOf(status)\n}\n\nexport const assert = {\n ok(target: unknown, message: string) {\n if (!target) {\n throw new Error(message)\n }\n }\n}"]}
@@ -1 +1 @@
1
- {"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.dom.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2016.intl.d.ts","../node_modules/typescript/lib/lib.es2017.date.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../node_modules/@cucumber/messages/node_modules/reflect-metadata/index.d.ts","../node_modules/@cucumber/messages/dist/cjs/src/messages.d.ts","../node_modules/@cucumber/messages/dist/cjs/src/TimeConversion.d.ts","../node_modules/@cucumber/messages/dist/cjs/src/IdGenerator.d.ts","../node_modules/@cucumber/messages/dist/cjs/src/parseEnvelope.d.ts","../node_modules/@cucumber/messages/dist/cjs/src/getWorstTestStepResult.d.ts","../node_modules/@cucumber/messages/dist/cjs/src/version.d.ts","../node_modules/@cucumber/messages/dist/cjs/src/index.d.ts","../src/Lineage.ts","../node_modules/@teppeis/multimaps/dist/cjs/multimap.d.ts","../node_modules/@teppeis/multimaps/dist/cjs/arraymultimap.d.ts","../node_modules/@teppeis/multimaps/dist/cjs/setmultimap.d.ts","../node_modules/@teppeis/multimaps/dist/cjs/index.d.ts","../src/helpers.ts","../src/Query.ts","../src/index.ts","../node_modules/@types/json5/index.d.ts","../node_modules/@types/mocha/index.d.ts","../node_modules/@types/node/compatibility/disposable.d.ts","../node_modules/@types/node/compatibility/indexable.d.ts","../node_modules/@types/node/compatibility/iterators.d.ts","../node_modules/@types/node/compatibility/index.d.ts","../node_modules/@types/node/ts5.6/globals.typedarray.d.ts","../node_modules/@types/node/ts5.6/buffer.buffer.d.ts","../node_modules/undici-types/header.d.ts","../node_modules/undici-types/readable.d.ts","../node_modules/undici-types/file.d.ts","../node_modules/undici-types/fetch.d.ts","../node_modules/undici-types/formdata.d.ts","../node_modules/undici-types/connector.d.ts","../node_modules/undici-types/client.d.ts","../node_modules/undici-types/errors.d.ts","../node_modules/undici-types/dispatcher.d.ts","../node_modules/undici-types/global-dispatcher.d.ts","../node_modules/undici-types/global-origin.d.ts","../node_modules/undici-types/pool-stats.d.ts","../node_modules/undici-types/pool.d.ts","../node_modules/undici-types/handlers.d.ts","../node_modules/undici-types/balanced-pool.d.ts","../node_modules/undici-types/agent.d.ts","../node_modules/undici-types/mock-interceptor.d.ts","../node_modules/undici-types/mock-agent.d.ts","../node_modules/undici-types/mock-client.d.ts","../node_modules/undici-types/mock-pool.d.ts","../node_modules/undici-types/mock-errors.d.ts","../node_modules/undici-types/proxy-agent.d.ts","../node_modules/undici-types/env-http-proxy-agent.d.ts","../node_modules/undici-types/retry-handler.d.ts","../node_modules/undici-types/retry-agent.d.ts","../node_modules/undici-types/api.d.ts","../node_modules/undici-types/interceptors.d.ts","../node_modules/undici-types/util.d.ts","../node_modules/undici-types/cookies.d.ts","../node_modules/undici-types/patch.d.ts","../node_modules/undici-types/websocket.d.ts","../node_modules/undici-types/eventsource.d.ts","../node_modules/undici-types/filereader.d.ts","../node_modules/undici-types/diagnostics-channel.d.ts","../node_modules/undici-types/content-type.d.ts","../node_modules/undici-types/cache.d.ts","../node_modules/undici-types/index.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/dom-events.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/readline/promises.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/sea.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/test.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/ts5.6/index.d.ts","../node_modules/@types/stack-utils/index.d.ts"],"fileIdsList":[[69,111],[47,69,111],[47,48,49,50,51,52,69,111],[46,69,111],[55,69,111],[56,57,69,111],[69,108,111],[69,110,111],[69,111,116,145],[69,111,112,117,123,124,131,142,153],[69,111,112,113,123,131],[64,65,66,69,111],[69,111,114,154],[69,111,115,116,124,132],[69,111,116,142,150],[69,111,117,119,123,131],[69,110,111,118],[69,111,119,120],[69,111,123],[69,111,121,123],[69,110,111,123],[69,111,123,124,125,142,153],[69,111,123,124,125,138,142,145],[69,106,111,158],[69,111,119,123,126,131,142,153],[69,111,123,124,126,127,131,142,150,153],[69,111,126,128,142,150,153],[69,111,123,129],[69,111,130,153,158],[69,111,119,123,131,142],[69,111,132],[69,111,133],[69,110,111,134],[69,108,109,110,111,112,113,114,115,116,117,118,119,120,121,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159],[69,111,136],[69,111,137],[69,111,123,138,139],[69,111,138,140,154,156],[69,111,123,142,143,144,145],[69,111,142,144],[69,111,142,143],[69,111,145],[69,111,146],[69,108,111,142],[69,111,123,148,149],[69,111,148,149],[69,111,116,131,142,150],[69,111,151],[111],[67,68,69,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159],[69,111,131,152],[69,111,126,137,153],[69,111,116,154],[69,111,142,155],[69,111,130,156],[69,111,157],[69,111,116,123,125,134,142,153,156,158],[69,111,142,159],[69,78,82,111,153],[69,78,111,142,153],[69,73,111],[69,75,78,111,150,153],[69,111,131,150],[69,111,160],[69,73,111,160],[69,75,78,111,131,153],[69,70,71,74,77,111,123,142,153],[69,78,85,111],[69,70,76,111],[69,78,99,100,111],[69,74,78,111,145,153,160],[69,99,111,160],[69,72,73,111,160],[69,78,111],[69,72,73,74,75,76,77,78,79,80,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,100,101,102,103,104,105,111],[69,78,93,111],[69,78,85,86,111],[69,76,78,86,87,111],[69,77,111],[69,70,73,78,111],[69,78,82,86,87,111],[69,82,111],[69,76,78,81,111,153],[69,70,75,78,85,111],[69,111,142],[69,73,78,99,111,158,160],[53,69,111],[53,54,58,59,69,108,111],[54,60,69,111]],"fileInfos":[{"version":"44e584d4f6444f58791784f1d530875970993129442a847597db702a073ca68c","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"9e8ca8ed051c2697578c023d9c29d6df689a083561feba5c14aedee895853999","affectsGlobalScope":true,"impliedFormat":1},{"version":"6920e1448680767498a0b77c6a00a8e77d14d62c3da8967b171f1ddffa3c18e4","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"45d8ccb3dfd57355eb29749919142d4321a0aa4df6acdfc54e30433d7176600a","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true,"impliedFormat":1},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea011c76963fb15ef1cdd7ce6a6808b46322c527de2077b6cfdf23ae6f5f9ec7","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"1a94697425a99354df73d9c8291e2ecd4dddd370aed4023c2d6dee6cccb32666","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true,"impliedFormat":1},{"version":"e3f9fc0ec0b96a9e642f11eda09c0be83a61c7b336977f8b9fdb1e9788e925fe","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"479553e3779be7d4f68e9f40cdb82d038e5ef7592010100410723ceced22a0f7","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d6d51a5118d000ed3bfe6e1dd1335bebfff3fef23cd2af2f84a24d30f90cc90","affectsGlobalScope":true,"impliedFormat":1},{"version":"acca49da0cd4bf398a4f43646730b7297e3300489a4319f495c147c7a9c762a4","impliedFormat":1},{"version":"d9f4ec5156491a24eee340452d7e87e432512d5ebde23fe18c2ceb5a31c1720b","impliedFormat":1},{"version":"44716259b743dacde932f7f1922ac85f533af74e3ed82a078ba505414f6f6b53","impliedFormat":1},{"version":"653dc417862cf079d590653212a8d48ace7c89ff7b73c239791099afc25dca96","impliedFormat":1},{"version":"497efde09001124a1bfab8ea16409b6908fe8a49ae8d5d69082910838150fbfd","impliedFormat":1},{"version":"99442fa41c5095c911818fc8e0ab767f06a400285487176f402576a05588f90d","impliedFormat":1},{"version":"5ed925f9d0dfcb0fde32518c7ae42f88461fd8eabb015a35183fac5ce95bbc6c","impliedFormat":1},{"version":"4c0181a032f85cae5f0d9eacef422656abf4c155f7b4802f8d8dbc72d5074780","signature":"70b3262a28353fd97fdde0531645f8f872e71c461ab0ba6862e9c9b9d54fb3f3"},{"version":"fe47c64a7b50057df1e1a8458112c50a8e0d3c71aa53a674f5525b79b1c4935a","impliedFormat":1},{"version":"a452e0a97df99e857b9da0f2857724f603e08e65f631a45738822536772f360f","impliedFormat":1},{"version":"55cb5f9fdd66fdc372a2c866a0eaa2d7e521bc14afb191eb8186acb8cc5612b5","impliedFormat":1},{"version":"14cb3da610d378546b6898621c586c27d7ed5b5a8af9f1c72d831275012b4fc5","impliedFormat":1},{"version":"cb54ae8ba1562deb18ef8a97d139e1e69f4a59313dec60d5d4bc97c6f5d106c7","signature":"ff2c7b999df5fa482e19efc7bdd336a461d8224170345b83bb5a2aae08963130"},{"version":"1f435247a1e70f47ac9ccb72d8b29a7b0dfe5bc3b5c49590155b17cacb20979b","signature":"1ecd477d35d93829244220988c2e5da5a1a47439c34b1ea0351b10f3c7a27bc0"},{"version":"5b797b43253a62004fe0c4b7260e0f20c4b6779dfbf29181c37e692200f3f500","signature":"7ea405f18742e9ca5cdea12c391b58a16a5f12e2a8faf29f1af8da53b49d5adc"},{"version":"96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","impliedFormat":1},{"version":"ed2e21d0d42025b6a09c30fe0923e2ee4f8911f5c41f4ff0525ea0c2fd315e75","affectsGlobalScope":true,"impliedFormat":1},{"version":"70521b6ab0dcba37539e5303104f29b721bfb2940b2776da4cc818c07e1fefc1","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"613b21ccdf3be6329d56e6caa13b258c842edf8377be7bc9f014ed14cdcfc308","affectsGlobalScope":true,"impliedFormat":1},{"version":"2d1319e6b5d0efd8c5eae07eb864a00102151e8b9afddd2d45db52e9aae002c4","affectsGlobalScope":true,"impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"24bd580b5743dc56402c440dc7f9a4f5d592ad7a419f25414d37a7bfe11e342b","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"6bdc71028db658243775263e93a7db2fd2abfce3ca569c3cca5aee6ed5eb186d","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"4d2b0eb911816f66abe4970898f97a2cfc902bcd743cbfa5017fad79f7ef90d8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","impliedFormat":1},{"version":"24b8685c62562f5d98615c5a0c1d05f297cf5065f15246edfe99e81ec4c0e011","impliedFormat":1},{"version":"93507c745e8f29090efb99399c3f77bec07db17acd75634249dc92f961573387","impliedFormat":1},{"version":"339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"ca6d304b929748ea15c33f28c1f159df18a94470b424ab78c52d68d40a41e1e9","affectsGlobalScope":true,"impliedFormat":1},{"version":"a72ffc815104fb5c075106ebca459b2d55d07862a773768fce89efc621b3964b","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"3d77c73be94570813f8cadd1f05ebc3dc5e2e4fdefe4d340ca20cd018724ee36","impliedFormat":1},{"version":"d674383111e06b6741c4ad2db962131b5b0fa4d0294b998566c635e86195a453","affectsGlobalScope":true,"impliedFormat":1},{"version":"f3e58c4c18a031cbb17abec7a4ad0bd5ae9fc70c1f4ba1e7fb921ad87c504aca","impliedFormat":1},{"version":"a3e8bafb2af8e850c644f4be7f5156cf7d23b7bfdc3b786bd4d10ed40329649c","impliedFormat":1},{"version":"35ec8b6760fd7138bbf5809b84551e31028fb2ba7b6dc91d95d098bf212ca8b4","affectsGlobalScope":true,"impliedFormat":1},{"version":"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","impliedFormat":1},{"version":"f77d9188e41291acf14f476e931972460a303e1952538f9546e7b370cb8d0d20","affectsGlobalScope":true,"impliedFormat":1},{"version":"b0c0d1d13be149f790a75b381b413490f98558649428bb916fd2d71a3f47a134","impliedFormat":1},{"version":"3c884d9d9ec454bdf0d5a0b8465bf8297d2caa4d853851d92cc417ac6f30b969","impliedFormat":1},{"version":"5a369483ac4cfbdf0331c248deeb36140e6907db5e1daed241546b4a2055f82c","impliedFormat":1},{"version":"e8f5b5cc36615c17d330eaf8eebbc0d6bdd942c25991f96ef122f246f4ff722f","impliedFormat":1},{"version":"f0bd7e6d931657b59605c44112eaf8b980ba7f957a5051ed21cb93d978cf2f45","impliedFormat":1},{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true,"impliedFormat":1},{"version":"4d7da7075068195f8f127f41c61e304cdca5aafb1be2d0f4fb67c6b4c3e98d50","affectsGlobalScope":true,"impliedFormat":1},{"version":"a4bdde4e601e9554a844e1e0d0ccfa05e183ef9d82ab3ac25f17c1709033d360","impliedFormat":1},{"version":"ad23fd126ff06e72728dd7bfc84326a8ca8cec2b9d2dac0193d42a777df0e7d8","impliedFormat":1},{"version":"9dd9f50652a176469e85fb65aa081d2e7eb807e2c476f378233de4f1f6604962","impliedFormat":1},{"version":"93bd413918fa921c8729cef45302b24d8b6c7855d72d5bf82d3972595ae8dcbf","impliedFormat":1},{"version":"4ff41188773cbf465807dd2f7059c7494cbee5115608efc297383832a1150c43","impliedFormat":1},{"version":"dccdf1677e531e33f8ac961a68bc537418c9a414797c1ea7e91307501cdc3f5e","impliedFormat":1},{"version":"7edec695cdb707c7146ac34c44ca364469c7ea504344b3206c686e79f61b61a2","affectsGlobalScope":true,"impliedFormat":1},{"version":"d206b4baf4ddcc15d9d69a9a2f4999a72a2c6adeaa8af20fa7a9960816287555","impliedFormat":1},{"version":"93f437e1398a4f06a984f441f7fa7a9f0535c04399619b5c22e0b87bdee182cb","impliedFormat":1},{"version":"afbe24ab0d74694372baa632ecb28bb375be53f3be53f9b07ecd7fc994907de5","impliedFormat":1},{"version":"70731d10d5311bd4cf710ef7f6539b62660f4b0bfdbb3f9fbe1d25fe6366a7fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"a20f1e119615bf7632729fd89b6c0b5ffdc2df3b512d6304146294528e3ebe19","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e043a1bc8fbf2a255bccf9bf27e0f1caf916c3b0518ea34aa72357c0afd42ec","impliedFormat":1},{"version":"137c2894e8f3e9672d401cc0a305dc7b1db7c69511cf6d3970fb53302f9eae09","impliedFormat":1},{"version":"3bc2f1e2c95c04048212c569ed38e338873f6a8593930cf5a7ef24ffb38fc3b6","impliedFormat":1},{"version":"8145e07aad6da5f23f2fcd8c8e4c5c13fb26ee986a79d03b0829b8fce152d8b2","impliedFormat":1},{"version":"f9d9d753d430ed050dc1bf2667a1bab711ccbb1c1507183d794cc195a5b085cc","impliedFormat":1},{"version":"9eece5e586312581ccd106d4853e861aaaa1a39f8e3ea672b8c3847eedd12f6e","impliedFormat":1},{"version":"235bfb54b4869c26f7e98e3d1f68dbfc85acf4cf5c38a4444a006fbf74a8a43d","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","impliedFormat":1},{"version":"bb715efb4857eb94539eafb420352105a0cff40746837c5140bf6b035dd220ba","affectsGlobalScope":true,"impliedFormat":1},{"version":"1851a3b4db78664f83901bb9cac9e45e03a37bb5933cc5bf37e10bb7e91ab4eb","impliedFormat":1},{"version":"fdedf82878e4c744bc2a1c1e802ae407d63474da51f14a54babe039018e53d8f","affectsGlobalScope":true,"impliedFormat":1},{"version":"08353b04a3501d84fc8d7b49de99f6c1cc26026e6d9d697a18315f3bfe92ed03","affectsGlobalScope":true,"impliedFormat":1},{"version":"578d8bb6dcb2a1c03c4c3f8eb71abc9677e1a5c788b7f24848e3138ce17f3400","impliedFormat":1},{"version":"4f029899f9bae07e225c43aef893590541b2b43267383bf5e32e3a884d219ed5","impliedFormat":1},{"version":"ae56f65caf3be91108707bd8dfbccc2a57a91feb5daabf7165a06a945545ed26","impliedFormat":1},{"version":"a136d5de521da20f31631a0a96bf712370779d1c05b7015d7019a9b2a0446ca9","impliedFormat":1},{"version":"5b566927cad2ed2139655d55d690ffa87df378b956e7fe1c96024c4d9f75c4cf","affectsGlobalScope":true,"impliedFormat":1},{"version":"bce947017cb7a2deebcc4f5ba04cead891ce6ad1602a4438ae45ed9aa1f39104","affectsGlobalScope":true,"impliedFormat":1},{"version":"efeedd8bbc5c0d53e760d8b120a010470722982e6ae14de8d1bcff66ebc2ae71","impliedFormat":1},{"version":"e2c72c065a36bc9ab2a00ac6a6f51e71501619a72c0609defd304d46610487a4","impliedFormat":1},{"version":"d91a7d8b5655c42986f1bdfe2105c4408f472831c8f20cf11a8c3345b6b56c8c","impliedFormat":1},{"version":"616075a6ac578cf5a013ee12964188b4412823796ce0b202c6f1d2e4ca8480d7","affectsGlobalScope":true,"impliedFormat":1},{"version":"e8a979b8af001c9fc2e774e7809d233c8ca955a28756f52ee5dee88ccb0611d2","impliedFormat":1},{"version":"9091e564b81e7b4c382a33c62de704a699e10508190547d4f7c1c3e039d2db2b","impliedFormat":1},{"version":"b0d10e46cfe3f6c476b69af02eaa38e4ccc7430221ce3109ae84bb9fb8282298","impliedFormat":1}],"root":[54,[59,61]],"options":{"allowJs":false,"composite":true,"declaration":true,"declarationMap":true,"downlevelIteration":true,"esModuleInterop":true,"experimentalDecorators":true,"inlineSources":true,"jsx":2,"module":1,"noImplicitAny":true,"outDir":"./","rootDir":"..","skipLibCheck":true,"sourceMap":true,"strictNullChecks":false,"target":2},"referencedMap":[[49,1],[48,2],[51,2],[53,3],[47,4],[50,2],[52,1],[46,1],[56,5],[58,6],[55,1],[57,5],[62,1],[63,1],[108,7],[109,7],[110,8],[111,9],[112,10],[113,11],[64,1],[67,12],[65,1],[66,1],[114,13],[115,14],[116,15],[117,16],[118,17],[119,18],[120,18],[122,19],[121,20],[123,21],[124,22],[125,23],[107,24],[126,25],[127,26],[128,27],[129,28],[130,29],[131,30],[132,31],[133,32],[134,33],[135,34],[136,35],[137,36],[138,37],[139,37],[140,38],[141,1],[142,39],[144,40],[143,41],[145,42],[146,43],[147,44],[148,45],[149,46],[150,47],[151,48],[69,49],[68,1],[160,50],[152,51],[153,52],[154,53],[155,54],[156,55],[157,56],[158,57],[159,58],[161,1],[44,1],[45,1],[8,1],[10,1],[9,1],[2,1],[11,1],[12,1],[13,1],[14,1],[15,1],[16,1],[17,1],[18,1],[3,1],[19,1],[4,1],[20,1],[24,1],[21,1],[22,1],[23,1],[25,1],[26,1],[27,1],[5,1],[28,1],[29,1],[30,1],[31,1],[6,1],[35,1],[32,1],[33,1],[34,1],[36,1],[7,1],[37,1],[42,1],[43,1],[38,1],[39,1],[40,1],[41,1],[1,1],[85,59],[95,60],[84,59],[105,61],[76,62],[75,63],[104,64],[98,65],[103,66],[78,67],[92,68],[77,69],[101,70],[73,71],[72,64],[102,72],[74,73],[79,74],[80,1],[83,74],[70,1],[106,75],[96,76],[87,77],[88,78],[90,79],[86,80],[89,81],[99,64],[81,82],[82,83],[91,84],[71,85],[94,76],[93,74],[97,1],[100,86],[54,87],[60,88],[59,87],[61,89]],"latestChangedDtsFile":"./src/index.d.ts","version":"5.6.3"}
1
+ {"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.dom.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2016.intl.d.ts","../node_modules/typescript/lib/lib.es2017.date.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../node_modules/@cucumber/messages/node_modules/reflect-metadata/index.d.ts","../node_modules/@cucumber/messages/dist/cjs/src/messages.d.ts","../node_modules/@cucumber/messages/dist/cjs/src/TimeConversion.d.ts","../node_modules/@cucumber/messages/dist/cjs/src/IdGenerator.d.ts","../node_modules/@cucumber/messages/dist/cjs/src/parseEnvelope.d.ts","../node_modules/@cucumber/messages/dist/cjs/src/getWorstTestStepResult.d.ts","../node_modules/@cucumber/messages/dist/cjs/src/version.d.ts","../node_modules/@cucumber/messages/dist/cjs/src/index.d.ts","../src/Lineage.ts","../node_modules/@teppeis/multimaps/dist/cjs/multimap.d.ts","../node_modules/@teppeis/multimaps/dist/cjs/arraymultimap.d.ts","../node_modules/@teppeis/multimaps/dist/cjs/setmultimap.d.ts","../node_modules/@teppeis/multimaps/dist/cjs/index.d.ts","../src/helpers.ts","../src/Query.ts","../src/index.ts","../node_modules/@types/json5/index.d.ts","../node_modules/@types/mocha/index.d.ts","../node_modules/@types/node/compatibility/disposable.d.ts","../node_modules/@types/node/compatibility/indexable.d.ts","../node_modules/@types/node/compatibility/iterators.d.ts","../node_modules/@types/node/compatibility/index.d.ts","../node_modules/@types/node/ts5.6/globals.typedarray.d.ts","../node_modules/@types/node/ts5.6/buffer.buffer.d.ts","../node_modules/undici-types/header.d.ts","../node_modules/undici-types/readable.d.ts","../node_modules/undici-types/file.d.ts","../node_modules/undici-types/fetch.d.ts","../node_modules/undici-types/formdata.d.ts","../node_modules/undici-types/connector.d.ts","../node_modules/undici-types/client.d.ts","../node_modules/undici-types/errors.d.ts","../node_modules/undici-types/dispatcher.d.ts","../node_modules/undici-types/global-dispatcher.d.ts","../node_modules/undici-types/global-origin.d.ts","../node_modules/undici-types/pool-stats.d.ts","../node_modules/undici-types/pool.d.ts","../node_modules/undici-types/handlers.d.ts","../node_modules/undici-types/balanced-pool.d.ts","../node_modules/undici-types/agent.d.ts","../node_modules/undici-types/mock-interceptor.d.ts","../node_modules/undici-types/mock-agent.d.ts","../node_modules/undici-types/mock-client.d.ts","../node_modules/undici-types/mock-pool.d.ts","../node_modules/undici-types/mock-errors.d.ts","../node_modules/undici-types/proxy-agent.d.ts","../node_modules/undici-types/env-http-proxy-agent.d.ts","../node_modules/undici-types/retry-handler.d.ts","../node_modules/undici-types/retry-agent.d.ts","../node_modules/undici-types/api.d.ts","../node_modules/undici-types/interceptors.d.ts","../node_modules/undici-types/util.d.ts","../node_modules/undici-types/cookies.d.ts","../node_modules/undici-types/patch.d.ts","../node_modules/undici-types/websocket.d.ts","../node_modules/undici-types/eventsource.d.ts","../node_modules/undici-types/filereader.d.ts","../node_modules/undici-types/diagnostics-channel.d.ts","../node_modules/undici-types/content-type.d.ts","../node_modules/undici-types/cache.d.ts","../node_modules/undici-types/index.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/dom-events.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/readline/promises.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/sea.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/test.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/ts5.6/index.d.ts","../node_modules/@types/stack-utils/index.d.ts"],"fileIdsList":[[69,111],[47,69,111],[47,48,49,50,51,52,69,111],[46,69,111],[55,69,111],[56,57,69,111],[69,108,111],[69,110,111],[69,111,116,145],[69,111,112,117,123,124,131,142,153],[69,111,112,113,123,131],[64,65,66,69,111],[69,111,114,154],[69,111,115,116,124,132],[69,111,116,142,150],[69,111,117,119,123,131],[69,110,111,118],[69,111,119,120],[69,111,123],[69,111,121,123],[69,110,111,123],[69,111,123,124,125,142,153],[69,111,123,124,125,138,142,145],[69,106,111,158],[69,111,119,123,126,131,142,153],[69,111,123,124,126,127,131,142,150,153],[69,111,126,128,142,150,153],[69,111,123,129],[69,111,130,153,158],[69,111,119,123,131,142],[69,111,132],[69,111,133],[69,110,111,134],[69,108,109,110,111,112,113,114,115,116,117,118,119,120,121,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159],[69,111,136],[69,111,137],[69,111,123,138,139],[69,111,138,140,154,156],[69,111,123,142,143,144,145],[69,111,142,144],[69,111,142,143],[69,111,145],[69,111,146],[69,108,111,142],[69,111,123,148,149],[69,111,148,149],[69,111,116,131,142,150],[69,111,151],[111],[67,68,69,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159],[69,111,131,152],[69,111,126,137,153],[69,111,116,154],[69,111,142,155],[69,111,130,156],[69,111,157],[69,111,116,123,125,134,142,153,156,158],[69,111,142,159],[69,78,82,111,153],[69,78,111,142,153],[69,73,111],[69,75,78,111,150,153],[69,111,131,150],[69,111,160],[69,73,111,160],[69,75,78,111,131,153],[69,70,71,74,77,111,123,142,153],[69,78,85,111],[69,70,76,111],[69,78,99,100,111],[69,74,78,111,145,153,160],[69,99,111,160],[69,72,73,111,160],[69,78,111],[69,72,73,74,75,76,77,78,79,80,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,100,101,102,103,104,105,111],[69,78,93,111],[69,78,85,86,111],[69,76,78,86,87,111],[69,77,111],[69,70,73,78,111],[69,78,82,86,87,111],[69,82,111],[69,76,78,81,111,153],[69,70,75,78,85,111],[69,111,142],[69,73,78,99,111,158,160],[53,69,111],[53,54,58,59,69,111],[54,60,69,111]],"fileInfos":[{"version":"44e584d4f6444f58791784f1d530875970993129442a847597db702a073ca68c","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"9e8ca8ed051c2697578c023d9c29d6df689a083561feba5c14aedee895853999","affectsGlobalScope":true,"impliedFormat":1},{"version":"6920e1448680767498a0b77c6a00a8e77d14d62c3da8967b171f1ddffa3c18e4","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"45d8ccb3dfd57355eb29749919142d4321a0aa4df6acdfc54e30433d7176600a","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true,"impliedFormat":1},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea011c76963fb15ef1cdd7ce6a6808b46322c527de2077b6cfdf23ae6f5f9ec7","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"1a94697425a99354df73d9c8291e2ecd4dddd370aed4023c2d6dee6cccb32666","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true,"impliedFormat":1},{"version":"e3f9fc0ec0b96a9e642f11eda09c0be83a61c7b336977f8b9fdb1e9788e925fe","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"479553e3779be7d4f68e9f40cdb82d038e5ef7592010100410723ceced22a0f7","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d6d51a5118d000ed3bfe6e1dd1335bebfff3fef23cd2af2f84a24d30f90cc90","affectsGlobalScope":true,"impliedFormat":1},{"version":"acca49da0cd4bf398a4f43646730b7297e3300489a4319f495c147c7a9c762a4","impliedFormat":1},{"version":"d9f4ec5156491a24eee340452d7e87e432512d5ebde23fe18c2ceb5a31c1720b","impliedFormat":1},{"version":"44716259b743dacde932f7f1922ac85f533af74e3ed82a078ba505414f6f6b53","impliedFormat":1},{"version":"653dc417862cf079d590653212a8d48ace7c89ff7b73c239791099afc25dca96","impliedFormat":1},{"version":"497efde09001124a1bfab8ea16409b6908fe8a49ae8d5d69082910838150fbfd","impliedFormat":1},{"version":"99442fa41c5095c911818fc8e0ab767f06a400285487176f402576a05588f90d","impliedFormat":1},{"version":"5ed925f9d0dfcb0fde32518c7ae42f88461fd8eabb015a35183fac5ce95bbc6c","impliedFormat":1},{"version":"4c0181a032f85cae5f0d9eacef422656abf4c155f7b4802f8d8dbc72d5074780","signature":"70b3262a28353fd97fdde0531645f8f872e71c461ab0ba6862e9c9b9d54fb3f3"},{"version":"fe47c64a7b50057df1e1a8458112c50a8e0d3c71aa53a674f5525b79b1c4935a","impliedFormat":1},{"version":"a452e0a97df99e857b9da0f2857724f603e08e65f631a45738822536772f360f","impliedFormat":1},{"version":"55cb5f9fdd66fdc372a2c866a0eaa2d7e521bc14afb191eb8186acb8cc5612b5","impliedFormat":1},{"version":"14cb3da610d378546b6898621c586c27d7ed5b5a8af9f1c72d831275012b4fc5","impliedFormat":1},{"version":"efd1c7bf99c1cc5fb57278fb6e3b0bf2829260c04282a5a8608d3ca9a671e271","signature":"2ffff779551dd17c04349a2cb9dde6efb6385ddef77792a9320f3da26a2272c0"},{"version":"c590e3b57ea6ab2262fef59b5db6d0d4206d0f98d863a2f4a1e8b21ece71c780","signature":"4b4450c7307dcd534cd82b8a23b1bd668e2b9c30b197af3342cd6ee3e05ed369"},{"version":"5b797b43253a62004fe0c4b7260e0f20c4b6779dfbf29181c37e692200f3f500","signature":"7ea405f18742e9ca5cdea12c391b58a16a5f12e2a8faf29f1af8da53b49d5adc"},{"version":"96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","impliedFormat":1},{"version":"ed2e21d0d42025b6a09c30fe0923e2ee4f8911f5c41f4ff0525ea0c2fd315e75","affectsGlobalScope":true,"impliedFormat":1},{"version":"70521b6ab0dcba37539e5303104f29b721bfb2940b2776da4cc818c07e1fefc1","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"613b21ccdf3be6329d56e6caa13b258c842edf8377be7bc9f014ed14cdcfc308","affectsGlobalScope":true,"impliedFormat":1},{"version":"2d1319e6b5d0efd8c5eae07eb864a00102151e8b9afddd2d45db52e9aae002c4","affectsGlobalScope":true,"impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"24bd580b5743dc56402c440dc7f9a4f5d592ad7a419f25414d37a7bfe11e342b","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"6bdc71028db658243775263e93a7db2fd2abfce3ca569c3cca5aee6ed5eb186d","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"4d2b0eb911816f66abe4970898f97a2cfc902bcd743cbfa5017fad79f7ef90d8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","impliedFormat":1},{"version":"24b8685c62562f5d98615c5a0c1d05f297cf5065f15246edfe99e81ec4c0e011","impliedFormat":1},{"version":"93507c745e8f29090efb99399c3f77bec07db17acd75634249dc92f961573387","impliedFormat":1},{"version":"339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"ca6d304b929748ea15c33f28c1f159df18a94470b424ab78c52d68d40a41e1e9","affectsGlobalScope":true,"impliedFormat":1},{"version":"a72ffc815104fb5c075106ebca459b2d55d07862a773768fce89efc621b3964b","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"3d77c73be94570813f8cadd1f05ebc3dc5e2e4fdefe4d340ca20cd018724ee36","impliedFormat":1},{"version":"d674383111e06b6741c4ad2db962131b5b0fa4d0294b998566c635e86195a453","affectsGlobalScope":true,"impliedFormat":1},{"version":"f3e58c4c18a031cbb17abec7a4ad0bd5ae9fc70c1f4ba1e7fb921ad87c504aca","impliedFormat":1},{"version":"a3e8bafb2af8e850c644f4be7f5156cf7d23b7bfdc3b786bd4d10ed40329649c","impliedFormat":1},{"version":"35ec8b6760fd7138bbf5809b84551e31028fb2ba7b6dc91d95d098bf212ca8b4","affectsGlobalScope":true,"impliedFormat":1},{"version":"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","impliedFormat":1},{"version":"f77d9188e41291acf14f476e931972460a303e1952538f9546e7b370cb8d0d20","affectsGlobalScope":true,"impliedFormat":1},{"version":"b0c0d1d13be149f790a75b381b413490f98558649428bb916fd2d71a3f47a134","impliedFormat":1},{"version":"3c884d9d9ec454bdf0d5a0b8465bf8297d2caa4d853851d92cc417ac6f30b969","impliedFormat":1},{"version":"5a369483ac4cfbdf0331c248deeb36140e6907db5e1daed241546b4a2055f82c","impliedFormat":1},{"version":"e8f5b5cc36615c17d330eaf8eebbc0d6bdd942c25991f96ef122f246f4ff722f","impliedFormat":1},{"version":"f0bd7e6d931657b59605c44112eaf8b980ba7f957a5051ed21cb93d978cf2f45","impliedFormat":1},{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true,"impliedFormat":1},{"version":"4d7da7075068195f8f127f41c61e304cdca5aafb1be2d0f4fb67c6b4c3e98d50","affectsGlobalScope":true,"impliedFormat":1},{"version":"a4bdde4e601e9554a844e1e0d0ccfa05e183ef9d82ab3ac25f17c1709033d360","impliedFormat":1},{"version":"ad23fd126ff06e72728dd7bfc84326a8ca8cec2b9d2dac0193d42a777df0e7d8","impliedFormat":1},{"version":"9dd9f50652a176469e85fb65aa081d2e7eb807e2c476f378233de4f1f6604962","impliedFormat":1},{"version":"93bd413918fa921c8729cef45302b24d8b6c7855d72d5bf82d3972595ae8dcbf","impliedFormat":1},{"version":"4ff41188773cbf465807dd2f7059c7494cbee5115608efc297383832a1150c43","impliedFormat":1},{"version":"dccdf1677e531e33f8ac961a68bc537418c9a414797c1ea7e91307501cdc3f5e","impliedFormat":1},{"version":"7edec695cdb707c7146ac34c44ca364469c7ea504344b3206c686e79f61b61a2","affectsGlobalScope":true,"impliedFormat":1},{"version":"d206b4baf4ddcc15d9d69a9a2f4999a72a2c6adeaa8af20fa7a9960816287555","impliedFormat":1},{"version":"93f437e1398a4f06a984f441f7fa7a9f0535c04399619b5c22e0b87bdee182cb","impliedFormat":1},{"version":"afbe24ab0d74694372baa632ecb28bb375be53f3be53f9b07ecd7fc994907de5","impliedFormat":1},{"version":"70731d10d5311bd4cf710ef7f6539b62660f4b0bfdbb3f9fbe1d25fe6366a7fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"a20f1e119615bf7632729fd89b6c0b5ffdc2df3b512d6304146294528e3ebe19","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e043a1bc8fbf2a255bccf9bf27e0f1caf916c3b0518ea34aa72357c0afd42ec","impliedFormat":1},{"version":"137c2894e8f3e9672d401cc0a305dc7b1db7c69511cf6d3970fb53302f9eae09","impliedFormat":1},{"version":"3bc2f1e2c95c04048212c569ed38e338873f6a8593930cf5a7ef24ffb38fc3b6","impliedFormat":1},{"version":"8145e07aad6da5f23f2fcd8c8e4c5c13fb26ee986a79d03b0829b8fce152d8b2","impliedFormat":1},{"version":"f9d9d753d430ed050dc1bf2667a1bab711ccbb1c1507183d794cc195a5b085cc","impliedFormat":1},{"version":"9eece5e586312581ccd106d4853e861aaaa1a39f8e3ea672b8c3847eedd12f6e","impliedFormat":1},{"version":"235bfb54b4869c26f7e98e3d1f68dbfc85acf4cf5c38a4444a006fbf74a8a43d","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","impliedFormat":1},{"version":"bb715efb4857eb94539eafb420352105a0cff40746837c5140bf6b035dd220ba","affectsGlobalScope":true,"impliedFormat":1},{"version":"1851a3b4db78664f83901bb9cac9e45e03a37bb5933cc5bf37e10bb7e91ab4eb","impliedFormat":1},{"version":"fdedf82878e4c744bc2a1c1e802ae407d63474da51f14a54babe039018e53d8f","affectsGlobalScope":true,"impliedFormat":1},{"version":"08353b04a3501d84fc8d7b49de99f6c1cc26026e6d9d697a18315f3bfe92ed03","affectsGlobalScope":true,"impliedFormat":1},{"version":"578d8bb6dcb2a1c03c4c3f8eb71abc9677e1a5c788b7f24848e3138ce17f3400","impliedFormat":1},{"version":"4f029899f9bae07e225c43aef893590541b2b43267383bf5e32e3a884d219ed5","impliedFormat":1},{"version":"ae56f65caf3be91108707bd8dfbccc2a57a91feb5daabf7165a06a945545ed26","impliedFormat":1},{"version":"a136d5de521da20f31631a0a96bf712370779d1c05b7015d7019a9b2a0446ca9","impliedFormat":1},{"version":"5b566927cad2ed2139655d55d690ffa87df378b956e7fe1c96024c4d9f75c4cf","affectsGlobalScope":true,"impliedFormat":1},{"version":"bce947017cb7a2deebcc4f5ba04cead891ce6ad1602a4438ae45ed9aa1f39104","affectsGlobalScope":true,"impliedFormat":1},{"version":"efeedd8bbc5c0d53e760d8b120a010470722982e6ae14de8d1bcff66ebc2ae71","impliedFormat":1},{"version":"e2c72c065a36bc9ab2a00ac6a6f51e71501619a72c0609defd304d46610487a4","impliedFormat":1},{"version":"d91a7d8b5655c42986f1bdfe2105c4408f472831c8f20cf11a8c3345b6b56c8c","impliedFormat":1},{"version":"616075a6ac578cf5a013ee12964188b4412823796ce0b202c6f1d2e4ca8480d7","affectsGlobalScope":true,"impliedFormat":1},{"version":"e8a979b8af001c9fc2e774e7809d233c8ca955a28756f52ee5dee88ccb0611d2","impliedFormat":1},{"version":"9091e564b81e7b4c382a33c62de704a699e10508190547d4f7c1c3e039d2db2b","impliedFormat":1},{"version":"b0d10e46cfe3f6c476b69af02eaa38e4ccc7430221ce3109ae84bb9fb8282298","impliedFormat":1}],"root":[54,[59,61]],"options":{"allowJs":false,"composite":true,"declaration":true,"declarationMap":true,"downlevelIteration":true,"esModuleInterop":true,"experimentalDecorators":true,"inlineSources":true,"jsx":2,"module":1,"noImplicitAny":true,"outDir":"./","rootDir":"..","skipLibCheck":true,"sourceMap":true,"strictNullChecks":false,"target":2},"referencedMap":[[49,1],[48,2],[51,2],[53,3],[47,4],[50,2],[52,1],[46,1],[56,5],[58,6],[55,1],[57,5],[62,1],[63,1],[108,7],[109,7],[110,8],[111,9],[112,10],[113,11],[64,1],[67,12],[65,1],[66,1],[114,13],[115,14],[116,15],[117,16],[118,17],[119,18],[120,18],[122,19],[121,20],[123,21],[124,22],[125,23],[107,24],[126,25],[127,26],[128,27],[129,28],[130,29],[131,30],[132,31],[133,32],[134,33],[135,34],[136,35],[137,36],[138,37],[139,37],[140,38],[141,1],[142,39],[144,40],[143,41],[145,42],[146,43],[147,44],[148,45],[149,46],[150,47],[151,48],[69,49],[68,1],[160,50],[152,51],[153,52],[154,53],[155,54],[156,55],[157,56],[158,57],[159,58],[161,1],[44,1],[45,1],[8,1],[10,1],[9,1],[2,1],[11,1],[12,1],[13,1],[14,1],[15,1],[16,1],[17,1],[18,1],[3,1],[19,1],[4,1],[20,1],[24,1],[21,1],[22,1],[23,1],[25,1],[26,1],[27,1],[5,1],[28,1],[29,1],[30,1],[31,1],[6,1],[35,1],[32,1],[33,1],[34,1],[36,1],[7,1],[37,1],[42,1],[43,1],[38,1],[39,1],[40,1],[41,1],[1,1],[85,59],[95,60],[84,59],[105,61],[76,62],[75,63],[104,64],[98,65],[103,66],[78,67],[92,68],[77,69],[101,70],[73,71],[72,64],[102,72],[74,73],[79,74],[80,1],[83,74],[70,1],[106,75],[96,76],[87,77],[88,78],[90,79],[86,80],[89,81],[99,64],[81,82],[82,83],[91,84],[71,85],[94,76],[93,74],[97,1],[100,86],[54,87],[60,88],[59,87],[61,89]],"latestChangedDtsFile":"./src/index.d.ts","version":"5.6.3"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cucumber/query",
3
- "version": "13.0.2",
3
+ "version": "13.1.0",
4
4
  "description": "Cucumber Query - query messages",
5
5
  "main": "dist/src/index.js",
6
6
  "types": "dist/src/index.d.ts",
@@ -59,8 +59,7 @@
59
59
  "@cucumber/messages": "*"
60
60
  },
61
61
  "dependencies": {
62
- "@teppeis/multimaps": "3.0.0",
63
- "assert": "^2.1.0"
62
+ "@teppeis/multimaps": "3.0.0"
64
63
  },
65
64
  "overrides": {
66
65
  "@cucumber/messages": "26.0.1"
package/src/Query.spec.ts CHANGED
@@ -2,7 +2,7 @@ import { GherkinStreams } from '@cucumber/gherkin-streams'
2
2
  import { Query as GherkinQuery } from '@cucumber/gherkin-utils'
3
3
  import * as messages from '@cucumber/messages'
4
4
  import { pipeline, Readable, Writable } from 'stream'
5
- import assert from 'assert'
5
+ import assert from 'node:assert'
6
6
  import {
7
7
  SupportCode,
8
8
  withFullStackTrace,
package/src/Query.ts CHANGED
@@ -1,9 +1,12 @@
1
1
  import * as messages from '@cucumber/messages'
2
2
  import {
3
+ Attachment,
3
4
  Duration,
4
5
  Feature,
5
6
  getWorstTestStepResult,
6
7
  GherkinDocument,
8
+ Hook,
9
+ Meta,
7
10
  Pickle,
8
11
  PickleStep,
9
12
  Rule,
@@ -18,12 +21,11 @@ import {
18
21
  TestStepFinished,
19
22
  TestStepResult,
20
23
  TestStepResultStatus,
21
- TimeConversion
24
+ TimeConversion,
22
25
  } from '@cucumber/messages'
23
26
  import {ArrayMultimap} from '@teppeis/multimaps'
24
27
  import {Lineage, NamingStrategy} from "./Lineage";
25
- import assert from 'assert';
26
- import { comparatorBy, comparatorById, comparatorByStatus } from './helpers'
28
+ import { comparatorBy, comparatorById, comparatorByStatus, assert } from './helpers'
27
29
 
28
30
  export default class Query {
29
31
  private readonly testStepResultByPickleId = new ArrayMultimap<string, messages.TestStepResult>()
@@ -46,6 +48,7 @@ export default class Query {
46
48
  readonly messages.StepMatchArgumentsList[]
47
49
  >()
48
50
 
51
+ private meta: Meta
49
52
  private testRunStarted: TestRunStarted
50
53
  private testRunFinished: TestRunFinished
51
54
  private readonly testCaseStarted: Array<TestCaseStarted> = []
@@ -58,8 +61,13 @@ export default class Query {
58
61
  private readonly testCaseFinishedByTestCaseStartedId: Map<string, TestCaseFinished> = new Map()
59
62
  private readonly testStepFinishedByTestCaseStartedId: ArrayMultimap<string, TestStepFinished> =
60
63
  new ArrayMultimap()
64
+ private readonly attachmentsByTestCaseStartedId: ArrayMultimap<string, Attachment> =
65
+ new ArrayMultimap()
61
66
 
62
67
  public update(envelope: messages.Envelope) {
68
+ if (envelope.meta) {
69
+ this.meta = envelope.meta
70
+ }
63
71
  if (envelope.gherkinDocument) {
64
72
  this.updateGherkinDocument(envelope.gherkinDocument)
65
73
  }
@@ -79,7 +87,7 @@ export default class Query {
79
87
  this.updateTestCaseStarted(envelope.testCaseStarted)
80
88
  }
81
89
  if (envelope.attachment) {
82
- this.attachmentsByTestStepId.put(envelope.attachment.testStepId, envelope.attachment)
90
+ this.updateAttachment(envelope.attachment)
83
91
  }
84
92
  if (envelope.testStepFinished) {
85
93
  this.updateTestStepFinished(envelope.testStepFinished)
@@ -202,6 +210,15 @@ export default class Query {
202
210
  }
203
211
  }
204
212
 
213
+ private updateAttachment(attachment: Attachment) {
214
+ if (attachment.testStepId) {
215
+ this.attachmentsByTestStepId.put(attachment.testStepId, attachment)
216
+ }
217
+ if (attachment.testCaseStartedId) {
218
+ this.attachmentsByTestCaseStartedId.put(attachment.testCaseStartedId, attachment)
219
+ }
220
+ }
221
+
205
222
  private updateTestStepFinished(testStepFinished: TestStepFinished) {
206
223
  this.testStepFinishedByTestCaseStartedId.put(
207
224
  testStepFinished.testCaseStartedId,
@@ -421,10 +438,26 @@ export default class Query {
421
438
  return testSteps.sort(comparatorById)
422
439
  }
423
440
 
441
+ public findAttachmentsBy(testStepFinished: TestStepFinished): ReadonlyArray<Attachment> {
442
+ return this.attachmentsByTestCaseStartedId.get(testStepFinished.testCaseStartedId)
443
+ .filter(attachment => attachment.testStepId === testStepFinished.testStepId)
444
+ }
445
+
424
446
  public findFeatureBy(testCaseStarted: TestCaseStarted): Feature | undefined {
425
447
  return this.findLineageBy(testCaseStarted)?.feature
426
448
  }
427
449
 
450
+ public findHookBy(testStep: TestStep): Hook | undefined {
451
+ if (!testStep.hookId){
452
+ return undefined
453
+ }
454
+ return this.hooksById.get(testStep.hookId)
455
+ }
456
+
457
+ public findMeta(): Meta | undefined {
458
+ return this.meta;
459
+ }
460
+
428
461
  public findMostSevereTestStepResultBy(testCaseStarted: TestCaseStarted): TestStepResult | undefined {
429
462
  return this.findTestStepFinishedAndTestStepBy(testCaseStarted)
430
463
  .map(([testStepFinished]) => testStepFinished.testStepResult)
@@ -444,13 +477,15 @@ export default class Query {
444
477
  }
445
478
 
446
479
  public findPickleStepBy(testStep: TestStep): PickleStep | undefined {
447
- assert.ok(testStep.pickleStepId, 'Expected TestStep to have a pickleStepId')
480
+ if (!testStep.pickleStepId){
481
+ return undefined
482
+ }
448
483
  return this.pickleStepById.get(testStep.pickleStepId)
449
484
  }
450
485
 
451
486
  public findStepBy(pickleStep: PickleStep): Step | undefined {
452
487
  const [astNodeId] = pickleStep.astNodeIds
453
- assert.ok('Expected PickleStep to have an astNodeId')
488
+ assert.ok(astNodeId, 'Expected PickleStep to have an astNodeId')
454
489
  return this.stepById.get(astNodeId)
455
490
  }
456
491
 
@@ -60,9 +60,24 @@ describe('Acceptance Tests', async () => {
60
60
  findAllTestSteps: query.findAllTestSteps().length,
61
61
  findAllTestCaseStartedGroupedByFeature: [...query.findAllTestCaseStartedGroupedByFeature().entries()]
62
62
  .map(([feature, testCaseStarteds]) => [feature.name, testCaseStarteds.map(testCaseStarted => testCaseStarted.id)]),
63
+ findAttachmentsBy: query.findAllTestCaseStarted()
64
+ .map(testCaseStarted => query.findTestStepsFinishedBy(testCaseStarted))
65
+ .map(testStepFinisheds => testStepFinisheds.map(testStepFinished => query.findAttachmentsBy(testStepFinished)))
66
+ .flat(2)
67
+ .map(attachment => ([
68
+ attachment.testStepId,
69
+ attachment.testCaseStartedId,
70
+ attachment.mediaType,
71
+ attachment.contentEncoding,
72
+ ])),
63
73
  findFeatureBy: query.findAllTestCaseStarted()
64
74
  .map(testCaseStarted => query.findFeatureBy(testCaseStarted))
65
75
  .map(feature => feature?.name),
76
+ findHookBy: query.findAllTestSteps()
77
+ .map(testStep => query.findHookBy(testStep))
78
+ .map(hook => hook?.id)
79
+ .filter(value => !!value),
80
+ findMeta: query.findMeta()?.implementation?.name,
66
81
  findMostSevereTestStepResultBy: query.findAllTestCaseStarted()
67
82
  .map(testCaseStarted => query.findMostSevereTestStepResultBy(testCaseStarted))
68
83
  .map(testStepResult => testStepResult?.status),
@@ -78,7 +93,8 @@ describe('Acceptance Tests', async () => {
78
93
  .map(pickle => pickle?.name),
79
94
  findPickleStepBy: query.findAllTestSteps()
80
95
  .map(testStep => query.findPickleStepBy(testStep))
81
- .map(pickleStep => pickleStep?.text),
96
+ .map(pickleStep => pickleStep?.text)
97
+ .filter(value => !!value),
82
98
  findStepBy: query.findAllPickleSteps()
83
99
  .map(pickleStep => query.findStepBy(pickleStep))
84
100
  .map(step => step?.text),
@@ -118,7 +134,9 @@ interface ResultsFixture {
118
134
  findAllTestCaseStarted: number,
119
135
  findAllTestSteps: number,
120
136
  findAllTestCaseStartedGroupedByFeature: Array<[string, string[]]>,
137
+ findAttachmentsBy: Array<[string, string, string, string]>,
121
138
  findFeatureBy: Array<string>,
139
+ findMeta: string,
122
140
  findMostSevereTestStepResultBy: Array<TestStepResultStatus>,
123
141
  findNameOf: {
124
142
  long: Array<string>,
@@ -127,6 +145,7 @@ interface ResultsFixture {
127
145
  short: Array<string>,
128
146
  shortPickleName: Array<string>
129
147
  },
148
+ findHookBy: Array<string>,
130
149
  findPickleBy: Array<string>,
131
150
  findPickleStepBy: Array<string>,
132
151
  findStepBy: Array<string>,
@@ -143,6 +162,7 @@ interface ResultsFixture {
143
162
 
144
163
  const defaults: Partial<ResultsFixture> = {
145
164
  findAllTestCaseStartedGroupedByFeature: [],
165
+ findAttachmentsBy: [],
146
166
  findFeatureBy: [],
147
167
  findMostSevereTestStepResultBy: [],
148
168
  findNameOf: {
@@ -152,6 +172,7 @@ const defaults: Partial<ResultsFixture> = {
152
172
  short: [],
153
173
  shortPickleName: []
154
174
  },
175
+ findHookBy: [],
155
176
  findPickleBy: [],
156
177
  findPickleStepBy: [],
157
178
  findStepBy: [],
package/src/helpers.ts CHANGED
@@ -38,4 +38,12 @@ function ordinal(status: TestStepResultStatus) {
38
38
  TestStepResultStatus.AMBIGUOUS,
39
39
  TestStepResultStatus.FAILED,
40
40
  ].indexOf(status)
41
+ }
42
+
43
+ export const assert = {
44
+ ok(target: unknown, message: string) {
45
+ if (!target) {
46
+ throw new Error(message)
47
+ }
48
+ }
41
49
  }