UNPKG

@bigfishtv/cockpit

Version:

68 lines (56 loc) 2.66 kB
'use strict'; exports.__esModule = true; var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; /** * @module Reducers/fileTypes */ exports.default = function () { var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState; var action = arguments[1]; switch (action.type) { case _ActionTypes.FILE_EXTENSIONS_INITED: return _extends({}, action.state) || state; case _ActionTypes.FILE_EXTENSION_ADDED: if (!state[action.category]) { state[action.category] = [action.extension]; } else if (state[action.category].indexOf(action.extension) < 0) { state[action.category].push(action.extension); } return state; case _ActionTypes.FILE_EXTENSIONS_ADDED: if (!state[action.category]) { state[action.category] = action.extensions; } else { action.extensions.map(function (extension) { if (state[action.category].indexOf(extension) < 0) state[action.category].push(extension); }); } return state; case _ActionTypes.FILE_EXTENSION_REMOVED: if (state[action.category]) { var index = state[action.category].indexOf(action.extension); if (index >= 0) state[action.category].splice(index, 1); } return state; case _ActionTypes.FILE_EXTENSIONS_REMOVED: if (state[action.category]) { action.extensions.map(function (extension) { var index = state[action.category].indexOf(extension); if (index >= 0) state[action.category].splice(index, 1); }); } return state; case _ActionTypes.FILE_CATEGORY_EMPTIED: if (state[action.category]) state[action.category] = []; return state; } return state; }; var _ActionTypes = require('../constants/ActionTypes'); var initialState = {}; /** * Reducer for managing file type extensions * @param {Object} state * @param {Object} action * @param {String} action.type - const action type from constants/ActionTypes * @return {Object} returns state */