Make Keymap class
This commit is contained in:
parent
b496cea582
commit
410ffbb037
15 changed files with 223 additions and 129 deletions
|
@ -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> {
|
||||
|
|
|
@ -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(
|
||||
|
|
Reference in a new issue