Bug 1554883 - Refactor requests reducer to remove disabled complexity eslint rule. r=pbro

Differential Revision: https://phabricator.services.mozilla.com/D39472

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Arun Kumar Mohan 2019-07-27 00:47:00 +00:00
Родитель 04c28108fc
Коммит d9dcefe8ce
1 изменённых файлов: 56 добавлений и 51 удалений

Просмотреть файл

@ -46,62 +46,16 @@ function Requests() {
* This reducer is responsible for maintaining list of request
* within the Network panel.
*/
/* eslint-disable complexity */
function requestsReducer(state = Requests(), action) {
switch (action.type) {
// Appending new request into the list/map.
case ADD_REQUEST: {
const nextState = { ...state };
const newRequest = {
id: action.id,
...action.data,
urlDetails: getUrlDetails(action.data.url),
};
nextState.requests = mapSet(state.requests, newRequest.id, newRequest);
// Update the started/ended timestamps.
const { startedMillis } = action.data;
if (startedMillis < state.firstStartedMillis) {
nextState.firstStartedMillis = startedMillis;
}
if (startedMillis > state.lastEndedMillis) {
nextState.lastEndedMillis = startedMillis;
}
// Select the request if it was preselected and there is no other selection.
if (state.preselectedId && state.preselectedId === action.id) {
nextState.selectedId = state.selectedId || state.preselectedId;
nextState.preselectedId = null;
}
return nextState;
return addRequest(state, action);
}
// Update an existing request (with received data).
case UPDATE_REQUEST: {
const { requests, lastEndedMillis } = state;
let request = requests.get(action.id);
if (!request) {
return state;
}
request = {
...request,
...processNetworkUpdates(action.data, request),
};
const requestEndTime =
request.startedMillis +
(request.eventTimings ? request.eventTimings.totalTime : 0);
return {
...state,
requests: mapSet(state.requests, action.id, request),
lastEndedMillis:
requestEndTime > lastEndedMillis ? requestEndTime : lastEndedMillis,
};
return updateRequest(state, action);
}
// Remove all requests in the list. Create fresh new state
@ -135,8 +89,7 @@ function requestsReducer(state = Requests(), action) {
}
case RIGHT_CLICK_REQUEST: {
const { requests } = state;
const clickedRequest = requests.get(action.id);
const clickedRequest = state.requests.get(action.id);
return {
...state,
clickedRequest,
@ -184,10 +137,62 @@ function requestsReducer(state = Requests(), action) {
return state;
}
}
/* eslint-enable complexity */
// Helpers
function addRequest(state, action) {
const nextState = { ...state };
const newRequest = {
id: action.id,
...action.data,
urlDetails: getUrlDetails(action.data.url),
};
nextState.requests = mapSet(state.requests, newRequest.id, newRequest);
// Update the started/ended timestamps.
const { startedMillis } = action.data;
if (startedMillis < state.firstStartedMillis) {
nextState.firstStartedMillis = startedMillis;
}
if (startedMillis > state.lastEndedMillis) {
nextState.lastEndedMillis = startedMillis;
}
// Select the request if it was preselected and there is no other selection.
if (state.preselectedId && state.preselectedId === action.id) {
nextState.selectedId = state.selectedId || state.preselectedId;
nextState.preselectedId = null;
}
return nextState;
}
function updateRequest(state, action) {
const { requests, lastEndedMillis } = state;
let request = requests.get(action.id);
if (!request) {
return state;
}
request = {
...request,
...processNetworkUpdates(action.data, request),
};
const requestEndTime =
request.startedMillis +
(request.eventTimings ? request.eventTimings.totalTime : 0);
return {
...state,
requests: mapSet(state.requests, action.id, request),
lastEndedMillis:
requestEndTime > lastEndedMillis ? requestEndTime : lastEndedMillis,
};
}
function cloneRequest(state, id) {
const { requests } = state;