MCPcopy Index your code
hub / github.com/devcontainers/cli / NodeEventEmitter

Class NodeEventEmitter

src/spec-utils/event.ts:12–38  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

10}
11
12export class NodeEventEmitter<T> {
13
14 private nodeEmitter = new EventEmitter();
15
16 constructor(private register?: { on: () => void; off: () => void }) { }
17 event: Event<T> = (listener: (e: T) => void): Disposable => {
18 this.nodeEmitter.on('event', listener);
19 if (this.register && this.nodeEmitter.listenerCount('event') === 1) {
20 this.register.on();
21 }
22 return {
23 dispose: () => {
24 if (this.register && this.nodeEmitter.listenerCount('event') === 1) {
25 this.register.off();
26 }
27 this.nodeEmitter.off('event', listener);
28 }
29 };
30 };
31
32 fire(data: T) {
33 this.nodeEmitter.emit('event', data);
34 }
35 dispose() {
36 this.nodeEmitter.removeAllListeners();
37 }
38}
39
40export interface Disposable {
41 dispose(): void;

Callers

nothing calls this directly

Calls 1

onMethod · 0.80

Tested by

no test coverage detected