fix hot-reload settings
This commit is contained in:
		
							parent
							
								
									91ea58008c
								
							
						
					
					
						commit
						c202ab0529
					
				
					 4 changed files with 8 additions and 8 deletions
				
			
		|  | @ -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, | ||||
|     }) | ||||
|   }; | ||||
| }; | ||||
|  |  | |||
|  | @ -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); | ||||
|  |  | |||
|  | @ -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 = {}) { | ||||
|  |  | |||
|  | @ -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 }], | ||||
|  |  | |||
		Reference in a new issue