@magic-xpa/utils
Version:
magic utils package
64 lines • 4.33 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
*/
import { List } from "@magic-xpa/mscorelib";
/// <summary> implementation of a general queue</summary>
/**
* @template T
*/
export class Queue {
/// <summary> </summary>
constructor() {
this._queueVec = null;
this._queueVec = new List();
}
/// <summary> returns the first object in the queue</summary>
/**
* @return {?}
*/
get() {
/** @type {?} */
let returnValue = null;
if (this._queueVec.length > 0) {
returnValue = this._queueVec.get_Item(0);
this._queueVec.RemoveAt(0);
}
return returnValue;
}
/// <summary> add an object to the end of the queue</summary>
/// <param name="obj">the object to add
/**
* @param {?} obj
* @return {?}
*/
put(obj) {
this._queueVec.push(obj);
}
/// <summary> remove all the objects from the queue</summary>
/**
* @return {?}
*/
clear() {
this._queueVec.Clear();
}
/// <summary> returns true if the queue is empty</summary>
/**
* @return {?}
*/
isEmpty() {
return this._queueVec.length === 0;
}
/// <summary> returns size of the queue</summary>
/**
* @return {?}
*/
Size() {
return this._queueVec.length;
}
}
if (false) {
/** @type {?} */
Queue.prototype._queueVec;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUXVldWUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AbWFnaWMteHBhL3V0aWxzLyIsInNvdXJjZXMiOlsic3JjL1F1ZXVlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7Ozs7O0FBRzFDLE1BQU07O0lBSUo7UUFIUSxjQUFTLEdBQVksSUFBSSxDQUFDO1FBSWhDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxJQUFJLEVBQUssQ0FBQztJQUNqQyxDQUFDOzs7OztJQUdELEdBQUc7O1lBQ0csV0FBVyxHQUFNLElBQUk7UUFFekIsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM5QixXQUFXLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDekMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0IsQ0FBQztRQUVELE1BQU0sQ0FBQyxXQUFXLENBQUM7SUFDckIsQ0FBQzs7Ozs7OztJQUlELEdBQUcsQ0FBQyxHQUFNO1FBQ1IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDM0IsQ0FBQzs7Ozs7SUFHRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN6QixDQUFDOzs7OztJQUdELE9BQU87UUFDTCxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO0lBQ3JDLENBQUM7Ozs7O0lBR0QsSUFBSTtRQUNGLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQztJQUMvQixDQUFDO0NBQ0Y7OztJQXZDQywwQkFBa0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0xpc3R9IGZyb20gXCJAbWFnaWMteHBhL21zY29yZWxpYlwiO1xyXG5cclxuLy8vIDxzdW1tYXJ5PiBpbXBsZW1lbnRhdGlvbiBvZiBhIGdlbmVyYWwgcXVldWU8L3N1bW1hcnk+XHJcbmV4cG9ydCBjbGFzcyBRdWV1ZTxUPiB7XHJcbiAgcHJpdmF0ZSBfcXVldWVWZWM6IExpc3Q8VD4gPSBudWxsO1xyXG5cclxuICAvLy8gPHN1bW1hcnk+IDwvc3VtbWFyeT5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHRoaXMuX3F1ZXVlVmVjID0gbmV3IExpc3Q8VD4oKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gcmV0dXJucyB0aGUgZmlyc3Qgb2JqZWN0IGluIHRoZSBxdWV1ZTwvc3VtbWFyeT5cclxuICBnZXQoKTogYW55IHtcclxuICAgIGxldCByZXR1cm5WYWx1ZTogVCA9IG51bGw7XHJcblxyXG4gICAgaWYgKHRoaXMuX3F1ZXVlVmVjLmxlbmd0aCA+IDApIHtcclxuICAgICAgcmV0dXJuVmFsdWUgPSB0aGlzLl9xdWV1ZVZlYy5nZXRfSXRlbSgwKTtcclxuICAgICAgdGhpcy5fcXVldWVWZWMuUmVtb3ZlQXQoMCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHJldHVyblZhbHVlO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PiBhZGQgYW4gb2JqZWN0IHRvIHRoZSBlbmQgb2YgdGhlIHF1ZXVlPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cIm9ialwiPnRoZSBvYmplY3QgdG8gYWRkXHJcbiAgcHV0KG9iajogVCk6IHZvaWQge1xyXG4gICAgdGhpcy5fcXVldWVWZWMucHVzaChvYmopO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PiByZW1vdmUgYWxsIHRoZSBvYmplY3RzIGZyb20gdGhlIHF1ZXVlPC9zdW1tYXJ5PlxyXG4gIGNsZWFyKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fcXVldWVWZWMuQ2xlYXIoKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gcmV0dXJucyB0cnVlIGlmIHRoZSBxdWV1ZSBpcyBlbXB0eTwvc3VtbWFyeT5cclxuICBpc0VtcHR5KCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3F1ZXVlVmVjLmxlbmd0aCA9PT0gMDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gcmV0dXJucyBzaXplIG9mIHRoZSBxdWV1ZTwvc3VtbWFyeT5cclxuICBTaXplKCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5fcXVldWVWZWMubGVuZ3RoO1xyXG4gIH1cclxufVxyXG4iXX0=