You've already forked pages
forked from didirus/AstralRinth
* added settings API + fixed bug * removed redundant API funcs * comment clarifications --------- Co-authored-by: Wyatt <wyatt@modrinth.com>
54 lines
1.3 KiB
JavaScript
54 lines
1.3 KiB
JavaScript
/**
|
|
* All theseus API calls return serialized values (both return values and errors);
|
|
* So, for example, addDefaultInstance creates a blank Profile object, where the Rust struct is serialized,
|
|
* and deserialized into a usable JS object.
|
|
*/
|
|
import { invoke } from '@tauri-apps/api/tauri'
|
|
|
|
// Settings object
|
|
/*
|
|
|
|
Settings {
|
|
"memory": MemorySettings,
|
|
"game_resolution": [int int],
|
|
"custom_java_args": [String ...],
|
|
"custom_env_args" : [(string, string) ... ]>,
|
|
"java_8_path": Path (can be null),
|
|
"java_17_path": Path (can be null),
|
|
"default_user": Uuid string (can be null),
|
|
"hooks": Hooks,
|
|
"max_concurrent_downloads": uint,
|
|
"version": u32,
|
|
}
|
|
|
|
Memorysettings {
|
|
"min": u32, can be null,
|
|
"max": u32,
|
|
}
|
|
|
|
*/
|
|
|
|
// An example test function for getting/setting settings
|
|
export async function test() {
|
|
// First, print settings and store them to an object
|
|
let settings = await get()
|
|
console.log(JSON.stringify(settings))
|
|
|
|
// Then set some random settings in that object
|
|
settings.java_8_path = '/example/path'
|
|
|
|
// Set the new settings object
|
|
await set(settings)
|
|
console.log(JSON.stringify(await get()))
|
|
}
|
|
|
|
// Get full settings object
|
|
export async function get() {
|
|
return await invoke('settings_get')
|
|
}
|
|
|
|
// Set full settings object
|
|
export async function set(settings) {
|
|
return await invoke('settings_set', { settings })
|
|
}
|