@@ -40,20 +40,20 @@ function update(
4040 if ( action . expressionError ) {
4141 return state . set ( "expressionError" , ! ! action . expressionError ) ;
4242 }
43- return appendToList ( state , [ "expressions" ] , {
43+ return appendExpressionToList ( state , {
4444 input : action . input ,
4545 value : null ,
4646 updating : true
4747 } ) ;
4848 case "UPDATE_EXPRESSION" :
4949 const key = action . expression . input ;
50- return updateItemInList ( state , [ "expressions" ] , key , {
50+ return updateExpressionInList ( state , key , {
5151 input : action . input ,
5252 value : null ,
5353 updating : true
5454 } ) . set ( "expressionError" , ! ! action . expressionError ) ;
5555 case "EVALUATE_EXPRESSION" :
56- return updateItemInList ( state , [ "expressions" ] , action . input , {
56+ return updateExpressionInList ( state , action . input , {
5757 input : action . input ,
5858 value : action . value ,
5959 updating : false
@@ -79,7 +79,7 @@ function travelTo(state, action) {
7979 }
8080 return expressions . reduce (
8181 ( finalState , previousState ) =>
82- updateItemInList ( finalState , [ "expressions" ] , previousState . input , {
82+ updateExpressionInList ( finalState , previousState . input , {
8383 input : previousState . input ,
8484 value : previousState . value ,
8585 updating : false
@@ -96,38 +96,32 @@ function restoreExpressions() {
9696 return exprs ;
9797}
9898
99- function storeExpressions ( state ) {
100- const expressions = state
101- . getIn ( [ "expressions" ] )
99+ function storeExpressions ( { expressions } ) {
100+ prefs . expressions = expressions
102101 . map ( expression => omit ( expression , "value" ) )
103102 . toJS ( ) ;
104-
105- prefs . expressions = expressions ;
106103}
107104
108- function appendToList (
109- state : Record < ExpressionState > ,
110- path : string [ ] ,
111- value : any
112- ) {
113- const newState = state . updateIn ( path , ( ) => {
114- return state . getIn ( path ) . push ( value ) ;
105+ function appendExpressionToList ( state : Record < ExpressionState > , value : any ) {
106+ const newState = state . update ( "expressions" , ( ) => {
107+ return state . expressions . push ( value ) ;
115108 } ) ;
109+
116110 storeExpressions ( newState ) ;
117111 return newState ;
118112}
119113
120- function updateItemInList (
114+ function updateExpressionInList (
121115 state : Record < ExpressionState > ,
122- path : string [ ] ,
123116 key : string ,
124117 value : any
125118) {
126- const newState = state . updateIn ( path , ( ) => {
127- const list = state . getIn ( path ) ;
119+ const newState = state . update ( "expressions" , ( ) => {
120+ const list = state . expressions ;
128121 const index = list . findIndex ( e => e . input == key ) ;
129122 return list . update ( index , ( ) => value ) ;
130123 } ) ;
124+
131125 storeExpressions ( newState ) ;
132126 return newState ;
133127}
@@ -147,7 +141,7 @@ const getExpressionsWrapper = state => state.expressions;
147141
148142export const getExpressions = createSelector (
149143 getExpressionsWrapper ,
150- expressions => expressions . get ( " expressions" )
144+ expressions => expressions . expressions
151145) ;
152146
153147export function getExpression ( state : OuterState , input : string ) {
@@ -156,7 +150,7 @@ export function getExpression(state: OuterState, input: string) {
156150
157151export const getExpressionError = createSelector (
158152 getExpressionsWrapper ,
159- expressions => expressions . get ( " expressionError" )
153+ expressions => expressions . expressionError
160154) ;
161155
162156export default update ;
0 commit comments