Skip to content

Commit

Permalink
Cache JestHook emitters
Browse files Browse the repository at this point in the history
  • Loading branch information
Connormiha committed Jul 24, 2019
1 parent a1e3007 commit 2a4d7dc
Showing 1 changed file with 17 additions and 10 deletions.
27 changes: 17 additions & 10 deletions packages/jest-watcher/src/JestHooks.ts
Expand Up @@ -25,20 +25,17 @@ class JestHooks {
shouldRunTestSuite: Array<ShouldRunTestSuite>;
};

private _subscriber: JestHookSubscriber;
private _emitter: JestHookEmitter;

constructor() {
this._listeners = {
onFileChange: [],
onTestRunComplete: [],
shouldRunTestSuite: [],
};
}

isUsed(hook: AvailableHooks) {
return this._listeners[hook] && this._listeners[hook].length;
}

getSubscriber(): JestHookSubscriber {
return {
this._subscriber = {
onFileChange: fn => {
this._listeners.onFileChange.push(fn);
},
Expand All @@ -49,10 +46,8 @@ class JestHooks {
this._listeners.shouldRunTestSuite.push(fn);
},
};
}

getEmitter(): JestHookEmitter {
return {
this._emitter = {
onFileChange: fs =>
this._listeners.onFileChange.forEach(listener => listener(fs)),
onTestRunComplete: results =>
Expand All @@ -70,6 +65,18 @@ class JestHooks {
},
};
}

isUsed(hook: AvailableHooks) {
return this._listeners[hook] && this._listeners[hook].length;
}

getSubscriber(): Readonly<JestHookSubscriber> {
return this._subscriber;
}

getEmitter(): Readonly<JestHookEmitter> {
return this._emitter;
}
}

export default JestHooks;

0 comments on commit 2a4d7dc

Please sign in to comment.