mirror of
https://github.com/FlipsideCrypto/DefinitelyTyped.git
synced 2026-02-06 10:56:53 +00:00
Component emitter event (#43125)
* component-emitter: adding Event generic * component-emitter: adding tests for Event generic
This commit is contained in:
parent
490cf94683
commit
6a4b60bef8
@ -50,3 +50,30 @@ emitter.listeners('some-recurring-event')
|
||||
emitter.hasListeners('some-recurring-event')
|
||||
|
||||
emitter.emit('some-event').emit("I can use chaining!")
|
||||
|
||||
let recurlyEmitter: Emitter<'change' | 'field:submit'> = new Emitter();
|
||||
|
||||
recurlyEmitter.on('change', handleSomeRecurringEvent);
|
||||
// $ExpectError
|
||||
recurlyEmitter.on('some-recurring-event', handleSomeRecurringEvent);
|
||||
|
||||
recurlyEmitter.once('field:submit', (event_data: any) => {console.log('handle some-single-shot-event')})
|
||||
// $ExpectError
|
||||
recurlyEmitter.once('some-single-shot-event', (event_data: any) => {console.log('handle some-single-shot-event')})
|
||||
|
||||
recurlyEmitter.off()
|
||||
recurlyEmitter.off('change')
|
||||
// $ExpectError
|
||||
recurlyEmitter.off('some-recurring-event')
|
||||
|
||||
recurlyEmitter.emit('field:submit', event_data)
|
||||
// $ExpectError
|
||||
recurlyEmitter.emit('some-recurring-event', event_data)
|
||||
|
||||
recurlyEmitter.listeners('change')
|
||||
// $ExpectError
|
||||
recurlyEmitter.listeners('some-recurring-event')
|
||||
|
||||
recurlyEmitter.hasListeners("field:submit");
|
||||
// $ExpectError
|
||||
recurlyEmitter.hasListeners('some-recurring-event')
|
||||
|
||||
14
types/component-emitter/index.d.ts
vendored
14
types/component-emitter/index.d.ts
vendored
@ -5,13 +5,13 @@
|
||||
|
||||
// TypeScript Version: 2.2
|
||||
|
||||
interface Emitter {
|
||||
on(event: string, listener: Function): Emitter;
|
||||
once(event: string, listener: Function): Emitter;
|
||||
off(event?: string, listener?: Function): Emitter;
|
||||
emit(event: string, ...args: any[]): Emitter;
|
||||
listeners(event: string): Function[];
|
||||
hasListeners(event: string): boolean;
|
||||
interface Emitter<Event = string> {
|
||||
on(event: Event, listener: Function): Emitter;
|
||||
once(event: Event, listener: Function): Emitter;
|
||||
off(event?: Event, listener?: Function): Emitter;
|
||||
emit(event: Event, ...args: any[]): Emitter;
|
||||
listeners(event: Event): Function[];
|
||||
hasListeners(event: Event): boolean;
|
||||
}
|
||||
|
||||
declare const Emitter: {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user