g-element
Version:
A collection of elements used by Authentic System Solutions
30 lines • 786 B
JavaScript
/* from https://github.com/David-Mulder/whenever.js */
export const Whenever = function () {
var callbacks = [];
var ready = false;
var args;
return {
get state() {
return {
ready: ready,
args: args,
pendingCallbacks: callbacks.length
};
},
ready: function () {
args = arguments;
callbacks.forEach(function (callback) {
callback.apply(this, args);
});
callbacks = [];
ready = true;
},
whenReady: function (callback) {
if (ready) {
callback.apply(this, args);
} else {
callbacks.push(callback);
}
}
}
};