electron-store with TypeScript Example
source link: https://dev.to/anasrin/electron-store-with-typescript-example-108j
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Posted on Apr 1
electron-store with TypeScript Example
Simple data persistence for your Electron app or module - Save and load user preferences, app state, cache, etc.
Below some example how to use electron-store in TypeScript and using Schema for validation.
import Store, { Schema } from 'electron-store';
interface Dummy {
someObject: {
someString: string;
};
someNumber: number;
someEnumString: 'one' | 'two' | 'three';
}
const schema: Schema<Dummy> = {
someObject: {
type: 'object',
properties: {
someString: {
type: 'string',
default: 'string inside object',
},
},
default: {}, // electron-store need this for object type
required: ['someString'],
},
someNumber: {
type: 'number',
minimum: 1,
maximum: 100,
default: 50,
},
someEnumString: {
type: 'string',
enum: ['one', 'two', 'three'],
default: 'two',
},
};
const store = new Store<Dummy>({ schema });
console.table(store.get('someObject'));
// ┌────────────┬────────────────────────┐
// │ (index) │ Values │
// ├────────────┼────────────────────────┤
// │ someString │ 'string inside object' │
// └────────────┴────────────────────────┘
console.log(store.get('someNumber'));
// 50
console.log(store.get('someEnumString'));
// two
try {
store.set('someNumber', 200);
} catch (err) {
console.error(err);
// Error: Config schema violation: `someNumber` must be <= 100
}
try {
store.set('someEnumString', 'four');
} catch (err) {
console.error(err);
// Error: Config schema violation: `someEnumString` must be equal to one of the allowed values
}
Enter fullscreen mode
Exit fullscreen mode
Recommend
-
40
If you need to build a desktop application today, Electron is an increasingly common choice. It is cross-platform and is built using the same web technologies that you probably already know. We're long-time users of Electron at SitePen, and have...
-
39
-
26
Why you should use generic types in TypeScript, a simple example
-
6
Update Actionhero Example to use typescript and ah-next-plugin #9840
-
5
Electron-Forge + React + TypeScript = Awesome!Setup React and TypeScript with Electron Forge Aug 26, 2019 • 7 min read
-
6
If you are a web developer and you want to build a native app that solves a daily workflow problem or if you have a web app built completely and want to give users more of your app with native capabilities . Then there is an easy...
-
6
Typescript Example #1.// An example of generics in TypeScript. class Option<T> { constructor(v:T|null=null) { this.value = v; } readonly value:T|null; } Enter fullscreen modeExit fullscreen...
-
2
Typescript Example #2.// An example of using generics in a type union. // A compact version of my Option<T> type from // "Typescript Example #1." (https://dev.to/baenencalin/typescript-example-1-ia3). type Option<T> = T|nu...
-
6
Example of Using napi-rs with Electron August 21, 2021 You can improve the perf...
-
16
shadowsocks-electron ...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK