We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 8d03c22 commit a0ff201Copy full SHA for a0ff201
src/common/emitter.ts
@@ -1,19 +1,21 @@
1
+import { Callback } from "./types"
2
+
3
export interface Disposable {
4
dispose(): void
5
}
6
7
export interface Event<T> {
- (listener: (value: T) => void): Disposable
8
+ (listener: Callback<T>): Disposable
9
10
11
/**
12
* Emitter typecasts for a single event type.
13
*/
14
export class Emitter<T> {
- private listeners: Array<(value: T) => void> = []
15
+ private listeners: Array<Callback<T>> = []
16
17
public get event(): Event<T> {
- return (cb: (value: T) => void): Disposable => {
18
+ return (cb: Callback<T>): Disposable => {
19
this.listeners.push(cb)
20
21
return {
src/common/types.ts
@@ -0,0 +1 @@
+export type Callback<T, R = void> = (t: T) => R
0 commit comments