UNPKG

amos-tool

Version:

amos ui tool

64 lines (63 loc) 1.48 kB
function Array_h(r) { this.array = void 0 === r ? [] : new Array(r) } Array_h.prototype = { length: function() { return this.array.length }, at: function(r) { return this.array[r] }, set: function(r, t) { this.array[r] = t }, push: function(r) { return this.array.push(r) }, slice: function(r, t) { return this.array = this.array.slice(r, t) }, concat: function(r) { this.array = this.array.concat(r) }, remove: function(r, t) { t = void 0 === t ? 1 : t, this.array.splice(r, t) }, join: function(r) { return this.array.join(r) }, clear: function() { this.array.length = 0 } }; var Queue = function() { this._array_h = new Array_h }; Queue.prototype = { _index: 0, push: function(r) { this._array_h.push(r) }, pop: function() { var r = null; return this._array_h.length() && (r = this._array_h.at(this._index), 2 * ++this._index >= this._array_h.length() && (this._array_h.slice(this._index), this._index = 0)), r }, head: function() { var r = null, t = this._array_h.length(); return t && (r = this._array_h.at(t - 1)), r }, tail: function() { var r = null; return this._array_h.length() && (r = this._array_h.at(this._index)), r }, length: function() { return this._array_h.length() - this._index }, empty: function() { return 0 === this._array_h.length() }, clear: function() { this._array_h.clear() } }, exports.Queue = Queue;