-
-
Notifications
You must be signed in to change notification settings - Fork 155
/
index.d.ts
64 lines (50 loc) · 1.8 KB
/
index.d.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
import {type Except} from 'type-fest';
import Conf, {type Options as ConfigOptions} from 'conf';
export {Schema} from 'conf';
export type Options<T extends Record<string, any>> = Except<ConfigOptions<T>, 'configName' | 'projectName' | 'projectVersion' | 'projectSuffix'> & {
/**
Name of the storage file (without extension).
This is useful if you want multiple storage files for your app. Or if you're making a reusable Electron module that persists some data, in which case you should **not** use the name `config`.
@default 'config'
*/
readonly name?: string;
};
/**
Simple data persistence for your [Electron](https://electronjs.org) app or module - Save and load user settings, app state, cache, etc.
*/
export default class ElectronStore<T extends Record<string, any> = Record<string, unknown>> extends Conf<T> {
/**
Initializer to set up the required `ipc` communication channels for the module when a `Store` instance is not created in the main process and you are creating a `Store` instance in the Electron renderer process only.
*/
static initRenderer(): void;
/**
Changes are written to disk atomically, so if the process crashes during a write, it will not corrupt the existing store.
@example
```
import Store from 'electron-store';
type StoreType = {
isRainbow: boolean,
unicorn?: string
}
const store = new Store<StoreType>({
defaults: {
isRainbow: true
}
});
store.get('isRainbow');
//=> true
store.set('unicorn', '🦄');
console.log(store.get('unicorn'));
//=> '🦄'
store.delete('unicorn');
console.log(store.get('unicorn'));
//=> undefined
```
*/
constructor(options?: Options<T>);
/**
Open the storage file in the user's editor.
Returns a promise that resolves when the editor has been opened, or rejects if it failed to open.
*/
openInEditor(): Promise<void>;
}