@forgehive/task 0.2.2 → 0.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -160,6 +160,9 @@ export declare const Task: {
160
160
  }>;
161
161
  _sendToHive(log: ExecutionRecord<Parameters<Func>[0], ReturnType<Func>, B>): Promise<void>;
162
162
  };
163
+ globalListener?: (record: ExecutionRecord<any, any, any>) => Promise<void>;
164
+ listenExecutionRecords(listener: (record: ExecutionRecord<any, any, any>) => Promise<void>): void;
165
+ emitExecutionRecord(record: ExecutionRecord<any, any, any>): void;
163
166
  };
164
167
  /**
165
168
  * Configuration object for creating a task
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -19,6 +19,28 @@ function getExecutionRecordType(record) {
19
19
  return 'pending';
20
20
  }
21
21
  const Task = class Task {
22
+ // Static method to set global listener
23
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
24
+ static listenExecutionRecords(listener) {
25
+ this.globalListener = listener;
26
+ }
27
+ // Static method to emit to global listener with error handling
28
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
29
+ static emitExecutionRecord(record) {
30
+ if (this.globalListener) {
31
+ // Call listener on next tick to avoid blocking task execution
32
+ process.nextTick(async () => {
33
+ try {
34
+ await this.globalListener(record);
35
+ }
36
+ catch (error) {
37
+ // Log error but don't affect task execution
38
+ // eslint-disable-next-line no-console
39
+ console.error('ExecutionRecord listener error:', error);
40
+ }
41
+ });
42
+ }
43
+ }
22
44
  constructor(fn, conf = {
23
45
  name: undefined,
24
46
  description: undefined,
@@ -28,7 +50,7 @@ const Task = class Task {
28
50
  boundariesData: undefined
29
51
  }) {
30
52
  var _a, _b, _c;
31
- this.version = '0.1.7';
53
+ this.version = '0.1.8';
32
54
  this._accumulatedBoundariesData = {};
33
55
  // For storing mocks
34
56
  this._boundaryMocks = {};
@@ -171,10 +193,12 @@ const Task = class Task {
171
193
  Plus all the boundary data
172
194
  */
173
195
  emit(data) {
174
- if (typeof this._listener === 'undefined') {
175
- return;
196
+ // Emit to instance listener
197
+ if (typeof this._listener !== 'undefined') {
198
+ this._listener(data);
176
199
  }
177
- this._listener(data);
200
+ // Emit to global listener (non-blocking)
201
+ Task.emitExecutionRecord(data);
178
202
  }
179
203
  getBoundaries() {
180
204
  // Create fresh boundaries when requested
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AA8JA,wDAUC;AAytBD,gCAmBC;AAp5BD,8CAAqG;AAkC5F,uFAlCA,eAAM,OAkCA;AAjCf,+CAQyB;AAkJzB;;GAEG;AACH,SAAgB,sBAAsB,CACpC,MAA+D;IAE/D,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;QACxD,OAAO,OAAO,CAAA;IAChB,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QAC1D,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAEM,MAAM,IAAI,GAAG,MAAM,IAAI;IAsB5B,YAAa,EAAQ,EAAE,OAAsB;QAC3C,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,SAAS;QACtB,MAAM,EAAE,SAAS;QACjB,IAAI,EAAE,OAAO;QACb,UAAU,EAAE,SAAS;QACrB,cAAc,EAAE,SAAS;KAC1B;;QAzBM,YAAO,GAAW,OAAO,CAAA;QAUhC,+BAA0B,GAAiC,EAAE,CAAA;QAE7D,oBAAoB;QACpB,mBAAc,GAA4C,EAAE,CAAA;QA2gB5D,YAAO,GAAG,KAAK,EAAE,KAAc,EAAE,QAAkB,EAGhD,EAAE;;YACH,MAAM,SAAS,GAAG,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAA;YAE7F,yBAAyB;YACzB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;gBACpD,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;oBACxB,MAAM,YAAY,GAAG,MAAA,UAAU,CAAC,KAAK,0CAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CACtD,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,OAAO,EAAE,EACvC,IAAI,CAAC,IAAI,CAAC,CAAA;oBAEZ,MAAM,YAAY,GAAG,YAAY;wBAC/B,CAAC,CAAC,qBAAqB,YAAY,EAAE;wBACrC,CAAC,CAAC,eAAe,CAAA;oBAEnB,OAAO;wBACL,UAAU,EAAE,GAAG;wBACf,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,KAAK,EAAE,YAAY;4BACnB,OAAO,EAAE,MAAA,UAAU,CAAC,KAAK,0CAAE,MAAM;yBAClC,CAAC;qBACH,CAAA;gBACH,CAAC;YACH,CAAC;YAED,IAAI,CAAC;gBACH,iCAAiC;gBACjC,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;gBAE3D,4CAA4C;gBAC5C,GAAG,CAAC,QAAQ,mCACP,GAAG,CAAC,QAAQ,KACf,WAAW,EAAE,aAAa,GAC3B,CAAA;gBAED,wDAAwD;gBACxD,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;gBAE3B,IAAI,KAAK,EAAE,CAAC;oBACV,OAAO;wBACL,UAAU,EAAE,GAAG;wBACf,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,KAAK,EAAE,KAAK,CAAC,OAAO;4BACpB,KAAK,EAAE,KAAK,CAAC,KAAK;yBACnB,CAAC;qBACH,CAAA;gBACH,CAAC;gBAED,OAAO;oBACL,UAAU,EAAE,GAAG;oBACf,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;iBAC9B,CAAA;YACH,CAAC;YAAC,OAAO,CAAU,EAAE,CAAC;gBACpB,MAAM,KAAK,GAAG,CAAU,CAAA;gBAExB,OAAO;oBACL,UAAU,EAAE,GAAG;oBACf,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;wBAC/D,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;qBACxD,CAAC;iBACH,CAAA;YACH,CAAC;QACH,CAAC,CAAA;QAhkBC,IAAI,CAAC,GAAG,GAAG,EAAE,CAAA;QACb,IAAI,CAAC,OAAO,GAAG,SAAS,CAAA;QACxB,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YACvC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAA;QAC5B,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,MAAA,IAAI,CAAC,IAAI,mCAAI,OAAO,CAAA;QACjC,IAAI,CAAC,qBAAqB,GAAG,MAAA,IAAI,CAAC,UAAU,mCAAI,EAAO,CAAA;QAEvD,uCAAuC;QACvC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAA;QACtB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAA;QAEpC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAE1B,0DAA0D;QAC1D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;QAErB,6BAA6B;QAC7B,IAAI,CAAC,eAAe,GAAG,MAAA,IAAI,CAAC,cAAc,mCAAI,IAAI,CAAA;QAElD,yDAAyD;QACzD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC9C,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;QAC5C,CAAC;QAED,sEAAsE;QACtE,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,+CAA+C;YAC/C,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBACxC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;oBAC9C,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAiB,CAAA;gBACpF,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;gBAC5C,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAA;IACnB,CAAC;IAED,OAAO,CAAC,IAAY;QAClB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;IACnB,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAA;IACnB,CAAC;IAED,OAAO,CAAE,IAAU;QACjB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;IACnB,CAAC;IAED,SAAS,CAAE,MAA0C;QACnD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;IACvB,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IAED,cAAc,CAAC,WAAmB;QAChC,IAAI,CAAC,YAAY,GAAG,WAAW,CAAA;IACjC,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,YAAY,CAAA;IAC1B,CAAC;IAED,QAAQ;;QACN,OAAO,MAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,QAAQ,EAAE,mCAAI,EAAE,CAAA;IACvC,CAAC;IAED,QAAQ,CAA0D,IAAQ;QACxE,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;YACxC,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QAE3C,OAAO,MAAM,CAAA;IACf,CAAC;IAED,OAAO,CAA0D,IAAQ;;QACvE,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;YACxC,OAAO,IAAI,CAAA;QACb,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QAC3C,OAAO,MAAA,MAAM,CAAC,OAAO,mCAAI,KAAK,CAAA;IAChC,CAAC;IAED,8EAA8E;IAC9E,WAAW,CAAgD,EAA8C;QACvG,IAAI,CAAC,SAAS,GAAG,EAAiF,CAAA;IACpG,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC5B,CAAC;IAED;;;MAGE;IACF,IAAI,CAAE,IAA+D;QACnE,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE,CAAC;YAAC,OAAM;QAAC,CAAC;QAErD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IACtB,CAAC;IAED,aAAa;QACX,yCAAyC;QACzC,OAAO,IAAI,CAAC,iBAAiB,CAAC;YAC5B,UAAU,EAAE,IAAI,CAAC,qBAAqB;YACtC,QAAQ,EAAE,IAAI,CAAC,eAAe;YAC9B,IAAI,EAAE,IAAI,CAAC,KAAK;SACjB,CAAC,CAAA;IACJ,CAAC;IAED,iBAAiB,CAAE,cAAgC;QACjD,IAAI,CAAC,eAAe,GAAG,cAAc,CAAA;QAErC,kCAAkC;QAClC,gDAAgD;QAChD,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;YAClC,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;gBACxC,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,IAAI,CAAiB,CAAA;YAC9E,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;YAC5C,CAAC;QACH,CAAC;IACH,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,0BAA0B,CAAA;IACxC,CAAC;IAED;;;;OAIG;IACH,YAAY,CAAoB,IAAO,EAAE,MAA+B;QACtE,IAAI,CAAC,cAAc,CAAC,IAAc,CAAC,GAAG,MAAM,CAAA;IAC9C,CAAC;IAED;;;OAGG;IACH,SAAS,CAAoB,IAAO;QAClC,IAAI,IAAI,CAAC,cAAc,CAAC,IAAc,CAAC,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC,cAAc,CAAC,IAAc,CAAC,CAAA;QAC5C,CAAC;IACH,CAAC;IAED;;OAEG;IACH,UAAU;QACR,IAAI,CAAC,cAAc,GAAG,EAAE,CAAA;IAC1B,CAAC;IAED;;;;;;;;OAQG;IACH,0BAA0B,CAAC,QAAgC;QACzD,OAAO;YACL,qEAAqE;YACrE,WAAW,EAAE,IAAA,yBAAc,EAAC,KAAK,EAAE,GAAG,IAAe,EAAiB,EAAE;gBACtE,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,IAAwB,CAAA;gBAC7C,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;YACvB,CAAC,CAAC;YAEF,iDAAiD;YACjD,oFAAoF;SACrF,CAAA;IACH,CAAC;IAED,iBAAiB,CAAE,EACjB,UAAU,EACV,QAAQ,EACR,IAAI,GAAG,OAAO,EACd,aAAa,GAAG,EAAE,EAMnB;QACC,MAAM,aAAa,GAA4C,EAAE,CAAA;QAEjE,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,2DAA2D;YAC3D,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,IAAI,CAAA;YAEhD,4CAA4C;YAC5C,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC9B,aAAa,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;gBAC/C,SAAQ;YACV,CAAC;YAED,sBAAsB;YACtB,MAAM,QAAQ,GAAG,IAAA,yBAAc,EAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAA;YAEjD,IAAI,QAAQ,KAAK,IAAI,IAAI,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,WAAW,EAAE,CAAC;gBAC/D,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAqH,CAAA;gBACvJ,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;YAChC,CAAC;YAED,sCAAsC;YACtC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;YAE9B,aAAa,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAA;QAChC,CAAC;QAED,OAAO,aAAqC,CAAA;IAC9C,CAAC;IAED,UAAU;QACR,OAAO,KAAK,EAAE,IAAyB,EAA6B,EAAE;YACpE,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAC7B,CAAC,CAAA;IACH,CAAC;IAED,KAAK,CAAC,OAAO,CAAE,IAA0B;;QAKvC,2EAA2E;QAC3E,gFAAgF;QAChF,MAAM,QAAQ,GAAG,EAA4B,CAAA;QAE7C,+CAA+C;QAC/C,MAAM,WAAW,GAAG;YAClB,KAAK,EAAE,IAA2B;YAClC,UAAU,EAAE,EAAwB;YACpC,QAAQ,EAAE,IAAI,CAAC,KAAK;YACpB,QAAQ,EAAE,QAAQ,IAAI,EAAE;SACzB,CAAA;QAED,yCAAyC;QACzC,MAAM,OAAO,mCACR,WAAW,KACd,IAAI,EAAE,sBAAsB,CAAC,WAAW,CAAC,GAC1C,CAAA;QAED,6CAA6C;QAC7C,MAAM,mBAAmB,GAAG,IAAI,CAAC,iBAAiB,CAAC;YACjD,UAAU,EAAE,IAAI,CAAC,qBAAqB;YACtC,QAAQ,EAAE,IAAI,CAAC,eAAe;YAC9B,IAAI,EAAE,IAAI,CAAC,KAAK;SACjB,CAAC,CAAA;QAEF,oEAAoE;QACpE,MAAM,yBAAyB,GAAG,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAA;QAC3E,MAAM,aAAa,mCACd,mBAAmB,GACnB,yBAAyB,CAC7B,CAAA;QAED,8BAA8B;QAC9B,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;YACjC,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,CAAA;YACpC,QAAQ,CAAC,QAAQ,EAAE,CAAA;QACrB,CAAC;QAED,2BAA2B;QAC3B,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;YAC/C,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;gBACxB,MAAM,YAAY,GAAG,MAAA,UAAU,CAAC,KAAK,0CAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CACtD,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,OAAO,EAAE,EACvC,IAAI,CAAC,IAAI,CAAC,CAAA;gBAEZ,MAAM,YAAY,GAAG,YAAY;oBAC/B,CAAC,CAAC,qBAAqB,YAAY,EAAE;oBACrC,CAAC,CAAC,eAAe,CAAA;gBAEnB,OAAO,CAAC,KAAK,GAAG,YAAY,CAAA;gBAC5B,OAAO,CAAC,IAAI,GAAG,OAAO,CAAA;gBACtB,OAAO,CAAC,UAAU,GAAG,EAAwB,CAAA;gBAE7C,8BAA8B;gBAC9B,KAAK,MAAM,IAAI,IAAI,mBAAmB,EAAE,CAAC;oBACvC,OAAO,CAAC,UAAU,CAAC,IAAe,CAAC,GAAG,EAAgD,CAAA;gBACxF,CAAC;gBAED,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBAClB,OAAO,CAAC,IAAI,EAAE,IAAI,KAAK,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,CAAA;YACjD,CAAC;QACH,CAAC;QAED,IAAI,MAAM,GAAqC,IAAI,CAAA;QACnD,IAAI,KAAK,GAAiB,IAAI,CAAA;QAE9B,IAAI,CAAC;YACH,4BAA4B;YAC5B,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CACrB,IAA2B,EAC3B,aAA+C,CAChD,CAAA;YAED,OAAO,CAAC,MAAM,GAAG,MAAM,CAAA;YACvB,OAAO,CAAC,IAAI,GAAG,SAAS,CAAA;QAC1B,CAAC;QAAC,OAAO,WAAW,EAAE,CAAC;YACrB,MAAM,YAAY,GAAG,WAAW,YAAY,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;YAC7F,OAAO,CAAC,KAAK,GAAG,YAAY,CAAA;YAC5B,OAAO,CAAC,IAAI,GAAG,OAAO,CAAA;YACtB,KAAK,GAAG,IAAI,KAAK,CAAC,YAAY,CAAC,CAAA;QACjC,CAAC;QAED,uEAAuE;QACvE,MAAM,gBAAgB,GAAuB,EAAwB,CAAA;QAErE,KAAK,MAAM,IAAI,IAAI,mBAAmB,EAAE,CAAC;YACvC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAA;YAC1C,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,EAAE,CAAA;YAErC,qBAAqB;YACrB,gBAAgB,CAAC,IAAe,CAAC,GAAG,OAAqD,CAAA;YAEzF,iDAAiD;YACjD,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3C,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;YAC5C,CAAC;YAED,qDAAqD;YACrD,MAAM,WAAW,GAAG,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAA;YAEzD,uBAAuB;YACvB,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjD,wCAAwC;gBACxC,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,WAAW,EAAE,GAAI,OAAwB,CAAC,CAAA;YACxF,CAAC;QACH,CAAC;QAED,mGAAmG;QACnG,iHAAiH;QAEjH,6CAA6C;QAC7C,OAAO,CAAC,UAAU,GAAG,gBAAgB,CAAA;QAErC,oBAAoB;QACpB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAElB,wCAAwC;QACxC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;IACjC,CAAC;IAED,KAAK,CAAC,UAAU,CACd,YAAuE,EACvE,SAA0B;QACxB,UAAU,EAAE,EAAE;KACf;;QAMD,2CAA2C;QAC3C,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAA;QAE/B,+DAA+D;QAC/D,MAAM,WAAW,GAAG;YAClB,KAAK,EAAE,IAAI;YACX,UAAU,EAAE,EAAwB;YACpC,QAAQ,EAAE,IAAI,CAAC,KAAK;YACpB,QAAQ,EAAE,YAAY,CAAC,QAAQ,IAAI,EAAE;SACtC,CAAA;QAED,yCAAyC;QACzC,MAAM,OAAO,mCACR,WAAW,KACd,IAAI,EAAE,sBAAsB,CAAC,WAAW,CAAC,GAC1C,CAAA;QAED,gFAAgF;QAChF,MAAM,gBAAgB,GAAqB,EAAE,CAAA;QAE7C,iDAAiD;QACjD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC9C,uDAAuD;YACvD,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,OAAO,CAAA;YAE/C,IAAI,IAAI,KAAK,QAAQ,IAAI,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvD,2DAA2D;gBAC3D,gBAAgB,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;YACxD,CAAC;QACH,CAAC;QAED,6CAA6C;QAC7C,MAAM,mBAAmB,GAAG,IAAI,CAAC,iBAAiB,CAAC;YACjD,UAAU,EAAE,IAAI,CAAC,qBAAqB;YACtC,QAAQ,EAAE,gBAAgB;YAC1B,IAAI,EAAE,OAAO;YACb,aAAa,EAAE,MAAM,CAAC,UAAU;SACjC,CAAC,CAAA;QAEF,oEAAoE;QACpE,6DAA6D;QAC7D,MAAM,cAAc,qBAAQ,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAE,CAAA;QACtD,MAAM,yBAAyB,GAAG,IAAI,CAAC,0BAA0B,CAAC,cAAc,CAAC,CAAA;QACjF,MAAM,aAAa,mCACd,mBAAmB,GACnB,yBAAyB,CAC7B,CAAA;QAED,8BAA8B;QAC9B,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;YACjC,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,CAAA;YACpC,QAAQ,CAAC,QAAQ,EAAE,CAAA;QACrB,CAAC;QAED,sEAAsE;QACtE,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;YAC/C,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;gBACxB,MAAM,YAAY,GAAG,MAAA,UAAU,CAAC,KAAK,0CAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CACtD,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,OAAO,EAAE,EACvC,IAAI,CAAC,IAAI,CAAC,CAAA;gBAEZ,MAAM,YAAY,GAAG,YAAY;oBAC/B,CAAC,CAAC,qBAAqB,YAAY,EAAE;oBACrC,CAAC,CAAC,eAAe,CAAA;gBAEnB,OAAO,CAAC,KAAK,GAAG,YAAY,CAAA;gBAC5B,OAAO,CAAC,IAAI,GAAG,OAAO,CAAA;gBACtB,OAAO,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,CAAA,CAAC,2BAA2B;gBAEhE,gDAAgD;gBAChD,OAAO,CAAC,UAAU,GAAG,YAAY,CAAC,UAAU,CAAA;gBAE5C,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBAClB,OAAO,CAAC,IAAI,EAAE,IAAI,KAAK,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,CAAA;YACjD,CAAC;QACH,CAAC;QAED,IAAI,MAAM,GAAqC,IAAI,CAAA;QACnD,IAAI,KAAK,GAAiB,IAAI,CAAA;QAE9B,IAAI,CAAC;YACH,mDAAmD;YACnD,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CACrB,IAAI,EACJ,aAA+C,CAChD,CAAA;YAED,OAAO,CAAC,MAAM,GAAG,MAAM,CAAA;YACvB,OAAO,CAAC,IAAI,GAAG,SAAS,CAAA;QAC1B,CAAC;QAAC,OAAO,WAAW,EAAE,CAAC;YACrB,MAAM,YAAY,GAAG,WAAW,YAAY,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;YAC7F,OAAO,CAAC,KAAK,GAAG,YAAY,CAAA;YAC5B,OAAO,CAAC,IAAI,GAAG,OAAO,CAAA;YACtB,KAAK,GAAG,IAAI,KAAK,CAAC,YAAY,CAAC,CAAA;QACjC,CAAC;QAED,wCAAwC;QACxC,MAAM,gBAAgB,GAAuB,EAAwB,CAAA;QAErE,KAAK,MAAM,IAAI,IAAI,mBAAmB,EAAE,CAAC;YACvC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAA;YAC1C,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,EAAE,CAAA;YAErC,mEAAmE;YACnE,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,OAAO,CAAA;YAC/C,IAAI,IAAI,KAAK,QAAQ,IAAI,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvD,gBAAgB,CAAC,IAAe,CAAC,GAAG,YAAY,CAAC,UAAU,CAAC,IAAe,CAAC,CAAA;YAC9E,CAAC;iBAAM,CAAC;gBACN,2CAA2C;gBAC3C,gBAAgB,CAAC,IAAe,CAAC,GAAG,OAAqD,CAAA;YAC3F,CAAC;QACH,CAAC;QAED,mGAAmG;QACnG,iHAAiH;QAEjH,6CAA6C;QAC7C,OAAO,CAAC,UAAU,GAAG,gBAAgB,CAAA;QAErC,+DAA+D;QAC/D,OAAO,CAAC,QAAQ,GAAG,cAAc,CAAA;QAEjC,oBAAoB;QACpB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAElB,yCAAyC;QACzC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;IACjC,CAAC;IAED,KAAK,CAAC,GAAG,CAAE,IAA0B;QACnC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QAEhD,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,KAAK,CAAA;QACb,CAAC;QAED,OAAO,MAA0B,CAAA;IACnC,CAAC;IAsED,KAAK,CAAC,WAAW,CAAC,GAA8D;QAC9E,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAA;QACvC,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAA;QAC7C,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAA;QAClC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAA;QAGjD,mDAAmD;QACnD,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACnD,sCAAsC;YACtC,OAAO,CAAC,GAAG,CAAC,oDAAoD,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAA;YAC3G,OAAM;QACR,CAAC;QAED,sCAAsC;QACtC,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAA;QAExC,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YACnC,IAAI,CAAC;gBACH,8DAA8D;gBAC9D,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;gBAC9B,8DAA8D;gBAC9D,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;gBAC5B,8DAA8D;gBAC9D,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAA;gBAE1B,MAAM,OAAO,GAAG,GAAG,IAAI,uBAAuB,CAAA;gBAC9C,sCAAsC;gBACtC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;gBAC/B,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;gBACpC,MAAM,SAAS,GAAG,GAAG,MAAM,IAAI,SAAS,EAAE,CAAA;gBAE1C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;oBAC9B,WAAW;oBACX,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,cAAc;oBACvE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;iBAC7B,CAAC,CAAA;gBAEF,MAAM,OAAO,GAAG;oBACd,QAAQ,EAAE,SAAS,CAAC,QAAQ;oBAC5B,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBACpE,IAAI,EAAE,SAAS,CAAC,IAAI;oBACpB,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE;wBACP,eAAe,EAAE,UAAU,SAAS,EAAE;wBACtC,cAAc,EAAE,kBAAkB;wBAClC,gBAAgB,EAAE,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC;qBAC9C;iBACF,CAAA;gBAED,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;gBAE7D,8DAA8D;gBAC9D,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,GAAQ,EAAE,EAAE;oBAC/C,sCAAsC;oBACtC,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,GAAG,CAAC,UAAU,CAAC,CAAA;oBACxD,sCAAsC;oBACtC,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;oBAEtD,IAAI,YAAY,GAAG,EAAE,CAAA;oBAErB,8DAA8D;oBAC9D,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAU,EAAE,EAAE;wBAC5B,YAAY,IAAI,KAAK,CAAA;oBACvB,CAAC,CAAC,CAAA;oBAEF,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;wBACjB,sCAAsC;wBACtC,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,YAAY,CAAC,CAAA;wBACpD,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU,GAAG,GAAG,EAAE,CAAC;4BAClD,sCAAsC;4BACtC,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAA;wBAC9C,CAAC;6BAAM,CAAC;4BACN,sCAAsC;4BACtC,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,GAAG,CAAC,UAAU,EAAE,OAAO,EAAE,YAAY,CAAC,CAAA;wBAClF,CAAC;wBACD,OAAO,EAAE,CAAA,CAAC,6CAA6C;oBACzD,CAAC,CAAC,CAAA;gBACJ,CAAC,CAAC,CAAA;gBAEF,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE;oBAC/B,sCAAsC;oBACtC,OAAO,CAAC,KAAK,CAAC,6CAA6C,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;oBAC3E,OAAO,EAAE,CAAA,CAAC,iDAAiD;gBAC7D,CAAC,CAAC,CAAA;gBAEF,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;gBACnB,GAAG,CAAC,GAAG,EAAE,CAAA;YACX,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,sCAAsC;gBACtC,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAA;gBACtG,OAAO,EAAE,CAAA,CAAC,iDAAiD;YAC7D,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;CACF,CAAA;AA/rBY,QAAA,IAAI,QA+rBhB;AAmBD;;;;GAIG;AACH,SAAgB,UAAU,CAKxB,MAAiC;IAEjC,MAAM,IAAI,GAAG,IAAI,YAAI,CACnB,MAAM,CAAC,EAAE,EACT;QACE,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,cAAc,EAAE,MAAM,CAAC,cAAc;KACtC,CACF,CAAA;IACD,OAAO,IAAI,CAAA;AACb,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=listen-execution-records.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listen-execution-records.test.d.ts","sourceRoot":"","sources":["../../src/test/listen-execution-records.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,223 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const index_1 = require("../index");
4
+ describe('Task.listenExecutionRecords', () => {
5
+ let mockListener;
6
+ let consoleErrorSpy;
7
+ beforeEach(() => {
8
+ mockListener = jest.fn();
9
+ consoleErrorSpy = jest.spyOn(console, 'error').mockImplementation(() => { });
10
+ // Clear any existing global listener
11
+ index_1.Task.globalListener = undefined;
12
+ });
13
+ afterEach(() => {
14
+ // Clean up global listener after each test
15
+ index_1.Task.globalListener = undefined;
16
+ consoleErrorSpy.mockRestore();
17
+ });
18
+ describe('static listenExecutionRecords method', () => {
19
+ it('should set global listener', () => {
20
+ index_1.Task.listenExecutionRecords(mockListener);
21
+ expect(index_1.Task.globalListener).toBe(mockListener);
22
+ });
23
+ it('should replace existing global listener', () => {
24
+ const firstListener = jest.fn();
25
+ const secondListener = jest.fn();
26
+ index_1.Task.listenExecutionRecords(firstListener);
27
+ expect(index_1.Task.globalListener).toBe(firstListener);
28
+ index_1.Task.listenExecutionRecords(secondListener);
29
+ expect(index_1.Task.globalListener).toBe(secondListener);
30
+ });
31
+ });
32
+ describe('global listener execution', () => {
33
+ it('should call global listener when task is executed via safeRun', async () => {
34
+ index_1.Task.listenExecutionRecords(mockListener);
35
+ const schema = new index_1.Schema({
36
+ value: index_1.Schema.number()
37
+ });
38
+ const testTask = (0, index_1.createTask)({
39
+ schema,
40
+ boundaries: {},
41
+ fn: async (input) => ({ result: input.value * 2 })
42
+ });
43
+ await testTask.safeRun({ value: 5 });
44
+ await new Promise(resolve => process.nextTick(resolve));
45
+ expect(mockListener).toHaveBeenCalledTimes(1);
46
+ expect(mockListener).toHaveBeenCalledWith(expect.objectContaining({
47
+ input: { value: 5 },
48
+ output: { result: 10 },
49
+ type: 'success'
50
+ }));
51
+ });
52
+ it('should call global listener when task is executed via run', async () => {
53
+ index_1.Task.listenExecutionRecords(mockListener);
54
+ const schema = new index_1.Schema({
55
+ value: index_1.Schema.number()
56
+ });
57
+ const testTask = (0, index_1.createTask)({
58
+ schema,
59
+ boundaries: {},
60
+ fn: async (input) => ({ result: input.value * 2 })
61
+ });
62
+ await testTask.run({ value: 3 });
63
+ await new Promise(resolve => process.nextTick(resolve));
64
+ expect(mockListener).toHaveBeenCalledTimes(1);
65
+ expect(mockListener).toHaveBeenCalledWith(expect.objectContaining({
66
+ input: { value: 3 },
67
+ output: { result: 6 },
68
+ type: 'success'
69
+ }));
70
+ });
71
+ it('should call global listener when task fails', async () => {
72
+ index_1.Task.listenExecutionRecords(mockListener);
73
+ const schema = new index_1.Schema({});
74
+ const errorTask = (0, index_1.createTask)({
75
+ schema,
76
+ boundaries: {},
77
+ fn: async () => {
78
+ throw new Error('Test error');
79
+ }
80
+ });
81
+ await errorTask.safeRun({});
82
+ await new Promise(resolve => process.nextTick(resolve));
83
+ expect(mockListener).toHaveBeenCalledTimes(1);
84
+ expect(mockListener).toHaveBeenCalledWith(expect.objectContaining({
85
+ input: {},
86
+ error: 'Test error',
87
+ type: 'error'
88
+ }));
89
+ });
90
+ it('should call both instance and global listeners', async () => {
91
+ const instanceListener = jest.fn();
92
+ index_1.Task.listenExecutionRecords(mockListener);
93
+ const schema = new index_1.Schema({
94
+ value: index_1.Schema.number()
95
+ });
96
+ const testTask = (0, index_1.createTask)({
97
+ schema,
98
+ boundaries: {},
99
+ fn: async (input) => ({ result: input.value * 2 })
100
+ });
101
+ testTask.addListener(instanceListener);
102
+ await testTask.safeRun({ value: 7 });
103
+ await new Promise(resolve => process.nextTick(resolve));
104
+ expect(instanceListener).toHaveBeenCalledTimes(1);
105
+ expect(mockListener).toHaveBeenCalledTimes(1);
106
+ const expectedRecord = expect.objectContaining({
107
+ input: { value: 7 },
108
+ output: { result: 14 },
109
+ type: 'success'
110
+ });
111
+ expect(instanceListener).toHaveBeenCalledWith(expectedRecord);
112
+ expect(mockListener).toHaveBeenCalledWith(expectedRecord);
113
+ });
114
+ it('should work when no global listener is set', async () => {
115
+ // No global listener set
116
+ const schema = new index_1.Schema({
117
+ value: index_1.Schema.number()
118
+ });
119
+ const testTask = (0, index_1.createTask)({
120
+ schema,
121
+ boundaries: {},
122
+ fn: async (input) => ({ result: input.value * 2 })
123
+ });
124
+ // Should not throw error
125
+ await expect(testTask.safeRun({ value: 1 })).resolves.toBeDefined();
126
+ });
127
+ });
128
+ describe('async listener support', () => {
129
+ it('should support async global listeners', async () => {
130
+ const asyncListener = jest.fn().mockImplementation(async (_record) => {
131
+ await new Promise(resolve => setTimeout(resolve, 10));
132
+ return Promise.resolve();
133
+ });
134
+ index_1.Task.listenExecutionRecords(asyncListener);
135
+ const schema = new index_1.Schema({
136
+ value: index_1.Schema.number()
137
+ });
138
+ const testTask = (0, index_1.createTask)({
139
+ schema,
140
+ boundaries: {},
141
+ fn: async (input) => ({ result: input.value * 2 })
142
+ });
143
+ await testTask.safeRun({ value: 4 });
144
+ await new Promise(resolve => process.nextTick(resolve));
145
+ expect(asyncListener).toHaveBeenCalledTimes(1);
146
+ expect(asyncListener).toHaveBeenCalledWith(expect.objectContaining({
147
+ input: { value: 4 },
148
+ output: { result: 8 },
149
+ type: 'success'
150
+ }));
151
+ });
152
+ it('should handle long-running async listeners without blocking task execution', async () => {
153
+ const slowListener = jest.fn().mockImplementation(async () => {
154
+ await new Promise(resolve => setTimeout(resolve, 100)); // 100ms
155
+ });
156
+ index_1.Task.listenExecutionRecords(slowListener);
157
+ const schema = new index_1.Schema({
158
+ value: index_1.Schema.number()
159
+ });
160
+ const testTask = (0, index_1.createTask)({
161
+ schema,
162
+ boundaries: {},
163
+ fn: async (input) => ({ result: input.value * 2 })
164
+ });
165
+ const startTime = Date.now();
166
+ await testTask.safeRun({ value: 1 });
167
+ const endTime = Date.now();
168
+ // Task should complete quickly without waiting for listener
169
+ expect(endTime - startTime).toBeLessThan(50); // Should complete in under 50ms
170
+ // Wait for next tick to ensure listener was called
171
+ await new Promise(resolve => process.nextTick(resolve));
172
+ expect(slowListener).toHaveBeenCalledTimes(1);
173
+ });
174
+ });
175
+ describe('error handling', () => {
176
+ it('should catch and log listener errors without affecting task execution', async () => {
177
+ const errorListener = jest.fn().mockImplementation(() => {
178
+ throw new Error('Listener error');
179
+ });
180
+ index_1.Task.listenExecutionRecords(errorListener);
181
+ const schema = new index_1.Schema({
182
+ value: index_1.Schema.number()
183
+ });
184
+ const testTask = (0, index_1.createTask)({
185
+ schema,
186
+ boundaries: {},
187
+ fn: async (input) => ({ result: input.value * 2 })
188
+ });
189
+ const [result, error] = await testTask.safeRun({ value: 5 });
190
+ await new Promise(resolve => process.nextTick(resolve));
191
+ // Task should complete successfully despite listener error
192
+ expect(result).toEqual({ result: 10 });
193
+ expect(error).toBeNull();
194
+ // Listener should have been called
195
+ expect(errorListener).toHaveBeenCalledTimes(1);
196
+ // Error should have been logged
197
+ expect(consoleErrorSpy).toHaveBeenCalledWith('ExecutionRecord listener error:', expect.any(Error));
198
+ });
199
+ it('should catch and log async listener errors', async () => {
200
+ const asyncErrorListener = jest.fn().mockImplementation(async () => {
201
+ throw new Error('Async listener error');
202
+ });
203
+ index_1.Task.listenExecutionRecords(asyncErrorListener);
204
+ const schema = new index_1.Schema({
205
+ value: index_1.Schema.number()
206
+ });
207
+ const testTask = (0, index_1.createTask)({
208
+ schema,
209
+ boundaries: {},
210
+ fn: async (input) => ({ result: input.value * 2 })
211
+ });
212
+ const [result, error] = await testTask.safeRun({ value: 3 });
213
+ // Wait a bit for the async error to be logged
214
+ await new Promise(resolve => setTimeout(resolve, 50));
215
+ // Task should complete successfully
216
+ expect(result).toEqual({ result: 6 });
217
+ expect(error).toBeNull();
218
+ // Error should have been logged
219
+ expect(consoleErrorSpy).toHaveBeenCalledWith('ExecutionRecord listener error:', expect.any(Error));
220
+ });
221
+ });
222
+ });
223
+ //# sourceMappingURL=listen-execution-records.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listen-execution-records.test.js","sourceRoot":"","sources":["../../src/test/listen-execution-records.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forgehive/task",
3
- "version": "0.2.2",
3
+ "version": "0.2.3",
4
4
  "license": "MIT",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",
package/src/index.ts CHANGED
@@ -50,9 +50,6 @@ export interface ReplayConfig<B extends Boundaries = Boundaries> {
50
50
  }
51
51
  }
52
52
 
53
- // ToDo: Add a type for the boundaries data
54
-
55
-
56
53
  // Make BoundaryLog generic
57
54
  export type BoundaryLog<I extends unknown[] = unknown[], O = unknown> = BoundaryRecord<I, O>;
58
55
 
@@ -172,7 +169,11 @@ export const Task = class Task<
172
169
  B extends Boundaries = Boundaries,
173
170
  Func extends BaseFunction = BaseFunction
174
171
  > implements TaskInstanceType<Func, B> {
175
- public version: string = '0.1.7'
172
+ public version: string = '0.1.8'
173
+
174
+ // Static property for global listener
175
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
176
+ static globalListener?: (record: ExecutionRecord<any, any, any>) => Promise<void>
176
177
 
177
178
  _fn: Func
178
179
  _mode: Mode
@@ -190,6 +191,29 @@ export const Task = class Task<
190
191
  _schema: Schema<Record<string, SchemaType>> | undefined
191
192
  _listener?: ((record: ExecutionRecord<Parameters<Func>[0], ReturnType<Func>, B>) => void) | undefined
192
193
 
194
+ // Static method to set global listener
195
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
196
+ static listenExecutionRecords(listener: (record: ExecutionRecord<any, any, any>) => Promise<void>): void {
197
+ this.globalListener = listener
198
+ }
199
+
200
+ // Static method to emit to global listener with error handling
201
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
202
+ static emitExecutionRecord(record: ExecutionRecord<any, any, any>): void {
203
+ if (this.globalListener) {
204
+ // Call listener on next tick to avoid blocking task execution
205
+ process.nextTick(async () => {
206
+ try {
207
+ await this.globalListener!(record)
208
+ } catch (error) {
209
+ // Log error but don't affect task execution
210
+ // eslint-disable-next-line no-console
211
+ console.error('ExecutionRecord listener error:', error)
212
+ }
213
+ })
214
+ }
215
+ }
216
+
193
217
  constructor (fn: Func, conf: TaskConfig<B> = {
194
218
  name: undefined,
195
219
  description: undefined,
@@ -306,9 +330,13 @@ export const Task = class Task<
306
330
  Plus all the boundary data
307
331
  */
308
332
  emit (data: ExecutionRecord<Parameters<Func>[0], ReturnType<Func>, B>): void {
309
- if (typeof this._listener === 'undefined') { return }
333
+ // Emit to instance listener
334
+ if (typeof this._listener !== 'undefined') {
335
+ this._listener(data)
336
+ }
310
337
 
311
- this._listener(data)
338
+ // Emit to global listener (non-blocking)
339
+ Task.emitExecutionRecord(data)
312
340
  }
313
341
 
314
342
  getBoundaries (): WrappedBoundaries<B> {
@@ -0,0 +1,295 @@
1
+ import { Task, createTask, Schema } from '../index'
2
+
3
+ describe('Task.listenExecutionRecords', () => {
4
+ let mockListener: jest.Mock
5
+ let consoleErrorSpy: jest.SpyInstance
6
+
7
+ beforeEach(() => {
8
+ mockListener = jest.fn()
9
+ consoleErrorSpy = jest.spyOn(console, 'error').mockImplementation(() => {})
10
+ // Clear any existing global listener
11
+ Task.globalListener = undefined
12
+ })
13
+
14
+ afterEach(() => {
15
+ // Clean up global listener after each test
16
+ Task.globalListener = undefined
17
+ consoleErrorSpy.mockRestore()
18
+ })
19
+
20
+ describe('static listenExecutionRecords method', () => {
21
+ it('should set global listener', () => {
22
+ Task.listenExecutionRecords(mockListener)
23
+ expect(Task.globalListener).toBe(mockListener)
24
+ })
25
+
26
+ it('should replace existing global listener', () => {
27
+ const firstListener = jest.fn()
28
+ const secondListener = jest.fn()
29
+
30
+ Task.listenExecutionRecords(firstListener)
31
+ expect(Task.globalListener).toBe(firstListener)
32
+
33
+ Task.listenExecutionRecords(secondListener)
34
+ expect(Task.globalListener).toBe(secondListener)
35
+ })
36
+ })
37
+
38
+ describe('global listener execution', () => {
39
+ it('should call global listener when task is executed via safeRun', async () => {
40
+ Task.listenExecutionRecords(mockListener)
41
+
42
+ const schema = new Schema({
43
+ value: Schema.number()
44
+ })
45
+
46
+ const testTask = createTask({
47
+ schema,
48
+ boundaries: {},
49
+ fn: async (input: { value: number }) => ({ result: input.value * 2 })
50
+ })
51
+
52
+ await testTask.safeRun({ value: 5 })
53
+ await new Promise(resolve => process.nextTick(resolve))
54
+
55
+ expect(mockListener).toHaveBeenCalledTimes(1)
56
+ expect(mockListener).toHaveBeenCalledWith(
57
+ expect.objectContaining({
58
+ input: { value: 5 },
59
+ output: { result: 10 },
60
+ type: 'success'
61
+ })
62
+ )
63
+ })
64
+
65
+ it('should call global listener when task is executed via run', async () => {
66
+ Task.listenExecutionRecords(mockListener)
67
+
68
+ const schema = new Schema({
69
+ value: Schema.number()
70
+ })
71
+
72
+ const testTask = createTask({
73
+ schema,
74
+ boundaries: {},
75
+ fn: async (input: { value: number }) => ({ result: input.value * 2 })
76
+ })
77
+
78
+ await testTask.run({ value: 3 })
79
+ await new Promise(resolve => process.nextTick(resolve))
80
+
81
+ expect(mockListener).toHaveBeenCalledTimes(1)
82
+ expect(mockListener).toHaveBeenCalledWith(
83
+ expect.objectContaining({
84
+ input: { value: 3 },
85
+ output: { result: 6 },
86
+ type: 'success'
87
+ })
88
+ )
89
+ })
90
+
91
+ it('should call global listener when task fails', async () => {
92
+ Task.listenExecutionRecords(mockListener)
93
+
94
+ const schema = new Schema({})
95
+
96
+ const errorTask = createTask({
97
+ schema,
98
+ boundaries: {},
99
+ fn: async () => {
100
+ throw new Error('Test error')
101
+ }
102
+ })
103
+
104
+ await errorTask.safeRun({})
105
+ await new Promise(resolve => process.nextTick(resolve))
106
+
107
+ expect(mockListener).toHaveBeenCalledTimes(1)
108
+ expect(mockListener).toHaveBeenCalledWith(
109
+ expect.objectContaining({
110
+ input: {},
111
+ error: 'Test error',
112
+ type: 'error'
113
+ })
114
+ )
115
+ })
116
+
117
+ it('should call both instance and global listeners', async () => {
118
+ const instanceListener = jest.fn()
119
+ Task.listenExecutionRecords(mockListener)
120
+
121
+ const schema = new Schema({
122
+ value: Schema.number()
123
+ })
124
+
125
+ const testTask = createTask({
126
+ schema,
127
+ boundaries: {},
128
+ fn: async (input: { value: number }) => ({ result: input.value * 2 })
129
+ })
130
+
131
+ testTask.addListener(instanceListener)
132
+ await testTask.safeRun({ value: 7 })
133
+ await new Promise(resolve => process.nextTick(resolve))
134
+
135
+ expect(instanceListener).toHaveBeenCalledTimes(1)
136
+ expect(mockListener).toHaveBeenCalledTimes(1)
137
+
138
+ const expectedRecord = expect.objectContaining({
139
+ input: { value: 7 },
140
+ output: { result: 14 },
141
+ type: 'success'
142
+ })
143
+
144
+ expect(instanceListener).toHaveBeenCalledWith(expectedRecord)
145
+ expect(mockListener).toHaveBeenCalledWith(expectedRecord)
146
+ })
147
+
148
+ it('should work when no global listener is set', async () => {
149
+ // No global listener set
150
+ const schema = new Schema({
151
+ value: Schema.number()
152
+ })
153
+
154
+ const testTask = createTask({
155
+ schema,
156
+ boundaries: {},
157
+ fn: async (input: { value: number }) => ({ result: input.value * 2 })
158
+ })
159
+
160
+ // Should not throw error
161
+ await expect(testTask.safeRun({ value: 1 })).resolves.toBeDefined()
162
+ })
163
+ })
164
+
165
+ describe('async listener support', () => {
166
+ it('should support async global listeners', async () => {
167
+ const asyncListener = jest.fn().mockImplementation(async (_record) => {
168
+ await new Promise(resolve => setTimeout(resolve, 10))
169
+ return Promise.resolve()
170
+ })
171
+
172
+ Task.listenExecutionRecords(asyncListener)
173
+
174
+ const schema = new Schema({
175
+ value: Schema.number()
176
+ })
177
+
178
+ const testTask = createTask({
179
+ schema,
180
+ boundaries: {},
181
+ fn: async (input: { value: number }) => ({ result: input.value * 2 })
182
+ })
183
+
184
+ await testTask.safeRun({ value: 4 })
185
+ await new Promise(resolve => process.nextTick(resolve))
186
+
187
+ expect(asyncListener).toHaveBeenCalledTimes(1)
188
+ expect(asyncListener).toHaveBeenCalledWith(
189
+ expect.objectContaining({
190
+ input: { value: 4 },
191
+ output: { result: 8 },
192
+ type: 'success'
193
+ })
194
+ )
195
+ })
196
+
197
+ it('should handle long-running async listeners without blocking task execution', async () => {
198
+ const slowListener = jest.fn().mockImplementation(async () => {
199
+ await new Promise(resolve => setTimeout(resolve, 100)) // 100ms
200
+ })
201
+
202
+ Task.listenExecutionRecords(slowListener)
203
+
204
+ const schema = new Schema({
205
+ value: Schema.number()
206
+ })
207
+
208
+ const testTask = createTask({
209
+ schema,
210
+ boundaries: {},
211
+ fn: async (input: { value: number }) => ({ result: input.value * 2 })
212
+ })
213
+
214
+ const startTime = Date.now()
215
+ await testTask.safeRun({ value: 1 })
216
+ const endTime = Date.now()
217
+
218
+ // Task should complete quickly without waiting for listener
219
+ expect(endTime - startTime).toBeLessThan(50) // Should complete in under 50ms
220
+
221
+ // Wait for next tick to ensure listener was called
222
+ await new Promise(resolve => process.nextTick(resolve))
223
+ expect(slowListener).toHaveBeenCalledTimes(1)
224
+ })
225
+ })
226
+
227
+ describe('error handling', () => {
228
+ it('should catch and log listener errors without affecting task execution', async () => {
229
+ const errorListener = jest.fn().mockImplementation(() => {
230
+ throw new Error('Listener error')
231
+ })
232
+
233
+ Task.listenExecutionRecords(errorListener)
234
+
235
+ const schema = new Schema({
236
+ value: Schema.number()
237
+ })
238
+
239
+ const testTask = createTask({
240
+ schema,
241
+ boundaries: {},
242
+ fn: async (input: { value: number }) => ({ result: input.value * 2 })
243
+ })
244
+
245
+ const [result, error] = await testTask.safeRun({ value: 5 })
246
+ await new Promise(resolve => process.nextTick(resolve))
247
+
248
+ // Task should complete successfully despite listener error
249
+ expect(result).toEqual({ result: 10 })
250
+ expect(error).toBeNull()
251
+
252
+ // Listener should have been called
253
+ expect(errorListener).toHaveBeenCalledTimes(1)
254
+
255
+ // Error should have been logged
256
+ expect(consoleErrorSpy).toHaveBeenCalledWith(
257
+ 'ExecutionRecord listener error:',
258
+ expect.any(Error)
259
+ )
260
+ })
261
+
262
+ it('should catch and log async listener errors', async () => {
263
+ const asyncErrorListener = jest.fn().mockImplementation(async () => {
264
+ throw new Error('Async listener error')
265
+ })
266
+
267
+ Task.listenExecutionRecords(asyncErrorListener)
268
+
269
+ const schema = new Schema({
270
+ value: Schema.number()
271
+ })
272
+
273
+ const testTask = createTask({
274
+ schema,
275
+ boundaries: {},
276
+ fn: async (input: { value: number }) => ({ result: input.value * 2 })
277
+ })
278
+
279
+ const [result, error] = await testTask.safeRun({ value: 3 })
280
+
281
+ // Wait a bit for the async error to be logged
282
+ await new Promise(resolve => setTimeout(resolve, 50))
283
+
284
+ // Task should complete successfully
285
+ expect(result).toEqual({ result: 6 })
286
+ expect(error).toBeNull()
287
+
288
+ // Error should have been logged
289
+ expect(consoleErrorSpy).toHaveBeenCalledWith(
290
+ 'ExecutionRecord listener error:',
291
+ expect.any(Error)
292
+ )
293
+ })
294
+ })
295
+ })