WIP - add extractor, generate snippet_data
This commit is contained in:
115
node_modules/react-redux/lib/connect/connect.js
generated
vendored
Normal file
115
node_modules/react-redux/lib/connect/connect.js
generated
vendored
Normal file
@ -0,0 +1,115 @@
|
||||
"use strict";
|
||||
|
||||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
||||
|
||||
exports.__esModule = true;
|
||||
exports.createConnect = createConnect;
|
||||
exports["default"] = void 0;
|
||||
|
||||
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
||||
|
||||
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
||||
|
||||
var _connectAdvanced = _interopRequireDefault(require("../components/connectAdvanced"));
|
||||
|
||||
var _shallowEqual = _interopRequireDefault(require("../utils/shallowEqual"));
|
||||
|
||||
var _mapDispatchToProps = _interopRequireDefault(require("./mapDispatchToProps"));
|
||||
|
||||
var _mapStateToProps = _interopRequireDefault(require("./mapStateToProps"));
|
||||
|
||||
var _mergeProps = _interopRequireDefault(require("./mergeProps"));
|
||||
|
||||
var _selectorFactory = _interopRequireDefault(require("./selectorFactory"));
|
||||
|
||||
/*
|
||||
connect is a facade over connectAdvanced. It turns its args into a compatible
|
||||
selectorFactory, which has the signature:
|
||||
|
||||
(dispatch, options) => (nextState, nextOwnProps) => nextFinalProps
|
||||
|
||||
connect passes its args to connectAdvanced as options, which will in turn pass them to
|
||||
selectorFactory each time a Connect component instance is instantiated or hot reloaded.
|
||||
|
||||
selectorFactory returns a final props selector from its mapStateToProps,
|
||||
mapStateToPropsFactories, mapDispatchToProps, mapDispatchToPropsFactories, mergeProps,
|
||||
mergePropsFactories, and pure args.
|
||||
|
||||
The resulting final props selector is called by the Connect component instance whenever
|
||||
it receives new props or store state.
|
||||
*/
|
||||
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;
|
||||
} // createConnect with default args builds the 'official' connect behavior. Calling it with
|
||||
// different options opens up some testing and extensibility scenarios
|
||||
|
||||
|
||||
function createConnect(_temp) {
|
||||
var _ref = _temp === void 0 ? {} : _temp,
|
||||
_ref$connectHOC = _ref.connectHOC,
|
||||
connectHOC = _ref$connectHOC === void 0 ? _connectAdvanced["default"] : _ref$connectHOC,
|
||||
_ref$mapStateToPropsF = _ref.mapStateToPropsFactories,
|
||||
mapStateToPropsFactories = _ref$mapStateToPropsF === void 0 ? _mapStateToProps["default"] : _ref$mapStateToPropsF,
|
||||
_ref$mapDispatchToPro = _ref.mapDispatchToPropsFactories,
|
||||
mapDispatchToPropsFactories = _ref$mapDispatchToPro === void 0 ? _mapDispatchToProps["default"] : _ref$mapDispatchToPro,
|
||||
_ref$mergePropsFactor = _ref.mergePropsFactories,
|
||||
mergePropsFactories = _ref$mergePropsFactor === void 0 ? _mergeProps["default"] : _ref$mergePropsFactor,
|
||||
_ref$selectorFactory = _ref.selectorFactory,
|
||||
selectorFactory = _ref$selectorFactory === void 0 ? _selectorFactory["default"] : _ref$selectorFactory;
|
||||
|
||||
return function connect(mapStateToProps, mapDispatchToProps, mergeProps, _ref2) {
|
||||
if (_ref2 === void 0) {
|
||||
_ref2 = {};
|
||||
}
|
||||
|
||||
var _ref3 = _ref2,
|
||||
_ref3$pure = _ref3.pure,
|
||||
pure = _ref3$pure === void 0 ? true : _ref3$pure,
|
||||
_ref3$areStatesEqual = _ref3.areStatesEqual,
|
||||
areStatesEqual = _ref3$areStatesEqual === void 0 ? strictEqual : _ref3$areStatesEqual,
|
||||
_ref3$areOwnPropsEqua = _ref3.areOwnPropsEqual,
|
||||
areOwnPropsEqual = _ref3$areOwnPropsEqua === void 0 ? _shallowEqual["default"] : _ref3$areOwnPropsEqua,
|
||||
_ref3$areStatePropsEq = _ref3.areStatePropsEqual,
|
||||
areStatePropsEqual = _ref3$areStatePropsEq === void 0 ? _shallowEqual["default"] : _ref3$areStatePropsEq,
|
||||
_ref3$areMergedPropsE = _ref3.areMergedPropsEqual,
|
||||
areMergedPropsEqual = _ref3$areMergedPropsE === void 0 ? _shallowEqual["default"] : _ref3$areMergedPropsE,
|
||||
extraOptions = (0, _objectWithoutPropertiesLoose2["default"])(_ref3, ["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, (0, _extends2["default"])({
|
||||
// used in error messages
|
||||
methodName: 'connect',
|
||||
// used to compute Connect's displayName from the wrapped component's displayName.
|
||||
getDisplayName: function getDisplayName(name) {
|
||||
return "Connect(" + name + ")";
|
||||
},
|
||||
// if mapStateToProps is falsy, the Connect component doesn't subscribe to store state changes
|
||||
shouldHandleStateChanges: Boolean(mapStateToProps),
|
||||
// passed through to selectorFactory
|
||||
initMapStateToProps: initMapStateToProps,
|
||||
initMapDispatchToProps: initMapDispatchToProps,
|
||||
initMergeProps: initMergeProps,
|
||||
pure: pure,
|
||||
areStatesEqual: areStatesEqual,
|
||||
areOwnPropsEqual: areOwnPropsEqual,
|
||||
areStatePropsEqual: areStatePropsEqual,
|
||||
areMergedPropsEqual: areMergedPropsEqual
|
||||
}, extraOptions));
|
||||
};
|
||||
}
|
||||
|
||||
var _default = createConnect();
|
||||
|
||||
exports["default"] = _default;
|
||||
Reference in New Issue
Block a user