UNPKG

react-native-twopane-navigation

Version:

React Native package for dual screen devices navigation support (Surface Duo)

2 lines 2.25 kB
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _defineProperty2=_interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));var _paneElement=require("./paneElement.types");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 _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};if(i%2){ownKeys(Object(source),true).forEach(function(key){(0,_defineProperty2.default)(target,key,source[key]);});}else 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;}var initialState={PaneElements:{}};var PaneElementReducer=function PaneElementReducer(){var state=arguments.length>0&&arguments[0]!==undefined?arguments[0]:initialState;var action=arguments.length>1?arguments[1]:undefined;switch(action.type){case _paneElement.PUSH_PANE_ELEMENT:{return _objectSpread(_objectSpread({},state),{},{PaneElements:_objectSpread(_objectSpread({},state.PaneElements),{},(0,_defineProperty2.default)({},action.payload.key,action.payload.paneElement))});}case _paneElement.REPLACE_PANE_ELEMENT:{var hasKey=(action.payload.key in state.PaneElements);if(!hasKey){return _objectSpread({},state);}return _objectSpread(_objectSpread({},state),{},{PaneElements:_objectSpread(_objectSpread({},state.PaneElements),{},(0,_defineProperty2.default)({},action.payload.key,action.payload.paneElement))});}case _paneElement.REMOVE_KEY_PANE_ELEMENT:{var newData=state;if(newData.PaneElements[action.payload.key]){delete newData.PaneElements[action.payload.key];}return _objectSpread({},newData);}default:return state;}};var _default=PaneElementReducer;exports.default=_default; //# sourceMappingURL=paneElement.reducer.js.map