@serenityjs/emitter 0.8.17 → 0.8.18-beta-20260206200112

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,11 @@
1
1
  # @serenityjs/emitter
2
2
 
3
+ ## 0.8.18-beta-20260206200112
4
+
5
+ ### Patch Changes
6
+
7
+ - [#254](https://github.com/SerenityJS/serenity/pull/254) [`1d42bb8`](https://github.com/SerenityJS/serenity/commit/1d42bb8816a1bbe7dc39c9bdb2798af83cbfd88b) Thanks [@PMK744](https://github.com/PMK744)! - init v0.8.18-beta
8
+
3
9
  ## 0.8.17
4
10
 
5
11
  ### Patch Changes
package/dist/index.d.mts CHANGED
@@ -7,10 +7,13 @@ declare class Emitter<T> {
7
7
  private readonly _afterHooks;
8
8
  private readonly _listeners;
9
9
  private readonly _paths;
10
- constructor(_maxListeners?: number);
10
+ constructor(_maxListeners?: number, onError?: Listener<[Error]> | null);
11
+ private errorCallback;
11
12
  get maxListeners(): number;
12
13
  set maxListeners(value: number);
14
+ onError(callback: Listener<[Error]> | null): void;
13
15
  emit<K extends keyof T>(event: K, ...arguments_: ForceArray<T[K]>): boolean;
16
+ emitAsync<K extends keyof T>(event: K, ...arguments_: ForceArray<T[K]>): Promise<boolean>;
14
17
  private _addListener;
15
18
  private _addOnceListener;
16
19
  private _removeListener;
package/dist/index.d.ts CHANGED
@@ -7,10 +7,13 @@ declare class Emitter<T> {
7
7
  private readonly _afterHooks;
8
8
  private readonly _listeners;
9
9
  private readonly _paths;
10
- constructor(_maxListeners?: number);
10
+ constructor(_maxListeners?: number, onError?: Listener<[Error]> | null);
11
+ private errorCallback;
11
12
  get maxListeners(): number;
12
13
  set maxListeners(value: number);
14
+ onError(callback: Listener<[Error]> | null): void;
13
15
  emit<K extends keyof T>(event: K, ...arguments_: ForceArray<T[K]>): boolean;
16
+ emitAsync<K extends keyof T>(event: K, ...arguments_: ForceArray<T[K]>): Promise<boolean>;
14
17
  private _addListener;
15
18
  private _addOnceListener;
16
19
  private _removeListener;
package/dist/index.js CHANGED
@@ -1,3 +1,3 @@
1
- "use strict";var c=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var u=Object.prototype.hasOwnProperty;var a=(o,e)=>c(o,"name",{value:e,configurable:!0});var L=(o,e)=>{for(var t in e)c(o,t,{get:e[t],enumerable:!0})},k=(o,e,t,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of p(e))!u.call(o,r)&&r!==t&&c(o,r,{get:()=>e[r],enumerable:!(s=m(e,r))||s.enumerable});return o};var H=o=>k(c({},"__esModule",{value:!0}),o);var A={};L(A,{Emitter:()=>l,default:()=>x});module.exports=H(A);var _=require("path");function n(){let s=new Error()?.stack?.split(`
2
- `)?.[3]?.match(/\((.*):\d+:\d+\)/);return s?(0,_.resolve)(s[1]??""):null}a(n,"getFilePath");var l=class{static{a(this,"Emitter")}_maxListeners;_beforeHooks;_afterHooks;_listeners;_paths;constructor(e=10){this._maxListeners=e,this._beforeHooks=new Map,this._afterHooks=new Map,this._listeners=new Map,this._paths=new Map}get maxListeners(){return this._maxListeners}set maxListeners(e){this._maxListeners=e}emit(e,...t){let s=this._beforeHooks.get(e)??[],r=this._listeners.get(e)??[],i=this._afterHooks.get(e)??[],f=!1;for(let h of s)if(h(...t)===!1){f=!0;break}if(!f)for(let h of r)h(...t);let d=[...t,f];return process.nextTick(()=>{for(let h of i)h(...d)}),!f}_addListener(e,t,s){let r=e.get(t)??[];return r.length>=this._maxListeners&&console.trace(`warning: possible EventEmitter memory leak detected. ${r.length} listeners added. Use #setMaxListeners() to increase limit`),e.set(t,[...r,s]),this}_addOnceListener(e,t,s){let r=a((...i)=>(this._removeListener(e,t,r),s(...i)),"wrapper");return this._addListener(e,t,r)}_removeListener(e,t,s){let r=e.get(t),i=r?.indexOf(s);return i!==void 0&&i!==-1&&r?.splice(i,1),this}_removeAllListeners(e,t){return t?e.delete(t):e.clear(),this}on(e,t){let s=n();return s&&this._paths.set(t,{event:e,path:s}),this._addListener(this._listeners,e,t)}before(e,t){let s=n();return s&&this._paths.set(t,{event:e,path:s}),this._addListener(this._beforeHooks,e,t)}after(e,t){let s=n();return s&&this._paths.set(t,{event:e,path:s}),this._addListener(this._afterHooks,e,t)}once(e,t){let s=n();return s&&this._paths.set(t,{event:e,path:s}),this._addOnceListener(this._listeners,e,t)}onceBefore(e,t){let s=n();return s&&this._paths.set(t,{event:e,path:s}),this._addOnceListener(this._beforeHooks,e,t)}onceAfter(e,t){let s=n();return s&&this._paths.set(t,{event:e,path:s}),this._addOnceListener(this._afterHooks,e,t)}remove(e,t){return this._removeListener(this._listeners,e,t)}removeBefore(e,t){return this._removeListener(this._beforeHooks,e,t)}removeAfter(e,t){return this._removeListener(this._afterHooks,e,t)}removeAll(e){return this._removeAllListeners(this._listeners,e)}removeAllBefore(e){return this._removeAllListeners(this._beforeHooks,e)}removeAllAfter(e){return this._removeAllListeners(this._afterHooks,e)}removePath(e){for(let[t,{event:s,path:r}]of this._paths)r.includes(e)&&(this.remove(s,t),this.removeBefore(s,t),this.removeAfter(s,t)),this._paths.delete(t);return this}},x=l;0&&(module.exports={Emitter});
3
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL2luZGV4LnRzIiwgIi4uL3NyYy9nZXQtcGF0aC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHsgZ2V0RmlsZVBhdGggfSBmcm9tIFwiLi9nZXQtcGF0aFwiO1xuXG4vLyBFdmVudCBMaXN0ZW5lciBUeXBlc1xuZXhwb3J0IHR5cGUgTGlzdGVuZXI8VCBleHRlbmRzIEFycmF5PHVua25vd24+LCBSID0gdW5rbm93bj4gPSAoXG4gIC4uLmFyZ3VtZW50c186IFRcbikgPT4gUjtcbmV4cG9ydCB0eXBlIEZvcmNlQXJyYXk8VD4gPSBUIGV4dGVuZHMgQXJyYXk8dW5rbm93bj4gPyBUIDogbmV2ZXI7XG5leHBvcnQgdHlwZSBBZnRlckxpc3RlbmVyPFQgZXh0ZW5kcyBBcnJheTx1bmtub3duPj4gPSBMaXN0ZW5lcjxbLi4uVCwgYm9vbGVhbl0+O1xuXG5leHBvcnQgY2xhc3MgRW1pdHRlcjxUPiB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2JlZm9yZUhvb2tzID0gbmV3IE1hcDxcbiAgICBrZXlvZiBULFxuICAgIEFycmF5PExpc3RlbmVyPEZvcmNlQXJyYXk8VFtuZXZlcl0+LCBib29sZWFuPj5cbiAgPigpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2FmdGVySG9va3MgPSBuZXcgTWFwPFxuICAgIGtleW9mIFQsXG4gICAgQXJyYXk8QWZ0ZXJMaXN0ZW5lcjxGb3JjZUFycmF5PFRbbmV2ZXJdPj4+XG4gID4oKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9saXN0ZW5lcnMgPSBuZXcgTWFwPFxuICAgIGtleW9mIFQsXG4gICAgQXJyYXk8TGlzdGVuZXI8Rm9yY2VBcnJheTxUW25ldmVyXT4+PlxuICA+KCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfcGF0aHMgPSBuZXcgTWFwPFxuICAgIExpc3RlbmVyPGFueT4sXG4gICAgeyBldmVudDoga2V5b2YgVDsgcGF0aDogc3RyaW5nIH1cbiAgPigpO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcml2YXRlIF9tYXhMaXN0ZW5lcnMgPSAxMCkge31cblxuICBwdWJsaWMgZ2V0IG1heExpc3RlbmVycygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9tYXhMaXN0ZW5lcnM7XG4gIH1cblxuICBwdWJsaWMgc2V0IG1heExpc3RlbmVycyh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5fbWF4TGlzdGVuZXJzID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZW1pdDxLIGV4dGVuZHMga2V5b2YgVD4oXG4gICAgZXZlbnQ6IEssXG4gICAgLi4uYXJndW1lbnRzXzogRm9yY2VBcnJheTxUW0tdPlxuICApOiBib29sZWFuIHtcbiAgICBjb25zdCBiZWZvcmVIb29rcyA9IHRoaXMuX2JlZm9yZUhvb2tzLmdldChldmVudCkgPz8gW107XG4gICAgY29uc3QgbGlzdGVuZXJzID0gdGhpcy5fbGlzdGVuZXJzLmdldChldmVudCkgPz8gW107XG4gICAgY29uc3QgYWZ0ZXJIb29rcyA9IHRoaXMuX2FmdGVySG9va3MuZ2V0KGV2ZW50KSA/PyBbXTtcblxuICAgIGxldCBjYW5jZWxlZCA9IGZhbHNlO1xuXG4gICAgZm9yIChjb25zdCBob29rIG9mIGJlZm9yZUhvb2tzKSB7XG4gICAgICBjb25zdCByZXN1bHQgPSBob29rKC4uLihhcmd1bWVudHNfIGFzIEZvcmNlQXJyYXk8VFtuZXZlcl0+KSk7XG4gICAgICBpZiAocmVzdWx0ID09PSBmYWxzZSkge1xuICAgICAgICBjYW5jZWxlZCA9IHRydWU7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICghY2FuY2VsZWQpIHtcbiAgICAgIGZvciAoY29uc3QgbGlzdGVuZXIgb2YgbGlzdGVuZXJzKSB7XG4gICAgICAgIGxpc3RlbmVyKC4uLihhcmd1bWVudHNfIGFzIEZvcmNlQXJyYXk8VFtuZXZlcl0+KSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgYWZ0ZXJBcmdzID0gWy4uLmFyZ3VtZW50c18sIGNhbmNlbGVkXSBhcyBbXG4gICAgICAuLi5Gb3JjZUFycmF5PFRbbmV2ZXJdPixcbiAgICAgIGJvb2xlYW5cbiAgICBdO1xuXG4gICAgcHJvY2Vzcy5uZXh0VGljaygoKSA9PiB7XG4gICAgICBmb3IgKGNvbnN0IGhvb2sgb2YgYWZ0ZXJIb29rcykge1xuICAgICAgICBob29rKC4uLmFmdGVyQXJncyk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gIWNhbmNlbGVkO1xuICB9XG5cbiAgcHJpdmF0ZSBfYWRkTGlzdGVuZXI8SyBleHRlbmRzIGtleW9mIFQsIEw+KFxuICAgIG1hcDogTWFwPEssIEFycmF5PEw+PixcbiAgICBldmVudDogSyxcbiAgICBsaXN0ZW5lcjogTFxuICApOiB0aGlzIHtcbiAgICBjb25zdCBsaXN0ZW5lcnMgPSBtYXAuZ2V0KGV2ZW50KSA/PyBbXTtcbiAgICBpZiAobGlzdGVuZXJzLmxlbmd0aCA+PSB0aGlzLl9tYXhMaXN0ZW5lcnMpIHtcbiAgICAgIGNvbnNvbGUudHJhY2UoXG4gICAgICAgIGB3YXJuaW5nOiBwb3NzaWJsZSBFdmVudEVtaXR0ZXIgbWVtb3J5IGxlYWsgZGV0ZWN0ZWQuICR7bGlzdGVuZXJzLmxlbmd0aH0gbGlzdGVuZXJzIGFkZGVkLiBVc2UgI3NldE1heExpc3RlbmVycygpIHRvIGluY3JlYXNlIGxpbWl0YFxuICAgICAgKTtcbiAgICB9XG4gICAgbWFwLnNldChldmVudCwgWy4uLmxpc3RlbmVycywgbGlzdGVuZXJdKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHByaXZhdGUgX2FkZE9uY2VMaXN0ZW5lcjxLIGV4dGVuZHMga2V5b2YgVCwgTD4oXG4gICAgbWFwOiBNYXA8SywgQXJyYXk8TD4+LFxuICAgIGV2ZW50OiBLLFxuICAgIGxpc3RlbmVyOiBMXG4gICk6IHRoaXMge1xuICAgIGNvbnN0IHdyYXBwZXIgPSAoLi4uYXJnczogQXJyYXk8YW55PikgPT4ge1xuICAgICAgdGhpcy5fcmVtb3ZlTGlzdGVuZXIobWFwLCBldmVudCwgd3JhcHBlciBhcyBMKTtcbiAgICAgIHJldHVybiAobGlzdGVuZXIgYXMgYW55KSguLi5hcmdzKTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMuX2FkZExpc3RlbmVyKG1hcCwgZXZlbnQsIHdyYXBwZXIgYXMgTCk7XG4gIH1cblxuICBwcml2YXRlIF9yZW1vdmVMaXN0ZW5lcjxLIGV4dGVuZHMga2V5b2YgVCwgTD4oXG4gICAgbWFwOiBNYXA8SywgQXJyYXk8TD4+LFxuICAgIGV2ZW50OiBLLFxuICAgIGxpc3RlbmVyOiBMXG4gICk6IHRoaXMge1xuICAgIGNvbnN0IGxpc3RlbmVycyA9IG1hcC5nZXQoZXZlbnQpO1xuICAgIGNvbnN0IGluZGV4ID0gbGlzdGVuZXJzPy5pbmRleE9mKGxpc3RlbmVyKTtcbiAgICBpZiAoaW5kZXggIT09IHVuZGVmaW5lZCAmJiBpbmRleCAhPT0gLTEpIHtcbiAgICAgIGxpc3RlbmVycz8uc3BsaWNlKGluZGV4LCAxKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwcml2YXRlIF9yZW1vdmVBbGxMaXN0ZW5lcnM8SyBleHRlbmRzIGtleW9mIFQsIEw+KFxuICAgIG1hcDogTWFwPEssIEFycmF5PEw+PixcbiAgICBldmVudD86IEtcbiAgKTogdGhpcyB7XG4gICAgaWYgKGV2ZW50KSB7XG4gICAgICBtYXAuZGVsZXRlKGV2ZW50KTtcbiAgICB9IGVsc2Uge1xuICAgICAgbWFwLmNsZWFyKCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIG9uPEsgZXh0ZW5kcyBrZXlvZiBUPihcbiAgICBldmVudDogSyxcbiAgICBsaXN0ZW5lcjogTGlzdGVuZXI8Rm9yY2VBcnJheTxUW0tdPj5cbiAgKTogdGhpcyB7XG4gICAgY29uc3QgcGF0aCA9IGdldEZpbGVQYXRoKCk7XG4gICAgaWYgKHBhdGgpIHRoaXMuX3BhdGhzLnNldChsaXN0ZW5lciwgeyBldmVudCwgcGF0aCB9KTtcblxuICAgIHJldHVybiB0aGlzLl9hZGRMaXN0ZW5lcih0aGlzLl9saXN0ZW5lcnMsIGV2ZW50LCBsaXN0ZW5lcik7XG4gIH1cblxuICBwdWJsaWMgYmVmb3JlPEsgZXh0ZW5kcyBrZXlvZiBUPihcbiAgICBldmVudDogSyxcbiAgICBsaXN0ZW5lcjogTGlzdGVuZXI8Rm9yY2VBcnJheTxUW0tdPiwgYm9vbGVhbj5cbiAgKTogdGhpcyB7XG4gICAgY29uc3QgcGF0aCA9IGdldEZpbGVQYXRoKCk7XG4gICAgaWYgKHBhdGgpIHRoaXMuX3BhdGhzLnNldChsaXN0ZW5lciwgeyBldmVudCwgcGF0aCB9KTtcblxuICAgIHJldHVybiB0aGlzLl9hZGRMaXN0ZW5lcih0aGlzLl9iZWZvcmVIb29rcywgZXZlbnQsIGxpc3RlbmVyKTtcbiAgfVxuXG4gIHB1YmxpYyBhZnRlcjxLIGV4dGVuZHMga2V5b2YgVD4oXG4gICAgZXZlbnQ6IEssXG4gICAgbGlzdGVuZXI6IEFmdGVyTGlzdGVuZXI8Rm9yY2VBcnJheTxUW0tdPj5cbiAgKTogdGhpcyB7XG4gICAgY29uc3QgcGF0aCA9IGdldEZpbGVQYXRoKCk7XG4gICAgaWYgKHBhdGgpIHRoaXMuX3BhdGhzLnNldChsaXN0ZW5lciwgeyBldmVudCwgcGF0aCB9KTtcblxuICAgIHJldHVybiB0aGlzLl9hZGRMaXN0ZW5lcih0aGlzLl9hZnRlckhvb2tzLCBldmVudCwgbGlzdGVuZXIpO1xuICB9XG5cbiAgcHVibGljIG9uY2U8SyBleHRlbmRzIGtleW9mIFQ+KFxuICAgIGV2ZW50OiBLLFxuICAgIGxpc3RlbmVyOiBMaXN0ZW5lcjxGb3JjZUFycmF5PFRbS10+PlxuICApOiB0aGlzIHtcbiAgICBjb25zdCBwYXRoID0gZ2V0RmlsZVBhdGgoKTtcbiAgICBpZiAocGF0aCkgdGhpcy5fcGF0aHMuc2V0KGxpc3RlbmVyLCB7IGV2ZW50LCBwYXRoIH0pO1xuXG4gICAgcmV0dXJuIHRoaXMuX2FkZE9uY2VMaXN0ZW5lcih0aGlzLl9saXN0ZW5lcnMsIGV2ZW50LCBsaXN0ZW5lcik7XG4gIH1cblxuICBwdWJsaWMgb25jZUJlZm9yZTxLIGV4dGVuZHMga2V5b2YgVD4oXG4gICAgZXZlbnQ6IEssXG4gICAgbGlzdGVuZXI6IExpc3RlbmVyPEZvcmNlQXJyYXk8VFtLXT4sIGJvb2xlYW4+XG4gICk6IHRoaXMge1xuICAgIGNvbnN0IHBhdGggPSBnZXRGaWxlUGF0aCgpO1xuICAgIGlmIChwYXRoKSB0aGlzLl9wYXRocy5zZXQobGlzdGVuZXIsIHsgZXZlbnQsIHBhdGggfSk7XG5cbiAgICByZXR1cm4gdGhpcy5fYWRkT25jZUxpc3RlbmVyKHRoaXMuX2JlZm9yZUhvb2tzLCBldmVudCwgbGlzdGVuZXIpO1xuICB9XG5cbiAgcHVibGljIG9uY2VBZnRlcjxLIGV4dGVuZHMga2V5b2YgVD4oXG4gICAgZXZlbnQ6IEssXG4gICAgbGlzdGVuZXI6IEFmdGVyTGlzdGVuZXI8Rm9yY2VBcnJheTxUW0tdPj5cbiAgKTogdGhpcyB7XG4gICAgY29uc3QgcGF0aCA9IGdldEZpbGVQYXRoKCk7XG4gICAgaWYgKHBhdGgpIHRoaXMuX3BhdGhzLnNldChsaXN0ZW5lciwgeyBldmVudCwgcGF0aCB9KTtcblxuICAgIHJldHVybiB0aGlzLl9hZGRPbmNlTGlzdGVuZXIodGhpcy5fYWZ0ZXJIb29rcywgZXZlbnQsIGxpc3RlbmVyKTtcbiAgfVxuXG4gIHB1YmxpYyByZW1vdmU8SyBleHRlbmRzIGtleW9mIFQ+KFxuICAgIGV2ZW50OiBLLFxuICAgIGxpc3RlbmVyOiBMaXN0ZW5lcjxGb3JjZUFycmF5PFRbS10+PlxuICApOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5fcmVtb3ZlTGlzdGVuZXIodGhpcy5fbGlzdGVuZXJzLCBldmVudCwgbGlzdGVuZXIpO1xuICB9XG5cbiAgcHVibGljIHJlbW92ZUJlZm9yZTxLIGV4dGVuZHMga2V5b2YgVD4oXG4gICAgZXZlbnQ6IEssXG4gICAgbGlzdGVuZXI6IExpc3RlbmVyPEZvcmNlQXJyYXk8VFtLXT4sIGJvb2xlYW4+XG4gICk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLl9yZW1vdmVMaXN0ZW5lcih0aGlzLl9iZWZvcmVIb29rcywgZXZlbnQsIGxpc3RlbmVyKTtcbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVBZnRlcjxLIGV4dGVuZHMga2V5b2YgVD4oXG4gICAgZXZlbnQ6IEssXG4gICAgbGlzdGVuZXI6IEFmdGVyTGlzdGVuZXI8Rm9yY2VBcnJheTxUW0tdPj5cbiAgKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuX3JlbW92ZUxpc3RlbmVyKHRoaXMuX2FmdGVySG9va3MsIGV2ZW50LCBsaXN0ZW5lcik7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlQWxsPEsgZXh0ZW5kcyBrZXlvZiBUPihldmVudD86IEspOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5fcmVtb3ZlQWxsTGlzdGVuZXJzKHRoaXMuX2xpc3RlbmVycywgZXZlbnQpO1xuICB9XG5cbiAgcHVibGljIHJlbW92ZUFsbEJlZm9yZTxLIGV4dGVuZHMga2V5b2YgVD4oZXZlbnQ/OiBLKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuX3JlbW92ZUFsbExpc3RlbmVycyh0aGlzLl9iZWZvcmVIb29rcywgZXZlbnQpO1xuICB9XG5cbiAgcHVibGljIHJlbW92ZUFsbEFmdGVyPEsgZXh0ZW5kcyBrZXlvZiBUPihldmVudD86IEspOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5fcmVtb3ZlQWxsTGlzdGVuZXJzKHRoaXMuX2FmdGVySG9va3MsIGV2ZW50KTtcbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVQYXRoKHBhdGg6IHN0cmluZyk6IHRoaXMge1xuICAgIGZvciAoY29uc3QgW2xpc3RlbmVyLCB7IGV2ZW50LCBwYXRoOiBsaXN0ZW5lclBhdGggfV0gb2YgdGhpcy5fcGF0aHMpIHtcbiAgICAgIGlmIChsaXN0ZW5lclBhdGguaW5jbHVkZXMocGF0aCkpIHtcbiAgICAgICAgdGhpcy5yZW1vdmUoZXZlbnQgYXMgbmV2ZXIsIGxpc3RlbmVyIGFzIG5ldmVyKTtcbiAgICAgICAgdGhpcy5yZW1vdmVCZWZvcmUoZXZlbnQgYXMgbmV2ZXIsIGxpc3RlbmVyIGFzIG5ldmVyKTtcbiAgICAgICAgdGhpcy5yZW1vdmVBZnRlcihldmVudCBhcyBuZXZlciwgbGlzdGVuZXIgYXMgbmV2ZXIpO1xuICAgICAgfVxuICAgICAgdGhpcy5fcGF0aHMuZGVsZXRlKGxpc3RlbmVyKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgRW1pdHRlcjtcbiIsICJpbXBvcnQgeyByZXNvbHZlIH0gZnJvbSBcInBhdGhcIjtcblxuZnVuY3Rpb24gZ2V0RmlsZVBhdGgoKSB7XG4gIGNvbnN0IGVycm9yID0gbmV3IEVycm9yKCk7XG4gIGNvbnN0IHN0YWNrID0gZXJyb3I/LnN0YWNrPy5zcGxpdChcIlxcblwiKTtcbiAgLy8gVGhlIGZpcnN0IGxpbmUgaXMgdGhlIGN1cnJlbnQgZnVuY3Rpb24sIHRoZSBzZWNvbmQgaXMgdGhlIGNhbGxlclxuICBjb25zdCBjYWxsZXJMaW5lID0gc3RhY2s/LlszXTtcblxuICAvLyBFeHRyYWN0IHRoZSBmaWxlIHBhdGggZnJvbSB0aGUgY2FsbGVyIGxpbmVcbiAgY29uc3QgbWF0Y2ggPSBjYWxsZXJMaW5lPy5tYXRjaCgvXFwoKC4qKTpcXGQrOlxcZCtcXCkvKTtcblxuICBpZiAobWF0Y2gpIHtcbiAgICByZXR1cm4gcmVzb2x2ZShtYXRjaFsxXSA/PyBcIlwiKTsgLy8gVGhlIGZpbGUgcGF0aCB3aWxsIGJlIGluIHRoZSBmaXJzdCBjYXB0dXJpbmcgZ3JvdXBcbiAgfVxuXG4gIHJldHVybiBudWxsOyAvLyBJZiBubyBtYXRjaCBmb3VuZFxufVxuXG5leHBvcnQgeyBnZXRGaWxlUGF0aCB9O1xuIl0sCiAgIm1hcHBpbmdzIjogIjRkQUFBLElBQUFBLEVBQUEsR0FBQUMsRUFBQUQsRUFBQSxhQUFBRSxFQUFBLFlBQUFDLElBQUEsZUFBQUMsRUFBQUosR0NBQSxJQUFBSyxFQUF3QixnQkFFeEIsU0FBU0Ms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eEQsQ0FFT2dDLFlBQ0x4QyxFQUNBUSxFQUNNLENBQ04sT0FBTyxLQUFLYyxnQkFBZ0IsS0FBSzlCLFlBQWFRLEVBQU9RLENBQUFBLENBQ3ZELENBRU9pQyxVQUE2QnpDLEVBQWlCLENBQ25ELE9BQU8sS0FBSzJCLG9CQUFvQixLQUFLbEMsV0FBWU8sQ0FBQUEsQ0FDbkQsQ0FFTzBDLGdCQUFtQzFDLEVBQWlCLENBQ3pELE9BQU8sS0FBSzJCLG9CQUFvQixLQUFLcEMsYUFBY1MsQ0FBQUEsQ0FDckQsQ0FFTzJDLGVBQWtDM0MsRUFBaUIsQ0FDeEQsT0FBTyxLQUFLMkIsb0JBQW9CLEtBQUtuQyxZQUFhUSxDQUFBQSxDQUNwRCxDQUVPNEMsV0FBV2IsRUFBb0IsQ0FDcEMsT0FBVyxDQUFDdkIsRUFBVSxDQUFFUixNQUFBQSxFQUFPK0IsS0FBTWMsQ0FBWSxDQUFFLElBQUssS0FBS25ELE9BQ3ZEbUQsRUFBYUMsU0FBU2YsQ0FBQUEsSUFDeEIsS0FBS08sT0FBT3RDLEVBQWdCUSxDQUFBQSxFQUM1QixLQUFLK0IsYUFBYXZDLEVBQWdCUSxDQUFBQSxFQUNsQyxLQUFLZ0MsWUFBWXhDLEVBQWdCUSxDQUFBQSxHQUVuQyxLQUFLZCxPQUFPa0MsT0FBT3BCLENBQUFBLEVBRXJCLE9BQU8sSUFDVCxDQUNGLEVBRUF1QyxFQUFlekQiLAogICJuYW1lcyI6IFsiaW5kZXhfZXhwb3J0cyIsICJfX2V4cG9ydCIsICJFbWl0dGVyIiwgImluZGV4X2RlZmF1bHQiLCAiX190b0NvbW1vbkpTIiwgImltcG9ydF9wYXRoIiwgImdldEZpbGVQYXRoIiwgIm1hdGNoIiwgIkVycm9yIiwgInN0YWNrIiwgInNwbGl0IiwgInJlc29sdmUiLCAiRW1pdHRlciIsICJfYmVmb3JlSG9va3MiLCAiX2FmdGVySG9va3MiLCAiX2xpc3RlbmVycyIsICJfcGF0aHMiLCAiX21heExpc3RlbmVycyIsICJNYXAiLCAibWF4TGlzdGVuZXJzIiwgInZhbHVlIiwgImVtaXQiLCAiZXZlbnQiLCAiYXJndW1lbnRzXyIsICJiZWZvcmVIb29rcyIsICJnZXQiLCAibGlzdGVuZXJzIiwgImFmdGVySG9va3MiLCAiY2FuY2VsZWQiLCAiaG9vayIsICJsaXN0ZW5lciIsICJhZnRlckFyZ3MiLCAicHJvY2VzcyIsICJuZXh0VGljayIsICJfYWRkTGlzdGVuZXIiLCAibWFwIiwgImxlbmd0aCIsICJjb25zb2xlIiwgInRyYWNlIiwgInNldCIsICJfYWRkT25jZUxpc3RlbmVyIiwgIndyYXBwZXIiLCAiX19uYW1lIiwgImFyZ3MiLCAiX3JlbW92ZUxpc3RlbmVyIiwgImluZGV4IiwgImluZGV4T2YiLCAidW5kZWZpbmVkIiwgInNwbGljZSIsICJfcmVtb3ZlQWxsTGlzdGVuZXJzIiwgImRlbGV0ZSIsICJjbGVhciIsICJvbiIsICJwYXRoIiwgImdldEZpbGVQYXRoIiwgImJlZm9yZSIsICJhZnRlciIsICJvbmNlIiwgIm9uY2VCZWZvcmUiLCAib25jZUFmdGVyIiwgInJlbW92ZSIsICJyZW1vdmVCZWZvcmUiLCAicmVtb3ZlQWZ0ZXIiLCAicmVtb3ZlQWxsIiwgInJlbW92ZUFsbEJlZm9yZSIsICJyZW1vdmVBbGxBZnRlciIsICJyZW1vdmVQYXRoIiwgImxpc3RlbmVyUGF0aCIsICJpbmNsdWRlcyIsICJpbmRleF9kZWZhdWx0Il0KfQo=
1
+ "use strict";var f=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var p=Object.prototype.hasOwnProperty;var c=(o,e)=>f(o,"name",{value:e,configurable:!0});var L=(o,e)=>{for(var t in e)f(o,t,{get:e[t],enumerable:!0})},b=(o,e,t,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of m(e))!p.call(o,r)&&r!==t&&f(o,r,{get:()=>e[r],enumerable:!(s=u(e,r))||s.enumerable});return o};var H=o=>b(f({},"__esModule",{value:!0}),o);var A={};L(A,{Emitter:()=>_,default:()=>x});module.exports=H(A);var d=require("path");function l(){let s=new Error()?.stack?.split(`
2
+ `)?.[3]?.match(/\((.*):\d+:\d+\)/);return s?(0,d.resolve)(s[1]??""):null}c(l,"getFilePath");var _=class{static{c(this,"Emitter")}_maxListeners;_beforeHooks;_afterHooks;_listeners;_paths;constructor(e=10,t=null){this._maxListeners=e,this._beforeHooks=new Map,this._afterHooks=new Map,this._listeners=new Map,this._paths=new Map,this.errorCallback=null,this.errorCallback=t}errorCallback;get maxListeners(){return this._maxListeners}set maxListeners(e){this._maxListeners=e}onError(e){this.errorCallback=e}emit(e,...t){let s=this._beforeHooks.get(e)??[],r=this._listeners.get(e)??[],a=this._afterHooks.get(e)??[],h=!1;for(let i of s)try{if(i(...t)===!1){h=!0;break}}catch(n){if(this.errorCallback)this.errorCallback(n);else throw n}if(!h)for(let i of r)try{i(...t)}catch(n){if(this.errorCallback)this.errorCallback(n);else throw n}let k=[...t,h];return process.nextTick(()=>{for(let i of a)try{i(...k)}catch(n){if(this.errorCallback)this.errorCallback(n);else throw n}}),!h}async emitAsync(e,...t){let s=this._beforeHooks.get(e)??[],r=this._listeners.get(e)??[],a=this._afterHooks.get(e)??[],h=!1;for(let i of s)if(await i(...t)===!1){h=!0;break}if(!h)for(let i of r)await i(...t);let k=[...t,h];for(let i of a)await i(...k);return!h}_addListener(e,t,s){let r=e.get(t)??[];return r.length>=this._maxListeners&&console.trace(`warning: possible EventEmitter memory leak detected. ${r.length} listeners added. Use #setMaxListeners() to increase limit`),e.set(t,[...r,s]),this}_addOnceListener(e,t,s){let r=c((...a)=>(this._removeListener(e,t,r),s(...a)),"wrapper");return this._addListener(e,t,r)}_removeListener(e,t,s){let r=e.get(t),a=r?.indexOf(s);return a!==void 0&&a!==-1&&r?.splice(a,1),this}_removeAllListeners(e,t){return t?e.delete(t):e.clear(),this}on(e,t){let s=l();return s&&this._paths.set(t,{event:e,path:s}),this._addListener(this._listeners,e,t)}before(e,t){let s=l();return s&&this._paths.set(t,{event:e,path:s}),this._addListener(this._beforeHooks,e,t)}after(e,t){let s=l();return s&&this._paths.set(t,{event:e,path:s}),this._addListener(this._afterHooks,e,t)}once(e,t){let s=l();return s&&this._paths.set(t,{event:e,path:s}),this._addOnceListener(this._listeners,e,t)}onceBefore(e,t){let s=l();return s&&this._paths.set(t,{event:e,path:s}),this._addOnceListener(this._beforeHooks,e,t)}onceAfter(e,t){let s=l();return s&&this._paths.set(t,{event:e,path:s}),this._addOnceListener(this._afterHooks,e,t)}remove(e,t){return this._removeListener(this._listeners,e,t)}removeBefore(e,t){return this._removeListener(this._beforeHooks,e,t)}removeAfter(e,t){return this._removeListener(this._afterHooks,e,t)}removeAll(e){return this._removeAllListeners(this._listeners,e)}removeAllBefore(e){return this._removeAllListeners(this._beforeHooks,e)}removeAllAfter(e){return this._removeAllListeners(this._afterHooks,e)}removePath(e){for(let[t,{event:s,path:r}]of this._paths)r.includes(e)&&(this.remove(s,t),this.removeBefore(s,t),this.removeAfter(s,t)),this._paths.delete(t);return this}},x=_;0&&(module.exports={Emitter});
3
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL2luZGV4LnRzIiwgIi4uL3NyYy9nZXQtcGF0aC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHsgZ2V0RmlsZVBhdGggfSBmcm9tIFwiLi9nZXQtcGF0aFwiO1xuXG4vLyBFdmVudCBMaXN0ZW5lciBUeXBlc1xuZXhwb3J0IHR5cGUgTGlzdGVuZXI8VCBleHRlbmRzIEFycmF5PHVua25vd24+LCBSID0gdW5rbm93bj4gPSAoXG4gIC4uLmFyZ3VtZW50c186IFRcbikgPT4gUjtcbmV4cG9ydCB0eXBlIEZvcmNlQXJyYXk8VD4gPSBUIGV4dGVuZHMgQXJyYXk8dW5rbm93bj4gPyBUIDogbmV2ZXI7XG5leHBvcnQgdHlwZSBBZnRlckxpc3RlbmVyPFQgZXh0ZW5kcyBBcnJheTx1bmtub3duPj4gPSBMaXN0ZW5lcjxbLi4uVCwgYm9vbGVhbl0+O1xuXG5leHBvcnQgY2xhc3MgRW1pdHRlcjxUPiB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2JlZm9yZUhvb2tzID0gbmV3IE1hcDxcbiAgICBrZXlvZiBULFxuICAgIEFycmF5PExpc3RlbmVyPEZvcmNlQXJyYXk8VFtuZXZlcl0+LCBib29sZWFuPj5cbiAgPigpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2FmdGVySG9va3MgPSBuZXcgTWFwPFxuICAgIGtleW9mIFQsXG4gICAgQXJyYXk8QWZ0ZXJMaXN0ZW5lcjxGb3JjZUFycmF5PFRbbmV2ZXJdPj4+XG4gID4oKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9saXN0ZW5lcnMgPSBuZXcgTWFwPFxuICAgIGtleW9mIFQsXG4gICAgQXJyYXk8TGlzdGVuZXI8Rm9yY2VBcnJheTxUW25ldmVyXT4+PlxuICA+KCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfcGF0aHMgPSBuZXcgTWFwPFxuICAgIExpc3RlbmVyPGFueT4sXG4gICAgeyBldmVudDoga2V5b2YgVDsgcGF0aDogc3RyaW5nIH1cbiAgPigpO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9tYXhMaXN0ZW5lcnMgPSAxMCxcbiAgICBvbkVycm9yOiBMaXN0ZW5lcjxbRXJyb3JdPiB8IG51bGwgPSBudWxsXG4gICkge1xuICAgIHRoaXMuZXJyb3JDYWxsYmFjayA9IG9uRXJyb3I7XG4gIH1cblxuICBwcml2YXRlIGVycm9yQ2FsbGJhY2s6IExpc3RlbmVyPFtFcnJvcl0+IHwgbnVsbCA9IG51bGw7XG5cbiAgcHVibGljIGdldCBtYXhMaXN0ZW5lcnMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fbWF4TGlzdGVuZXJzO1xuICB9XG5cbiAgcHVibGljIHNldCBtYXhMaXN0ZW5lcnModmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuX21heExpc3RlbmVycyA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIG9uRXJyb3IoY2FsbGJhY2s6IExpc3RlbmVyPFtFcnJvcl0+IHwgbnVsbCk6IHZvaWQge1xuICAgIHRoaXMuZXJyb3JDYWxsYmFjayA9IGNhbGxiYWNrO1xuICB9XG5cbiAgcHVibGljIGVtaXQ8SyBleHRlbmRzIGtleW9mIFQ+KFxuICAgIGV2ZW50OiBLLFxuICAgIC4uLmFyZ3VtZW50c186IEZvcmNlQXJyYXk8VFtLXT5cbiAgKTogYm9vbGVhbiB7XG4gICAgY29uc3QgYmVmb3JlSG9va3MgPSB0aGlzLl9iZWZvcmVIb29rcy5nZXQoZXZlbnQpID8/IFtdO1xuICAgIGNvbnN0IGxpc3RlbmVycyA9IHRoaXMuX2xpc3RlbmVycy5nZXQoZXZlbnQpID8/IFtdO1xuICAgIGNvbnN0IGFmdGVySG9va3MgPSB0aGlzLl9hZnRlckhvb2tzLmdldChldmVudCkgPz8gW107XG5cbiAgICBsZXQgY2FuY2VsZWQgPSBmYWxzZTtcblxuICAgIGZvciAoY29uc3QgaG9vayBvZiBiZWZvcmVIb29rcykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gaG9vayguLi4oYXJndW1lbnRzXyBhcyBGb3JjZUFycmF5PFRbbmV2ZXJdPikpO1xuICAgICAgICBpZiAocmVzdWx0ID09PSBmYWxzZSkge1xuICAgICAgICAgIGNhbmNlbGVkID0gdHJ1ZTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCAocmVhc29uKSB7XG4gICAgICAgIGlmICh0aGlzLmVycm9yQ2FsbGJhY2spIHtcbiAgICAgICAgICB0aGlzLmVycm9yQ2FsbGJhY2socmVhc29uIGFzIEVycm9yKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aHJvdyByZWFzb247XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoIWNhbmNlbGVkKSB7XG4gICAgICBmb3IgKGNvbnN0IGxpc3RlbmVyIG9mIGxpc3RlbmVycykge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGxpc3RlbmVyKC4uLihhcmd1bWVudHNfIGFzIEZvcmNlQXJyYXk8VFtuZXZlcl0+KSk7XG4gICAgICAgIH0gY2F0Y2ggKHJlYXNvbikge1xuICAgICAgICAgIGlmICh0aGlzLmVycm9yQ2FsbGJhY2spIHtcbiAgICAgICAgICAgIHRoaXMuZXJyb3JDYWxsYmFjayhyZWFzb24gYXMgRXJyb3IpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aHJvdyByZWFzb247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgYWZ0ZXJBcmdzID0gWy4uLmFyZ3VtZW50c18sIGNhbmNlbGVkXSBhcyBbXG4gICAgICAuLi5Gb3JjZUFycmF5PFRbbmV2ZXJdPixcbiAgICAgIGJvb2xlYW5cbiAgICBdO1xuXG4gICAgcHJvY2Vzcy5uZXh0VGljaygoKSA9PiB7XG4gICAgICBmb3IgKGNvbnN0IGhvb2sgb2YgYWZ0ZXJIb29rcykge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGhvb2soLi4uYWZ0ZXJBcmdzKTtcbiAgICAgICAgfSBjYXRjaCAocmVhc29uKSB7XG4gICAgICAgICAgaWYgKHRoaXMuZXJyb3JDYWxsYmFjaykge1xuICAgICAgICAgICAgdGhpcy5lcnJvckNhbGxiYWNrKHJlYXNvbiBhcyBFcnJvcik7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRocm93IHJlYXNvbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiAhY2FuY2VsZWQ7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZW1pdEFzeW5jPEsgZXh0ZW5kcyBrZXlvZiBUPihcbiAgICBldmVudDogSyxcbiAgICAuLi5hcmd1bWVudHNfOiBGb3JjZUFycmF5PFRbS10+XG4gICk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IGJlZm9yZUhvb2tzID0gdGhpcy5fYmVmb3JlSG9va3MuZ2V0KGV2ZW50KSA/PyBbXTtcbiAgICBjb25zdCBsaXN0ZW5lcnMgPSB0aGlzLl9saXN0ZW5lcnMuZ2V0KGV2ZW50KSA/PyBbXTtcbiAgICBjb25zdCBhZnRlckhvb2tzID0gdGhpcy5fYWZ0ZXJIb29rcy5nZXQoZXZlbnQpID8/IFtdO1xuXG4gICAgbGV0IGNhbmNlbGVkID0gZmFsc2U7XG5cbiAgICBmb3IgKGNvbnN0IGhvb2sgb2YgYmVmb3JlSG9va3MpIHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGhvb2soLi4uKGFyZ3VtZW50c18gYXMgRm9yY2VBcnJheTxUW25ldmVyXT4pKTtcbiAgICAgIGlmIChyZXN1bHQgPT09IGZhbHNlKSB7XG4gICAgICAgIGNhbmNlbGVkID0gdHJ1ZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKCFjYW5jZWxlZCkge1xuICAgICAgZm9yIChjb25zdCBsaXN0ZW5lciBvZiBsaXN0ZW5lcnMpIHtcbiAgICAgICAgYXdhaXQgbGlzdGVuZXIoLi4uKGFyZ3VtZW50c18gYXMgRm9yY2VBcnJheTxUW25ldmVyXT4pKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBhZnRlckFyZ3MgPSBbLi4uYXJndW1lbnRzXywgY2FuY2VsZWRdIGFzIFtcbiAgICAgIC4uLkZvcmNlQXJyYXk8VFtuZXZlcl0+LFxuICAgICAgYm9vbGVhblxuICAgIF07XG5cbiAgICBmb3IgKGNvbnN0IGhvb2sgb2YgYWZ0ZXJIb29rcykge1xuICAgICAgYXdhaXQgaG9vayguLi5hZnRlckFyZ3MpO1xuICAgIH1cblxuICAgIHJldHVybiAhY2FuY2VsZWQ7XG4gIH1cblxuICBwcml2YXRlIF9hZGRMaXN0ZW5lcjxLIGV4dGVuZHMga2V5b2YgVCwgTD4oXG4gICAgbWFwOiBNYXA8SywgQXJyYXk8TD4+LFxuICAgIGV2ZW50OiBLLFxuICAgIGxpc3RlbmVyOiBMXG4gICk6IHRoaXMge1xuICAgIGNvbnN0IGxpc3RlbmVycyA9IG1hcC5nZXQoZXZlbnQpID8/IFtdO1xuICAgIGlmIChsaXN0ZW5lcnMubGVuZ3RoID49IHRoaXMuX21heExpc3RlbmVycykge1xuICAgICAgY29uc29sZS50cmFjZShcbiAgICAgICAgYHdhcm5pbmc6IHBvc3NpYmxlIEV2ZW50RW1pdHRlciBtZW1vcnkgbGVhayBkZXRlY3RlZC4gJHtsaXN0ZW5lcnMubGVuZ3RofSBsaXN0ZW5lcnMgYWRkZWQuIFVzZSAjc2V0TWF4TGlzdGVuZXJzKCkgdG8gaW5jcmVhc2UgbGltaXRgXG4gICAgICApO1xuICAgIH1cbiAgICBtYXAuc2V0KGV2ZW50LCBbLi4ubGlzdGVuZXJzLCBsaXN0ZW5lcl0pO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHJpdmF0ZSBfYWRkT25jZUxpc3RlbmVyPEsgZXh0ZW5kcyBrZXlvZiBULCBMPihcbiAgICBtYXA6IE1hcDxLLCBBcnJheTxMPj4sXG4gICAgZXZlbnQ6IEssXG4gICAgbGlzdGVuZXI6IExcbiAgKTogdGhpcyB7XG4gICAgY29uc3Qgd3JhcHBlciA9ICguLi5hcmdzOiBBcnJheTxhbnk+KSA9PiB7XG4gICAgICB0aGlzLl9yZW1vdmVMaXN0ZW5lcihtYXAsIGV2ZW50LCB3cmFwcGVyIGFzIEwpO1xuICAgICAgcmV0dXJuIChsaXN0ZW5lciBhcyBhbnkpKC4uLmFyZ3MpO1xuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5fYWRkTGlzdGVuZXIobWFwLCBldmVudCwgd3JhcHBlciBhcyBMKTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlbW92ZUxpc3RlbmVyPEsgZXh0ZW5kcyBrZXlvZiBULCBMPihcbiAgICBtYXA6IE1hcDxLLCBBcnJheTxMPj4sXG4gICAgZXZlbnQ6IEssXG4gICAgbGlzdGVuZXI6IExcbiAgKTogdGhpcyB7XG4gICAgY29uc3QgbGlzdGVuZXJzID0gbWFwLmdldChldmVudCk7XG4gICAgY29uc3QgaW5kZXggPSBsaXN0ZW5lcnM/LmluZGV4T2YobGlzdGVuZXIpO1xuICAgIGlmIChpbmRleCAhPT0gdW5kZWZpbmVkICYmIGluZGV4ICE9PSAtMSkge1xuICAgICAgbGlzdGVuZXJzPy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHByaXZhdGUgX3JlbW92ZUFsbExpc3RlbmVyczxLIGV4dGVuZHMga2V5b2YgVCwgTD4oXG4gICAgbWFwOiBNYXA8SywgQXJyYXk8TD4+LFxuICAgIGV2ZW50PzogS1xuICApOiB0aGlzIHtcbiAgICBpZiAoZXZlbnQpIHtcbiAgICAgIG1hcC5kZWxldGUoZXZlbnQpO1xuICAgIH0gZWxzZSB7XG4gICAgICBtYXAuY2xlYXIoKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgb248SyBleHRlbmRzIGtleW9mIFQ+KFxuICAgIGV2ZW50OiBLLFxuICAgIGxpc3RlbmVyOiBMaXN0ZW5lcjxGb3JjZUFycmF5PFRbS10+PlxuICApOiB0aGlzIHtcbiAgICBjb25zdCBwYXRoID0gZ2V0RmlsZVBhdGgoKTtcbiAgICBpZiAocGF0aCkgdGhpcy5fcGF0aHMuc2V0KGxpc3RlbmVyLCB7IGV2ZW50LCBwYXRoIH0pO1xuXG4gICAgcmV0dXJuIHRoaXMuX2FkZExpc3RlbmVyKHRoaXMuX2xpc3RlbmVycywgZXZlbnQsIGxpc3RlbmVyKTtcbiAgfVxuXG4gIHB1YmxpYyBiZWZvcmU8SyBleHRlbmRzIGtleW9mIFQ+KFxuICAgIGV2ZW50OiBLLFxuICAgIGxpc3RlbmVyOiBMaXN0ZW5lcjxGb3JjZUFycmF5PFRbS10+LCBib29sZWFuPlxuICApOiB0aGlzIHtcbiAgICBjb25zdCBwYXRoID0gZ2V0RmlsZVBhdGgoKTtcbiAgICBpZiAocGF0aCkgdGhpcy5fcGF0aHMuc2V0KGxpc3RlbmVyLCB7IGV2ZW50LCBwYXRoIH0pO1xuXG4gICAgcmV0dXJuIHRoaXMuX2FkZExpc3RlbmVyKHRoaXMuX2JlZm9yZUhvb2tzLCBldmVudCwgbGlzdGVuZXIpO1xuICB9XG5cbiAgcHVibGljIGFmdGVyPEsgZXh0ZW5kcyBrZXlvZiBUPihcbiAgICBldmVudDogSyxcbiAgICBsaXN0ZW5lcjogQWZ0ZXJMaXN0ZW5lcjxGb3JjZUFycmF5PFRbS10+PlxuICApOiB0aGlzIHtcbiAgICBjb25zdCBwYXRoID0gZ2V0RmlsZVBhdGgoKTtcbiAgICBpZiAocGF0aCkgdGhpcy5fcGF0aHMuc2V0KGxpc3RlbmVyLCB7IGV2ZW50LCBwYXRoIH0pO1xuXG4gICAgcmV0dXJuIHRoaXMuX2FkZExpc3RlbmVyKHRoaXMuX2FmdGVySG9va3MsIGV2ZW50LCBsaXN0ZW5lcik7XG4gIH1cblxuICBwdWJsaWMgb25jZTxLIGV4dGVuZHMga2V5b2YgVD4oXG4gICAgZXZlbnQ6IEssXG4gICAgbGlzdGVuZXI6IExpc3RlbmVyPEZvcmNlQXJyYXk8VFtLXT4+XG4gICk6IHRoaXMge1xuICAgIGNvbnN0IHBhdGggPSBnZXRGaWxlUGF0aCgpO1xuICAgIGlmIChwYXRoKSB0aGlzLl9wYXRocy5zZXQobGlzdGVuZXIsIHsgZXZlbnQsIHBhdGggfSk7XG5cbiAgICByZXR1cm4gdGhpcy5fYWRkT25jZUxpc3RlbmVyKHRoaXMuX2xpc3RlbmVycywgZXZlbnQsIGxpc3RlbmVyKTtcbiAgfVxuXG4gIHB1YmxpYyBvbmNlQmVmb3JlPEsgZXh0ZW5kcyBrZXlvZiBUPihcbiAgICBldmVudDogSyxcbiAgICBsaXN0ZW5lcjogTGlzdGVuZXI8Rm9yY2VBcnJheTxUW0tdPiwgYm9vbGVhbj5cbiAgKTogdGhpcyB7XG4gICAgY29uc3QgcGF0aCA9IGdldEZpbGVQYXRoKCk7XG4gICAgaWYgKHBhdGgpIHRoaXMuX3BhdGhzLnNldChsaXN0ZW5lciwgeyBldmVudCwgcGF0aCB9KTtcblxuICAgIHJldHVybiB0aGlzLl9hZGRPbmNlTGlzdGVuZXIodGhpcy5fYmVmb3JlSG9va3MsIGV2ZW50LCBsaXN0ZW5lcik7XG4gIH1cblxuICBwdWJsaWMgb25jZUFmdGVyPEsgZXh0ZW5kcyBrZXlvZiBUPihcbiAgICBldmVudDogSyxcbiAgICBsaXN0ZW5lcjogQWZ0ZXJMaXN0ZW5lcjxGb3JjZUFycmF5PFRbS10+PlxuICApOiB0aGlzIHtcbiAgICBjb25zdCBwYXRoID0gZ2V0RmlsZVBhdGgoKTtcbiAgICBpZiAocGF0aCkgdGhpcy5fcGF0aHMuc2V0KGxpc3RlbmVyLCB7IGV2ZW50LCBwYXRoIH0pO1xuXG4gICAgcmV0dXJuIHRoaXMuX2FkZE9uY2VMaXN0ZW5lcih0aGlzLl9hZnRlckhvb2tzLCBldmVudCwgbGlzdGVuZXIpO1xuICB9XG5cbiAgcHVibGljIHJlbW92ZTxLIGV4dGVuZHMga2V5b2YgVD4oXG4gICAgZXZlbnQ6IEssXG4gICAgbGlzdGVuZXI6IExpc3RlbmVyPEZvcmNlQXJyYXk8VFtLXT4+XG4gICk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLl9yZW1vdmVMaXN0ZW5lcih0aGlzLl9saXN0ZW5lcnMsIGV2ZW50LCBsaXN0ZW5lcik7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlQmVmb3JlPEsgZXh0ZW5kcyBrZXlvZiBUPihcbiAgICBldmVudDogSyxcbiAgICBsaXN0ZW5lcjogTGlzdGVuZXI8Rm9yY2VBcnJheTxUW0tdPiwgYm9vbGVhbj5cbiAgKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuX3JlbW92ZUxpc3RlbmVyKHRoaXMuX2JlZm9yZUhvb2tzLCBldmVudCwgbGlzdGVuZXIpO1xuICB9XG5cbiAgcHVibGljIHJlbW92ZUFmdGVyPEsgZXh0ZW5kcyBrZXlvZiBUPihcbiAgICBldmVudDogSyxcbiAgICBsaXN0ZW5lcjogQWZ0ZXJMaXN0ZW5lcjxGb3JjZUFycmF5PFRbS10+PlxuICApOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5fcmVtb3ZlTGlzdGVuZXIodGhpcy5fYWZ0ZXJIb29rcywgZXZlbnQsIGxpc3RlbmVyKTtcbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVBbGw8SyBleHRlbmRzIGtleW9mIFQ+KGV2ZW50PzogSyk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLl9yZW1vdmVBbGxMaXN0ZW5lcnModGhpcy5fbGlzdGVuZXJzLCBldmVudCk7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlQWxsQmVmb3JlPEsgZXh0ZW5kcyBrZXlvZiBUPihldmVudD86IEspOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5fcmVtb3ZlQWxsTGlzdGVuZXJzKHRoaXMuX2JlZm9yZUhvb2tzLCBldmVudCk7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlQWxsQWZ0ZXI8SyBleHRlbmRzIGtleW9mIFQ+KGV2ZW50PzogSyk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLl9yZW1vdmVBbGxMaXN0ZW5lcnModGhpcy5fYWZ0ZXJIb29rcywgZXZlbnQpO1xuICB9XG5cbiAgcHVibGljIHJlbW92ZVBhdGgocGF0aDogc3RyaW5nKTogdGhpcyB7XG4gICAgZm9yIChjb25zdCBbbGlzdGVuZXIsIHsgZXZlbnQsIHBhdGg6IGxpc3RlbmVyUGF0aCB9XSBvZiB0aGlzLl9wYXRocykge1xuICAgICAgaWYgKGxpc3RlbmVyUGF0aC5pbmNsdWRlcyhwYXRoKSkge1xuICAgICAgICB0aGlzLnJlbW92ZShldmVudCBhcyBuZXZlciwgbGlzdGVuZXIgYXMgbmV2ZXIpO1xuICAgICAgICB0aGlzLnJlbW92ZUJlZm9yZShldmVudCBhcyBuZXZlciwgbGlzdGVuZXIgYXMgbmV2ZXIpO1xuICAgICAgICB0aGlzLnJlbW92ZUFmdGVyKGV2ZW50IGFzIG5ldmVyLCBsaXN0ZW5lciBhcyBuZXZlcik7XG4gICAgICB9XG4gICAgICB0aGlzLl9wYXRocy5kZWxldGUobGlzdGVuZXIpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcztcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBFbWl0dGVyO1xuIiwgImltcG9ydCB7IHJlc29sdmUgfSBmcm9tIFwicGF0aFwiO1xuXG5mdW5jdGlvbiBnZXRGaWxlUGF0aCgpIHtcbiAgY29uc3QgZXJyb3IgPSBuZXcgRXJyb3IoKTtcbiAgY29uc3Qgc3RhY2sgPSBlcnJvcj8uc3RhY2s/LnNwbGl0KFwiXFxuXCIpO1xuICAvLyBUaGUgZmlyc3QgbGluZSBpcyB0aGUgY3VycmVudCBmdW5jdGlvbiwgdGhlIHNlY29uZCBpcyB0aGUgY2FsbGVyXG4gIGNvbnN0IGNhbGxlckxpbmUgPSBzdGFjaz8uWzNdO1xuXG4gIC8vIEV4dHJhY3QgdGhlIGZpbGUgcGF0aCBmcm9tIHRoZSBjYWxsZXIgbGluZVxuICBjb25zdCBtYXRjaCA9IGNhbGxlckxpbmU/Lm1hdGNoKC9cXCgoLiopOlxcZCs6XFxkK1xcKS8pO1xuXG4gIGlmIChtYXRjaCkge1xuICAgIHJldHVybiByZXNvbHZlKG1hdGNoWzFdID8/IFwiXCIpOyAvLyBUaGUgZmlsZSBwYXRoIHdpbGwgYmUgaW4gdGhlIGZpcnN0IGNhcHR1cmluZyBncm91cFxuICB9XG5cbiAgcmV0dXJuIG51bGw7IC8vIElmIG5vIG1hdGNoIGZvdW5kXG59XG5cbmV4cG9ydCB7IGdldEZpbGVQYXRoIH07XG4iXSwKICAibWFwcGluZ3MiOiAiNGRBQUEsSUFBQUEsRUFBQSxHQUFBQyxFQUFBRCxFQUFBLGFBQUFFLEVBQUEsWUFBQUMsSUFBQSxlQUFBQyxFQUFBSixHQ0FBLElBQUFLLEVBQXdCLGdCQUV4QixTQUFTQyxHQUFBQSxDQU9QLElBQU1DLEVBTlEsSUFBSUMsTUFB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QUFtQzVDLEVBQWlCLENBQ3pELE9BQU8sS0FBSzZCLG9CQUFvQixLQUFLekMsYUFBY1ksQ0FBQUEsQ0FDckQsQ0FFTzZDLGVBQWtDN0MsRUFBaUIsQ0FDeEQsT0FBTyxLQUFLNkIsb0JBQW9CLEtBQUt4QyxZQUFhVyxDQUFBQSxDQUNwRCxDQUVPOEMsV0FBV2IsRUFBb0IsQ0FDcEMsT0FBVyxDQUFDeEIsRUFBVSxDQUFFVCxNQUFBQSxFQUFPaUMsS0FBTWMsQ0FBWSxDQUFFLElBQUssS0FBS3hELE9BQ3ZEd0QsRUFBYUMsU0FBU2YsQ0FBQUEsSUFDeEIsS0FBS08sT0FBT3hDLEVBQWdCUyxDQUFBQSxFQUM1QixLQUFLZ0MsYUFBYXpDLEVBQWdCUyxDQUFBQSxFQUNsQyxLQUFLaUMsWUFBWTFDLEVBQWdCUyxDQUFBQSxHQUVuQyxLQUFLbEIsT0FBT3VDLE9BQU9yQixDQUFBQSxFQUVyQixPQUFPLElBQ1QsQ0FDRixFQUVBd0MsRUFBZTlEIiwKICAibmFtZXMiOiBbImluZGV4X2V4cG9ydHMiLCAiX19leHBvcnQiLCAiRW1pdHRlciIsICJpbmRleF9kZWZhdWx0IiwgIl9fdG9Db21tb25KUyIsICJpbXBvcnRfcGF0aCIsICJnZXRGaWxlUGF0aCIsICJtYXRjaCIsICJFcnJvciIsICJzdGFjayIsICJzcGxpdCIsICJyZXNvbHZlIiwgIkVtaXR0ZXIiLCAiX2JlZm9yZUhvb2tzIiwgIl9hZnRlckhvb2tzIiwgIl9saXN0ZW5lcnMiLCAiX3BhdGhzIiwgIl9tYXhMaXN0ZW5lcnMiLCAib25FcnJvciIsICJNYXAiLCAiZXJyb3JDYWxsYmFjayIsICJtYXhMaXN0ZW5lcnMiLCAidmFsdWUiLCAiY2FsbGJhY2siLCAiZW1pdCIsICJldmVudCIsICJhcmd1bWVudHNfIiwgImJlZm9yZUhvb2tzIiwgImdldCIsICJsaXN0ZW5lcnMiLCAiYWZ0ZXJIb29rcyIsICJjYW5jZWxlZCIsICJob29rIiwgInJlYXNvbiIsICJsaXN0ZW5lciIsICJhZnRlckFyZ3MiLCAicHJvY2VzcyIsICJuZXh0VGljayIsICJlbWl0QXN5bmMiLCAiX2FkZExpc3RlbmVyIiwgIm1hcCIsICJsZW5ndGgiLCAiY29uc29sZSIsICJ0cmFjZSIsICJzZXQiLCAiX2FkZE9uY2VMaXN0ZW5lciIsICJ3cmFwcGVyIiwgIl9fbmFtZSIsICJhcmdzIiwgIl9yZW1vdmVMaXN0ZW5lciIsICJpbmRleCIsICJpbmRleE9mIiwgInVuZGVmaW5lZCIsICJzcGxpY2UiLCAiX3JlbW92ZUFsbExpc3RlbmVycyIsICJkZWxldGUiLCAiY2xlYXIiLCAib24iLCAicGF0aCIsICJnZXRGaWxlUGF0aCIsICJiZWZvcmUiLCAiYWZ0ZXIiLCAib25jZSIsICJvbmNlQmVmb3JlIiwgIm9uY2VBZnRlciIsICJyZW1vdmUiLCAicmVtb3ZlQmVmb3JlIiwgInJlbW92ZUFmdGVyIiwgInJlbW92ZUFsbCIsICJyZW1vdmVBbGxCZWZvcmUiLCAicmVtb3ZlQWxsQWZ0ZXIiLCAicmVtb3ZlUGF0aCIsICJsaXN0ZW5lclBhdGgiLCAiaW5jbHVkZXMiLCAiaW5kZXhfZGVmYXVsdCJdCn0K
package/dist/index.mjs CHANGED
@@ -1,3 +1,3 @@
1
- var _=Object.defineProperty;var h=(f,e)=>_(f,"name",{value:e,configurable:!0});import{resolve as d}from"path";function i(){let s=new Error()?.stack?.split(`
2
- `)?.[3]?.match(/\((.*):\d+:\d+\)/);return s?d(s[1]??""):null}h(i,"getFilePath");var c=class{static{h(this,"Emitter")}_maxListeners;_beforeHooks;_afterHooks;_listeners;_paths;constructor(e=10){this._maxListeners=e,this._beforeHooks=new Map,this._afterHooks=new Map,this._listeners=new Map,this._paths=new Map}get maxListeners(){return this._maxListeners}set maxListeners(e){this._maxListeners=e}emit(e,...t){let s=this._beforeHooks.get(e)??[],r=this._listeners.get(e)??[],o=this._afterHooks.get(e)??[],a=!1;for(let n of s)if(n(...t)===!1){a=!0;break}if(!a)for(let n of r)n(...t);let l=[...t,a];return process.nextTick(()=>{for(let n of o)n(...l)}),!a}_addListener(e,t,s){let r=e.get(t)??[];return r.length>=this._maxListeners&&console.trace(`warning: possible EventEmitter memory leak detected. ${r.length} listeners added. Use #setMaxListeners() to increase limit`),e.set(t,[...r,s]),this}_addOnceListener(e,t,s){let r=h((...o)=>(this._removeListener(e,t,r),s(...o)),"wrapper");return this._addListener(e,t,r)}_removeListener(e,t,s){let r=e.get(t),o=r?.indexOf(s);return o!==void 0&&o!==-1&&r?.splice(o,1),this}_removeAllListeners(e,t){return t?e.delete(t):e.clear(),this}on(e,t){let s=i();return s&&this._paths.set(t,{event:e,path:s}),this._addListener(this._listeners,e,t)}before(e,t){let s=i();return s&&this._paths.set(t,{event:e,path:s}),this._addListener(this._beforeHooks,e,t)}after(e,t){let s=i();return s&&this._paths.set(t,{event:e,path:s}),this._addListener(this._afterHooks,e,t)}once(e,t){let s=i();return s&&this._paths.set(t,{event:e,path:s}),this._addOnceListener(this._listeners,e,t)}onceBefore(e,t){let s=i();return s&&this._paths.set(t,{event:e,path:s}),this._addOnceListener(this._beforeHooks,e,t)}onceAfter(e,t){let s=i();return s&&this._paths.set(t,{event:e,path:s}),this._addOnceListener(this._afterHooks,e,t)}remove(e,t){return this._removeListener(this._listeners,e,t)}removeBefore(e,t){return this._removeListener(this._beforeHooks,e,t)}removeAfter(e,t){return this._removeListener(this._afterHooks,e,t)}removeAll(e){return this._removeAllListeners(this._listeners,e)}removeAllBefore(e){return this._removeAllListeners(this._beforeHooks,e)}removeAllAfter(e){return this._removeAllListeners(this._afterHooks,e)}removePath(e){for(let[t,{event:s,path:r}]of this._paths)r.includes(e)&&(this.remove(s,t),this.removeBefore(s,t),this.removeAfter(s,t)),this._paths.delete(t);return this}},x=c;export{c as Emitter,x as default};
3
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL2dldC1wYXRoLnRzIiwgIi4uL3NyYy9pbmRleC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiaW1wb3J0IHsgcmVzb2x2ZSB9IGZyb20gXCJwYXRoXCI7XG5cbmZ1bmN0aW9uIGdldEZpbGVQYXRoKCkge1xuICBjb25zdCBlcnJvciA9IG5ldyBFcnJvcigpO1xuICBjb25zdCBzdGFjayA9IGVycm9yPy5zdGFjaz8uc3BsaXQoXCJcXG5cIik7XG4gIC8vIFRoZSBmaXJzdCBsaW5lIGlzIHRoZSBjdXJyZW50IGZ1bmN0aW9uLCB0aGUgc2Vjb25kIGlzIHRoZSBjYWxsZXJcbiAgY29uc3QgY2FsbGVyTGluZSA9IHN0YWNrPy5bM107XG5cbiAgLy8gRXh0cmFjdCB0aGUgZmlsZSBwYXRoIGZyb20gdGhlIGNhbGxlciBsaW5lXG4gIGNvbnN0IG1hdGNoID0gY2FsbGVyTGluZT8ubWF0Y2goL1xcKCguKik6XFxkKzpcXGQrXFwpLyk7XG5cbiAgaWYgKG1hdGNoKSB7XG4gICAgcmV0dXJuIHJlc29sdmUobWF0Y2hbMV0gPz8gXCJcIik7IC8vIFRoZSBmaWxlIHBhdGggd2lsbCBiZSBpbiB0aGUgZmlyc3QgY2FwdHVyaW5nIGdyb3VwXG4gIH1cblxuICByZXR1cm4gbnVsbDsgLy8gSWYgbm8gbWF0Y2ggZm91bmRcbn1cblxuZXhwb3J0IHsgZ2V0RmlsZVBhdGggfTtcbiIsICIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5pbXBvcnQgeyBnZXRGaWxlUGF0aCB9IGZyb20gXCIuL2dldC1wYXRoXCI7XG5cbi8vIEV2ZW50IExpc3RlbmVyIFR5cGVzXG5leHBvcnQgdHlwZSBMaXN0ZW5lcjxUIGV4dGVuZHMgQXJyYXk8dW5rbm93bj4sIFIgPSB1bmtub3duPiA9IChcbiAgLi4uYXJndW1lbnRzXzogVFxuKSA9PiBSO1xuZXhwb3J0IHR5cGUgRm9yY2VBcnJheTxUPiA9IFQgZXh0ZW5kcyBBcnJheTx1bmtub3duPiA/IFQgOiBuZXZlcjtcbmV4cG9ydCB0eXBlIEFmdGVyTGlzdGVuZXI8VCBleHRlbmRzIEFycmF5PHVua25vd24+PiA9IExpc3RlbmVyPFsuLi5ULCBib29sZWFuXT47XG5cbmV4cG9ydCBjbGFzcyBFbWl0dGVyPFQ+IHtcbiAgcHJpdmF0ZSByZWFkb25seSBfYmVmb3JlSG9va3MgPSBuZXcgTWFwPFxuICAgIGtleW9mIFQsXG4gICAgQXJyYXk8TGlzdGVuZXI8Rm9yY2VBcnJheTxUW25ldmVyXT4sIGJvb2xlYW4+PlxuICA+KCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfYWZ0ZXJIb29rcyA9IG5ldyBNYXA8XG4gICAga2V5b2YgVCxcbiAgICBBcnJheTxBZnRlckxpc3RlbmVyPEZvcmNlQXJyYXk8VFtuZXZlcl0+Pj5cbiAgPigpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2xpc3RlbmVycyA9IG5ldyBNYXA8XG4gICAga2V5b2YgVCxcbiAgICBBcnJheTxMaXN0ZW5lcjxGb3JjZUFycmF5PFRbbmV2ZXJdPj4+XG4gID4oKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9wYXRocyA9IG5ldyBNYXA8XG4gICAgTGlzdGVuZXI8YW55PixcbiAgICB7IGV2ZW50OiBrZXlvZiBUOyBwYXRoOiBzdHJpbmcgfVxuICA+KCk7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHByaXZhdGUgX21heExpc3RlbmVycyA9IDEwKSB7fVxuXG4gIHB1YmxpYyBnZXQgbWF4TGlzdGVuZXJzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX21heExpc3RlbmVycztcbiAgfVxuXG4gIHB1YmxpYyBzZXQgbWF4TGlzdGVuZXJzKHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLl9tYXhMaXN0ZW5lcnMgPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBlbWl0PEsgZXh0ZW5kcyBrZXlvZiBUPihcbiAgICBldmVudDogSyxcbiAgICAuLi5hcmd1bWVudHNfOiBGb3JjZUFycmF5PFRbS10+XG4gICk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGJlZm9yZUhvb2tzID0gdGhpcy5fYmVmb3JlSG9va3MuZ2V0KGV2ZW50KSA/PyBbXTtcbiAgICBjb25zdCBsaXN0ZW5lcnMgPSB0aGlzLl9saXN0ZW5lcnMuZ2V0KGV2ZW50KSA/PyBbXTtcbiAgICBjb25zdCBhZnRlckhvb2tzID0gdGhpcy5fYWZ0ZXJIb29rcy5nZXQoZXZlbnQpID8/IFtdO1xuXG4gICAgbGV0IGNhbmNlbGVkID0gZmFsc2U7XG5cbiAgICBmb3IgKGNvbnN0IGhvb2sgb2YgYmVmb3JlSG9va3MpIHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGhvb2soLi4uKGFyZ3VtZW50c18gYXMgRm9yY2VBcnJheTxUW25ldmVyXT4pKTtcbiAgICAgIGlmIChyZXN1bHQgPT09IGZhbHNlKSB7XG4gICAgICAgIGNhbmNlbGVkID0gdHJ1ZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKCFjYW5jZWxlZCkge1xuICAgICAgZm9yIChjb25zdCBsaXN0ZW5lciBvZiBsaXN0ZW5lcnMpIHtcbiAgICAgICAgbGlzdGVuZXIoLi4uKGFyZ3VtZW50c18gYXMgRm9yY2VBcnJheTxUW25ldmVyXT4pKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBhZnRlckFyZ3MgPSBbLi4uYXJndW1lbnRzXywgY2FuY2VsZWRdIGFzIFtcbiAgICAgIC4uLkZvcmNlQXJyYXk8VFtuZXZlcl0+LFxuICAgICAgYm9vbGVhblxuICAgIF07XG5cbiAgICBwcm9jZXNzLm5leHRUaWNrKCgpID0+IHtcbiAgICAgIGZvciAoY29uc3QgaG9vayBvZiBhZnRlckhvb2tzKSB7XG4gICAgICAgIGhvb2soLi4uYWZ0ZXJBcmdzKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiAhY2FuY2VsZWQ7XG4gIH1cblxuICBwcml2YXRlIF9hZGRMaXN0ZW5lcjxLIGV4dGVuZHMga2V5b2YgVCwgTD4oXG4gICAgbWFwOiBNYXA8SywgQXJyYXk8TD4+LFxuICAgIGV2ZW50OiBLLFxuICAgIGxpc3RlbmVyOiBMXG4gICk6IHRoaXMge1xuICAgIGNvbnN0IGxpc3RlbmVycyA9IG1hcC5nZXQoZXZlbnQpID8/IFtdO1xuICAgIGlmIChsaXN0ZW5lcnMubGVuZ3RoID49IHRoaXMuX21heExpc3RlbmVycykge1xuICAgICAgY29uc29sZS50cmFjZShcbiAgICAgICAgYHdhcm5pbmc6IHBvc3NpYmxlIEV2ZW50RW1pdHRlciBtZW1vcnkgbGVhayBkZXRlY3RlZC4gJHtsaXN0ZW5lcnMubGVuZ3RofSBsaXN0ZW5lcnMgYWRkZWQuIFVzZSAjc2V0TWF4TGlzdGVuZXJzKCkgdG8gaW5jcmVhc2UgbGltaXRgXG4gICAgICApO1xuICAgIH1cbiAgICBtYXAuc2V0KGV2ZW50LCBbLi4ubGlzdGVuZXJzLCBsaXN0ZW5lcl0pO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHJpdmF0ZSBfYWRkT25jZUxpc3RlbmVyPEsgZXh0ZW5kcyBrZXlvZiBULCBMPihcbiAgICBtYXA6IE1hcDxLLCBBcnJheTxMPj4sXG4gICAgZXZlbnQ6IEssXG4gICAgbGlzdGVuZXI6IExcbiAgKTogdGhpcyB7XG4gICAgY29uc3Qgd3JhcHBlciA9ICguLi5hcmdzOiBBcnJheTxhbnk+KSA9PiB7XG4gICAgICB0aGlzLl9yZW1vdmVMaXN0ZW5lcihtYXAsIGV2ZW50LCB3cmFwcGVyIGFzIEwpO1xuICAgICAgcmV0dXJuIChsaXN0ZW5lciBhcyBhbnkpKC4uLmFyZ3MpO1xuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5fYWRkTGlzdGVuZXIobWFwLCBldmVudCwgd3JhcHBlciBhcyBMKTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlbW92ZUxpc3RlbmVyPEsgZXh0ZW5kcyBrZXlvZiBULCBMPihcbiAgICBtYXA6IE1hcDxLLCBBcnJheTxMPj4sXG4gICAgZXZlbnQ6IEssXG4gICAgbGlzdGVuZXI6IExcbiAgKTogdGhpcyB7XG4gICAgY29uc3QgbGlzdGVuZXJzID0gbWFwLmdldChldmVudCk7XG4gICAgY29uc3QgaW5kZXggPSBsaXN0ZW5lcnM/LmluZGV4T2YobGlzdGVuZXIpO1xuICAgIGlmIChpbmRleCAhPT0gdW5kZWZpbmVkICYmIGluZGV4ICE9PSAtMSkge1xuICAgICAgbGlzdGVuZXJzPy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHByaXZhdGUgX3JlbW92ZUFsbExpc3RlbmVyczxLIGV4dGVuZHMga2V5b2YgVCwgTD4oXG4gICAgbWFwOiBNYXA8SywgQXJyYXk8TD4+LFxuICAgIGV2ZW50PzogS1xuICApOiB0aGlzIHtcbiAgICBpZiAoZXZlbnQpIHtcbiAgICAgIG1hcC5kZWxldGUoZXZlbnQpO1xuICAgIH0gZWxzZSB7XG4gICAgICBtYXAuY2xlYXIoKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgb248SyBleHRlbmRzIGtleW9mIFQ+KFxuICAgIGV2ZW50OiBLLFxuICAgIGxpc3RlbmVyOiBMaXN0ZW5lcjxGb3JjZUFycmF5PFRbS10+PlxuICApOiB0aGlzIHtcbiAgICBjb25zdCBwYXRoID0gZ2V0RmlsZVBhdGgoKTtcbiAgICBpZiAocGF0aCkgdGhpcy5fcGF0aHMuc2V0KGxpc3RlbmVyLCB7IGV2ZW50LCBwYXRoIH0pO1xuXG4gICAgcmV0dXJuIHRoaXMuX2FkZExpc3RlbmVyKHRoaXMuX2xpc3RlbmVycywgZXZlbnQsIGxpc3RlbmVyKTtcbiAgfVxuXG4gIHB1YmxpYyBiZWZvcmU8SyBleHRlbmRzIGtleW9mIFQ+KFxuICAgIGV2ZW50OiBLLFxuICAgIGxpc3RlbmVyOiBMaXN0ZW5lcjxGb3JjZUFycmF5PFRbS10+LCBib29sZWFuPlxuICApOiB0aGlzIHtcbiAgICBjb25zdCBwYXRoID0gZ2V0RmlsZVBhdGgoKTtcbiAgICBpZiAocGF0aCkgdGhpcy5fcGF0aHMuc2V0KGxpc3RlbmVyLCB7IGV2ZW50LCBwYXRoIH0pO1xuXG4gICAgcmV0dXJuIHRoaXMuX2FkZExpc3RlbmVyKHRoaXMuX2JlZm9yZUhvb2tzLCBldmVudCwgbGlzdGVuZXIpO1xuICB9XG5cbiAgcHVibGljIGFmdGVyPEsgZXh0ZW5kcyBrZXlvZiBUPihcbiAgICBldmVudDogSyxcbiAgICBsaXN0ZW5lcjogQWZ0ZXJMaXN0ZW5lcjxGb3JjZUFycmF5PFRbS10+PlxuICApOiB0aGlzIHtcbiAgICBjb25zdCBwYXRoID0gZ2V0RmlsZVBhdGgoKTtcbiAgICBpZiAocGF0aCkgdGhpcy5fcGF0aHMuc2V0KGxpc3RlbmVyLCB7IGV2ZW50LCBwYXRoIH0pO1xuXG4gICAgcmV0dXJuIHRoaXMuX2FkZExpc3RlbmVyKHRoaXMuX2FmdGVySG9va3MsIGV2ZW50LCBsaXN0ZW5lcik7XG4gIH1cblxuICBwdWJsaWMgb25jZTxLIGV4dGVuZHMga2V5b2YgVD4oXG4gICAgZXZlbnQ6IEssXG4gICAgbGlzdGVuZXI6IExpc3RlbmVyPEZvcmNlQXJyYXk8VFtLXT4+XG4gICk6IHRoaXMge1xuICAgIGNvbnN0IHBhdGggPSBnZXRGaWxlUGF0aCgpO1xuICAgIGlmIChwYXRoKSB0aGlzLl9wYXRocy5zZXQobGlzdGVuZXIsIHsgZXZlbnQsIHBhdGggfSk7XG5cbiAgICByZXR1cm4gdGhpcy5fYWRkT25jZUxpc3RlbmVyKHRoaXMuX2xpc3RlbmVycywgZXZlbnQsIGxpc3RlbmVyKTtcbiAgfVxuXG4gIHB1YmxpYyBvbmNlQmVmb3JlPEsgZXh0ZW5kcyBrZXlvZiBUPihcbiAgICBldmVudDogSyxcbiAgICBsaXN0ZW5lcjogTGlzdGVuZXI8Rm9yY2VBcnJheTxUW0tdPiwgYm9vbGVhbj5cbiAgKTogdGhpcyB7XG4gICAgY29uc3QgcGF0aCA9IGdldEZpbGVQYXRoKCk7XG4gICAgaWYgKHBhdGgpIHRoaXMuX3BhdGhzLnNldChsaXN0ZW5lciwgeyBldmVudCwgcGF0aCB9KTtcblxuICAgIHJldHVybiB0aGlzLl9hZGRPbmNlTGlzdGVuZXIodGhpcy5fYmVmb3JlSG9va3MsIGV2ZW50LCBsaXN0ZW5lcik7XG4gIH1cblxuICBwdWJsaWMgb25jZUFmdGVyPEsgZXh0ZW5kcyBrZXlvZiBUPihcbiAgICBldmVudDogSyxcbiAgICBsaXN0ZW5lcjogQWZ0ZXJMaXN0ZW5lcjxGb3JjZUFycmF5PFRbS10+PlxuICApOiB0aGlzIHtcbiAgICBjb25zdCBwYXRoID0gZ2V0RmlsZVBhdGgoKTtcbiAgICBpZiAocGF0aCkgdGhpcy5fcGF0aHMuc2V0KGxpc3RlbmVyLCB7IGV2ZW50LCBwYXRoIH0pO1xuXG4gICAgcmV0dXJuIHRoaXMuX2FkZE9uY2VMaXN0ZW5lcih0aGlzLl9hZnRlckhvb2tzLCBldmVudCwgbGlzdGVuZXIpO1xuICB9XG5cbiAgcHVibGljIHJlbW92ZTxLIGV4dGVuZHMga2V5b2YgVD4oXG4gICAgZXZlbnQ6IEssXG4gICAgbGlzdGVuZXI6IExpc3RlbmVyPEZvcmNlQXJyYXk8VFtLXT4+XG4gICk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLl9yZW1vdmVMaXN0ZW5lcih0aGlzLl9saXN0ZW5lcnMsIGV2ZW50LCBsaXN0ZW5lcik7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlQmVmb3JlPEsgZXh0ZW5kcyBrZXlvZiBUPihcbiAgICBldmVudDogSyxcbiAgICBsaXN0ZW5lcjogTGlzdGVuZXI8Rm9yY2VBcnJheTxUW0tdPiwgYm9vbGVhbj5cbiAgKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuX3JlbW92ZUxpc3RlbmVyKHRoaXMuX2JlZm9yZUhvb2tzLCBldmVudCwgbGlzdGVuZXIpO1xuICB9XG5cbiAgcHVibGljIHJlbW92ZUFmdGVyPEsgZXh0ZW5kcyBrZXlvZiBUPihcbiAgICBldmVudDogSyxcbiAgICBsaXN0ZW5lcjogQWZ0ZXJMaXN0ZW5lcjxGb3JjZUFycmF5PFRbS10+PlxuICApOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5fcmVtb3ZlTGlzdGVuZXIodGhpcy5fYWZ0ZXJIb29rcywgZXZlbnQsIGxpc3RlbmVyKTtcbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVBbGw8SyBleHRlbmRzIGtleW9mIFQ+KGV2ZW50PzogSyk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLl9yZW1vdmVBbGxMaXN0ZW5lcnModGhpcy5fbGlzdGVuZXJzLCBldmVudCk7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlQWxsQmVmb3JlPEsgZXh0ZW5kcyBrZXlvZiBUPihldmVudD86IEspOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5fcmVtb3ZlQWxsTGlzdGVuZXJzKHRoaXMuX2JlZm9yZUhvb2tzLCBldmVudCk7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlQWxsQWZ0ZXI8SyBleHRlbmRzIGtleW9mIFQ+KGV2ZW50PzogSyk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLl9yZW1vdmVBbGxMaXN0ZW5lcnModGhpcy5fYWZ0ZXJIb29rcywgZXZlbnQpO1xuICB9XG5cbiAgcHVibGljIHJlbW92ZVBhdGgocGF0aDogc3RyaW5nKTogdGhpcyB7XG4gICAgZm9yIChjb25zdCBbbGlzdGVuZXIsIHsgZXZlbnQsIHBhdGg6IGxpc3RlbmVyUGF0aCB9XSBvZiB0aGlzLl9wYXRocykge1xuICAgICAgaWYgKGxpc3RlbmVyUGF0aC5pbmNsdWRlcyhwYXRoKSkge1xuICAgICAgICB0aGlzLnJlbW92ZShldmVudCBhcyBuZXZlciwgbGlzdGVuZXIgYXMgbmV2ZXIpO1xuICAgICAgICB0aGlzLnJlbW92ZUJlZm9yZShldmVudCBhcyBuZXZlciwgbGlzdGVuZXIgYXMgbmV2ZXIpO1xuICAgICAgICB0aGlzLnJlbW92ZUFmdGVyKGV2ZW50IGFzIG5ldmVyLCBsaXN0ZW5lciBhcyBuZXZlcik7XG4gICAgICB9XG4gICAgICB0aGlzLl9wYXRocy5kZWxldGUobGlzdGVuZXIpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcztcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBFbWl0dGVyO1xuIl0sCiAgIm1hcHBpbmdzIjogIitFQUFBLE9BQVNBLFdBQUFBLE1BQWUsT0FFeEIsU0FBU0MsR0FBQUEsQ0FPUCxJQUFNQyxFQU5RLElBQUlDLE1BQUFBLEdBQ0dDLE9BQU9DLE1BQU07Q0FBQSxJQUVQLENB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LEVBQU9RLENBQUFBLENBQ3ZELENBRU9pQyxVQUE2QnpDLEVBQWlCLENBQ25ELE9BQU8sS0FBSzJCLG9CQUFvQixLQUFLbEMsV0FBWU8sQ0FBQUEsQ0FDbkQsQ0FFTzBDLGdCQUFtQzFDLEVBQWlCLENBQ3pELE9BQU8sS0FBSzJCLG9CQUFvQixLQUFLcEMsYUFBY1MsQ0FBQUEsQ0FDckQsQ0FFTzJDLGVBQWtDM0MsRUFBaUIsQ0FDeEQsT0FBTyxLQUFLMkIsb0JBQW9CLEtBQUtuQyxZQUFhUSxDQUFBQSxDQUNwRCxDQUVPNEMsV0FBV2IsRUFBb0IsQ0FDcEMsT0FBVyxDQUFDdkIsRUFBVSxDQUFFUixNQUFBQSxFQUFPK0IsS0FBTWMsQ0FBWSxDQUFFLElBQUssS0FBS25ELE9BQ3ZEbUQsRUFBYUMsU0FBU2YsQ0FBQUEsSUFDeEIsS0FBS08sT0FBT3RDLEVBQWdCUSxDQUFBQSxFQUM1QixLQUFLK0IsYUFBYXZDLEVBQWdCUSxDQUFBQSxFQUNsQyxLQUFLZ0MsWUFBWXhDLEVBQWdCUSxDQUFBQSxHQUVuQyxLQUFLZCxPQUFPa0MsT0FBT3BCLENBQUFBLEVBRXJCLE9BQU8sSUFDVCxDQUNGLEVBRUF1QyxFQUFlekQiLAogICJuYW1lcyI6IFsicmVzb2x2ZSIsICJnZXRGaWxlUGF0aCIsICJtYXRjaCIsICJFcnJvciIsICJzdGFjayIsICJzcGxpdCIsICJyZXNvbHZlIiwgIkVtaXR0ZXIiLCAiX2JlZm9yZUhvb2tzIiwgIl9hZnRlckhvb2tzIiwgIl9saXN0ZW5lcnMiLCAiX3BhdGhzIiwgIl9tYXhMaXN0ZW5lcnMiLCAiTWFwIiwgIm1heExpc3RlbmVycyIsICJ2YWx1ZSIsICJlbWl0IiwgImV2ZW50IiwgImFyZ3VtZW50c18iLCAiYmVmb3JlSG9va3MiLCAiZ2V0IiwgImxpc3RlbmVycyIsICJhZnRlckhvb2tzIiwgImNhbmNlbGVkIiwgImhvb2siLCAibGlzdGVuZXIiLCAiYWZ0ZXJBcmdzIiwgInByb2Nlc3MiLCAibmV4dFRpY2siLCAiX2FkZExpc3RlbmVyIiwgIm1hcCIsICJsZW5ndGgiLCAiY29uc29sZSIsICJ0cmFjZSIsICJzZXQiLCAiX2FkZE9uY2VMaXN0ZW5lciIsICJ3cmFwcGVyIiwgIl9fbmFtZSIsICJhcmdzIiwgIl9yZW1vdmVMaXN0ZW5lciIsICJpbmRleCIsICJpbmRleE9mIiwgInVuZGVmaW5lZCIsICJzcGxpY2UiLCAiX3JlbW92ZUFsbExpc3RlbmVycyIsICJkZWxldGUiLCAiY2xlYXIiLCAib24iLCAicGF0aCIsICJnZXRGaWxlUGF0aCIsICJiZWZvcmUiLCAiYWZ0ZXIiLCAib25jZSIsICJvbmNlQmVmb3JlIiwgIm9uY2VBZnRlciIsICJyZW1vdmUiLCAicmVtb3ZlQmVmb3JlIiwgInJlbW92ZUFmdGVyIiwgInJlbW92ZUFsbCIsICJyZW1vdmVBbGxCZWZvcmUiLCAicmVtb3ZlQWxsQWZ0ZXIiLCAicmVtb3ZlUGF0aCIsICJsaXN0ZW5lclBhdGgiLCAiaW5jbHVkZXMiLCAiaW5kZXhfZGVmYXVsdCJdCn0K
1
+ var k=Object.defineProperty;var l=(c,e)=>k(c,"name",{value:e,configurable:!0});import{resolve as d}from"path";function h(){let s=new Error()?.stack?.split(`
2
+ `)?.[3]?.match(/\((.*):\d+:\d+\)/);return s?d(s[1]??""):null}l(h,"getFilePath");var _=class{static{l(this,"Emitter")}_maxListeners;_beforeHooks;_afterHooks;_listeners;_paths;constructor(e=10,t=null){this._maxListeners=e,this._beforeHooks=new Map,this._afterHooks=new Map,this._listeners=new Map,this._paths=new Map,this.errorCallback=null,this.errorCallback=t}errorCallback;get maxListeners(){return this._maxListeners}set maxListeners(e){this._maxListeners=e}onError(e){this.errorCallback=e}emit(e,...t){let s=this._beforeHooks.get(e)??[],r=this._listeners.get(e)??[],n=this._afterHooks.get(e)??[],a=!1;for(let o of s)try{if(o(...t)===!1){a=!0;break}}catch(i){if(this.errorCallback)this.errorCallback(i);else throw i}if(!a)for(let o of r)try{o(...t)}catch(i){if(this.errorCallback)this.errorCallback(i);else throw i}let f=[...t,a];return process.nextTick(()=>{for(let o of n)try{o(...f)}catch(i){if(this.errorCallback)this.errorCallback(i);else throw i}}),!a}async emitAsync(e,...t){let s=this._beforeHooks.get(e)??[],r=this._listeners.get(e)??[],n=this._afterHooks.get(e)??[],a=!1;for(let o of s)if(await o(...t)===!1){a=!0;break}if(!a)for(let o of r)await o(...t);let f=[...t,a];for(let o of n)await o(...f);return!a}_addListener(e,t,s){let r=e.get(t)??[];return r.length>=this._maxListeners&&console.trace(`warning: possible EventEmitter memory leak detected. ${r.length} listeners added. Use #setMaxListeners() to increase limit`),e.set(t,[...r,s]),this}_addOnceListener(e,t,s){let r=l((...n)=>(this._removeListener(e,t,r),s(...n)),"wrapper");return this._addListener(e,t,r)}_removeListener(e,t,s){let r=e.get(t),n=r?.indexOf(s);return n!==void 0&&n!==-1&&r?.splice(n,1),this}_removeAllListeners(e,t){return t?e.delete(t):e.clear(),this}on(e,t){let s=h();return s&&this._paths.set(t,{event:e,path:s}),this._addListener(this._listeners,e,t)}before(e,t){let s=h();return s&&this._paths.set(t,{event:e,path:s}),this._addListener(this._beforeHooks,e,t)}after(e,t){let s=h();return s&&this._paths.set(t,{event:e,path:s}),this._addListener(this._afterHooks,e,t)}once(e,t){let s=h();return s&&this._paths.set(t,{event:e,path:s}),this._addOnceListener(this._listeners,e,t)}onceBefore(e,t){let s=h();return s&&this._paths.set(t,{event:e,path:s}),this._addOnceListener(this._beforeHooks,e,t)}onceAfter(e,t){let s=h();return s&&this._paths.set(t,{event:e,path:s}),this._addOnceListener(this._afterHooks,e,t)}remove(e,t){return this._removeListener(this._listeners,e,t)}removeBefore(e,t){return this._removeListener(this._beforeHooks,e,t)}removeAfter(e,t){return this._removeListener(this._afterHooks,e,t)}removeAll(e){return this._removeAllListeners(this._listeners,e)}removeAllBefore(e){return this._removeAllListeners(this._beforeHooks,e)}removeAllAfter(e){return this._removeAllListeners(this._afterHooks,e)}removePath(e){for(let[t,{event:s,path:r}]of this._paths)r.includes(e)&&(this.remove(s,t),this.removeBefore(s,t),this.removeAfter(s,t)),this._paths.delete(t);return this}},H=_;export{_ as Emitter,H as default};
3
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL2dldC1wYXRoLnRzIiwgIi4uL3NyYy9pbmRleC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiaW1wb3J0IHsgcmVzb2x2ZSB9IGZyb20gXCJwYXRoXCI7XG5cbmZ1bmN0aW9uIGdldEZpbGVQYXRoKCkge1xuICBjb25zdCBlcnJvciA9IG5ldyBFcnJvcigpO1xuICBjb25zdCBzdGFjayA9IGVycm9yPy5zdGFjaz8uc3BsaXQoXCJcXG5cIik7XG4gIC8vIFRoZSBmaXJzdCBsaW5lIGlzIHRoZSBjdXJyZW50IGZ1bmN0aW9uLCB0aGUgc2Vjb25kIGlzIHRoZSBjYWxsZXJcbiAgY29uc3QgY2FsbGVyTGluZSA9IHN0YWNrPy5bM107XG5cbiAgLy8gRXh0cmFjdCB0aGUgZmlsZSBwYXRoIGZyb20gdGhlIGNhbGxlciBsaW5lXG4gIGNvbnN0IG1hdGNoID0gY2FsbGVyTGluZT8ubWF0Y2goL1xcKCguKik6XFxkKzpcXGQrXFwpLyk7XG5cbiAgaWYgKG1hdGNoKSB7XG4gICAgcmV0dXJuIHJlc29sdmUobWF0Y2hbMV0gPz8gXCJcIik7IC8vIFRoZSBmaWxlIHBhdGggd2lsbCBiZSBpbiB0aGUgZmlyc3QgY2FwdHVyaW5nIGdyb3VwXG4gIH1cblxuICByZXR1cm4gbnVsbDsgLy8gSWYgbm8gbWF0Y2ggZm91bmRcbn1cblxuZXhwb3J0IHsgZ2V0RmlsZVBhdGggfTtcbiIsICIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5pbXBvcnQgeyBnZXRGaWxlUGF0aCB9IGZyb20gXCIuL2dldC1wYXRoXCI7XG5cbi8vIEV2ZW50IExpc3RlbmVyIFR5cGVzXG5leHBvcnQgdHlwZSBMaXN0ZW5lcjxUIGV4dGVuZHMgQXJyYXk8dW5rbm93bj4sIFIgPSB1bmtub3duPiA9IChcbiAgLi4uYXJndW1lbnRzXzogVFxuKSA9PiBSO1xuZXhwb3J0IHR5cGUgRm9yY2VBcnJheTxUPiA9IFQgZXh0ZW5kcyBBcnJheTx1bmtub3duPiA/IFQgOiBuZXZlcjtcbmV4cG9ydCB0eXBlIEFmdGVyTGlzdGVuZXI8VCBleHRlbmRzIEFycmF5PHVua25vd24+PiA9IExpc3RlbmVyPFsuLi5ULCBib29sZWFuXT47XG5cbmV4cG9ydCBjbGFzcyBFbWl0dGVyPFQ+IHtcbiAgcHJpdmF0ZSByZWFkb25seSBfYmVmb3JlSG9va3MgPSBuZXcgTWFwPFxuICAgIGtleW9mIFQsXG4gICAgQXJyYXk8TGlzdGVuZXI8Rm9yY2VBcnJheTxUW25ldmVyXT4sIGJvb2xlYW4+PlxuICA+KCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfYWZ0ZXJIb29rcyA9IG5ldyBNYXA8XG4gICAga2V5b2YgVCxcbiAgICBBcnJheTxBZnRlckxpc3RlbmVyPEZvcmNlQXJyYXk8VFtuZXZlcl0+Pj5cbiAgPigpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2xpc3RlbmVycyA9IG5ldyBNYXA8XG4gICAga2V5b2YgVCxcbiAgICBBcnJheTxMaXN0ZW5lcjxGb3JjZUFycmF5PFRbbmV2ZXJdPj4+XG4gID4oKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9wYXRocyA9IG5ldyBNYXA8XG4gICAgTGlzdGVuZXI8YW55PixcbiAgICB7IGV2ZW50OiBrZXlvZiBUOyBwYXRoOiBzdHJpbmcgfVxuICA+KCk7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX21heExpc3RlbmVycyA9IDEwLFxuICAgIG9uRXJyb3I6IExpc3RlbmVyPFtFcnJvcl0+IHwgbnVsbCA9IG51bGxcbiAgKSB7XG4gICAgdGhpcy5lcnJvckNhbGxiYWNrID0gb25FcnJvcjtcbiAgfVxuXG4gIHByaXZhdGUgZXJyb3JDYWxsYmFjazogTGlzdGVuZXI8W0Vycm9yXT4gfCBudWxsID0gbnVsbDtcblxuICBwdWJsaWMgZ2V0IG1heExpc3RlbmVycygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9tYXhMaXN0ZW5lcnM7XG4gIH1cblxuICBwdWJsaWMgc2V0IG1heExpc3RlbmVycyh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5fbWF4TGlzdGVuZXJzID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgb25FcnJvcihjYWxsYmFjazogTGlzdGVuZXI8W0Vycm9yXT4gfCBudWxsKTogdm9pZCB7XG4gICAgdGhpcy5lcnJvckNhbGxiYWNrID0gY2FsbGJhY2s7XG4gIH1cblxuICBwdWJsaWMgZW1pdDxLIGV4dGVuZHMga2V5b2YgVD4oXG4gICAgZXZlbnQ6IEssXG4gICAgLi4uYXJndW1lbnRzXzogRm9yY2VBcnJheTxUW0tdPlxuICApOiBib29sZWFuIHtcbiAgICBjb25zdCBiZWZvcmVIb29rcyA9IHRoaXMuX2JlZm9yZUhvb2tzLmdldChldmVudCkgPz8gW107XG4gICAgY29uc3QgbGlzdGVuZXJzID0gdGhpcy5fbGlzdGVuZXJzLmdldChldmVudCkgPz8gW107XG4gICAgY29uc3QgYWZ0ZXJIb29rcyA9IHRoaXMuX2FmdGVySG9va3MuZ2V0KGV2ZW50KSA/PyBbXTtcblxuICAgIGxldCBjYW5jZWxlZCA9IGZhbHNlO1xuXG4gICAgZm9yIChjb25zdCBob29rIG9mIGJlZm9yZUhvb2tzKSB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBob29rKC4uLihhcmd1bWVudHNfIGFzIEZvcmNlQXJyYXk8VFtuZXZlcl0+KSk7XG4gICAgICAgIGlmIChyZXN1bHQgPT09IGZhbHNlKSB7XG4gICAgICAgICAgY2FuY2VsZWQgPSB0cnVlO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9IGNhdGNoIChyZWFzb24pIHtcbiAgICAgICAgaWYgKHRoaXMuZXJyb3JDYWxsYmFjaykge1xuICAgICAgICAgIHRoaXMuZXJyb3JDYWxsYmFjayhyZWFzb24gYXMgRXJyb3IpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRocm93IHJlYXNvbjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmICghY2FuY2VsZWQpIHtcbiAgICAgIGZvciAoY29uc3QgbGlzdGVuZXIgb2YgbGlzdGVuZXJzKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgbGlzdGVuZXIoLi4uKGFyZ3VtZW50c18gYXMgRm9yY2VBcnJheTxUW25ldmVyXT4pKTtcbiAgICAgICAgfSBjYXRjaCAocmVhc29uKSB7XG4gICAgICAgICAgaWYgKHRoaXMuZXJyb3JDYWxsYmFjaykge1xuICAgICAgICAgICAgdGhpcy5lcnJvckNhbGxiYWNrKHJlYXNvbiBhcyBFcnJvcik7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRocm93IHJlYXNvbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBhZnRlckFyZ3MgPSBbLi4uYXJndW1lbnRzXywgY2FuY2VsZWRdIGFzIFtcbiAgICAgIC4uLkZvcmNlQXJyYXk8VFtuZXZlcl0+LFxuICAgICAgYm9vbGVhblxuICAgIF07XG5cbiAgICBwcm9jZXNzLm5leHRUaWNrKCgpID0+IHtcbiAgICAgIGZvciAoY29uc3QgaG9vayBvZiBhZnRlckhvb2tzKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgaG9vayguLi5hZnRlckFyZ3MpO1xuICAgICAgICB9IGNhdGNoIChyZWFzb24pIHtcbiAgICAgICAgICBpZiAodGhpcy5lcnJvckNhbGxiYWNrKSB7XG4gICAgICAgICAgICB0aGlzLmVycm9yQ2FsbGJhY2socmVhc29uIGFzIEVycm9yKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhyb3cgcmVhc29uO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuICFjYW5jZWxlZDtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBlbWl0QXN5bmM8SyBleHRlbmRzIGtleW9mIFQ+KFxuICAgIGV2ZW50OiBLLFxuICAgIC4uLmFyZ3VtZW50c186IEZvcmNlQXJyYXk8VFtLXT5cbiAgKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgYmVmb3JlSG9va3MgPSB0aGlzLl9iZWZvcmVIb29rcy5nZXQoZXZlbnQpID8/IFtdO1xuICAgIGNvbnN0IGxpc3RlbmVycyA9IHRoaXMuX2xpc3RlbmVycy5nZXQoZXZlbnQpID8/IFtdO1xuICAgIGNvbnN0IGFmdGVySG9va3MgPSB0aGlzLl9hZnRlckhvb2tzLmdldChldmVudCkgPz8gW107XG5cbiAgICBsZXQgY2FuY2VsZWQgPSBmYWxzZTtcblxuICAgIGZvciAoY29uc3QgaG9vayBvZiBiZWZvcmVIb29rcykge1xuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgaG9vayguLi4oYXJndW1lbnRzXyBhcyBGb3JjZUFycmF5PFRbbmV2ZXJdPikpO1xuICAgICAgaWYgKHJlc3VsdCA9PT0gZmFsc2UpIHtcbiAgICAgICAgY2FuY2VsZWQgPSB0cnVlO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoIWNhbmNlbGVkKSB7XG4gICAgICBmb3IgKGNvbnN0IGxpc3RlbmVyIG9mIGxpc3RlbmVycykge1xuICAgICAgICBhd2FpdCBsaXN0ZW5lciguLi4oYXJndW1lbnRzXyBhcyBGb3JjZUFycmF5PFRbbmV2ZXJdPikpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGFmdGVyQXJncyA9IFsuLi5hcmd1bWVudHNfLCBjYW5jZWxlZF0gYXMgW1xuICAgICAgLi4uRm9yY2VBcnJheTxUW25ldmVyXT4sXG4gICAgICBib29sZWFuXG4gICAgXTtcblxuICAgIGZvciAoY29uc3QgaG9vayBvZiBhZnRlckhvb2tzKSB7XG4gICAgICBhd2FpdCBob29rKC4uLmFmdGVyQXJncyk7XG4gICAgfVxuXG4gICAgcmV0dXJuICFjYW5jZWxlZDtcbiAgfVxuXG4gIHByaXZhdGUgX2FkZExpc3RlbmVyPEsgZXh0ZW5kcyBrZXlvZiBULCBMPihcbiAgICBtYXA6IE1hcDxLLCBBcnJheTxMPj4sXG4gICAgZXZlbnQ6IEssXG4gICAgbGlzdGVuZXI6IExcbiAgKTogdGhpcyB7XG4gICAgY29uc3QgbGlzdGVuZXJzID0gbWFwLmdldChldmVudCkgPz8gW107XG4gICAgaWYgKGxpc3RlbmVycy5sZW5ndGggPj0gdGhpcy5fbWF4TGlzdGVuZXJzKSB7XG4gICAgICBjb25zb2xlLnRyYWNlKFxuICAgICAgICBgd2FybmluZzogcG9zc2libGUgRXZlbnRFbWl0dGVyIG1lbW9yeSBsZWFrIGRldGVjdGVkLiAke2xpc3RlbmVycy5sZW5ndGh9IGxpc3RlbmVycyBhZGRlZC4gVXNlICNzZXRNYXhMaXN0ZW5lcnMoKSB0byBpbmNyZWFzZSBsaW1pdGBcbiAgICAgICk7XG4gICAgfVxuICAgIG1hcC5zZXQoZXZlbnQsIFsuLi5saXN0ZW5lcnMsIGxpc3RlbmVyXSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwcml2YXRlIF9hZGRPbmNlTGlzdGVuZXI8SyBleHRlbmRzIGtleW9mIFQsIEw+KFxuICAgIG1hcDogTWFwPEssIEFycmF5PEw+PixcbiAgICBldmVudDogSyxcbiAgICBsaXN0ZW5lcjogTFxuICApOiB0aGlzIHtcbiAgICBjb25zdCB3cmFwcGVyID0gKC4uLmFyZ3M6IEFycmF5PGFueT4pID0+IHtcbiAgICAgIHRoaXMuX3JlbW92ZUxpc3RlbmVyKG1hcCwgZXZlbnQsIHdyYXBwZXIgYXMgTCk7XG4gICAgICByZXR1cm4gKGxpc3RlbmVyIGFzIGFueSkoLi4uYXJncyk7XG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLl9hZGRMaXN0ZW5lcihtYXAsIGV2ZW50LCB3cmFwcGVyIGFzIEwpO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVtb3ZlTGlzdGVuZXI8SyBleHRlbmRzIGtleW9mIFQsIEw+KFxuICAgIG1hcDogTWFwPEssIEFycmF5PEw+PixcbiAgICBldmVudDogSyxcbiAgICBsaXN0ZW5lcjogTFxuICApOiB0aGlzIHtcbiAgICBjb25zdCBsaXN0ZW5lcnMgPSBtYXAuZ2V0KGV2ZW50KTtcbiAgICBjb25zdCBpbmRleCA9IGxpc3RlbmVycz8uaW5kZXhPZihsaXN0ZW5lcik7XG4gICAgaWYgKGluZGV4ICE9PSB1bmRlZmluZWQgJiYgaW5kZXggIT09IC0xKSB7XG4gICAgICBsaXN0ZW5lcnM/LnNwbGljZShpbmRleCwgMSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVtb3ZlQWxsTGlzdGVuZXJzPEsgZXh0ZW5kcyBrZXlvZiBULCBMPihcbiAgICBtYXA6IE1hcDxLLCBBcnJheTxMPj4sXG4gICAgZXZlbnQ/OiBLXG4gICk6IHRoaXMge1xuICAgIGlmIChldmVudCkge1xuICAgICAgbWFwLmRlbGV0ZShldmVudCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIG1hcC5jbGVhcigpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBvbjxLIGV4dGVuZHMga2V5b2YgVD4oXG4gICAgZXZlbnQ6IEssXG4gICAgbGlzdGVuZXI6IExpc3RlbmVyPEZvcmNlQXJyYXk8VFtLXT4+XG4gICk6IHRoaXMge1xuICAgIGNvbnN0IHBhdGggPSBnZXRGaWxlUGF0aCgpO1xuICAgIGlmIChwYXRoKSB0aGlzLl9wYXRocy5zZXQobGlzdGVuZXIsIHsgZXZlbnQsIHBhdGggfSk7XG5cbiAgICByZXR1cm4gdGhpcy5fYWRkTGlzdGVuZXIodGhpcy5fbGlzdGVuZXJzLCBldmVudCwgbGlzdGVuZXIpO1xuICB9XG5cbiAgcHVibGljIGJlZm9yZTxLIGV4dGVuZHMga2V5b2YgVD4oXG4gICAgZXZlbnQ6IEssXG4gICAgbGlzdGVuZXI6IExpc3RlbmVyPEZvcmNlQXJyYXk8VFtLXT4sIGJvb2xlYW4+XG4gICk6IHRoaXMge1xuICAgIGNvbnN0IHBhdGggPSBnZXRGaWxlUGF0aCgpO1xuICAgIGlmIChwYXRoKSB0aGlzLl9wYXRocy5zZXQobGlzdGVuZXIsIHsgZXZlbnQsIHBhdGggfSk7XG5cbiAgICByZXR1cm4gdGhpcy5fYWRkTGlzdGVuZXIodGhpcy5fYmVmb3JlSG9va3MsIGV2ZW50LCBsaXN0ZW5lcik7XG4gIH1cblxuICBwdWJsaWMgYWZ0ZXI8SyBleHRlbmRzIGtleW9mIFQ+KFxuICAgIGV2ZW50OiBLLFxuICAgIGxpc3RlbmVyOiBBZnRlckxpc3RlbmVyPEZvcmNlQXJyYXk8VFtLXT4+XG4gICk6IHRoaXMge1xuICAgIGNvbnN0IHBhdGggPSBnZXRGaWxlUGF0aCgpO1xuICAgIGlmIChwYXRoKSB0aGlzLl9wYXRocy5zZXQobGlzdGVuZXIsIHsgZXZlbnQsIHBhdGggfSk7XG5cbiAgICByZXR1cm4gdGhpcy5fYWRkTGlzdGVuZXIodGhpcy5fYWZ0ZXJIb29rcywgZXZlbnQsIGxpc3RlbmVyKTtcbiAgfVxuXG4gIHB1YmxpYyBvbmNlPEsgZXh0ZW5kcyBrZXlvZiBUPihcbiAgICBldmVudDogSyxcbiAgICBsaXN0ZW5lcjogTGlzdGVuZXI8Rm9yY2VBcnJheTxUW0tdPj5cbiAgKTogdGhpcyB7XG4gICAgY29uc3QgcGF0aCA9IGdldEZpbGVQYXRoKCk7XG4gICAgaWYgKHBhdGgpIHRoaXMuX3BhdGhzLnNldChsaXN0ZW5lciwgeyBldmVudCwgcGF0aCB9KTtcblxuICAgIHJldHVybiB0aGlzLl9hZGRPbmNlTGlzdGVuZXIodGhpcy5fbGlzdGVuZXJzLCBldmVudCwgbGlzdGVuZXIpO1xuICB9XG5cbiAgcHVibGljIG9uY2VCZWZvcmU8SyBleHRlbmRzIGtleW9mIFQ+KFxuICAgIGV2ZW50OiBLLFxuICAgIGxpc3RlbmVyOiBMaXN0ZW5lcjxGb3JjZUFycmF5PFRbS10+LCBib29sZWFuPlxuICApOiB0aGlzIHtcbiAgICBjb25zdCBwYXRoID0gZ2V0RmlsZVBhdGgoKTtcbiAgICBpZiAocGF0aCkgdGhpcy5fcGF0aHMuc2V0KGxpc3RlbmVyLCB7IGV2ZW50LCBwYXRoIH0pO1xuXG4gICAgcmV0dXJuIHRoaXMuX2FkZE9uY2VMaXN0ZW5lcih0aGlzLl9iZWZvcmVIb29rcywgZXZlbnQsIGxpc3RlbmVyKTtcbiAgfVxuXG4gIHB1YmxpYyBvbmNlQWZ0ZXI8SyBleHRlbmRzIGtleW9mIFQ+KFxuICAgIGV2ZW50OiBLLFxuICAgIGxpc3RlbmVyOiBBZnRlckxpc3RlbmVyPEZvcmNlQXJyYXk8VFtLXT4+XG4gICk6IHRoaXMge1xuICAgIGNvbnN0IHBhdGggPSBnZXRGaWxlUGF0aCgpO1xuICAgIGlmIChwYXRoKSB0aGlzLl9wYXRocy5zZXQobGlzdGVuZXIsIHsgZXZlbnQsIHBhdGggfSk7XG5cbiAgICByZXR1cm4gdGhpcy5fYWRkT25jZUxpc3RlbmVyKHRoaXMuX2FmdGVySG9va3MsIGV2ZW50LCBsaXN0ZW5lcik7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlPEsgZXh0ZW5kcyBrZXlvZiBUPihcbiAgICBldmVudDogSyxcbiAgICBsaXN0ZW5lcjogTGlzdGVuZXI8Rm9yY2VBcnJheTxUW0tdPj5cbiAgKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuX3JlbW92ZUxpc3RlbmVyKHRoaXMuX2xpc3RlbmVycywgZXZlbnQsIGxpc3RlbmVyKTtcbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVCZWZvcmU8SyBleHRlbmRzIGtleW9mIFQ+KFxuICAgIGV2ZW50OiBLLFxuICAgIGxpc3RlbmVyOiBMaXN0ZW5lcjxGb3JjZUFycmF5PFRbS10+LCBib29sZWFuPlxuICApOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5fcmVtb3ZlTGlzdGVuZXIodGhpcy5fYmVmb3JlSG9va3MsIGV2ZW50LCBsaXN0ZW5lcik7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlQWZ0ZXI8SyBleHRlbmRzIGtleW9mIFQ+KFxuICAgIGV2ZW50OiBLLFxuICAgIGxpc3RlbmVyOiBBZnRlckxpc3RlbmVyPEZvcmNlQXJyYXk8VFtLXT4+XG4gICk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLl9yZW1vdmVMaXN0ZW5lcih0aGlzLl9hZnRlckhvb2tzLCBldmVudCwgbGlzdGVuZXIpO1xuICB9XG5cbiAgcHVibGljIHJlbW92ZUFsbDxLIGV4dGVuZHMga2V5b2YgVD4oZXZlbnQ/OiBLKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuX3JlbW92ZUFsbExpc3RlbmVycyh0aGlzLl9saXN0ZW5lcnMsIGV2ZW50KTtcbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVBbGxCZWZvcmU8SyBleHRlbmRzIGtleW9mIFQ+KGV2ZW50PzogSyk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLl9yZW1vdmVBbGxMaXN0ZW5lcnModGhpcy5fYmVmb3JlSG9va3MsIGV2ZW50KTtcbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVBbGxBZnRlcjxLIGV4dGVuZHMga2V5b2YgVD4oZXZlbnQ/OiBLKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuX3JlbW92ZUFsbExpc3RlbmVycyh0aGlzLl9hZnRlckhvb2tzLCBldmVudCk7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlUGF0aChwYXRoOiBzdHJpbmcpOiB0aGlzIHtcbiAgICBmb3IgKGNvbnN0IFtsaXN0ZW5lciwgeyBldmVudCwgcGF0aDogbGlzdGVuZXJQYXRoIH1dIG9mIHRoaXMuX3BhdGhzKSB7XG4gICAgICBpZiAobGlzdGVuZXJQYXRoLmluY2x1ZGVzKHBhdGgpKSB7XG4gICAgICAgIHRoaXMucmVtb3ZlKGV2ZW50IGFzIG5ldmVyLCBsaXN0ZW5lciBhcyBuZXZlcik7XG4gICAgICAgIHRoaXMucmVtb3ZlQmVmb3JlKGV2ZW50IGFzIG5ldmVyLCBsaXN0ZW5lciBhcyBuZXZlcik7XG4gICAgICAgIHRoaXMucmVtb3ZlQWZ0ZXIoZXZlbnQgYXMgbmV2ZXIsIGxpc3RlbmVyIGFzIG5ldmVyKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuX3BhdGhzLmRlbGV0ZShsaXN0ZW5lcik7XG4gICAgfVxuICAgIHJldHVybiB0aGlzO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IEVtaXR0ZXI7XG4iXSwKICAibWFwcGluZ3MiOiAiK0VBQUEsT0FBU0EsV0FBQUEsTUFBZSxPQUV4QixTQUFTQyxHQUFBQSxDQU9QLElBQU1DLEVBTlEsSUFBSUMsTUFBQUEsR0FDR0MsT0FBT0MsTUFBTTtDQUFBLElBRVAsQ0FBQSxHQUdESCxNQUFNLGtCQUFBLEVBRWhDLE9BQUlB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Q0FFTzZDLGVBQWtDN0MsRUFBaUIsQ0FDeEQsT0FBTyxLQUFLNkIsb0JBQW9CLEtBQUt4QyxZQUFhVyxDQUFBQSxDQUNwRCxDQUVPOEMsV0FBV2IsRUFBb0IsQ0FDcEMsT0FBVyxDQUFDeEIsRUFBVSxDQUFFVCxNQUFBQSxFQUFPaUMsS0FBTWMsQ0FBWSxDQUFFLElBQUssS0FBS3hELE9BQ3ZEd0QsRUFBYUMsU0FBU2YsQ0FBQUEsSUFDeEIsS0FBS08sT0FBT3hDLEVBQWdCUyxDQUFBQSxFQUM1QixLQUFLZ0MsYUFBYXpDLEVBQWdCUyxDQUFBQSxFQUNsQyxLQUFLaUMsWUFBWTFDLEVBQWdCUyxDQUFBQSxHQUVuQyxLQUFLbEIsT0FBT3VDLE9BQU9yQixDQUFBQSxFQUVyQixPQUFPLElBQ1QsQ0FDRixFQUVBd0MsRUFBZTlEIiwKICAibmFtZXMiOiBbInJlc29sdmUiLCAiZ2V0RmlsZVBhdGgiLCAibWF0Y2giLCAiRXJyb3IiLCAic3RhY2siLCAic3BsaXQiLCAicmVzb2x2ZSIsICJFbWl0dGVyIiwgIl9iZWZvcmVIb29rcyIsICJfYWZ0ZXJIb29rcyIsICJfbGlzdGVuZXJzIiwgIl9wYXRocyIsICJfbWF4TGlzdGVuZXJzIiwgIm9uRXJyb3IiLCAiTWFwIiwgImVycm9yQ2FsbGJhY2siLCAibWF4TGlzdGVuZXJzIiwgInZhbHVlIiwgImNhbGxiYWNrIiwgImVtaXQiLCAiZXZlbnQiLCAiYXJndW1lbnRzXyIsICJiZWZvcmVIb29rcyIsICJnZXQiLCAibGlzdGVuZXJzIiwgImFmdGVySG9va3MiLCAiY2FuY2VsZWQiLCAiaG9vayIsICJyZWFzb24iLCAibGlzdGVuZXIiLCAiYWZ0ZXJBcmdzIiwgInByb2Nlc3MiLCAibmV4dFRpY2siLCAiZW1pdEFzeW5jIiwgIl9hZGRMaXN0ZW5lciIsICJtYXAiLCAibGVuZ3RoIiwgImNvbnNvbGUiLCAidHJhY2UiLCAic2V0IiwgIl9hZGRPbmNlTGlzdGVuZXIiLCAid3JhcHBlciIsICJfX25hbWUiLCAiYXJncyIsICJfcmVtb3ZlTGlzdGVuZXIiLCAiaW5kZXgiLCAiaW5kZXhPZiIsICJ1bmRlZmluZWQiLCAic3BsaWNlIiwgIl9yZW1vdmVBbGxMaXN0ZW5lcnMiLCAiZGVsZXRlIiwgImNsZWFyIiwgIm9uIiwgInBhdGgiLCAiZ2V0RmlsZVBhdGgiLCAiYmVmb3JlIiwgImFmdGVyIiwgIm9uY2UiLCAib25jZUJlZm9yZSIsICJvbmNlQWZ0ZXIiLCAicmVtb3ZlIiwgInJlbW92ZUJlZm9yZSIsICJyZW1vdmVBZnRlciIsICJyZW1vdmVBbGwiLCAicmVtb3ZlQWxsQmVmb3JlIiwgInJlbW92ZUFsbEFmdGVyIiwgInJlbW92ZVBhdGgiLCAibGlzdGVuZXJQYXRoIiwgImluY2x1ZGVzIiwgImluZGV4X2RlZmF1bHQiXQp9Cg==
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@serenityjs/emitter",
3
3
  "author": "Serenity",
4
4
  "license": "MIT",
5
- "version": "0.8.17",
5
+ "version": "0.8.18-beta-20260206200112",
6
6
  "main": "./dist/index.js",
7
7
  "module": "./dist/index.mjs",
8
8
  "types": "./dist/index.d.ts",
@@ -19,7 +19,7 @@
19
19
  "typecheck": "tsc --noEmit"
20
20
  },
21
21
  "devDependencies": {
22
- "@serenityjs/internal-config": "*",
22
+ "@serenityjs/internal-config": "0.8.18-beta-20260206200112",
23
23
  "@swc/core": "1.7.42",
24
24
  "@types/node": "22.8.6",
25
25
  "eslint": "9.13.0",