UNPKG

minh-custom-hooks-release

Version:

Đây là custom hooks được viết bởi hoanggminh2702, bao gồm:

60 lines 2.46 kB
"use strict"; /* eslint-disable no-unsafe-optional-chaining */ /* eslint-disable prefer-const */ 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); }; var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) { if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { if (ar || !(i in from)) { if (!ar) ar = Array.prototype.slice.call(from, 0, i); ar[i] = from[i]; } } return to.concat(ar || Array.prototype.slice.call(from)); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = actionCreators; // type ConvertNeverArgsToEmptyArgs<TArgs extends any[] | never> = TArgs extends never ? [] : TArgs function actionCreators(prefix, initState, actions) { var generateActions = {}; Object.keys(actions).forEach(function (key) { generateActions[key] = function () { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } return { type: "".concat(prefix, "/").concat(key), payload: __spreadArray([], args, true), }; }; }); var reducer = function (state, action) { var _a, _b; if (state === void 0) { state = initState; } var reducerActions = __assign({}, actions); if (typeof (reducerActions === null || reducerActions === void 0 ? void 0 : reducerActions[(_a = action.type) === null || _a === void 0 ? void 0 : _a.replace("".concat(prefix, "/"), '')]) === 'function') { return reducerActions[(_b = action.type) === null || _b === void 0 ? void 0 : _b.replace("".concat(prefix, "/"), '')].apply(reducerActions, __spreadArray([state], action === null || action === void 0 ? void 0 : action.payload, false)); } return state; }; return { reducer: reducer, generateActions: generateActions, }; } // const a = actionCreators("test", {test: 3}, { // setAuth(state) { // return state // } // }) //# sourceMappingURL=actionCreators.js.map