fix(store): Use event module instead of appWindow, fixes #282

pull/283/head
FabianLars 2 years ago
parent a4dfa62486
commit b84819540f
No known key found for this signature in database
GPG Key ID: 3B12BC1DEBF61125

@ -3,8 +3,7 @@
// SPDX-License-Identifier: MIT // SPDX-License-Identifier: MIT
import { invoke } from "@tauri-apps/api/tauri"; import { invoke } from "@tauri-apps/api/tauri";
import { UnlistenFn } from "@tauri-apps/api/event"; import { listen, UnlistenFn } from "@tauri-apps/api/event";
import { appWindow } from "@tauri-apps/api/window";
interface ChangePayload<T> { interface ChangePayload<T> {
path: string; path: string;
@ -180,14 +179,11 @@ export class Store {
key: string, key: string,
cb: (value: T | null) => void cb: (value: T | null) => void
): Promise<UnlistenFn> { ): Promise<UnlistenFn> {
return await appWindow.listen<ChangePayload<T>>( return await listen<ChangePayload<T>>("store://change", (event) => {
"store://change",
(event) => {
if (event.payload.path === this.path && event.payload.key === key) { if (event.payload.path === this.path && event.payload.key === key) {
cb(event.payload.value); cb(event.payload.value);
} }
} });
);
} }
/** /**
@ -198,13 +194,10 @@ export class Store {
async onChange<T>( async onChange<T>(
cb: (key: string, value: T | null) => void cb: (key: string, value: T | null) => void
): Promise<UnlistenFn> { ): Promise<UnlistenFn> {
return await appWindow.listen<ChangePayload<T>>( return await listen<ChangePayload<T>>("store://change", (event) => {
"store://change",
(event) => {
if (event.payload.path === this.path) { if (event.payload.path === this.path) {
cb(event.payload.key, event.payload.value); cb(event.payload.key, event.payload.value);
} }
} });
);
} }
} }

Loading…
Cancel
Save