action-store
Version:
Action store a la redux
55 lines (43 loc) • 1.1 kB
JavaScript
;
/**
* 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 };
};