Skip to content

Commit 0fc0420

Browse files
authored
fix: event emitter on extended Process (#264)
* fix: event emitter on extended Process * Review feedback
1 parent 75942f3 commit 0fc0420

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

src/module-declaration.ts

+10-1
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ export const generateModuleDeclaration = (
9696
...parentModules.map(m => m.instanceEvents || []),
9797
)
9898
.sort((a, b) => a.name.localeCompare(b.name))
99-
.forEach(moduleEvent => {
99+
.forEach((moduleEvent, i, events) => {
100100
utils.extendArray(
101101
moduleAPI,
102102
utils.wrapComment(moduleEvent.description, moduleEvent.additionalTags),
@@ -198,6 +198,15 @@ export const generateModuleDeclaration = (
198198
}
199199
moduleAPI.push(`${method}(event: '${moduleEvent.name}', listener: ${listener}): this;`);
200200
}
201+
202+
// EventEmitter methods get overriden above. In order to not break untyped usage, we need to add them back after the last event.
203+
if (module.name === 'process' && i === events.length - 1) {
204+
for (const method of methods) {
205+
moduleAPI.push(
206+
`${method}(eventName: string | symbol, listener: (...args: any[]) => void): this;`,
207+
);
208+
}
209+
}
201210
});
202211
}
203212

0 commit comments

Comments
 (0)