UNPKG

action-store

Version:

Action store a la redux

43 lines (33 loc) 770 B
'use strict'; /** * Module dependencies. */ Object.defineProperty(exports, "__esModule", { value: true }); var _lodash = require('lodash'); /** * Action creator initializer. * * @param {String} type * @param {Function} [fn] * @return {Function} */ exports.default = function (type, fn) { fn = (0, _lodash.isFunction)(fn) ? fn : identity; return function () { var payload = fn.apply(undefined, arguments); var id = payload.id; var action = { id: id, type: type, payload: payload }; if (arguments.length === 1 && (arguments.length <= 0 ? undefined : arguments[0]) instanceof Error) { action.error = true; } return action; }; }; /** * Identity function for action type. */ function identity(type) { return type; }