mirror of https://github.com/zulip/zulip.git
electron_bridge: Declare Zulip Desktop binding types.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
This commit is contained in:
parent
c6618c9e55
commit
82e4250592
|
@ -98,6 +98,7 @@ EXEMPT_FILES = make_set(
|
||||||
"web/src/drafts_overlay_ui.js",
|
"web/src/drafts_overlay_ui.js",
|
||||||
"web/src/dropdown_widget.js",
|
"web/src/dropdown_widget.js",
|
||||||
"web/src/echo.js",
|
"web/src/echo.js",
|
||||||
|
"web/src/electron_bridge.d.ts",
|
||||||
"web/src/emoji_picker.js",
|
"web/src/emoji_picker.js",
|
||||||
"web/src/emojisets.ts",
|
"web/src/emojisets.ts",
|
||||||
"web/src/favicon.ts",
|
"web/src/favicon.ts",
|
||||||
|
|
|
@ -0,0 +1,45 @@
|
||||||
|
export type NotificationData = {
|
||||||
|
title: string;
|
||||||
|
dir: NotificationDirection;
|
||||||
|
lang: string;
|
||||||
|
body: string;
|
||||||
|
tag: string;
|
||||||
|
icon: string;
|
||||||
|
data: unknown;
|
||||||
|
close(): void;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type ClipboardDecrypter = {
|
||||||
|
version: number;
|
||||||
|
key: Uint8Array;
|
||||||
|
pasted: Promise<string>;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type ElectronBridge = {
|
||||||
|
send_event(eventName: string | symbol, ...args: unknown[]): boolean;
|
||||||
|
on_event(
|
||||||
|
eventName: "logout" | "show-keyboard-shortcuts" | "show-notification-settings",
|
||||||
|
listener: () => void,
|
||||||
|
): void;
|
||||||
|
on_event(
|
||||||
|
eventName: "send_notification_reply_message",
|
||||||
|
listener: (message_id: unknown, reply: unknown) => void,
|
||||||
|
): void;
|
||||||
|
new_notification?(
|
||||||
|
title: string,
|
||||||
|
options: NotificationOptions,
|
||||||
|
dispatch: (type: string, eventInit: EventInit) => boolean,
|
||||||
|
): NotificationData;
|
||||||
|
get_idle_on_system?(): boolean;
|
||||||
|
get_last_active_on_system?(): number;
|
||||||
|
get_send_notification_reply_message_supported?(): boolean;
|
||||||
|
set_send_notification_reply_message_supported?(value: boolean): void;
|
||||||
|
decrypt_clipboard?(version: number): ClipboardDecrypter;
|
||||||
|
};
|
||||||
|
|
||||||
|
declare global {
|
||||||
|
// eslint-disable-next-line @typescript-eslint/consistent-type-definitions
|
||||||
|
interface Window {
|
||||||
|
electron_bridge?: ElectronBridge;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue