devextreme
Version:
HTML5 JavaScript Component Suite for Responsive Web Development
41 lines (40 loc) • 1.25 kB
JavaScript
/**
* DevExtreme (cjs/__internal/core/environment/hide_callback.js)
* Version: 25.2.3
* Build date: Fri Dec 12 2025
*
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
*/
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.hideCallback = exports.fireCallback = void 0;
const hideCallback = exports.hideCallback = function() {
let callbacks = [];
return {
add(callback) {
if (!callbacks.includes(callback)) {
callbacks.push(callback)
}
},
remove(callback) {
const indexOfCallback = callbacks.indexOf(callback);
if (-1 !== indexOfCallback) {
callbacks.splice(indexOfCallback, 1)
}
},
fire() {
const callback = callbacks.pop();
const result = !!callback;
if (result) {
callback()
}
return result
},
hasCallback: () => callbacks.length > 0
}
}();
const fireCallback = () => hideCallback.fire();
exports.fireCallback = fireCallback;