Zuletzt aktiv 2 days ago

nr hat die Gist bearbeitet 2 days ago. Zu Änderung gehen

1 file changed, 23 insertions

unsubs.ts(Datei erstellt)

@@ -0,0 +1,23 @@
1 + /**
2 + * https://github.com/Noah2610/i3-color-theme-editor/blob/master/src/util/unsubs.ts
3 + */
4 +
5 + export interface Unsubs {
6 + add(fn: () => void): void;
7 + unsubAll(): void;
8 + fns: (() => void)[];
9 + }
10 +
11 + export 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 + }
Neuer Älter