diff --git a/src/content/actions/setting.js b/src/content/actions/setting.js index 353dd24..0238c71 100644 --- a/src/content/actions/setting.js +++ b/src/content/actions/setting.js @@ -2,21 +2,20 @@ import actions from 'content/actions'; import * as keyUtils from 'shared/utils/keys'; const set = (value) => { - let maps = new Map(); + let entries = []; if (value.keymaps) { - let entries = Object.entries(value.keymaps).map((entry) => { + entries = Object.entries(value.keymaps).map((entry) => { return [ keyUtils.fromMapKeys(entry[0]), entry[1], ]; }); - maps = new Map(entries); } return { type: actions.SETTING_SET, value: Object.assign({}, value, { - keymaps: maps, + keymaps: entries, }) }; }; diff --git a/src/content/components/common/keymapper.js b/src/content/components/common/keymapper.js index 0abbc91..fb8fabe 100644 --- a/src/content/components/common/keymapper.js +++ b/src/content/components/common/keymapper.js @@ -25,7 +25,7 @@ export default class KeymapperComponent { let state = this.store.getState(); let input = state.input; - let keymaps = state.setting.keymaps; + let keymaps = new Map(state.setting.keymaps); let matched = Array.from(keymaps.keys()).filter((mapping) => { return mapStartsWith(mapping, input.keys); diff --git a/src/content/reducers/setting.js b/src/content/reducers/setting.js index a54f5a3..a23027f 100644 --- a/src/content/reducers/setting.js +++ b/src/content/reducers/setting.js @@ -1,7 +1,8 @@ import actions from 'content/actions'; const defaultState = { - keymaps: new Map(), + // keymaps is and arrays of key-binding pairs, which is entries of Map + keymaps: [], }; export default function reducer(state = defaultState, action = {}) { diff --git a/test/content/actions/setting.test.js b/test/content/actions/setting.test.js index 0228fea..1248edf 100644 --- a/test/content/actions/setting.test.js +++ b/test/content/actions/setting.test.js @@ -20,8 +20,8 @@ describe("setting actions", () => { } }); let keymaps = action.value.keymaps; - - expect(action.value.keymaps).to.have.deep.all.keys( + let map = new Map(keymaps); + expect(map).to.have.deep.all.keys( [ [{ key: 'd', shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, { key: 'd', shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }],