123456789101112131415161718192021222324252627282930313233343536 |
- import _extends from "@babel/runtime/helpers/esm/extends";
- import verifyPlainObject from '../utils/verifyPlainObject';
- export function defaultMergeProps(stateProps, dispatchProps, ownProps) {
- return _extends({}, ownProps, stateProps, dispatchProps);
- }
- export function wrapMergePropsFunc(mergeProps) {
- return function initMergePropsProxy(dispatch, _ref) {
- var displayName = _ref.displayName,
- pure = _ref.pure,
- areMergedPropsEqual = _ref.areMergedPropsEqual;
- var hasRunOnce = false;
- var mergedProps;
- return function mergePropsProxy(stateProps, dispatchProps, ownProps) {
- var nextMergedProps = mergeProps(stateProps, dispatchProps, ownProps);
- if (hasRunOnce) {
- if (!pure || !areMergedPropsEqual(nextMergedProps, mergedProps)) mergedProps = nextMergedProps;
- } else {
- hasRunOnce = true;
- mergedProps = nextMergedProps;
- if (process.env.NODE_ENV !== 'production') verifyPlainObject(mergedProps, displayName, 'mergeProps');
- }
- return mergedProps;
- };
- };
- }
- export function whenMergePropsIsFunction(mergeProps) {
- return typeof mergeProps === 'function' ? wrapMergePropsFunc(mergeProps) : undefined;
- }
- export function whenMergePropsIsOmitted(mergeProps) {
- return !mergeProps ? function () {
- return defaultMergeProps;
- } : undefined;
- }
- export default [whenMergePropsIsFunction, whenMergePropsIsOmitted];
|