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.
64 lines
2.0 KiB
64 lines
2.0 KiB
'use strict';
|
|
|
|
Object.defineProperty(exports, '__esModule', {
|
|
value: true
|
|
});
|
|
|
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
|
|
|
|
function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i]; return arr2; } else { return Array.from(arr); } }
|
|
|
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
|
|
var _lodashLangIsFunction = require('lodash/lang/isFunction');
|
|
|
|
var _lodashLangIsFunction2 = _interopRequireDefault(_lodashLangIsFunction);
|
|
|
|
var _lodashLangIsArray = require('lodash/lang/isArray');
|
|
|
|
var _lodashLangIsArray2 = _interopRequireDefault(_lodashLangIsArray);
|
|
|
|
exports['default'] = function (type, payload) {
|
|
var actionCreator = null;
|
|
if (payload === undefined) {
|
|
actionCreator = function () {
|
|
return {
|
|
type: type
|
|
};
|
|
};
|
|
} else if (typeof payload === 'string') {
|
|
actionCreator = function (args) {
|
|
return {
|
|
type: type,
|
|
payload: _defineProperty({}, payload, args[0])
|
|
};
|
|
};
|
|
} else if ((0, _lodashLangIsArray2['default'])(payload)) {
|
|
actionCreator = function (args) {
|
|
return {
|
|
type: type,
|
|
payload: payload.reduce(function (pre, key, index) {
|
|
pre[key] = args[index];
|
|
return pre;
|
|
}, {})
|
|
};
|
|
};
|
|
} else if ((0, _lodashLangIsFunction2['default'])(payload)) {
|
|
actionCreator = function (args) {
|
|
return _defineProperty({
|
|
type: type
|
|
}, payload, payload.apply(undefined, _toConsumableArray(args)));
|
|
};
|
|
}
|
|
return function () {
|
|
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
|
|
args[_key] = arguments[_key];
|
|
}
|
|
|
|
var action = actionCreator(args);
|
|
|
|
return actionCreator(args);
|
|
};
|
|
};
|
|
|
|
module.exports = exports['default']; |