@feasibleone/blong-chain 1.6.0 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.7.0](https://github.com/feasibleone/blong/compare/blong-chain-v1.6.0...blong-chain-v1.7.0) (2026-05-15)
4
+
5
+
6
+ ### Features
7
+
8
+ * snapshot testing ([ffae636](https://github.com/feasibleone/blong/commit/ffae6360d9f6a04b42e733fc6be291e1cd707bfa))
9
+
3
10
  ## [1.6.0](https://github.com/feasibleone/blong/compare/blong-chain-v1.5.1...blong-chain-v1.6.0) (2026-05-12)
4
11
 
5
12
 
package/dist/index.d.ts CHANGED
@@ -78,4 +78,6 @@ export declare class TestExecutor extends EventEmitter {
78
78
  emit<E extends keyof ITestEvents>(event: E, ...args: Parameters<ITestEvents[E]>): boolean;
79
79
  }
80
80
  export type * from './test-types.js';
81
+ export { maskPaths, snapshot } from './snapshot.js';
82
+ export type { ISnapshotContext, ISnapshotOptions } from './snapshot.js';
81
83
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAEzC,OAAO,KAAK,EAER,gBAAgB,EAChB,KAAK,EAOL,WAAW,EACX,mBAAmB,EACnB,YAAY,EAEZ,aAAa,EAEb,SAAS,EAEZ,MAAM,iBAAiB,CAAC;AA+UzB;;GAEG;AACH,qBAAa,YAAa,SAAQ,YAAY;IAC1C,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,iBAAiB,CAA2B;IACpD,OAAO,CAAC,GAAG,CAAC,CAAc;IAG1B,OAAO,CAAC,QAAQ,CASd;IAGF,OAAO,CAAC,KAAK,CAGX;IAGF,OAAO,CAAC,cAAc,CAAmC;IAGzD,OAAO,CAAC,WAAW,CAA+B;IAGlD,OAAO,CAAC,cAAc,CAAiB;IAGvC,OAAO,CAAC,WAAW,CAAC,CAAkD;IAGtE,OAAO,CAAC,aAAa,CAAqB;gBAE9B,MAAM,GAAE,mBAAwB;IAiB5C;;OAEG;IACG,OAAO,CACT,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,KAAK,EACZ,WAAW,CAAC,EAAE,OAAO,iBAAiB,EAAE,qBAAqB,GAC9D,OAAO,CAAC,IAAI,CAAC;IAwDhB;;OAEG;YACW,aAAa;IAsD3B;;OAEG;YACW,YAAY;IAqK1B;;OAEG;IACH,OAAO,CAAC,WAAW;IAcnB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAiBzB;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAUlC;;OAEG;IACH,WAAW,IAAI,aAAa;IAI5B;;OAEG;IACH,kBAAkB,IAAI,gBAAgB;IAItC;;OAEG;IACH,gBAAgB,IAAI,YAAY;IA4BhC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA+C9B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA4B5B;;OAEG;IACH,EAAE,CAAC,CAAC,SAAS,MAAM,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI;IAIxE,IAAI,CAAC,CAAC,SAAS,MAAM,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO;CAG5F;AAGD,mBAAmB,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAEzC,OAAO,KAAK,EAER,gBAAgB,EAChB,KAAK,EAOL,WAAW,EACX,mBAAmB,EACnB,YAAY,EAEZ,aAAa,EAEb,SAAS,EAEZ,MAAM,iBAAiB,CAAC;AAkVzB;;GAEG;AACH,qBAAa,YAAa,SAAQ,YAAY;IAC1C,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,iBAAiB,CAA2B;IACpD,OAAO,CAAC,GAAG,CAAC,CAAc;IAG1B,OAAO,CAAC,QAAQ,CASd;IAGF,OAAO,CAAC,KAAK,CAGX;IAGF,OAAO,CAAC,cAAc,CAAmC;IAGzD,OAAO,CAAC,WAAW,CAA+B;IAGlD,OAAO,CAAC,cAAc,CAAiB;IAGvC,OAAO,CAAC,WAAW,CAAC,CAAkD;IAGtE,OAAO,CAAC,aAAa,CAAqB;gBAE9B,MAAM,GAAE,mBAAwB;IAkB5C;;OAEG;IACG,OAAO,CACT,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,KAAK,EACZ,WAAW,CAAC,EAAE,OAAO,iBAAiB,EAAE,qBAAqB,GAC9D,OAAO,CAAC,IAAI,CAAC;IAwDhB;;OAEG;YACW,aAAa;IAsD3B;;OAEG;YACW,YAAY;IA4L1B;;OAEG;IACH,OAAO,CAAC,WAAW;IAcnB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAiBzB;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAUlC;;OAEG;IACH,WAAW,IAAI,aAAa;IAI5B;;OAEG;IACH,kBAAkB,IAAI,gBAAgB;IAItC;;OAEG;IACH,gBAAgB,IAAI,YAAY;IA4BhC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA+C9B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA4B5B;;OAEG;IACH,EAAE,CAAC,CAAC,SAAS,MAAM,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI;IAIxE,IAAI,CAAC,CAAC,SAAS,MAAM,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO;CAG5F;AAGD,mBAAmB,iBAAiB,CAAC;AAGrC,OAAO,EAAC,SAAS,EAAE,QAAQ,EAAC,MAAM,eAAe,CAAC;AAClD,YAAY,EAAC,gBAAgB,EAAE,gBAAgB,EAAC,MAAM,eAAe,CAAC"}
package/dist/index.js CHANGED
@@ -295,6 +295,8 @@ function captureSourceLocation(fn) {
295
295
  column: 0,
296
296
  };
297
297
  }
298
+ /** Default number of retry attempts per failing step when `rerun.enabled` is true */
299
+ const DEFAULT_MAX_RETRIES = 1;
298
300
  /**
299
301
  * Main test executor class
300
302
  */
@@ -336,6 +338,7 @@ export class TestExecutor extends EventEmitter {
336
338
  captureStackTraces: config.captureStackTraces ?? false,
337
339
  framework: config.framework,
338
340
  log: config.log,
341
+ rerun: config.rerun,
339
342
  };
340
343
  this.log = config.log;
341
344
  this.queue = new PQueue({ concurrency: this.config.concurrency });
@@ -487,8 +490,26 @@ export class TestExecutor extends EventEmitter {
487
490
  try {
488
491
  // Create tracking context
489
492
  const context = createContextProxy(this.realContext, this.promiseManager, stepName, this.dependencyTracker);
490
- // Execute the step
491
- const result = await fn(assert, context);
493
+ // Execute the step (with optional retry loop)
494
+ const maxRetries = this.config.rerun?.enabled ? (this.config.rerun.maxRetries ?? DEFAULT_MAX_RETRIES) : 0;
495
+ let result;
496
+ let lastError;
497
+ for (let attempt = 0; attempt <= maxRetries; attempt++) {
498
+ try {
499
+ result = await fn(assert, context);
500
+ lastError = undefined;
501
+ break;
502
+ }
503
+ catch (err) {
504
+ lastError = err;
505
+ if (attempt < maxRetries) {
506
+ this.log?.warn?.({ err }, `step ${stepName} failed (attempt ${attempt + 1}/${maxRetries + 1}), retrying`);
507
+ }
508
+ }
509
+ }
510
+ if (lastError !== undefined) {
511
+ throw lastError;
512
+ }
492
513
  // Store result in real context
493
514
  this.realContext[stepName] = result;
494
515
  // Resolve all promises for this step
@@ -726,4 +747,6 @@ export class TestExecutor extends EventEmitter {
726
747
  return super.emit(event, ...args);
727
748
  }
728
749
  }
750
+ // Export snapshot helper
751
+ export { maskPaths, snapshot } from './snapshot.js';
729
752
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AACzC,OAAO,MAAM,MAAM,SAAS,CAAC;AAqB7B;;;;;;;GAOG;AACH,SAAS,mBAAmB,CACxB,IAAY,EACZ,cAA8B;IAE9B,0CAA0C;IAC1C,MAAM,YAAY,GAAG,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAEtD,iDAAiD;IACjD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,YAAY,CAAC,OAAc,EAAE;QACjD,GAAG,CAAC,MAAkB,EAAE,IAAqB;YACzC,gDAAgD;YAChD,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC5D,OAAQ,MAAc,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC9C,CAAC;YAED,8CAA8C;YAC9C,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC3B,OAAQ,MAAc,CAAC,IAAI,CAAC,CAAC;YACjC,CAAC;YAED,gDAAgD;YAChD,OAAO,mBAAmB,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,cAAc,CAAC,CAAC;QAClE,CAAC;KACJ,CAAC,CAAC;IAEH,OAAO,KAA0B,CAAC;AACtC,CAAC;AAED;;;GAGG;AACH,MAAM,cAAc;IACR,QAAQ,GAAG,IAAI,GAAG,EAAyB,CAAC;IAC5C,WAAW,CAA0B;IAE7C,YAAY,WAAoC;QAC5C,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,WAAW,CAAc,IAAY;QACjC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAqB,CAAC;QACvD,CAAC;QAED,IAAI,OAA2B,CAAC;QAChC,IAAI,MAA8B,CAAC;QAEnC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACxC,OAAO,GAAG,GAAG,CAAC;YACd,MAAM,GAAG,GAAG,CAAC;QACjB,CAAC,CAAC,CAAC;QAEH,MAAM,KAAK,GAAqB;YAC5B,OAAO;YACP,OAAO,EAAE,OAAQ;YACjB,MAAM,EAAE,MAAO;SAClB,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,KAA+B,CAAC,CAAC;QAEzD,+DAA+D;QAC/D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9B,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrD,8CAA8C;YAC9C,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAM,CAAC,CAAC;QACnD,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YAC1D,sCAAsC;YACtC,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAC9B,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAC1B,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAC3B,CAAC;YACF,KAAK,CAAC,OAAO,CAAC,KAAU,CAAC,CAAC;QAC9B,CAAC;aAAM,CAAC;YACJ,iEAAiE;YACjE,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,KAA+B,CAAC,CAAC;QAC7E,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;OAEG;IACK,4BAA4B,CAAC,IAAY,EAAE,KAAoB;QACnE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC;YAAE,OAAO,CAAC,YAAY;QAE3C,sDAAsD;QACtD,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC/C,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAElD,IAAI,WAAW,EAAE,CAAC;gBACd,iDAAiD;gBACjD,WAAW,CAAC,OAAO;qBACd,IAAI,CAAC,WAAW,CAAC,EAAE;oBAChB,8BAA8B;oBAC9B,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;oBAEhE,4BAA4B;oBAC5B,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;gBAC9B,CAAC,CAAC;qBACD,KAAK,CAAC,KAAK,CAAC,EAAE;oBACX,oCAAoC;oBACpC,KAAK,CAAC,MAAM,CAAC,KAAc,CAAC,CAAC;gBACjC,CAAC,CAAC,CAAC;gBACP,OAAO;YACX,CAAC;QACL,CAAC;IACL,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,GAAQ,EAAE,IAAY;QAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,OAAO,GAAG,GAAG,CAAC;QAClB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,IAAI,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBACzC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBACJ,OAAO,SAAS,CAAC;YACrB,CAAC;QACL,CAAC;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,IAAY;QACZ,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,QAAgB,EAAE,MAAe;QACzC,gCAAgC;QAChC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACjD,CAAC;QAED,mCAAmC;QACnC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YAChD,IAAI,CAAC,wBAAwB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACpD,CAAC;IACL,CAAC;IAED;;OAEG;IACK,wBAAwB,CAAC,QAAgB,EAAE,GAAQ,EAAE,KAAK,GAAG,CAAC;QAClE,gDAAgD;QAChD,IAAI,KAAK,GAAG,EAAE;YAAE,OAAO;QAEvB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7C,MAAM,UAAU,GAAG,GAAG,QAAQ,IAAI,GAAG,EAAE,CAAC;YAExC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;gBAChC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAClD,CAAC;YAED,wCAAwC;YACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBAC9C,IAAI,CAAC,wBAAwB,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YAChE,CAAC;QACL,CAAC;IACL,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,IAAY,EAAE,KAAY;QAC7B,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC;IACL,CAAC;CACJ;AAED;;;;;GAKG;AACH,SAAS,kBAAkB,CACvB,WAAoC,EACpC,cAA8B,EAC9B,WAAmB,EACnB,iBAAoC;IAEpC,OAAO,IAAI,KAAK,CAAC,WAA2B,EAAE;QAC1C,GAAG,CAAC,MAAW,EAAE,IAAqB;YAClC,mDAAmD;YACnD,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;gBACnB,OAAO,MAAM,CAAC,KAAK,CAAC;YACxB,CAAC;YAED,oDAAoD;YACpD,IAAI,WAAW,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC1C,iBAAiB,CAAC,WAAW,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YACrD,CAAC;YAED,yCAAyC;YACzC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC3B,OAAO,mBAAmB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;YACrD,CAAC;YAED,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;KACJ,CAAC,CAAC;AACP,CAAC;AAED;;GAEG;AACH,MAAM,iBAAiB;IACX,YAAY,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC9C,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IAE3C;;OAEG;IACH,iBAAiB,CAAC,SAAsB;QACpC,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,QAAgB,EAAE,QAAgB;QAC1C,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QAC/C,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE/C,mDAAmD;QACnD,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACxC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACrC,MAAM,IAAI,KAAK,CACX,6CAA6C,QAAQ,yBAAyB,QAAQ,KAAK;oBACvF,sBAAsB,QAAQ,YAAY;oBAC1C,oBAAoB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC9E,CAAC;YACN,CAAC;QACL,CAAC;IACL,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,QAAgB;QAC5B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED;;OAEG;IACH,QAAQ;QACJ,MAAM,KAAK,GAAsB,EAAE,CAAC;QAEpC,KAAK,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC;YAC3D,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;gBAChC,oDAAoD;gBACpD,MAAM,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClC,KAAK,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAC,CAAC,CAAC;YACrC,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AAED;;GAEG;AACH,SAAS,qBAAqB,CAAC,EAAY;IACvC,IAAI,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAEhC,gDAAgD;QAChD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;gBACjE,qDAAqD;gBACrD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;gBACjD,IAAI,KAAK,EAAE,CAAC;oBACR,OAAO;wBACH,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;wBACd,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;wBAC5B,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;qBACjC,CAAC;gBACN,CAAC;gBAED,gDAAgD;gBAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;gBACnD,IAAI,QAAQ,EAAE,CAAC;oBACX,OAAO;wBACH,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;wBACjB,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;wBAC/B,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;qBACpC,CAAC;gBACN,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,4CAA4C;IAChD,CAAC;IAED,OAAO;QACH,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,CAAC;QACP,MAAM,EAAE,CAAC;KACZ,CAAC;AACN,CAAC;AAED,qFAAqF;AACrF,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAE9B;;GAEG;AACH,MAAM,OAAO,YAAa,SAAQ,YAAY;IAClC,MAAM,CAAsB;IAC5B,KAAK,CAAS;IACd,iBAAiB,GAAG,IAAI,iBAAiB,EAAE,CAAC;IAC5C,GAAG,CAAe;IAE1B,oBAAoB;IACZ,QAAQ,GAAkB;QAC9B,QAAQ,EAAE,MAAM;QAChB,SAAS,EAAE,CAAC;QACZ,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE,CAAC;QACb,cAAc,EAAE,CAAC;QACjB,WAAW,EAAE,CAAC;QACd,KAAK,EAAE,IAAI,GAAG,EAAE;QAChB,MAAM,EAAE,EAAE;KACb,CAAC;IAEF,mBAAmB;IACX,KAAK,GAAqB;QAC9B,KAAK,EAAE,IAAI,GAAG,EAAE;QAChB,KAAK,EAAE,EAAE;KACZ,CAAC;IAEF,mBAAmB;IACX,cAAc,GAAG,IAAI,GAAG,EAAwB,CAAC;IAEzD,+BAA+B;IACvB,WAAW,GAA4B,EAAE,CAAC;IAElD,kEAAkE;IAC1D,cAAc,CAAiB;IAEvC,gDAAgD;IACxC,WAAW,CAAmD;IAEtE,wCAAwC;IAChC,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IAE1C,YAAY,SAA8B,EAAE;QACxC,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,MAAM,GAAG;YACV,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,EAAE;YACrC,kBAAkB,EAAE,MAAM,CAAC,kBAAkB,IAAI,KAAK;YACtD,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,KAAK,EAAE,MAAM,CAAC,KAAK;SACtB,CAAC;QACF,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;QAEtB,IAAI,CAAC,KAAK,GAAG,IAAI,MAAM,CAAC,EAAC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAC,CAAC,CAAC;QAEhE,2DAA2D;QAC3D,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC/D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CACT,KAAgB,EAChB,KAAY,EACZ,WAA6D;QAE7D,0CAA0C;QAC1C,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAE/B,kFAAkF;QAClF,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3E,IAAI,CAAC,WAAW,CAAC,KAAK,GAAG,KAAK,CAAC;QAE/B,4CAA4C;QAC5C,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAE3B,sBAAsB;QACtB,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC;QAC9C,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACrC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC;QACjC,IAAI,CAAC,QAAQ,CAAC,cAAc,GAAG,CAAC,CAAC;QACjC,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAC5B,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,EAAE,CAAC;QAE1B,yBAAyB;QACzB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;QAEtB,wBAAwB;QACxB,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAE5B,2CAA2C;QAC3C,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACnD,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAEnD,iDAAiD;QACjD,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;QAEvD,wBAAwB;QACxB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEvC,IAAI,CAAC;YACD,oBAAoB;YACpB,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,WAAkB,CAAC,CAAC;YAE7D,oBAAoB;YACpB,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,WAAW,CAAC;YACnC,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAEnC,+BAA+B;YAC/B,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC;QACzD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC;YAChC,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACnC,MAAM,KAAK,CAAC;QAChB,CAAC;gBAAS,CAAC;YACP,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,aAAa,CACvB,KAAgB,EAChB,SAAmB,EACnB,iBAA2B;QAE3B,MAAM,YAAY,GAAoB,EAAE,CAAC;QAEzC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtB,4CAA4C;gBAC5C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACpB,wEAAwE;oBACxE,MAAM,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;oBAChC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;oBACxB,SAAS;gBACb,CAAC;gBAED,0DAA0D;gBAC1D,MAAM,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBAChC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;gBAExB,MAAM,eAAe,GAAG,CAAC,GAAG,SAAS,EAAE,IAAI,CAAC,IAAI,IAAI,SAAS,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;gBAEjF,gEAAgE;gBAChE,IAAI,IAAI,CAAC,WAAW,IAAI,iBAAiB,EAAE,CAAC;oBACxC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,IAAI,SAAS,SAAS,CAAC,MAAM,EAAE,CAAC;oBAC5D,MAAO,IAAI,CAAC,WAAW,CAAC,IAAY,CAAC,IAAI,CACrC,iBAAiB,EACjB,UAAU,EACV,KAAK,EAAE,aAAsB,EAAE,EAAE;wBAC7B,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC;oBACnE,CAAC,CACJ,CAAC;gBACN,CAAC;qBAAM,IAAI,IAAI,CAAC,WAAW,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACpD,yBAAyB;oBACzB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,IAAI,SAAS,SAAS,CAAC,MAAM,EAAE,CAAC;oBAC5D,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,aAAsB,EAAE,EAAE;wBACrE,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC;oBACnE,CAAC,CAAC,CAAC;gBACP,CAAC;qBAAM,CAAC;oBACJ,oCAAoC;oBACpC,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,eAAe,EAAE,iBAAiB,CAAC,CAAC;gBACvE,CAAC;YACL,CAAC;iBAAM,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE,CAAC;gBACpC,oCAAoC;gBACpC,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,iBAAiB,CAAC,CAAC;gBACtE,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC/B,CAAC;QACL,CAAC;QAED,yCAAyC;QACzC,MAAM,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,YAAY,CACtB,EAAgB,EAChB,SAAmB,EACnB,iBAA2B;QAE3B,MAAM,QAAQ,GAAG,EAAE,CAAC,IAAI,IAAI,WAAW,CAAC;QAExC,iCAAiC;QACjC,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAC;QAE1C,qCAAqC;QACrC,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB;YACjD,CAAC,CAAC,qBAAqB,CAAC,EAAE,CAAC;YAC3B,CAAC,CAAC,SAAS,CAAC;QAEhB,2BAA2B;QAC3B,MAAM,YAAY,GAAkB;YAChC,QAAQ;YACR,WAAW,EAAE,QAAQ;YACrB,SAAS;YACT,MAAM,EAAE,SAAS;YACjB,YAAY,EAAE,EAAE;YAChB,UAAU,EAAE,EAAE;YACd,cAAc;SACjB,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAEhD,mCAAmC;QACnC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE;YAC3B,QAAQ;YACR,SAAS;YACT,MAAM,EAAE,SAAS;SACpB,CAAC,CAAC;QAEH,8BAA8B;QAC9B,MAAM,OAAO,GAAiB;YAC1B,QAAQ;YACR,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE;YACpB,SAAS,EAAE,CAAC;YACZ,QAAQ,EAAE,CAAC;YACX,aAAa,EAAE,CAAC;YAChB,SAAS,EAAE,CAAC;SACf,CAAC;QACF,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAE3C,8DAA8D;QAC9D,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE;YAC7B,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC/B,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC;YAEzD,YAAY,CAAC,MAAM,GAAG,SAAS,CAAC;YAChC,YAAY,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;YAC3C,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC,MAAM,GAAG,SAAS,CAAC;YACnD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;YAE9D,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;YAEhD,IAAI,CAAC;gBACD,0BAA0B;gBAC1B,MAAM,OAAO,GAAG,kBAAkB,CAC9B,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,cAAc,EACnB,QAAQ,EACR,IAAI,CAAC,iBAAiB,CACzB,CAAC;gBAEF,8CAA8C;gBAC9C,MAAM,UAAU,GACZ,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC3F,IAAI,MAAe,CAAC;gBACpB,IAAI,SAA4B,CAAC;gBAEjC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;oBACrD,IAAI,CAAC;wBACD,MAAM,GAAG,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;wBACnC,SAAS,GAAG,SAAS,CAAC;wBACtB,MAAM;oBACV,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACX,SAAS,GAAG,GAAY,CAAC;wBACzB,IAAI,OAAO,GAAG,UAAU,EAAE,CAAC;4BACvB,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,CACZ,EAAC,GAAG,EAAC,EACL,QAAQ,QAAQ,oBAAoB,OAAO,GAAG,CAAC,IAAI,UAAU,GAAG,CAAC,aAAa,CACjF,CAAC;wBACN,CAAC;oBACL,CAAC;gBACL,CAAC;gBAED,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;oBAC1B,MAAM,SAAS,CAAC;gBACpB,CAAC;gBAED,+BAA+B;gBAC/B,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC;gBAEpC,qCAAqC;gBACrC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBAElD,8CAA8C;gBAC9C,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACjC,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC;gBAC3D,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC;gBAChE,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC;gBACzD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,8CAA8C;gBAEpE,YAAY,CAAC,MAAM,GAAG,WAAW,CAAC;gBAClC,YAAY,CAAC,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC;gBAC3C,YAAY,CAAC,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC;gBAC1C,YAAY,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;gBAC3C,YAAY,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;gBACnD,YAAY,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;gBACzC,YAAY,CAAC,MAAM,GAAG,MAAM,CAAC;gBAC7B,YAAY,CAAC,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;gBAE7E,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC,MAAM,GAAG,WAAW,CAAC;gBACrD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC;gBAE9D,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;gBAC/B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;YAClD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,eAAe;gBACf,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACjC,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC;gBAC3D,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC;gBAChE,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC;gBACzD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBAErB,YAAY,CAAC,MAAM,GAAG,QAAQ,CAAC;gBAC/B,YAAY,CAAC,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC;gBAC3C,YAAY,CAAC,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC;gBAC1C,YAAY,CAAC,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;gBAE7E,MAAM,SAAS,GAAe;oBAC1B,OAAO,EAAG,KAAe,CAAC,OAAO;oBACjC,KAAK,EAAG,KAAe,CAAC,KAAK,IAAI,EAAE;oBACnC,OAAO,EAAE,EAAC,GAAG,IAAI,CAAC,WAAW,EAAC;iBACjC,CAAC;gBACF,YAAY,CAAC,KAAK,GAAG,SAAS,CAAC;gBAE/B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC,MAAM,GAAG,QAAQ,CAAC;gBAClD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC;gBAC9D,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC,KAAK,GAAG,KAAc,CAAC;gBAEvD,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;gBAC5B,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,KAAc,EAAE,YAAY,CAAC,CAAC;gBAChE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAC,GAAG,EAAE,KAAK,EAAC,EAAE,QAAQ,QAAQ,SAAS,CAAC,CAAC;gBAE3D,gCAAgC;gBAChC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAc,CAAC,CAAC;gBAErD,MAAM,KAAK,CAAC;YAChB,CAAC;QACL,CAAC,CAAC;QAEF,+CAA+C;QAC/C,IAAI,IAAI,CAAC,WAAW,IAAI,iBAAiB,EAAE,CAAC;YACxC,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE;gBAC5B,IAAI,CAAC;oBACD,MAAO,IAAI,CAAC,WAAY,CAAC,IAAY,CAAC,IAAI,CACtC,iBAAiB,EACjB,QAAQ,EACR,KAAK,IAAI,EAAE;wBACP,MAAM,aAAa,EAAE,CAAC;oBAC1B,CAAC,CACJ,CAAC;gBACN,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,2EAA2E;oBAC3E,oCAAoC;gBACxC,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;aAAM,IAAI,IAAI,CAAC,WAAW,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpD,mCAAmC;YACnC,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE;gBAC5B,IAAI,CAAC;oBACD,MAAM,IAAI,CAAC,WAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;wBAC9C,MAAM,aAAa,EAAE,CAAC;oBAC1B,CAAC,CAAC,CAAC;gBACP,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,2EAA2E;gBAC/E,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YACJ,sCAAsC;YACtC,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACxC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,WAAW,CAAC,KAAgB;QAChC,IAAI,KAAK,GAAG,CAAC,CAAC;QAEd,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtB,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACpC,CAAC;iBAAM,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE,CAAC;gBACpC,KAAK,EAAE,CAAC;YACZ,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,KAAgB;QACtC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;QAEpC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtB,yCAAyC;gBACzC,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBAC5C,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;YAChD,CAAC;iBAAM,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE,CAAC;gBACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,IAAI,WAAW,CAAC;gBAC1C,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC5B,CAAC;QACL,CAAC;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAED;;OAEG;IACK,0BAA0B,CAAC,QAAgB;QAC/C,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CACX,kCAAkC,QAAQ,KAAK;gBAC3C,0EAA0E,CACjF,CAAC;QACN,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,WAAW;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,kBAAkB;QACd,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,gBAAgB;QACZ,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO;YACvC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS;YACjD,CAAC,CAAC,CAAC,CAAC;QAER,0BAA0B;QAC1B,MAAM,YAAY,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAEnD,gCAAgC;QAChC,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CACjE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,aAAa,EACjC,CAAC,CACJ,CAAC;QACF,MAAM,kBAAkB,GAAG,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QAEjF,uBAAuB;QACvB,MAAM,WAAW,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAEhD,OAAO;YACH,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ;YAChC,aAAa;YACb,KAAK,EAAE,IAAI,CAAC,cAAc;YAC1B,YAAY;YACZ,kBAAkB;YAClB,WAAW;SACd,CAAC;IACN,CAAC;IAED;;OAEG;IACK,sBAAsB;QAC1B,uBAAuB;QACvB,MAAM,SAAS,GAAG,IAAI,GAAG,EAAoB,CAAC;QAC9C,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YAClC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC1B,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YAC/B,CAAC;YACD,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC;QAED,8BAA8B;QAC9B,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAClC,IAAI,WAAW,GAAa,EAAE,CAAC;QAE/B,MAAM,GAAG,GAAG,CAAC,IAAY,EAAE,IAAc,EAAQ,EAAE;YAC/C,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,OAAO;YAC9B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAElB,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC;YAEhC,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAC3C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxB,gDAAgD;gBAChD,IAAI,OAAO,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC;oBACtC,WAAW,GAAG,OAAO,CAAC;gBAC1B,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;oBAC3B,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBACxB,CAAC;YACL,CAAC;YAED,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC,CAAC;QAEF,wDAAwD;QACxD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAClD,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAClE,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAEvE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAClB,CAAC;QAED,OAAO,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,+BAA+B;IACjE,CAAC;IAED;;OAEG;IACK,oBAAoB;QAKxB,MAAM,WAAW,GAA6B,IAAI,GAAG,EAAE,CAAC;QAExD,wCAAwC;QACxC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YAClC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC5B,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;YACxC,CAAC;YACD,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,CAAC;QAED,kCAAkC;QAClC,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;aAC3C,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE,EAAE,CAAC,CAAC;YAChC,QAAQ;YACR,aAAa,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,aAAa,IAAI,CAAC;YACpE,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC;SACzC,CAAC,CAAC;aACF,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC;aAC7D,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,oBAAoB;QAEtC,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,EAAE,CAA8B,KAAQ,EAAE,OAAuB;QAC7D,OAAO,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,OAAc,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,CAA8B,KAAQ,EAAE,GAAG,IAAgC;QAC3E,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC;IACtC,CAAC;CACJ;AAKD,yBAAyB;AACzB,OAAO,EAAC,SAAS,EAAE,QAAQ,EAAC,MAAM,eAAe,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../index.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../index.test.ts"],"names":[],"mappings":"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"}
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@feasibleone/blong-chain",
3
- "version": "1.5.1",
3
+ "version": "1.6.0",
4
4
  "description": "Parallel testing with automatic dependencies",
5
5
  "keywords": [
6
6
  "blong",
@@ -12,7 +12,8 @@
12
12
  },
13
13
  "type": "module",
14
14
  "exports": {
15
- ".": "./index.ts"
15
+ ".": "./index.ts",
16
+ "./snapshot": "./snapshot.ts"
16
17
  },
17
18
  "scripts": {
18
19
  "build": "heft build --clean",
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Snapshot helper for TAP-based tests.
3
+ *
4
+ * Provides a thin wrapper around `t.matchSnapshot()` that applies flat
5
+ * dot-path masking before comparison, eliminating the need for manual
6
+ * normalisation (e.g. replacing dynamic ports or ULIDs) in every test file.
7
+ *
8
+ * Usage:
9
+ *
10
+ * ```typescript
11
+ * import {snapshot} from '@feasibleone/blong-chain/snapshot';
12
+ *
13
+ * t.test('my test', async t => {
14
+ * const result = await myApiCall();
15
+ * snapshot(t, result, 'my-test', {mask: ['createdAt', 'user.userId']});
16
+ * });
17
+ * ```
18
+ *
19
+ * The `mask` option accepts an array of dot-delimited paths. Each matching
20
+ * leaf value is replaced with the string `'<masked>'` before the snapshot is
21
+ * taken. Glob-style wildcards (`*.field`) are not yet supported.
22
+ */
23
+ /** Minimal interface for a TAP test context (compatible with tap, node:test, etc.) */
24
+ export interface ISnapshotContext {
25
+ matchSnapshot(value: unknown, name?: string): void;
26
+ }
27
+ /** Options accepted by the {@link snapshot} helper */
28
+ export interface ISnapshotOptions {
29
+ /**
30
+ * Dot-delimited paths whose leaf values should be replaced with
31
+ * `'<masked>'` before comparison.
32
+ *
33
+ * Examples:
34
+ * - `'completedAt'` — top-level field
35
+ * - `'user.userId'` — nested field
36
+ * - `'createParty.partyId'` — step-scoped path in a chain context
37
+ */
38
+ mask?: string[];
39
+ }
40
+ /**
41
+ * Take a snapshot of `value` using the TAP test context `t`.
42
+ *
43
+ * Dynamic fields listed in `opts.mask` are replaced with `'<masked>'` so
44
+ * that timestamps, IDs, and other non-deterministic values do not cause false
45
+ * failures on subsequent runs.
46
+ */
47
+ export declare function snapshot(t: ISnapshotContext, value: unknown, name: string, opts?: ISnapshotOptions): void;
48
+ /**
49
+ * Return a deep clone of `value` with the specified dot-path fields replaced
50
+ * by `'<masked>'`.
51
+ *
52
+ * Only JSON-serialisable values are supported (the clone is performed via
53
+ * `JSON.parse(JSON.stringify(value))`).
54
+ */
55
+ export declare function maskPaths(value: unknown, paths: string[]): unknown;
56
+ //# sourceMappingURL=snapshot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../snapshot.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,sFAAsF;AACtF,MAAM,WAAW,gBAAgB;IAC7B,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtD;AAED,sDAAsD;AACtD,MAAM,WAAW,gBAAgB;IAC7B;;;;;;;;OAQG;IACH,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CACpB,CAAC,EAAE,gBAAgB,EACnB,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE,gBAAqB,GAC5B,IAAI,CAGN;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAalE"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * Snapshot helper for TAP-based tests.
3
+ *
4
+ * Provides a thin wrapper around `t.matchSnapshot()` that applies flat
5
+ * dot-path masking before comparison, eliminating the need for manual
6
+ * normalisation (e.g. replacing dynamic ports or ULIDs) in every test file.
7
+ *
8
+ * Usage:
9
+ *
10
+ * ```typescript
11
+ * import {snapshot} from '@feasibleone/blong-chain/snapshot';
12
+ *
13
+ * t.test('my test', async t => {
14
+ * const result = await myApiCall();
15
+ * snapshot(t, result, 'my-test', {mask: ['createdAt', 'user.userId']});
16
+ * });
17
+ * ```
18
+ *
19
+ * The `mask` option accepts an array of dot-delimited paths. Each matching
20
+ * leaf value is replaced with the string `'<masked>'` before the snapshot is
21
+ * taken. Glob-style wildcards (`*.field`) are not yet supported.
22
+ */
23
+ /**
24
+ * Take a snapshot of `value` using the TAP test context `t`.
25
+ *
26
+ * Dynamic fields listed in `opts.mask` are replaced with `'<masked>'` so
27
+ * that timestamps, IDs, and other non-deterministic values do not cause false
28
+ * failures on subsequent runs.
29
+ */
30
+ export function snapshot(t, value, name, opts = {}) {
31
+ const masked = opts.mask?.length ? maskPaths(value, opts.mask) : value;
32
+ t.matchSnapshot(masked, name);
33
+ }
34
+ /**
35
+ * Return a deep clone of `value` with the specified dot-path fields replaced
36
+ * by `'<masked>'`.
37
+ *
38
+ * Only JSON-serialisable values are supported (the clone is performed via
39
+ * `JSON.parse(JSON.stringify(value))`).
40
+ */
41
+ export function maskPaths(value, paths) {
42
+ if (value === null || value === undefined || typeof value !== 'object') {
43
+ return value;
44
+ }
45
+ // Deep clone via JSON round-trip (safe for plain data objects)
46
+ const clone = JSON.parse(JSON.stringify(value));
47
+ for (const path of paths) {
48
+ setAtPath(clone, path.split('.'));
49
+ }
50
+ return clone;
51
+ }
52
+ /** Recursively navigate `obj` along `parts` and replace the leaf with `'<masked>'` */
53
+ function setAtPath(obj, parts) {
54
+ if (typeof obj !== 'object' || obj === null || parts.length === 0)
55
+ return;
56
+ const [head, ...tail] = parts;
57
+ // Skip prototype-polluting keys to prevent prototype chain manipulation
58
+ if (head === '__proto__' || head === 'constructor' || head === 'prototype')
59
+ return;
60
+ const record = obj;
61
+ if (tail.length === 0) {
62
+ if (Object.prototype.hasOwnProperty.call(record, head)) {
63
+ record[head] = '<masked>';
64
+ }
65
+ }
66
+ else {
67
+ setAtPath(record[head], tail);
68
+ }
69
+ }
70
+ //# sourceMappingURL=snapshot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../snapshot.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAqBH;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ,CACpB,CAAmB,EACnB,KAAc,EACd,IAAY,EACZ,OAAyB,EAAE;IAE3B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACvE,CAAC,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAClC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CAAC,KAAc,EAAE,KAAe;IACrD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACrE,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,+DAA+D;IAC/D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAA4B,CAAC;IAE3E,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACvB,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,sFAAsF;AACtF,SAAS,SAAS,CAAC,GAAY,EAAE,KAAe;IAC5C,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAE1E,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC;IAC9B,wEAAwE;IACxE,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,aAAa,IAAI,IAAI,KAAK,WAAW;QAAE,OAAO;IAEnF,MAAM,MAAM,GAAG,GAA8B,CAAC;IAE9C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpB,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;YACrD,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC;QAC9B,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC;AACL,CAAC"}
@@ -285,6 +285,24 @@ export interface ITestExecutorConfig {
285
285
  framework?: unknown;
286
286
  /** Logger instance for reporting step failures */
287
287
  log?: ITestLogger;
288
+ /**
289
+ * Automatic rerun configuration for failing steps (Phase 1).
290
+ *
291
+ * When enabled, a step that throws an error is retried up to `maxRetries`
292
+ * times before being reported as failed. This is useful for flaky tests
293
+ * caused by race conditions or transient network issues.
294
+ *
295
+ * Phase 2 (diagnostic attachment) is not yet implemented.
296
+ */
297
+ rerun?: {
298
+ /** Whether to enable the retry mechanism (default: false) */
299
+ enabled?: boolean;
300
+ /**
301
+ * Maximum number of retry attempts per failing step (default: 1).
302
+ * Set to 0 to detect failures without retrying.
303
+ */
304
+ maxRetries?: number;
305
+ };
288
306
  }
289
307
  /**
290
308
  * Test executor interface
@@ -1 +1 @@
1
- {"version":3,"file":"test-types.d.ts","sourceRoot":"","sources":["../test-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test-types.d.ts","sourceRoot":"","sources":["../test-types.ts"],"names":[],"mappings":"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"}
package/index.ts CHANGED
@@ -369,6 +369,42 @@ function captureSourceLocation(fn: Function): ISourceLocation {
369
369
  /** Default number of retry attempts per failing step when `rerun.enabled` is true */
370
370
  const DEFAULT_MAX_RETRIES = 1;
371
371
 
372
+ // ============================================================================
373
+ // Masking helpers (also used by assert.snapshot and checkpoint snapshots)
374
+ // ============================================================================
375
+
376
+ /**
377
+ * Deep-clone `value` and replace the leaf at each dot-path in `paths` with
378
+ * `'<masked>'`. Supports `'*'` as a wildcard in any path segment, meaning
379
+ * "apply to every direct child of the current object".
380
+ *
381
+ * Examples:
382
+ * maskPaths({id: '1', name: 'A'}, ['id'])
383
+ * → {id: '<masked>', name: 'A'}
384
+ * maskPaths({a: {id: '1'}, b: {id: '2'}}, ['*.id'])
385
+ * → {a: {id: '<masked>'}, b: {id: '<masked>'}}
386
+ */
387
+ function maskPaths(value: unknown, paths: string[]): unknown {
388
+ if (value === null || value === undefined || typeof value !== 'object') return value;
389
+ const clone = JSON.parse(JSON.stringify(value)) as Record<string, unknown>;
390
+ for (const path of paths) setAtPath(clone, path.split('.'));
391
+ return clone;
392
+ }
393
+
394
+ function setAtPath(obj: unknown, parts: string[]): void {
395
+ if (typeof obj !== 'object' || obj === null || parts.length === 0) return;
396
+ const [head, ...tail] = parts;
397
+ if (head === '__proto__' || head === 'constructor' || head === 'prototype') return;
398
+ const record = obj as Record<string, unknown>;
399
+ if (tail.length === 0) {
400
+ if (Object.prototype.hasOwnProperty.call(record, head)) record[head] = '<masked>';
401
+ } else if (head === '*') {
402
+ for (const key of Object.keys(record)) setAtPath(record[key], tail);
403
+ } else {
404
+ setAtPath(record[head], tail);
405
+ }
406
+ }
407
+
372
408
  /**
373
409
  * Main test executor class
374
410
  */
@@ -420,6 +456,9 @@ export class TestExecutor extends EventEmitter {
420
456
  framework: config.framework,
421
457
  log: config.log,
422
458
  rerun: config.rerun,
459
+ mask: config.mask,
460
+ maskFn: config.maskFn,
461
+ autoSnapshot: config.autoSnapshot,
423
462
  };
424
463
  this.log = config.log;
425
464
 
@@ -501,18 +540,71 @@ export class TestExecutor extends EventEmitter {
501
540
  parentTestContext?: unknown,
502
541
  ): Promise<void> {
503
542
  const stepPromises: Promise<void>[] = [];
543
+ const namedPromises = new Map<string, Promise<void>>();
544
+ let checkpointIndex = 0;
504
545
 
505
546
  for (const step of steps) {
506
547
  if (Array.isArray(step)) {
507
- // Check if it's an empty array (checkpoint)
548
+ // Distinguish by element type:
549
+ // [] empty array → sync barrier (existing behaviour)
550
+ // ['*'] / ['s1','s2'] → snapshot checkpoint (new)
551
+ // [fn, ...] nested → nested step group (existing behaviour)
508
552
  if (step.length === 0) {
509
- // Checkpoint: wait for all parallel steps to complete before continuing
553
+ // Sync barrier — wait for all parallel steps in this batch
510
554
  await Promise.all(stepPromises);
511
555
  stepPromises.length = 0;
512
556
  continue;
513
557
  }
514
558
 
515
- // Nested array - wait for current level to complete first
559
+ if (step.every(s => typeof s === 'string')) {
560
+ // Snapshot checkpoint: await relevant steps, then snapshot
561
+ const checkpoint = step as unknown as string[];
562
+
563
+ if (checkpoint.length === 1 && checkpoint[0] === '*') {
564
+ // ['*'] — wait for entire current batch
565
+ await Promise.all(stepPromises);
566
+ stepPromises.length = 0;
567
+ } else {
568
+ // ['step1','step2'] — wait only for the named steps
569
+ const namedToWait = checkpoint
570
+ .map(name => namedPromises.get(name))
571
+ .filter((p): p is Promise<void> => p !== undefined);
572
+ await Promise.all(namedToWait);
573
+ // stepPromises is NOT cleared — other steps keep running
574
+ }
575
+ const cpName =
576
+ (checkpoint as {name?: string}).name ??
577
+ (checkpoint.length === 1 && checkpoint[0] === '*'
578
+ ? `context`
579
+ : checkpoint.join('-'));
580
+ // Disambiguate when the same name is used more than once
581
+ const snapshotName = checkpointIndex === 0 ? cpName : `${cpName}-${checkpointIndex}`;
582
+ checkpointIndex++;
583
+
584
+ const stepsToSnapshot =
585
+ checkpoint.length === 1 && checkpoint[0] === '*'
586
+ ? [...this.progress.steps.entries()]
587
+ .filter(([, s]) => s.status === 'completed')
588
+ .map(([name]) => name)
589
+ : checkpoint.filter(name =>
590
+ Object.prototype.hasOwnProperty.call(this.realContext, name),
591
+ );
592
+
593
+ const contextSnapshot = Object.fromEntries(
594
+ stepsToSnapshot.map(name => [name, this._applyMask(this.realContext[name])]),
595
+ );
596
+
597
+ const snapshotTarget = parentTestContext;
598
+ if (
599
+ snapshotTarget &&
600
+ typeof (snapshotTarget as any).matchSnapshot === 'function'
601
+ ) {
602
+ (snapshotTarget as any).matchSnapshot(contextSnapshot, snapshotName);
603
+ }
604
+ continue;
605
+ }
606
+
607
+ // Nested step group — wait for current batch first
516
608
  await Promise.all(stepPromises);
517
609
  stepPromises.length = 0;
518
610
 
@@ -541,7 +633,9 @@ export class TestExecutor extends EventEmitter {
541
633
  } else if (typeof step === 'function') {
542
634
  // Execute function step in parallel
543
635
  const promise = this._executeStep(step, groupPath, parentTestContext);
636
+ const stepName = step.name || 'anonymous';
544
637
  stepPromises.push(promise);
638
+ namedPromises.set(stepName, promise);
545
639
  }
546
640
  }
547
641
 
@@ -599,7 +693,56 @@ export class TestExecutor extends EventEmitter {
599
693
  this.latencyMetrics.set(stepName, latency);
600
694
 
601
695
  // Wrap execution function for potential test context wrapping
602
- const executeStepFn = async () => {
696
+ // When a TAP sub-test context is supplied, assert is augmented with:
697
+ // assert.snapshot(value, 'name', opts?) — explicit snapshot
698
+ // assert.snapshot({mask?: []}) — deferred: snapshot the
699
+ // step's return value
700
+ // assert.snapshot() — deferred, no extra mask
701
+ // Deferred snapshots are taken after fn() returns, under the step name.
702
+ const self = this;
703
+ const executeStepFn = async (stepTestContext?: unknown) => {
704
+ const hasSnapshotTarget =
705
+ stepTestContext !== undefined &&
706
+ typeof (stepTestContext as Record<string, unknown>).matchSnapshot === 'function';
707
+
708
+ // Tracks a deferred assert.snapshot() call made inside the step.
709
+ const snapshotRequest: {deferred?: {mask?: string[]}} = {};
710
+
711
+ const stepAssert = hasSnapshotTarget
712
+ ? new Proxy(assert, {
713
+ get(target, prop) {
714
+ if (prop === 'matchSnapshot')
715
+ return (stepTestContext as any).matchSnapshot;
716
+ if (prop === 'snapshot')
717
+ return (
718
+ valueOrOpts?: unknown,
719
+ nameOrNothing?: unknown,
720
+ opts?: {mask?: string[]},
721
+ ) => {
722
+ if (typeof nameOrNothing === 'string') {
723
+ // Explicit: assert.snapshot(value, 'name', opts?)
724
+ if (!valueOrOpts)
725
+ throw new assert.AssertionError({
726
+ message: `snapshot "${nameOrNothing}": value is falsy`,
727
+ });
728
+ const masked = self._applyMask(valueOrOpts, opts?.mask);
729
+ (stepTestContext as any).matchSnapshot(masked, nameOrNothing);
730
+ } else {
731
+ // Deferred: assert.snapshot() or assert.snapshot({mask})
732
+ const deferOpts =
733
+ typeof valueOrOpts === 'object' &&
734
+ valueOrOpts !== null &&
735
+ !Array.isArray(valueOrOpts)
736
+ ? (valueOrOpts as {mask?: string[]})
737
+ : {};
738
+ snapshotRequest.deferred = {mask: deferOpts.mask};
739
+ }
740
+ };
741
+ return (target as unknown as Record<string, unknown>)[prop as string];
742
+ },
743
+ })
744
+ : assert;
745
+
603
746
  latency.startedAt = Date.now();
604
747
  latency.queueTime = latency.startedAt - latency.queuedAt;
605
748
 
@@ -626,8 +769,10 @@ export class TestExecutor extends EventEmitter {
626
769
  let lastError: Error | undefined;
627
770
 
628
771
  for (let attempt = 0; attempt <= maxRetries; attempt++) {
772
+ // Reset per-attempt deferred snapshot flag
773
+ delete snapshotRequest.deferred;
629
774
  try {
630
- result = await fn(assert, context);
775
+ result = await fn(stepAssert, context);
631
776
  lastError = undefined;
632
777
  break;
633
778
  } catch (err) {
@@ -645,6 +790,24 @@ export class TestExecutor extends EventEmitter {
645
790
  throw lastError;
646
791
  }
647
792
 
793
+ // Handle deferred assert.snapshot() — called inside step with no explicit value
794
+ if (snapshotRequest.deferred !== undefined && hasSnapshotTarget) {
795
+ if (!result)
796
+ throw new assert.AssertionError({
797
+ message: `snapshot "${stepName}": step returned a falsy value`,
798
+ });
799
+ const masked = self._applyMask(result, snapshotRequest.deferred.mask);
800
+ (stepTestContext as any).matchSnapshot(masked, stepName);
801
+ } else if (self.config.autoSnapshot && hasSnapshotTarget) {
802
+ // Auto-snapshot: capture result automatically, no assert.snapshot() needed
803
+ if (!result)
804
+ throw new assert.AssertionError({
805
+ message: `snapshot "${stepName}": step returned a falsy value`,
806
+ });
807
+ const masked = self._applyMask(result);
808
+ (stepTestContext as any).matchSnapshot(masked, stepName);
809
+ }
810
+
648
811
  // Store result in real context
649
812
  this.realContext[stepName] = result;
650
813
 
@@ -714,8 +877,8 @@ export class TestExecutor extends EventEmitter {
714
877
  await (this.testContext!.test as any).call(
715
878
  parentTestContext,
716
879
  stepName,
717
- async () => {
718
- await executeStepFn();
880
+ async (stepT: unknown) => {
881
+ await executeStepFn(stepT);
719
882
  },
720
883
  );
721
884
  } catch (error) {
@@ -727,8 +890,8 @@ export class TestExecutor extends EventEmitter {
727
890
  // Top-level step with test context
728
891
  await this.queue.add(async () => {
729
892
  try {
730
- await this.testContext!.test(stepName, async () => {
731
- await executeStepFn();
893
+ await this.testContext!.test(stepName, async (stepT: unknown) => {
894
+ await executeStepFn(stepT);
732
895
  });
733
896
  } catch (error) {
734
897
  // Error already handled in executeStepFn, don't rethrow to break the queue
@@ -748,7 +911,7 @@ export class TestExecutor extends EventEmitter {
748
911
 
749
912
  for (const step of steps) {
750
913
  if (Array.isArray(step)) {
751
- count += this._countSteps(step);
914
+ count += this._countSteps(step as StepArray);
752
915
  } else if (typeof step === 'function') {
753
916
  count++;
754
917
  }
@@ -765,8 +928,10 @@ export class TestExecutor extends EventEmitter {
765
928
 
766
929
  for (const step of steps) {
767
930
  if (Array.isArray(step)) {
768
- // Recursively collect from nested arrays
769
- const nested = this._collectStepNames(step);
931
+ // Skip checkpoint markers (string-only arrays) — they are not steps
932
+ if (step.every(s => typeof s === 'string')) continue;
933
+ // Recursively collect from nested step groups
934
+ const nested = this._collectStepNames(step as StepArray);
770
935
  nested.forEach(name => stepNames.add(name));
771
936
  } else if (typeof step === 'function') {
772
937
  const stepName = step.name || 'anonymous';
@@ -790,6 +955,18 @@ export class TestExecutor extends EventEmitter {
790
955
  this.stepNamesUsed.add(stepName);
791
956
  }
792
957
 
958
+ /**
959
+ * Applies the chain-level `mask` (and optional per-call `extraPaths`) to
960
+ * `value`. Returns the original reference unchanged when no masking is
961
+ * configured. Falls back to the deprecated `maskFn` when supplied.
962
+ */
963
+ private _applyMask(value: unknown, extraPaths?: string[]): unknown {
964
+ const paths = [...(this.config.mask ?? []), ...(extraPaths ?? [])];
965
+ if (!paths.length && !this.config.maskFn) return value;
966
+ if (this.config.maskFn) return this.config.maskFn(value, paths);
967
+ return maskPaths(value, paths);
968
+ }
969
+
793
970
  /**
794
971
  * Gets the current progress snapshot
795
972
  */
@@ -930,7 +1107,3 @@ export class TestExecutor extends EventEmitter {
930
1107
 
931
1108
  // Export all types
932
1109
  export type * from './test-types.js';
933
-
934
- // Export snapshot helper
935
- export {maskPaths, snapshot} from './snapshot.js';
936
- export type {ISnapshotContext, ISnapshotOptions} from './snapshot.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@feasibleone/blong-chain",
3
- "version": "1.6.0",
3
+ "version": "1.7.0",
4
4
  "description": "Parallel testing with automatic dependencies",
5
5
  "keywords": [
6
6
  "blong",
@@ -12,8 +12,7 @@
12
12
  },
13
13
  "type": "module",
14
14
  "exports": {
15
- ".": "./index.ts",
16
- "./snapshot": "./snapshot.ts"
15
+ ".": "./index.ts"
17
16
  },
18
17
  "dependencies": {
19
18
  "p-queue": "^9.1.0"
package/test-types.ts CHANGED
@@ -40,9 +40,26 @@ export interface ITestContext {
40
40
  export type StepFunction = (assert: unknown, context: ITestContext) => unknown | Promise<unknown>;
41
41
 
42
42
  /**
43
- * Array of test steps that can be nested for sequential execution
43
+ * A snapshot checkpoint an array of step-name strings placed inside the
44
+ * steps array. At runtime, when the executor encounters it the current batch
45
+ * is awaited and the listed step results are snapshotted into the TAP context.
46
+ *
47
+ * - `['*']` — snapshot ALL completed steps' results into one context object
48
+ * - `['step1', 'step2']` — snapshot only those specific steps
49
+ * - `[]` — sync barrier only, no snapshot (existing behaviour)
50
+ *
51
+ * The array may carry an optional `.name` to give the snapshot a stable name:
52
+ * ```
53
+ * const cp = Object.assign(['*'], {name: 'provisioning-complete'});
54
+ * ```
44
55
  */
45
- export type StepArray = (StepFunction | StepArray)[] & {name?: string};
56
+ export type CheckpointMarker = string[] & {name?: string};
57
+
58
+ /**
59
+ * Array of test steps. May contain step functions, nested step groups, or
60
+ * checkpoint markers (string arrays).
61
+ */
62
+ export type StepArray = (StepFunction | StepArray | CheckpointMarker)[] & {name?: string};
46
63
 
47
64
  /**
48
65
  * Meta information passed through test execution
@@ -340,6 +357,35 @@ export interface ITestExecutorConfig {
340
357
  framework?: unknown;
341
358
  /** Logger instance for reporting step failures */
342
359
  log?: ITestLogger;
360
+ /**
361
+ * Chain-level mask paths. Applied to ALL snapshot operations in this chain:
362
+ * `autoSnapshot`, `assert.snapshot()`, and checkpoint snapshots.
363
+ *
364
+ * Supports:
365
+ * - Simple name: `'id'` — masks the `id` field in the snapshotted value
366
+ * - Dot-path: `'user.id'` — masks a nested field
367
+ * - Wildcard prefix: `'*.id'` — masks `id` inside every direct child of the
368
+ * snapshotted object (useful for context-level snapshots where each child
369
+ * is a step result)
370
+ *
371
+ * Per-call `{mask: [...]}` options are merged on top of this chain-level mask.
372
+ */
373
+ mask?: string[];
374
+ /**
375
+ * When `true`, automatically snapshot every step's return value under the
376
+ * step's function name after it completes. The chain-level `mask` is applied
377
+ * before snapshotting. No `assert.snapshot()` calls are needed in step
378
+ * functions — the framework captures everything automatically.
379
+ *
380
+ * Requires a TAP (or compatible) test context to be passed to `execute()`.
381
+ */
382
+ autoSnapshot?: boolean;
383
+ /**
384
+ * @deprecated Use `mask` (string array) instead.
385
+ * Custom masking function for advanced scenarios not covered by `mask`.
386
+ * When both are provided, `maskFn` is used and `mask` is passed to it.
387
+ */
388
+ maskFn?: (value: unknown, paths: string[]) => unknown;
343
389
  /**
344
390
  * Automatic rerun configuration for failing steps (Phase 1).
345
391
  *