Make Keymap class

This commit is contained in:
Shin'ya UEOKA 2019-10-04 04:01:35 +00:00
parent b496cea582
commit 410ffbb037
15 changed files with 223 additions and 129 deletions

View file

@ -8,6 +8,7 @@ import AddonEnabledController from '../controllers/AddonEnabledController';
import LinkController from '../controllers/LinkController';
import OperationController from '../controllers/OperationController';
import MarkController from '../controllers/MarkController';
import { toJSON } from '../../shared/Settings';
@injectable()
export default class ContentMessageListener {
@ -101,8 +102,8 @@ export default class ContentMessageListener {
return this.commandController.exec(text);
}
onSettingsQuery(): Promise<any> {
return this.settingController.getSetting();
async onSettingsQuery(): Promise<any> {
return toJSON(await this.settingController.getSetting());
}
onFindGetKeyword(): Promise<string> {

View file

@ -1,6 +1,6 @@
import { injectable } from 'tsyringe';
import MemoryStorage from '../infrastructures/MemoryStorage';
import Settings from '../../shared/Settings';
import Settings, { valueOf, toJSON } from '../../shared/Settings';
import * as PropertyDefs from '../../shared/property-defs';
const CACHED_SETTING_KEY = 'setting';
@ -14,11 +14,13 @@ export default class SettingRepository {
}
get(): Promise<Settings> {
return Promise.resolve(this.cache.get(CACHED_SETTING_KEY));
let data = this.cache.get(CACHED_SETTING_KEY);
return Promise.resolve(valueOf(data));
}
update(value: Settings): void {
return this.cache.set(CACHED_SETTING_KEY, value);
let data = toJSON(value);
return this.cache.set(CACHED_SETTING_KEY, data);
}
async setProperty(