github.com/stampzilla/stampzilla-go@v2.0.0-rc9+incompatible/nodes/stampzilla-server/web/src/ducks/app.js (about)

     1  import { Map } from 'immutable';
     2  import { defineAction } from 'redux-define';
     3  
     4  const c = defineAction(
     5    'app',
     6    ['UPDATE'],
     7  );
     8  
     9  const defaultState = Map({
    10    url: `${window.location.protocol.match(/^https/) ? 'wss' : 'ws'}://${window.location.host}/ws`,
    11  });
    12  
    13  export const update = state => (
    14    { type: c.UPDATE, state }
    15  );
    16  
    17  export default function reducer(state = defaultState, action) {
    18    switch (action.type) {
    19      case c.UPDATE: {
    20        return state
    21          .mergeDeep(action.state);
    22      }
    23      default: {
    24        return state;
    25      }
    26    }
    27  }