31 lines
792 B
JavaScript
31 lines
792 B
JavaScript
|
// @flow
|
||
|
import { assign, ReducerRegistry } from '../redux';
|
||
|
|
||
|
import { SET_NETWORK_INFO, _STORE_NETWORK_INFO_CLEANUP } from './actionTypes';
|
||
|
import { STORE_NAME } from './constants';
|
||
|
|
||
|
const DEFAULT_STATE = {
|
||
|
isOnline: true
|
||
|
};
|
||
|
|
||
|
/**
|
||
|
* The base/net-info feature's reducer.
|
||
|
*/
|
||
|
ReducerRegistry.register(STORE_NAME, (state = DEFAULT_STATE, action) => {
|
||
|
switch (action.type) {
|
||
|
case SET_NETWORK_INFO:
|
||
|
return assign(state, {
|
||
|
isOnline: action.isOnline,
|
||
|
networkType: action.networkType,
|
||
|
cellularGeneration: action.cellularGeneration,
|
||
|
details: action.details
|
||
|
});
|
||
|
case _STORE_NETWORK_INFO_CLEANUP:
|
||
|
return assign(state, {
|
||
|
_cleanup: action.cleanup
|
||
|
});
|
||
|
default:
|
||
|
return state;
|
||
|
}
|
||
|
});
|