Sync source to CNB / Sync Git ref (push) Skipped
Axolotl desktop CI / guardrails (push) Canceled after 0s
Axolotl desktop CI / desktop (macos-latest) (push) Canceled after 0s
Axolotl desktop CI / desktop (ubuntu-latest) (push) Canceled after 0s
Axolotl desktop CI / desktop (windows-latest) (push) Canceled after 0s
Axolotl desktop CI / website (push) Canceled after 0s
Repository checks / typos (push) Canceled after 0s
Repository checks / tombi (push) Canceled after 0s
Rust checks / shear (push) Canceled after 0s
65 lines
1.7 KiB
TypeScript
65 lines
1.7 KiB
TypeScript
/**
|
|
* All theseus API calls return serialized values (both return values and errors);
|
|
* So, for example, addDefaultInstance creates a blank instance object, where the Rust struct is serialized,
|
|
* and deserialized into a usable JS object.
|
|
*/
|
|
import { invoke } from '@tauri-apps/api/core'
|
|
|
|
export interface LoadingBarType {
|
|
batch_id?: string
|
|
file_name?: string
|
|
error?: string | null
|
|
state?: 'running' | 'paused' | 'canceling' | 'canceled' | 'failed' | 'finalizing'
|
|
can_pause?: boolean
|
|
can_cancel?: boolean
|
|
type?: string
|
|
version?: string
|
|
instance_id?: string
|
|
instance_name?: string
|
|
pack_name?: string
|
|
icon?: string | null
|
|
}
|
|
|
|
export interface LoadingBar {
|
|
id?: string | number
|
|
loading_bar_uuid?: string | number
|
|
title?: string
|
|
message?: string
|
|
current?: number
|
|
total?: number
|
|
bar_type?: LoadingBarType
|
|
}
|
|
|
|
export type OpeningCommandEvent =
|
|
| 'RunMRPack'
|
|
| 'InstallServer'
|
|
| 'InstallVersion'
|
|
| 'InstallMod'
|
|
| 'InstallModpack'
|
|
| string
|
|
|
|
export interface OpeningCommand {
|
|
event: OpeningCommandEvent
|
|
id?: string
|
|
path?: string
|
|
}
|
|
|
|
// Initialize the theseus API state
|
|
// This should be called during the initializion/opening of the launcher
|
|
export async function initialize_state() {
|
|
return await invoke<void>('initialize_state')
|
|
}
|
|
|
|
// Gets active progress bars
|
|
export async function progress_bars_list() {
|
|
return await invoke<Record<string, LoadingBar>>('plugin:utils|progress_bars_list')
|
|
}
|
|
|
|
// Get opening command
|
|
// For example, if a user clicks on an .mrpack to open the app.
|
|
// This should be called once and only when the app is done booting up and ready to receive a command
|
|
// Returns a Command struct- see events.js
|
|
export async function get_opening_command() {
|
|
return await invoke<OpeningCommand | null>('plugin:utils|get_opening_command')
|
|
}
|