A fork of https://github.com/ueokande/vim-vixen
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
24 lines
508 B
24 lines
508 B
5 years ago
|
import MemoryStorage from '../infrastructures/MemoryStorage';
|
||
6 years ago
|
|
||
|
const CACHED_SETTING_KEY = 'setting';
|
||
|
|
||
|
export default class SettingRepository {
|
||
|
constructor() {
|
||
|
this.cache = new MemoryStorage();
|
||
|
}
|
||
|
|
||
|
get() {
|
||
|
return Promise.resolve(this.cache.get(CACHED_SETTING_KEY));
|
||
|
}
|
||
|
|
||
|
update(value) {
|
||
|
return this.cache.set(CACHED_SETTING_KEY, value);
|
||
|
}
|
||
6 years ago
|
|
||
|
async setProperty(name, value) {
|
||
|
let current = await this.get();
|
||
|
current.properties[name] = value;
|
||
|
return this.update(current);
|
||
|
}
|
||
6 years ago
|
}
|