devextreme
Version:
HTML5 JavaScript Component Suite for Responsive Web Development
28 lines (21 loc) • 611 B
JavaScript
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;
;