UNPKG

preact-redux

Version:

Wraps react-redux up for Preact, without preact-compat

743 lines (712 loc) 29.5 kB
(function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('preact'), require('preact-context'), require('redux')) : typeof define === 'function' && define.amd ? define(['preact', 'preact-context', 'redux'], factory) : (global = global || self, global.preactRedux = factory(global.preact, global.preactContext, global.Redux)); }(this, function (preact, preactContext, redux) { 'use strict'; function _extends() { _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; }; return _extends.apply(this, arguments); } function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; } function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function invariant () {} var React = { createContext: preactContext.createContext, forwardRef: invariant, createElement: preact.h }; var ReactReduxContext = React.createContext(null); var Provider = function (_Component) { _inheritsLoose(Provider, _Component); function Provider(props) { var _this; _this = _Component.call(this, props) || this; var store = props.store; _this.state = { storeState: store.getState(), store: store }; return _this; } var _proto = Provider.prototype; _proto.componentDidMount = function componentDidMount() { this._isMounted = true; this.subscribe(); }; _proto.componentWillUnmount = function componentWillUnmount() { if (this.unsubscribe) this.unsubscribe(); this._isMounted = false; }; _proto.componentDidUpdate = function componentDidUpdate(prevProps) { if (this.props.store !== prevProps.store) { if (this.unsubscribe) this.unsubscribe(); this.subscribe(); } }; _proto.subscribe = function subscribe() { var _this2 = this; var store = this.props.store; this.unsubscribe = store.subscribe(function () { var newStoreState = store.getState(); if (!_this2._isMounted) { return; } _this2.setState(function (providerState) { if (providerState.storeState === newStoreState) { return null; } return { storeState: newStoreState }; }); }); var postMountStoreState = store.getState(); if (postMountStoreState !== this.state.storeState) { this.setState({ storeState: postMountStoreState }); } }; _proto.render = function render() { var Context = this.props.context || ReactReduxContext; return React.createElement(Context.Provider, { value: this.state }, this.props.children); }; return Provider; }(preact.Component); function unwrapExports (x) { return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x; } function createCommonjsModule(fn, module) { return module = { exports: {} }, fn(module, module.exports), module.exports; } var reactIs_production_min = createCommonjsModule(function (module, exports) { Object.defineProperty(exports, "__esModule", { value: !0 }); var c = 60103, d = 60106, e = 60107, f = 60108, g = 60114, h = 60109, k = 60110, l = 60111, m = 60111, n = 60112, p = 60113, q = 60115, r = 60116; function t(a) { if ("object" === typeof a && null !== a) { var u = a.$$typeof; switch (u) { case c: switch (a = a.type, a) { case l: case m: case e: case g: case f: case p: return a; default: switch (a = a && a.$$typeof, a) { case k: case n: case h: return a; default: return u; } } case r: case q: case d: return u; } } } function v(a) { return t(a) === m; } exports.typeOf = t; exports.AsyncMode = l; exports.ConcurrentMode = m; exports.ContextConsumer = k; exports.ContextProvider = h; exports.Element = c; exports.ForwardRef = n; exports.Fragment = e; exports.Lazy = r; exports.Memo = q; exports.Portal = d; exports.Profiler = g; exports.StrictMode = f; exports.Suspense = p; exports.isValidElementType = function (a) { return "string" === typeof a || "function" === typeof a || a === e || a === m || a === g || a === f || a === p || "object" === typeof a && null !== a && (a.$$typeof === r || a.$$typeof === q || a.$$typeof === h || a.$$typeof === k || a.$$typeof === n); }; exports.isAsyncMode = function (a) { return v(a) || t(a) === l; }; exports.isConcurrentMode = v; exports.isContextConsumer = function (a) { return t(a) === k; }; exports.isContextProvider = function (a) { return t(a) === h; }; exports.isElement = function (a) { return "object" === typeof a && null !== a && a.$$typeof === c; }; exports.isForwardRef = function (a) { return t(a) === n; }; exports.isFragment = function (a) { return t(a) === e; }; exports.isLazy = function (a) { return t(a) === r; }; exports.isMemo = function (a) { return t(a) === q; }; exports.isPortal = function (a) { return t(a) === d; }; exports.isProfiler = function (a) { return t(a) === g; }; exports.isStrictMode = function (a) { return t(a) === f; }; exports.isSuspense = function (a) { return t(a) === p; }; }); unwrapExports(reactIs_production_min); var reactIs_production_min_1 = reactIs_production_min.typeOf; var reactIs_production_min_2 = reactIs_production_min.AsyncMode; var reactIs_production_min_3 = reactIs_production_min.ConcurrentMode; var reactIs_production_min_4 = reactIs_production_min.ContextConsumer; var reactIs_production_min_5 = reactIs_production_min.ContextProvider; var reactIs_production_min_6 = reactIs_production_min.Element; var reactIs_production_min_7 = reactIs_production_min.ForwardRef; var reactIs_production_min_8 = reactIs_production_min.Fragment; var reactIs_production_min_9 = reactIs_production_min.Lazy; var reactIs_production_min_10 = reactIs_production_min.Memo; var reactIs_production_min_11 = reactIs_production_min.Portal; var reactIs_production_min_12 = reactIs_production_min.Profiler; var reactIs_production_min_13 = reactIs_production_min.StrictMode; var reactIs_production_min_14 = reactIs_production_min.Suspense; var reactIs_production_min_15 = reactIs_production_min.isValidElementType; var reactIs_production_min_16 = reactIs_production_min.isAsyncMode; var reactIs_production_min_17 = reactIs_production_min.isConcurrentMode; var reactIs_production_min_18 = reactIs_production_min.isContextConsumer; var reactIs_production_min_19 = reactIs_production_min.isContextProvider; var reactIs_production_min_20 = reactIs_production_min.isElement; var reactIs_production_min_21 = reactIs_production_min.isForwardRef; var reactIs_production_min_22 = reactIs_production_min.isFragment; var reactIs_production_min_23 = reactIs_production_min.isLazy; var reactIs_production_min_24 = reactIs_production_min.isMemo; var reactIs_production_min_25 = reactIs_production_min.isPortal; var reactIs_production_min_26 = reactIs_production_min.isProfiler; var reactIs_production_min_27 = reactIs_production_min.isStrictMode; var reactIs_production_min_28 = reactIs_production_min.isSuspense; var reactIs = createCommonjsModule(function (module) { { module.exports = reactIs_production_min; } }); var reactIs_1 = reactIs.isValidElementType; var reactIs_2 = reactIs.isContextConsumer; var REACT_STATICS = { childContextTypes: true, contextType: true, contextTypes: true, defaultProps: true, displayName: true, getDefaultProps: true, getDerivedStateFromError: true, getDerivedStateFromProps: true, mixins: true, propTypes: true, type: true }; var KNOWN_STATICS = { name: true, length: true, prototype: true, caller: true, callee: true, arguments: true, arity: true }; var FORWARD_REF_STATICS = { '$$typeof': true, render: true, defaultProps: true, displayName: true, propTypes: true }; var MEMO_STATICS = { '$$typeof': true, compare: true, defaultProps: true, displayName: true, propTypes: true, type: true }; var TYPE_STATICS = {}; TYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS; function getStatics(component) { if (reactIs.isMemo(component)) { return MEMO_STATICS; } return TYPE_STATICS[component['$$typeof']] || REACT_STATICS; } var defineProperty = Object.defineProperty; var getOwnPropertyNames = Object.getOwnPropertyNames; var getOwnPropertySymbols = Object.getOwnPropertySymbols; var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; var getPrototypeOf = Object.getPrototypeOf; var objectPrototype = Object.prototype; function hoistNonReactStatics(targetComponent, sourceComponent, blacklist) { if (typeof sourceComponent !== 'string') { if (objectPrototype) { var inheritedComponent = getPrototypeOf(sourceComponent); if (inheritedComponent && inheritedComponent !== objectPrototype) { hoistNonReactStatics(targetComponent, inheritedComponent, blacklist); } } var keys = getOwnPropertyNames(sourceComponent); if (getOwnPropertySymbols) { keys = keys.concat(getOwnPropertySymbols(sourceComponent)); } var targetStatics = getStatics(targetComponent); var sourceStatics = getStatics(sourceComponent); for (var i = 0; i < keys.length; ++i) { var key = keys[i]; if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) { var descriptor = getOwnPropertyDescriptor(sourceComponent, key); try { defineProperty(targetComponent, key, descriptor); } catch (e) {} } } return targetComponent; } return targetComponent; } var hoistNonReactStatics_cjs = hoistNonReactStatics; function connectAdvanced( selectorFactory, _temp) { var _ref = _temp === void 0 ? {} : _temp, _ref$getDisplayName = _ref.getDisplayName, getDisplayName = _ref$getDisplayName === void 0 ? function (name) { return "ConnectAdvanced(" + name + ")"; } : _ref$getDisplayName, _ref$methodName = _ref.methodName, methodName = _ref$methodName === void 0 ? 'connectAdvanced' : _ref$methodName, _ref$renderCountProp = _ref.renderCountProp, renderCountProp = _ref$renderCountProp === void 0 ? undefined : _ref$renderCountProp, _ref$shouldHandleStat = _ref.shouldHandleStateChanges, shouldHandleStateChanges = _ref$shouldHandleStat === void 0 ? true : _ref$shouldHandleStat, _ref$storeKey = _ref.storeKey, storeKey = _ref$storeKey === void 0 ? 'store' : _ref$storeKey, _ref$withRef = _ref.withRef, _ref$forwardRef = _ref.forwardRef, forwardRef = _ref$forwardRef === void 0 ? false : _ref$forwardRef, _ref$context = _ref.context, context = _ref$context === void 0 ? ReactReduxContext : _ref$context, connectOptions = _objectWithoutPropertiesLoose(_ref, ["getDisplayName", "methodName", "renderCountProp", "shouldHandleStateChanges", "storeKey", "withRef", "forwardRef", "context"]); var customStoreWarningMessage = 'To use a custom Redux store for specific components, create a custom React context with ' + "React.createContext(), and pass the context object to React Redux's Provider and specific components" + ' like: <Provider context={MyContext}><ConnectedComponent context={MyContext} /></Provider>. ' + 'You may also pass a {context : MyContext} option to connect'; var Context = context; return function wrapWithConnect(WrappedComponent) { var wrappedComponentName = WrappedComponent.displayName || WrappedComponent.name || 'Component'; var displayName = getDisplayName(wrappedComponentName); var selectorFactoryOptions = _extends({}, connectOptions, { getDisplayName: getDisplayName, methodName: methodName, renderCountProp: renderCountProp, shouldHandleStateChanges: shouldHandleStateChanges, storeKey: storeKey, displayName: displayName, wrappedComponentName: wrappedComponentName, WrappedComponent: WrappedComponent }); var pure = connectOptions.pure; var OuterBaseComponent = preact.Component; if (pure) { OuterBaseComponent = preact.Component; } function makeDerivedPropsSelector() { var lastProps; var lastState; var lastDerivedProps; var lastStore; var lastSelectorFactoryOptions; var sourceSelector; return function selectDerivedProps(state, props, store, selectorFactoryOptions) { if (pure && lastProps === props && lastState === state) { return lastDerivedProps; } if (store !== lastStore || lastSelectorFactoryOptions !== selectorFactoryOptions) { lastStore = store; lastSelectorFactoryOptions = selectorFactoryOptions; sourceSelector = selectorFactory(store.dispatch, selectorFactoryOptions); } lastProps = props; lastState = state; var nextProps = sourceSelector(state, props); lastDerivedProps = nextProps; return lastDerivedProps; }; } function makeChildElementSelector() { var lastChildProps, lastForwardRef, lastChildElement, lastComponent; return function selectChildElement(WrappedComponent, childProps, forwardRef) { if (childProps !== lastChildProps || forwardRef !== lastForwardRef || lastComponent !== WrappedComponent) { lastChildProps = childProps; lastForwardRef = forwardRef; lastComponent = WrappedComponent; lastChildElement = React.createElement(WrappedComponent, _extends({}, childProps, { ref: forwardRef })); } return lastChildElement; }; } var Connect = function (_OuterBaseComponent) { _inheritsLoose(Connect, _OuterBaseComponent); function Connect(props) { var _this; _this = _OuterBaseComponent.call(this, props) || this; invariant(forwardRef ? !props.wrapperProps[storeKey] : !props[storeKey], 'Passing redux store in props has been removed and does not do anything. ' + customStoreWarningMessage); _this.selectDerivedProps = makeDerivedPropsSelector(); _this.selectChildElement = makeChildElementSelector(); _this.indirectRenderWrappedComponent = _this.indirectRenderWrappedComponent.bind(_assertThisInitialized(_this)); return _this; } var _proto = Connect.prototype; _proto.indirectRenderWrappedComponent = function indirectRenderWrappedComponent(value) { return this.renderWrappedComponent(value); }; _proto.renderWrappedComponent = function renderWrappedComponent(value) { var storeState = value.storeState, store = value.store; var wrapperProps = this.props; var forwardedRef; if (forwardRef) { wrapperProps = this.props.wrapperProps; forwardedRef = this.props.forwardedRef; } var derivedProps = this.selectDerivedProps(storeState, wrapperProps, store, selectorFactoryOptions); return this.selectChildElement(WrappedComponent, derivedProps, forwardedRef); }; _proto.render = function render() { var ContextToUse = this.props.context && this.props.context.Consumer && reactIs_2(React.createElement(this.props.context.Consumer, null)) ? this.props.context : Context; return React.createElement(ContextToUse.Consumer, null, this.indirectRenderWrappedComponent); }; return Connect; }(OuterBaseComponent); Connect.WrappedComponent = WrappedComponent; Connect.displayName = displayName; if (forwardRef) { var forwarded = React.forwardRef(function forwardConnectRef(props, ref) { return React.createElement(Connect, { wrapperProps: props, forwardedRef: ref }); }); forwarded.displayName = displayName; forwarded.WrappedComponent = WrappedComponent; return hoistNonReactStatics_cjs(forwarded, WrappedComponent); } return hoistNonReactStatics_cjs(Connect, WrappedComponent); }; } var hasOwn = Object.prototype.hasOwnProperty; function is(x, y) { if (x === y) { return x !== 0 || y !== 0 || 1 / x === 1 / y; } else { return x !== x && y !== y; } } function shallowEqual(objA, objB) { if (is(objA, objB)) return true; if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) { return false; } var keysA = Object.keys(objA); var keysB = Object.keys(objB); if (keysA.length !== keysB.length) return false; for (var i = 0; i < keysA.length; i++) { if (!hasOwn.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) { return false; } } return true; } function wrapMapToPropsConstant(getConstant) { return function initConstantSelector(dispatch, options) { var constant = getConstant(dispatch, options); function constantSelector() { return constant; } constantSelector.dependsOnOwnProps = false; return constantSelector; }; } function getDependsOnOwnProps(mapToProps) { return mapToProps.dependsOnOwnProps !== null && mapToProps.dependsOnOwnProps !== undefined ? Boolean(mapToProps.dependsOnOwnProps) : mapToProps.length !== 1; } function wrapMapToPropsFunc(mapToProps, methodName) { return function initProxySelector(dispatch, _ref) { var displayName = _ref.displayName; var proxy = function mapToPropsProxy(stateOrDispatch, ownProps) { return proxy.dependsOnOwnProps ? proxy.mapToProps(stateOrDispatch, ownProps) : proxy.mapToProps(stateOrDispatch); }; proxy.dependsOnOwnProps = true; proxy.mapToProps = function detectFactoryAndVerify(stateOrDispatch, ownProps) { proxy.mapToProps = mapToProps; proxy.dependsOnOwnProps = getDependsOnOwnProps(mapToProps); var props = proxy(stateOrDispatch, ownProps); if (typeof props === 'function') { proxy.mapToProps = props; proxy.dependsOnOwnProps = getDependsOnOwnProps(props); props = proxy(stateOrDispatch, ownProps); } return props; }; return proxy; }; } function whenMapDispatchToPropsIsFunction(mapDispatchToProps) { return typeof mapDispatchToProps === 'function' ? wrapMapToPropsFunc(mapDispatchToProps, 'mapDispatchToProps') : undefined; } function whenMapDispatchToPropsIsMissing(mapDispatchToProps) { return !mapDispatchToProps ? wrapMapToPropsConstant(function (dispatch) { return { dispatch: dispatch }; }) : undefined; } function whenMapDispatchToPropsIsObject(mapDispatchToProps) { return mapDispatchToProps && typeof mapDispatchToProps === 'object' ? wrapMapToPropsConstant(function (dispatch) { return redux.bindActionCreators(mapDispatchToProps, dispatch); }) : undefined; } var defaultMapDispatchToPropsFactories = [whenMapDispatchToPropsIsFunction, whenMapDispatchToPropsIsMissing, whenMapDispatchToPropsIsObject]; function whenMapStateToPropsIsFunction(mapStateToProps) { return typeof mapStateToProps === 'function' ? wrapMapToPropsFunc(mapStateToProps, 'mapStateToProps') : undefined; } function whenMapStateToPropsIsMissing(mapStateToProps) { return !mapStateToProps ? wrapMapToPropsConstant(function () { return {}; }) : undefined; } var defaultMapStateToPropsFactories = [whenMapStateToPropsIsFunction, whenMapStateToPropsIsMissing]; function defaultMergeProps(stateProps, dispatchProps, ownProps) { return _extends({}, ownProps, stateProps, dispatchProps); } 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; } return mergedProps; }; }; } function whenMergePropsIsFunction(mergeProps) { return typeof mergeProps === 'function' ? wrapMergePropsFunc(mergeProps) : undefined; } function whenMergePropsIsOmitted(mergeProps) { return !mergeProps ? function () { return defaultMergeProps; } : undefined; } var defaultMergePropsFactories = [whenMergePropsIsFunction, whenMergePropsIsOmitted]; function impureFinalPropsSelectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch) { return function impureFinalPropsSelector(state, ownProps) { return mergeProps(mapStateToProps(state, ownProps), mapDispatchToProps(dispatch, ownProps), ownProps); }; } function pureFinalPropsSelectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch, _ref) { var areStatesEqual = _ref.areStatesEqual, areOwnPropsEqual = _ref.areOwnPropsEqual, areStatePropsEqual = _ref.areStatePropsEqual; var hasRunAtLeastOnce = false; var state; var ownProps; var stateProps; var dispatchProps; var mergedProps; function handleFirstCall(firstState, firstOwnProps) { state = firstState; ownProps = firstOwnProps; stateProps = mapStateToProps(state, ownProps); dispatchProps = mapDispatchToProps(dispatch, ownProps); mergedProps = mergeProps(stateProps, dispatchProps, ownProps); hasRunAtLeastOnce = true; return mergedProps; } function handleNewPropsAndNewState() { stateProps = mapStateToProps(state, ownProps); if (mapDispatchToProps.dependsOnOwnProps) dispatchProps = mapDispatchToProps(dispatch, ownProps); mergedProps = mergeProps(stateProps, dispatchProps, ownProps); return mergedProps; } function handleNewProps() { if (mapStateToProps.dependsOnOwnProps) stateProps = mapStateToProps(state, ownProps); if (mapDispatchToProps.dependsOnOwnProps) dispatchProps = mapDispatchToProps(dispatch, ownProps); mergedProps = mergeProps(stateProps, dispatchProps, ownProps); return mergedProps; } function handleNewState() { var nextStateProps = mapStateToProps(state, ownProps); var statePropsChanged = !areStatePropsEqual(nextStateProps, stateProps); stateProps = nextStateProps; if (statePropsChanged) mergedProps = mergeProps(stateProps, dispatchProps, ownProps); return mergedProps; } function handleSubsequentCalls(nextState, nextOwnProps) { var propsChanged = !areOwnPropsEqual(nextOwnProps, ownProps); var stateChanged = !areStatesEqual(nextState, state); state = nextState; ownProps = nextOwnProps; if (propsChanged && stateChanged) return handleNewPropsAndNewState(); if (propsChanged) return handleNewProps(); if (stateChanged) return handleNewState(); return mergedProps; } return function pureFinalPropsSelector(nextState, nextOwnProps) { return hasRunAtLeastOnce ? handleSubsequentCalls(nextState, nextOwnProps) : handleFirstCall(nextState, nextOwnProps); }; } function finalPropsSelectorFactory(dispatch, _ref2) { var initMapStateToProps = _ref2.initMapStateToProps, initMapDispatchToProps = _ref2.initMapDispatchToProps, initMergeProps = _ref2.initMergeProps, options = _objectWithoutPropertiesLoose(_ref2, ["initMapStateToProps", "initMapDispatchToProps", "initMergeProps"]); var mapStateToProps = initMapStateToProps(dispatch, options); var mapDispatchToProps = initMapDispatchToProps(dispatch, options); var mergeProps = initMergeProps(dispatch, options); var selectorFactory = options.pure ? pureFinalPropsSelectorFactory : impureFinalPropsSelectorFactory; return selectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch, options); } function match(arg, factories, name) { for (var i = factories.length - 1; i >= 0; i--) { var result = factories[i](arg); if (result) return result; } return function (dispatch, options) { throw new Error("Invalid value of type " + typeof arg + " for " + name + " argument when connecting component " + options.wrappedComponentName + "."); }; } function strictEqual(a, b) { return a === b; } function createConnect(_temp) { var _ref = _temp === void 0 ? {} : _temp, _ref$connectHOC = _ref.connectHOC, connectHOC = _ref$connectHOC === void 0 ? connectAdvanced : _ref$connectHOC, _ref$mapStateToPropsF = _ref.mapStateToPropsFactories, mapStateToPropsFactories = _ref$mapStateToPropsF === void 0 ? defaultMapStateToPropsFactories : _ref$mapStateToPropsF, _ref$mapDispatchToPro = _ref.mapDispatchToPropsFactories, mapDispatchToPropsFactories = _ref$mapDispatchToPro === void 0 ? defaultMapDispatchToPropsFactories : _ref$mapDispatchToPro, _ref$mergePropsFactor = _ref.mergePropsFactories, mergePropsFactories = _ref$mergePropsFactor === void 0 ? defaultMergePropsFactories : _ref$mergePropsFactor, _ref$selectorFactory = _ref.selectorFactory, selectorFactory = _ref$selectorFactory === void 0 ? finalPropsSelectorFactory : _ref$selectorFactory; return function connect(mapStateToProps, mapDispatchToProps, mergeProps, _temp2) { var _ref2 = _temp2 === void 0 ? {} : _temp2, _ref2$pure = _ref2.pure, pure = _ref2$pure === void 0 ? true : _ref2$pure, _ref2$areStatesEqual = _ref2.areStatesEqual, areStatesEqual = _ref2$areStatesEqual === void 0 ? strictEqual : _ref2$areStatesEqual, _ref2$areOwnPropsEqua = _ref2.areOwnPropsEqual, areOwnPropsEqual = _ref2$areOwnPropsEqua === void 0 ? shallowEqual : _ref2$areOwnPropsEqua, _ref2$areStatePropsEq = _ref2.areStatePropsEqual, areStatePropsEqual = _ref2$areStatePropsEq === void 0 ? shallowEqual : _ref2$areStatePropsEq, _ref2$areMergedPropsE = _ref2.areMergedPropsEqual, areMergedPropsEqual = _ref2$areMergedPropsE === void 0 ? shallowEqual : _ref2$areMergedPropsE, extraOptions = _objectWithoutPropertiesLoose(_ref2, ["pure", "areStatesEqual", "areOwnPropsEqual", "areStatePropsEqual", "areMergedPropsEqual"]); var initMapStateToProps = match(mapStateToProps, mapStateToPropsFactories, 'mapStateToProps'); var initMapDispatchToProps = match(mapDispatchToProps, mapDispatchToPropsFactories, 'mapDispatchToProps'); var initMergeProps = match(mergeProps, mergePropsFactories, 'mergeProps'); return connectHOC(selectorFactory, _extends({ methodName: 'connect', getDisplayName: function getDisplayName(name) { return "Connect(" + name + ")"; }, shouldHandleStateChanges: Boolean(mapStateToProps), initMapStateToProps: initMapStateToProps, initMapDispatchToProps: initMapDispatchToProps, initMergeProps: initMergeProps, pure: pure, areStatesEqual: areStatesEqual, areOwnPropsEqual: areOwnPropsEqual, areStatePropsEqual: areStatePropsEqual, areMergedPropsEqual: areMergedPropsEqual }, extraOptions)); }; } var connect = createConnect(); var index = { Provider: Provider, connect: connect, connectAdvanced: connectAdvanced, ReactReduxContext: ReactReduxContext }; return index; })); //# sourceMappingURL=preact-redux.js.map