UNPKG

react-redux-methods

Version:

A lightweight react-redux toolkit for writing strong-typed, minimal code redux boilerplate.

41 lines (40 loc) 1.48 kB
"use strict"; var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.createGroupDispatch = exports.createDispatch = void 0; var createDispatch = function (dispatch, action) { return function (type) { var args = []; for (var _i = 1; _i < arguments.length; _i++) { args[_i - 1] = arguments[_i]; } if (args.length === 1) { dispatch({ type: type, payload: args[0] }); } else { dispatch({ type: type }); } }; }; exports.createDispatch = createDispatch; var createGroupDispatch = function (actions) { return function (actionTypes) { return Object.keys(actionTypes).reduce(function (acc, key) { var _a; var actionName = actionTypes[key]; return __assign(__assign({}, acc), (_a = {}, _a[key] = actions[actionName], _a)); }, {}); }; }; exports.createGroupDispatch = createGroupDispatch; // REFERENCE: https://stackoverflow.com/questions/55173436/typescript-how-to-make-an-optional-second-argument-required-based-on-the-value