Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
m1k1o
GitHub Repository: m1k1o/neko
Path: blob/master/client/src/utils/localstorage.ts
1301 views
1
export function set<T extends string | number | boolean>(key: string, val: T) {
2
switch (typeof val) {
3
case 'number':
4
localStorage.setItem(key, val.toString())
5
break
6
case 'string':
7
localStorage.setItem(key, val)
8
break
9
case 'boolean':
10
localStorage.setItem(key, val ? '1' : '0')
11
break
12
}
13
}
14
15
export function get<T extends string | number | boolean>(key: string, def: T): T {
16
const store = localStorage.getItem(key)
17
if (store) {
18
switch (typeof def) {
19
case 'number':
20
return parseInt(store) as T
21
case 'string':
22
return store as T
23
case 'boolean':
24
return (store === '1') as T
25
default:
26
return def
27
}
28
}
29
30
return def
31
}
32
33