summaryrefslogtreecommitdiffhomepage
path: root/packages/desktop/src/bindings.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/desktop/src/bindings.ts')
-rw-r--r--packages/desktop/src/bindings.ts32
1 files changed, 30 insertions, 2 deletions
diff --git a/packages/desktop/src/bindings.ts b/packages/desktop/src/bindings.ts
index 64d0c113d..46dcb7f44 100644
--- a/packages/desktop/src/bindings.ts
+++ b/packages/desktop/src/bindings.ts
@@ -1,20 +1,48 @@
// This file has been generated by Tauri Specta. Do not edit this file manually.
-import { invoke as __TAURI_INVOKE } from "@tauri-apps/api/core"
+import { invoke as __TAURI_INVOKE, Channel } from '@tauri-apps/api/core';
+import * as __TAURI_EVENT from "@tauri-apps/api/event";
/** Commands */
export const commands = {
killSidecar: () => __TAURI_INVOKE<void>("kill_sidecar"),
installCli: () => __TAURI_INVOKE<string>("install_cli"),
- ensureServerReady: () => __TAURI_INVOKE<ServerReadyData>("ensure_server_ready"),
+ awaitInitialization: (events: Channel) => __TAURI_INVOKE<ServerReadyData>("await_initialization", { events }),
+
getDefaultServerUrl: () => __TAURI_INVOKE<string | null>("get_default_server_url"),
setDefaultServerUrl: (url: string | null) => __TAURI_INVOKE<null>("set_default_server_url", { url }),
parseMarkdownCommand: (markdown: string) => __TAURI_INVOKE<string>("parse_markdown_command", { markdown }),
};
+/** Events */
+export const events = {
+ loadingWindowComplete: makeEvent<LoadingWindowComplete>("loading-window-complete"),
+};
+
/* Types */
+export type InitStep = { phase: "server_waiting" } | { phase: "sqlite_waiting" } | { phase: "done" };
+
+export type LoadingWindowComplete = null;
+
export type ServerReadyData = {
url: string,
password: string | null,
};
+/* Tauri Specta runtime */
+function makeEvent<T>(name: string) {
+ const base = {
+ listen: (cb: __TAURI_EVENT.EventCallback<T>) => __TAURI_EVENT.listen(name, cb),
+ once: (cb: __TAURI_EVENT.EventCallback<T>) => __TAURI_EVENT.once(name, cb),
+ emit: (payload: T) => __TAURI_EVENT.emit(name, payload) as unknown as (T extends null ? () => Promise<void> : (payload: T) => Promise<void>)
+ };
+
+ const fn = (target: import("@tauri-apps/api/webview").Webview | import("@tauri-apps/api/window").Window) => ({
+ listen: (cb: __TAURI_EVENT.EventCallback<T>) => target.listen(name, cb),
+ once: (cb: __TAURI_EVENT.EventCallback<T>) => target.once(name, cb),
+ emit: (payload: T) => target.emit(name, payload) as unknown as (T extends null ? () => Promise<void> : (payload: T) => Promise<void>)
+ });
+
+ return Object.assign(fn, base);
+}
+