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 }