Skip to content

Commit 32ddcbe

Browse files
committed
Make Emittery.mixin type support arguments in constructor
Fixes #79 Closes #101
1 parent e0b4ba7 commit 32ddcbe

File tree

2 files changed

+6
-1
lines changed

2 files changed

+6
-1
lines changed

index.d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -292,7 +292,7 @@ declare class Emittery<
292292
static mixin(
293293
emitteryPropertyName: string | symbol,
294294
methodNames?: readonly string[]
295-
): <T extends {new (): any}>(klass: T) => T; // eslint-disable-line @typescript-eslint/prefer-function-type
295+
): <T extends {new (...arguments_: any[]): any}>(klass: T) => T; // eslint-disable-line @typescript-eslint/prefer-function-type
296296

297297
/**
298298
Subscribe to one or more events.

index.test-d.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -279,3 +279,8 @@ type AnyListener = (eventData?: unknown) => void | Promise<void>;
279279
Emittery.mixin('emittery')(class {
280280
test() {}
281281
});
282+
283+
// Mixin type - arguments in constructor
284+
Emittery.mixin('emittery')(class { // eslint-disable-line @typescript-eslint/no-extraneous-class
285+
constructor(argument: string) {} // eslint-disable-line @typescript-eslint/no-useless-constructor
286+
});

0 commit comments

Comments
 (0)