diff options
author | Shin'ya UEOKA <ueokande@i-beam.org> | 2019-10-04 04:01:35 +0000 |
---|---|---|
committer | Shin'ya UEOKA <ueokande@i-beam.org> | 2019-10-06 12:58:59 +0000 |
commit | 410ffbb0376b9399928ef8d4dd13079bfb120e14 (patch) | |
tree | e408870fb867c7affb04c9b0130463df24e9f097 /src/background | |
parent | b496cea5827165bd23a503231f94f708a976cad4 (diff) |
Make Keymap class
Diffstat (limited to 'src/background')
-rw-r--r-- | src/background/infrastructures/ContentMessageListener.ts | 5 | ||||
-rw-r--r-- | src/background/repositories/SettingRepository.ts | 8 |
2 files changed, 8 insertions, 5 deletions
diff --git a/src/background/infrastructures/ContentMessageListener.ts b/src/background/infrastructures/ContentMessageListener.ts index 3d24741..f348a74 100644 --- a/src/background/infrastructures/ContentMessageListener.ts +++ b/src/background/infrastructures/ContentMessageListener.ts @@ -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> { diff --git a/src/background/repositories/SettingRepository.ts b/src/background/repositories/SettingRepository.ts index 2f159e5..c7a0e84 100644 --- a/src/background/repositories/SettingRepository.ts +++ b/src/background/repositories/SettingRepository.ts @@ -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( |