40 lines
624 B
JavaScript
40 lines
624 B
JavaScript
|
|
||
|
|
||
|
class JsStorage {
|
||
|
constructor() {
|
||
|
this.db = {}
|
||
|
}
|
||
|
|
||
|
get(key) {
|
||
|
return this.db[key]
|
||
|
}
|
||
|
|
||
|
get_or_element(key, defaultElement) {
|
||
|
const element = this.db[key]
|
||
|
if (element === undefined) {
|
||
|
return defaultElement
|
||
|
} else {
|
||
|
return element
|
||
|
}
|
||
|
}
|
||
|
|
||
|
put(key, value) {
|
||
|
if (key === undefined || value === undefined) {
|
||
|
throw Error('key or value is undefined')
|
||
|
}
|
||
|
this.db[key] = value
|
||
|
}
|
||
|
|
||
|
del(key) {
|
||
|
delete this.db[key]
|
||
|
}
|
||
|
|
||
|
put_batch(key_values) {
|
||
|
key_values.forEach(element => {
|
||
|
this.db[element.key] = element.value
|
||
|
})
|
||
|
}
|
||
|
}
|
||
|
|
||
|
module.exports = JsStorage
|