Skip to content

Commit a0ff201

Browse files
committed
Add Callback type
Adds a reusable Callback type that is applied to emitter.ts for improved readability/simplicity.
1 parent 8d03c22 commit a0ff201

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

src/common/emitter.ts

+5-3
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,21 @@
1+
import { Callback } from "./types"
2+
13
export interface Disposable {
24
dispose(): void
35
}
46

57
export interface Event<T> {
6-
(listener: (value: T) => void): Disposable
8+
(listener: Callback<T>): Disposable
79
}
810

911
/**
1012
* Emitter typecasts for a single event type.
1113
*/
1214
export class Emitter<T> {
13-
private listeners: Array<(value: T) => void> = []
15+
private listeners: Array<Callback<T>> = []
1416

1517
public get event(): Event<T> {
16-
return (cb: (value: T) => void): Disposable => {
18+
return (cb: Callback<T>): Disposable => {
1719
this.listeners.push(cb)
1820

1921
return {

src/common/types.ts

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export type Callback<T, R = void> = (t: T) => R

0 commit comments

Comments
 (0)