devextreme
Version:
HTML5 JavaScript Component Suite for Responsive Web Development
43 lines (42 loc) • 1.2 kB
JavaScript
/**
* DevExtreme (cjs/__internal/data/data_source/m_operation_manager.js)
* Version: 24.2.6
* Build date: Mon Mar 17 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.default = void 0;
var _utils = require("../../../common/data/data_source/utils");
class OperationManager {
constructor() {
this._counter = -1;
this._deferreds = {}
}
add(deferred) {
this._counter++;
this._deferreds[this._counter] = deferred;
return this._counter
}
remove(operationId) {
return delete this._deferreds[operationId]
}
cancel(operationId) {
if (operationId in this._deferreds) {
this._deferreds[operationId].reject(_utils.CANCELED_TOKEN);
return true
}
return false
}
cancelAll() {
while (this._counter > -1) {
this.cancel(this._counter);
this._counter--
}
}
}
exports.default = OperationManager;