UNPKG

@brizy/media-gallery

Version:
91 lines (90 loc) 3.27 kB
function _define_property(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } function _object_spread(target) { for(var i = 1; i < arguments.length; i++){ var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === "function") { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function(key) { _define_property(target, key, source[key]); }); } return target; } function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function(sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; } function _object_spread_props(target, source) { source = source != null ? source : {}; if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function(key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } import { match2, or } from "fp-utilities"; import * as Actions from "./types/Actions"; import * as MediaLibraryState from "./mediaLibrary/types/State"; import * as StockPhotosState from "./stockPhotos/types/State"; import * as MediaLibraryActions from "./mediaLibrary/types/Actions"; import * as StockPhotosActions from "./stockPhotos/types/Actions"; import { reducer as mediaLibraryReducer } from "./mediaLibrary/reducer"; import { reducer as stockPhotosReducer } from "./stockPhotos/reducer"; import { identity } from "ramda"; import { isInnerState } from "./types/State"; import { FileTypes } from "./mediaLibrary/types/types"; export var reducer = function(s, a) { switch(a.type){ case Actions.ActionTypes.GoToMediaLibrary: return MediaLibraryState.init(_object_spread_props(_object_spread({}, s), { search: "", page: 1, isFirstSelected: false, type: FileTypes.All })); case Actions.ActionTypes.GoToStockPhotos: return StockPhotosState.init(_object_spread_props(_object_spread({}, s), { search: "", page: 1 })); default: return isInnerState(s) && Actions.isInnerActions(a) ? innerReducer(s, a) : s; } }; export var innerReducer = or(match2([ MediaLibraryState.isState, MediaLibraryActions.isActions, mediaLibraryReducer ], [ StockPhotosState.isState, StockPhotosActions.isActions, stockPhotosReducer ]), identity);