1 | /**
|
2 | * Handles named events.
|
3 | *
|
4 | * @template N
|
5 | */
|
6 | export class Observable<N> {
|
7 | /**
|
8 | * Some desc.
|
9 | * @type {Map<N, any>}
|
10 | */
|
11 | _observers: Map<N, any>;
|
12 | /**
|
13 | * @param {N} name
|
14 | * @param {function} f
|
15 | */
|
16 | on(name: N, f: Function): void;
|
17 | /**
|
18 | * @param {N} name
|
19 | * @param {function} f
|
20 | */
|
21 | once(name: N, f: Function): void;
|
22 | /**
|
23 | * @param {N} name
|
24 | * @param {function} f
|
25 | */
|
26 | off(name: N, f: Function): void;
|
27 | /**
|
28 | * Emit a named event. All registered event listeners that listen to the
|
29 | * specified name will receive the event.
|
30 | *
|
31 | * @todo This should catch exceptions
|
32 | *
|
33 | * @param {N} name The event name.
|
34 | * @param {Array<any>} args The arguments that are applied to the event listener.
|
35 | */
|
36 | emit(name: N, args: Array<any>): void;
|
37 | destroy(): void;
|
38 | }
|
39 | //# sourceMappingURL=observable.d.ts.map |
\ | No newline at end of file |