function updateLayer(state, action) {
  // action.layer should be a new mix in for the layer.
  const new_layers = [];
  for (let i = 0, ii = state.layers.length; i < ii; i++) {
    // if the id matches, update the layer
    if (state.layers[i].id === action.layerId) {
      if (action.type === MAP.SET_LAYER_METADATA) {
        const meta_update = {};
        meta_update[action.key] = action.value;
        new_layers.push(Object.assign({}, state.layers[i], {
          metadata: Object.assign({}, state.layers[i].metadata, meta_update),
        }));
      } else {
        new_layers.push(Object.assign({}, state.layers[i], action.layerDef));
      }
    // otherwise leave it the same.
    } else {
      new_layers.push(state.layers[i]);
    }
  }

  return Object.assign({}, state, {
    layers: new_layers,
  }, incrementVersion(state.metadata, LAYER_VERSION_KEY));
}
function updateLayer(state, action) {
  
  const new_layers = [];
  for (let i = 0, ii = state.layers.length; i < ii; i++) {
    
    if (state.layers[i].id === action.layerId) {
      if (action.type === MAP.SET_LAYER_METADATA) {
        const meta_update = {};
        meta_update[action.key] = action.value;
        new_layers.push(Object.assign({}, state.layers[i], {
          metadata: Object.assign({}, state.layers[i].metadata, meta_update),
        }));
      } else {
        new_layers.push(Object.assign({}, state.layers[i], action.layerDef));
      }
    
    } else {
      new_layers.push(state.layers[i]);
    }
  }

  return Object.assign({}, state, {
    layers: new_layers,
  }, incrementVersion(state.metadata, LAYER_VERSION_KEY));
}
function updateLayer ( state , action ) { // action.layer should be a new mix in for the layer. const new_layers = [ ] ; for ( let i = 0 , ii = state . layers . length ; i < ii ; i ++ ) { // if the id matches, update the layer if ( state . layers [ i ] . id === action . layerId ) { if ( action . type === MAP . SET_LAYER_METADATA ) { const meta_update = { } ; meta_update [ action . key ] = action . value ; new_layers . push ( Object . assign ( { } , state . layers [ i ] , { metadata : Object . assign ( { } , state . layers [ i ] . metadata , meta_update ) , } ) ) ; } else { new_layers . push ( Object . assign ( { } , state . layers [ i ] , action . layerDef ) ) ; } // otherwise leave it the same. } else { new_layers . push ( state . layers [ i ] ) ; } } return Object . assign ( { } , state , { layers : new_layers , } , incrementVersion ( state . metadata , LAYER_VERSION_KEY ) ) ; }
Update a layer that's in the state already.
@param {Object} state Current state.
@param {Object} action Action to handle.

@returns {Object} The new state.
Update a layer that s in the state already . @param { Object } state Current state . @param { Object } action Action to handle .