You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					46 lines
				
				1.6 KiB
			
		
		
			
		
	
	
					46 lines
				
				1.6 KiB
			| 
								 
											3 years ago
										 
									 | 
							
								"use strict";
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								exports.__esModule = true;
							 | 
						||
| 
								 | 
							
								exports.defaultMergeProps = defaultMergeProps;
							 | 
						||
| 
								 | 
							
								exports.wrapMergePropsFunc = wrapMergePropsFunc;
							 | 
						||
| 
								 | 
							
								exports.mergePropsFactory = mergePropsFactory;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var _verifyPlainObject = _interopRequireDefault(require("../utils/verifyPlainObject"));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var _invalidArgFactory = require("./invalidArgFactory");
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function defaultMergeProps(stateProps, dispatchProps, ownProps) {
							 | 
						||
| 
								 | 
							
								  // @ts-ignore
							 | 
						||
| 
								 | 
							
								  return (0, _extends2.default)({}, ownProps, stateProps, dispatchProps);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function wrapMergePropsFunc(mergeProps) {
							 | 
						||
| 
								 | 
							
								  return function initMergePropsProxy(dispatch, {
							 | 
						||
| 
								 | 
							
								    displayName,
							 | 
						||
| 
								 | 
							
								    areMergedPropsEqual
							 | 
						||
| 
								 | 
							
								  }) {
							 | 
						||
| 
								 | 
							
								    let hasRunOnce = false;
							 | 
						||
| 
								 | 
							
								    let mergedProps;
							 | 
						||
| 
								 | 
							
								    return function mergePropsProxy(stateProps, dispatchProps, ownProps) {
							 | 
						||
| 
								 | 
							
								      const nextMergedProps = mergeProps(stateProps, dispatchProps, ownProps);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								      if (hasRunOnce) {
							 | 
						||
| 
								 | 
							
								        if (!areMergedPropsEqual(nextMergedProps, mergedProps)) mergedProps = nextMergedProps;
							 | 
						||
| 
								 | 
							
								      } else {
							 | 
						||
| 
								 | 
							
								        hasRunOnce = true;
							 | 
						||
| 
								 | 
							
								        mergedProps = nextMergedProps;
							 | 
						||
| 
								 | 
							
								        if (process.env.NODE_ENV !== 'production') (0, _verifyPlainObject.default)(mergedProps, displayName, 'mergeProps');
							 | 
						||
| 
								 | 
							
								      }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								      return mergedProps;
							 | 
						||
| 
								 | 
							
								    };
							 | 
						||
| 
								 | 
							
								  };
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function mergePropsFactory(mergeProps) {
							 | 
						||
| 
								 | 
							
								  return !mergeProps ? () => defaultMergeProps : typeof mergeProps === 'function' ? wrapMergePropsFunc(mergeProps) : (0, _invalidArgFactory.createInvalidArgFactory)(mergeProps, 'mergeProps');
							 | 
						||
| 
								 | 
							
								}
							 |