UNPKG

redux-vertical

Version:
34 lines 1.46 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const invariant_1 = __importDefault(require("invariant")); const toString_1 = __importDefault(require("./utils/toString")); const identity = (x) => x; function createAction(_type, payloadCreator = identity, metaCreator) { invariant_1.default(_type, 'type cannot be undefined or null'); invariant_1.default(typeof payloadCreator === 'function' || payloadCreator === null, 'Expected payloadCreator to be a function, undefined or null'); const finalPayloadCreator = payloadCreator === null || payloadCreator === identity ? identity : (head, ...args) => head instanceof Error ? head : payloadCreator(head, ...args); const hasMeta = typeof metaCreator === 'function'; const type = toString_1.default(_type); const actionCreator = (...args) => { const payload = finalPayloadCreator(...args); const action = { type }; if (payload instanceof Error) { action.error = true; } if (payload !== undefined) { action.payload = payload; } if (hasMeta) { action.meta = metaCreator(...args); } return action; }; return actionCreator; } exports.default = createAction; //# sourceMappingURL=create-action.js.map