Files
standardnotes-app-web/app/assets/javascripts/services/bridge.ts

41 lines
1.2 KiB
TypeScript

/**
* This file will be imported by desktop, so we make sure imports are carrying
* as little extra code as possible with them.
*/
import { Environment } from '@standardnotes/snjs';
export interface ElectronDesktopCallbacks {
desktop_updateAvailable(): void;
desktop_windowGainedFocus(): void;
desktop_windowLostFocus(): void;
desktop_onComponentInstallationComplete(
componentData: any,
error: any
): Promise<void>;
desktop_requestBackupFile(): Promise<string | undefined>;
desktop_didBeginBackup(): void;
desktop_didFinishBackup(success: boolean): void;
}
/** Platform-specific (i-e Electron/browser) behavior is handled by a Bridge object. */
export interface Bridge {
readonly appVersion: string;
environment: Environment;
getKeychainValue(): Promise<unknown>;
setKeychainValue(value: unknown): Promise<void>;
clearKeychainValue(): Promise<void>;
localBackupsCount(): Promise<number>;
viewlocalBackups(): void;
deleteLocalBackups(): Promise<void>;
extensionsServerHost?: string;
syncComponents(payloads: unknown[]): void;
onMajorDataChange(): void;
onInitialDataLoad(): void;
onSignOut(): void;
onSearch(text?: string): void;
downloadBackup(): void | Promise<void>;
}