UNPKG

@magic-xpa/utils

Version:

magic utils package

64 lines 4.33 kB
/** * @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=