Ultima attività 2 days ago

Revisione ca3b3f824c6f7bb617e1a1791d39895d271b02b8

unsubs.ts Raw
1/**
2 * https://github.com/Noah2610/i3-color-theme-editor/blob/master/src/util/unsubs.ts
3 */
4
5export interface Unsubs {
6 add(fn: () => void): void;
7 unsubAll(): void;
8 fns: (() => void)[];
9}
10
11export function createUnsubs(): Unsubs {
12 const fns: Unsubs["fns"] = [];
13
14 return {
15 add(fn) {
16 fns.push(fn);
17 },
18 unsubAll() {
19 fns.forEach((unsub) => unsub());
20 },
21 fns,
22 };
23}