electron-sync-state
Version:
`electron-sync-state` 是一个用于在 Electron 主进程和渲染进程之间自动同步状态的库。它利用了 Vue 的响应式系统,以及 Vue 3.5 版本提供的新 API,确保状态在进程间保持一致。该库适用于 Vue 以及 @vue/reactivity 3.5 及以上版本。
26 lines (20 loc) • 606 B
TypeScript
import { IpcRenderer } from '@electron-toolkit/preload';
import { UnwrapRef } from 'vue';
export declare interface SyncStateConfig<T> {
channelPrefix: string;
debug?: boolean;
onChange?: (value: T) => void;
}
declare interface SyncWatchHandle {
pause: () => void;
resume: () => void;
}
export declare const useSyncState: <T>(config: SyncStateConfig<T>, ipcRenderer: IpcRenderer) => {
wrapperState: WrapperState<T>;
syncWatchHandle: SyncWatchHandle;
};
declare interface WrapperState<T> {
loading: boolean;
state: UnwrapRef<T>;
}
export { }