UNPKG

devextreme

Version:

HTML5 JavaScript Component Suite for Responsive Web Development

28 lines (21 loc) 611 B
"use strict"; var each = require("../core/utils/iterator").each, Callbacks = require("./utils/callbacks"); var MemorizedCallbacks = function MemorizedCallbacks() { var memory = []; var callbacks = Callbacks(); this.add = function (fn) { each(memory, function (_, item) { fn.apply(fn, item); }); callbacks.add(fn); }; this.remove = function (fn) { callbacks.remove(fn); }; this.fire = function () { memory.push(arguments); callbacks.fire.apply(callbacks, arguments); }; }; module.exports = MemorizedCallbacks;