UNPKG

action-store

Version:

Action store a la redux

55 lines (43 loc) 1.1 kB
'use strict'; /** * Module dependencies. */ Object.defineProperty(exports, "__esModule", { value: true }); var _lodash = require('lodash'); function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } exports.default = function (options) { var actions = {}; /** * Load entity events. * * @param {String|Number} id * @param {Function} fn * @api public */ function load(id, fn) { actions[id] = actions[id] || []; setImmediate(function () { return fn(null, actions[id]); }); } /** * Commit events. * * @param {String|Number} id * @param {Array} events * @param {Function} fn * @api public */ function save(action, fn) { var id = action.id; actions[id] = [].concat(_toConsumableArray(actions[id]), [action]); setImmediate(function () { return fn(null, action); }); } load = load.bind(null); save = save.bind(null); return { load: load, save: save }; };