%PDF- %PDF-
Direktori : /usr/share/nodejs/yapool/ |
Current File : //usr/share/nodejs/yapool/index.js |
module.exports = Pool function Pool () { this.length = 0 this.head = null this.tail = null } Pool.prototype.add = function (data) { this.tail = new Item(data, this.tail, null) if (!this.head) this.head = this.tail this.length ++ } Pool.prototype.remove = function (data) { if (this.length === 0) return var i = this.head.find(data) if (!i) return if (i === this.head) this.head = this.head.next if (i === this.tail) this.tail = this.tail.prev i.remove() this.length -- } function Item (data, prev) { this.prev = prev if (prev) prev.next = this this.next = null this.data = data } Item.prototype.remove = function () { if (this.next) this.next.prev = this.prev if (this.prev) this.prev.next = this.next this.prev = this.next = this.data = null } Item.prototype.find = function (data) { return data === this.data ? this : this.next ? this.next.find(data) : null }