summaryrefslogtreecommitdiff
path: root/frontend/src/utils/settings.ts
blob: cadfe93595104e7957fc5f6bc3fd150f1ca7ade9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
interface GetSettingArgs<T> {
  key: string;
  default: T;
}

interface SetSettingArgs<T> {
  key: string;
  value: T;
}

export async function getSetting<T>(key: string, def: T): Promise<T> {
  const res = (await window.DeckyPluginLoader.callServerMethod('get_setting', {
    key,
    default: def,
  } as GetSettingArgs<T>)) as { result: T };
  return res.result;
}

export async function setSetting<T>(key: string, value: T): Promise<void> {
  await window.DeckyPluginLoader.callServerMethod('set_setting', {
    key,
    value,
  } as SetSettingArgs<T>);
}