@@ -14,7 +14,7 @@ "use strict"; | ||
| push(...elems) { | ||
| for (let elem of elems) { | ||
| for (const elem of elems) { | ||
| this.bottom.enqueue(elem); | ||
| if (this.bottom.full()) { | ||
| this.bottom = this.bottom.next = new subqueue_1.default(); | ||
| } | ||
| this.bottom.enqueue(elem); | ||
| } | ||
@@ -29,3 +29,3 @@ this._size += elems.length; | ||
| this._size--; | ||
| if (this._size > 0 && this.top.size === 0 && this.top.full()) { | ||
| if (this.top.size === 0 && this.top.full() && this._size > 0) { | ||
| this.top = this.top.next; | ||
@@ -32,0 +32,0 @@ } |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"queue.js","sourceRoot":"","sources":["../../src/queue.ts"],"names":[],"mappings":";;AAAA,yCAAkC;AAElC;IAAA;QA0CU,QAAG,GAAgB,IAAI,kBAAQ,EAAE,CAAC;QAClC,WAAM,GAAgB,IAAI,CAAC,GAAG,CAAC;QAC/B,UAAK,GAAW,CAAC,CAAC;IAC5B,CAAC;IA5CC,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAEM,IAAI,CAAC,GAAG,KAAU;QACvB,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE;YACtB,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE;gBACtB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,kBAAQ,EAAK,CAAC;aACpD;YACD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SAC3B;QAED,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC;IAC7B,CAAC;IAEM,KAAK;QACV,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC,EAAE;YACpB,OAAO,SAAS,CAAC;SAClB;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QAC/B,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE;YAC5D,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;SAC1B;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAEM,IAAI;QACT,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;IAEM,IAAI;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAC5B,CAAC;IAEM,KAAK;QACV,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,kBAAQ,EAAE,CAAC;QACxC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IACjB,CAAC;CAKF;AA7CD,wBA6CC"} | ||
| {"version":3,"file":"queue.js","sourceRoot":"","sources":["../../src/queue.ts"],"names":[],"mappings":";;AAAA,yCAAkC;AAElC;IAAA;QA2CU,QAAG,GAAgB,IAAI,kBAAQ,EAAE,CAAC;QAClC,WAAM,GAAgB,IAAI,CAAC,GAAG,CAAC;QAC/B,UAAK,GAAW,CAAC,CAAC;IAC5B,CAAC;IA7CC,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAEM,IAAI,CAAC,GAAG,KAAU;QACvB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACxB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAE1B,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE;gBACtB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,kBAAQ,EAAK,CAAC;aACpD;SACF;QAED,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC;IAC7B,CAAC;IAEM,KAAK;QACV,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC,EAAE;YACpB,OAAO,SAAS,CAAC;SAClB;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QAC/B,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE;YAC5D,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;SAC1B;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAEM,IAAI;QACT,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;IAEM,IAAI;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAC5B,CAAC;IAEM,KAAK;QACV,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,kBAAQ,EAAE,CAAC;QACxC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IACjB,CAAC;CAKF;AA9CD,wBA8CC"} |
+3
-2
| { | ||
| "name": "std-queue", | ||
| "version": "0.1.3", | ||
| "version": "0.1.4", | ||
| "description": "Efficient fifo queue for handling large amounts of data in O(1)", | ||
@@ -26,3 +26,4 @@ "main": "dist/index.js", | ||
| "test": "mocha -r ts-node/register src/**/*.spec.ts", | ||
| "watch": "tsc -watch" | ||
| "watch": "tsc -watch", | ||
| "prepublish": "npm run build" | ||
| }, | ||
@@ -29,0 +30,0 @@ "devDependencies": { |
16698
0.22%