1 | "use strict";
|
2 |
|
3 | exports.__esModule = true;
|
4 | exports.default = combineActions;
|
5 |
|
6 | var _invariant = _interopRequireDefault(require("invariant"));
|
7 |
|
8 | var _isFunction = _interopRequireDefault(require("./utils/isFunction"));
|
9 |
|
10 | var _isSymbol = _interopRequireDefault(require("./utils/isSymbol"));
|
11 |
|
12 | var _isEmpty = _interopRequireDefault(require("./utils/isEmpty"));
|
13 |
|
14 | var _toString = _interopRequireDefault(require("./utils/toString"));
|
15 |
|
16 | var _isString = _interopRequireDefault(require("./utils/isString"));
|
17 |
|
18 | var _constants = require("./constants");
|
19 |
|
20 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
21 |
|
22 | function isValidActionType(type) {
|
23 | return (0, _isString.default)(type) || (0, _isFunction.default)(type) || (0, _isSymbol.default)(type);
|
24 | }
|
25 |
|
26 | function isValidActionTypes(types) {
|
27 | if ((0, _isEmpty.default)(types)) {
|
28 | return false;
|
29 | }
|
30 |
|
31 | return types.every(isValidActionType);
|
32 | }
|
33 |
|
34 | function combineActions() {
|
35 | for (var _len = arguments.length, actionsTypes = new Array(_len), _key = 0; _key < _len; _key++) {
|
36 | actionsTypes[_key] = arguments[_key];
|
37 | }
|
38 |
|
39 | (0, _invariant.default)(isValidActionTypes(actionsTypes), 'Expected action types to be strings, symbols, or action creators');
|
40 | var combinedActionType = actionsTypes.map(_toString.default).join(_constants.ACTION_TYPE_DELIMITER);
|
41 | return {
|
42 | toString: function toString() {
|
43 | return combinedActionType;
|
44 | }
|
45 | };
|
46 | } |
\ | No newline at end of file |