Completed
Push — master ( 158ed8...34f194 )
by Alejandro
04:53 queued 02:19
created

src/servers/reducers/selectedServer.js   A

Complexity

Total Complexity 5
Complexity/F 1

Size

Lines of Code 27
Function Count 5

Duplication

Duplicated Lines 0
Ratio 0 %

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 5
eloc 16
mnd 0
bc 0
fnc 5
dl 0
loc 27
ccs 10
cts 10
cp 1
rs 10
bpm 0
cpm 1
noi 0
c 0
b 0
f 0
1
import { createAction, handleActions } from 'redux-actions';
2
import { resetShortUrlParams } from '../../short-urls/reducers/shortUrlsListParams';
3
4
/* eslint-disable padding-line-between-statements */
5 1
export const SELECT_SERVER = 'shlink/selectedServer/SELECT_SERVER';
6 1
export const RESET_SELECTED_SERVER = 'shlink/selectedServer/RESET_SELECTED_SERVER';
7
/* eslint-enable padding-line-between-statements */
8
9 1
const initialState = null;
10
11 1
export const resetSelectedServer = createAction(RESET_SELECTED_SERVER);
12
13 2
export const selectServer = ({ findServerById }) => (serverId) => (dispatch) => {
14 2
  dispatch(resetShortUrlParams());
15
16 2
  const selectedServer = findServerById(serverId);
17
18 2
  dispatch({
19
    type: SELECT_SERVER,
20
    selectedServer,
21
  });
22
};
23
24
export default handleActions({
25 1
  [RESET_SELECTED_SERVER]: () => initialState,
26 1
  [SELECT_SERVER]: (state, { selectedServer }) => selectedServer,
27
}, initialState);
28