uint8arraylist
Advanced tools
@@ -1,6 +0,7 @@ | ||
| export declare class Uint8ArrayList { | ||
| export declare class Uint8ArrayList implements Iterable<Uint8Array> { | ||
| private bufs; | ||
| length: number; | ||
| constructor(data?: Uint8Array); | ||
| append(data: Uint8Array): void; | ||
| constructor(...data: Uint8Array[]); | ||
| [Symbol.iterator](): Generator<Uint8Array, void, undefined>; | ||
| append(...bufs: Uint8Array[]): void; | ||
| get(index: number): number; | ||
@@ -7,0 +8,0 @@ /** |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAEA,qBAAa,cAAc;IACzB,OAAO,CAAC,IAAI,CAAc;IACnB,MAAM,EAAE,MAAM,CAAA;gBAER,IAAI,CAAC,EAAE,UAAU;IAU9B,MAAM,CAAE,IAAI,EAAE,UAAU;IAKxB,GAAG,CAAE,KAAK,EAAE,MAAM;IAoBlB;;OAEG;IACH,OAAO,CAAE,KAAK,EAAE,MAAM;IAsBtB,YAAY,CAAE,cAAc,GAAE,MAAU,EAAE,YAAY,CAAC,EAAE,MAAM;CAkDhE"} | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAEA,qBAAa,cAAe,YAAW,QAAQ,CAAC,UAAU,CAAC;IACzD,OAAO,CAAC,IAAI,CAAc;IACnB,MAAM,EAAE,MAAM,CAAA;gBAER,GAAG,IAAI,EAAE,UAAU,EAAE;IAOhC,CAAC,MAAM,CAAC,QAAQ,CAAC;IAInB,MAAM,CAAE,GAAG,IAAI,EAAE,UAAU,EAAE;IAW7B,GAAG,CAAE,KAAK,EAAE,MAAM;IAoBlB;;OAEG;IACH,OAAO,CAAE,KAAK,EAAE,MAAM;IAsBtB,YAAY,CAAE,cAAc,GAAE,MAAU,EAAE,YAAY,CAAC,EAAE,MAAM;CAkDhE"} |
+13
-8
| import { concat } from 'uint8arrays'; | ||
| export class Uint8ArrayList { | ||
| constructor(data) { | ||
| constructor(...data) { | ||
| this.bufs = []; | ||
| if (data != null) { | ||
| this.bufs.push(data); | ||
| this.length = 0; | ||
| this.append(...data); | ||
| } | ||
| *[Symbol.iterator]() { | ||
| yield* this.bufs; | ||
| } | ||
| append(...bufs) { | ||
| let length = 0; | ||
| for (const buf of bufs) { | ||
| length += buf.byteLength; | ||
| this.bufs.push(buf); | ||
| } | ||
| this.length = this.bufs.reduce((acc, curr) => acc + curr.byteLength, 0); | ||
| this.length += length; | ||
| } | ||
| append(data) { | ||
| this.bufs.push(data); | ||
| this.length += data.byteLength; | ||
| } | ||
| get(index) { | ||
@@ -15,0 +20,0 @@ if (index == null || index < 0 || index >= this.length) { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,MAAM,OAAO,cAAc;IAIzB,YAAa,GAAG,IAAkB;QAChC,IAAI,CAAC,IAAI,GAAG,EAAE,CAAA;QACd,IAAI,CAAC,MAAM,GAAG,CAAC,CAAA;QAEf,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAA;IACtB,CAAC;IAED,CAAE,CAAC,MAAM,CAAC,QAAQ,CAAC;QACjB,KAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAA;IACnB,CAAC;IAED,MAAM,CAAE,GAAG,IAAkB;QAC3B,IAAI,MAAM,GAAG,CAAC,CAAA;QAEd,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;YACtB,MAAM,IAAI,GAAG,CAAC,UAAU,CAAA;YACxB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;SACpB;QAED,IAAI,CAAC,MAAM,IAAI,MAAM,CAAA;IACvB,CAAC;IAED,GAAG,CAAE,KAAa;QAChB,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE;YACtD,MAAM,IAAI,UAAU,CAAC,wBAAwB,CAAC,CAAA;SAC/C;QAED,IAAI,MAAM,GAAG,CAAC,CAAA;QAEd,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE;YAC3B,MAAM,MAAM,GAAG,MAAM,GAAG,GAAG,CAAC,UAAU,CAAA;YAEtC,IAAI,KAAK,GAAG,MAAM,EAAE;gBAClB,OAAO,GAAG,CAAC,KAAK,GAAG,MAAM,CAAC,CAAA;aAC3B;YAED,MAAM,GAAG,MAAM,CAAA;SAChB;QAED,MAAM,IAAI,UAAU,CAAC,wBAAwB,CAAC,CAAA;IAChD,CAAC;IAED;;OAEG;IACH,OAAO,CAAE,KAAa;QACpB,uEAAuE;QACvE,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAEzB,sCAAsC;QACtC,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE;YACrC,OAAM;SACP;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YAC3B,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE;gBACpC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAA;gBAChC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAA;gBACtC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAA;aAClB;iBAAM;gBACL,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;gBAC3C,IAAI,CAAC,MAAM,IAAI,KAAK,CAAA;gBACpB,MAAK;aACN;SACF;IACH,CAAC;IAED,YAAY,CAAE,iBAAyB,CAAC,EAAE,YAAqB;QAC7D,YAAY,GAAG,YAAY,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAElE,IAAI,cAAc,GAAG,CAAC,IAAI,YAAY,GAAG,IAAI,CAAC,MAAM,EAAE;YACpD,MAAM,IAAI,UAAU,CAAC,qBAAqB,CAAC,CAAA;SAC5C;QAED,MAAM,IAAI,GAAiB,EAAE,CAAA;QAC7B,IAAI,MAAM,GAAG,CAAC,CAAA;QAEd,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE;YAC3B,MAAM,QAAQ,GAAG,MAAM,CAAA;YACvB,MAAM,MAAM,GAAG,QAAQ,GAAG,GAAG,CAAC,UAAU,CAAA;YACxC,MAAM,eAAe,GAAG,cAAc,IAAI,QAAQ,IAAI,cAAc,GAAG,MAAM,CAAA;YAC7E,MAAM,cAAc,GAAG,YAAY,GAAG,QAAQ,IAAI,YAAY,IAAI,MAAM,CAAA;YACxE,MAAM,UAAU,GAAG,cAAc,GAAG,QAAQ,IAAI,YAAY,IAAI,MAAM,CAAA;YACtE,MAAM,GAAG,MAAM,CAAA;YAEf,IAAI,UAA8B,CAAA;YAClC,IAAI,QAA4B,CAAA;YAEhC,IAAI,eAAe,EAAE;gBACnB,UAAU,GAAG,cAAc,GAAG,QAAQ,CAAA;gBACtC,QAAQ,GAAG,GAAG,CAAC,UAAU,CAAA;aAC1B;YAED,IAAI,cAAc,EAAE;gBAClB,QAAQ,GAAG,YAAY,GAAG,QAAQ,CAAA;gBAElC,IAAI,UAAU,IAAI,IAAI,EAAE;oBACtB,UAAU,GAAG,CAAC,CAAA;iBACf;aACF;YAED,IAAI,UAAU,EAAE;gBACd,UAAU,GAAG,CAAC,CAAA;gBACd,QAAQ,GAAG,GAAG,CAAC,UAAU,CAAA;aAC1B;YAED,IAAI,UAAU,IAAI,IAAI,IAAI,QAAQ,IAAI,IAAI,EAAE;gBAC1C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAA;aAC9C;YAED,IAAI,cAAc,EAAE;gBAClB,MAAK;aACN;SACF;QAED,OAAO,MAAM,CAAC,IAAI,EAAE,YAAY,GAAG,cAAc,CAAC,CAAA;IACpD,CAAC;CACF"} |
+3
-2
| { | ||
| "name": "uint8arraylist", | ||
| "version": "1.0.0", | ||
| "version": "1.1.0", | ||
| "description": "Append and consume bytes using only no-copy operations", | ||
@@ -137,4 +137,5 @@ "author": "Alex Potsides <alex@achingbrain.net>", | ||
| "devDependencies": { | ||
| "aegir": "^36.1.3" | ||
| "aegir": "^36.1.3", | ||
| "it-all": "^1.0.6" | ||
| } | ||
| } |
+5
-0
@@ -26,2 +26,7 @@ # Uint8ArrayList | ||
| // -> Uint8Array([3, 4, 5]) | ||
| // you can also iterate over the list | ||
| for (const buf of list) { | ||
| // ..do something with `buf` | ||
| } | ||
| ``` | ||
@@ -28,0 +33,0 @@ |
+16
-9
| import { concat } from 'uint8arrays' | ||
| export class Uint8ArrayList { | ||
| export class Uint8ArrayList implements Iterable<Uint8Array> { | ||
| private bufs: Uint8Array[] | ||
| public length: number | ||
| constructor (data?: Uint8Array) { | ||
| constructor (...data: Uint8Array[]) { | ||
| this.bufs = [] | ||
| this.length = 0 | ||
| if (data != null) { | ||
| this.bufs.push(data) | ||
| } | ||
| this.append(...data) | ||
| } | ||
| this.length = this.bufs.reduce((acc, curr) => acc + curr.byteLength, 0) | ||
| * [Symbol.iterator] () { | ||
| yield * this.bufs | ||
| } | ||
| append (data: Uint8Array) { | ||
| this.bufs.push(data) | ||
| this.length += data.byteLength | ||
| append (...bufs: Uint8Array[]) { | ||
| let length = 0 | ||
| for (const buf of bufs) { | ||
| length += buf.byteLength | ||
| this.bufs.push(buf) | ||
| } | ||
| this.length += length | ||
| } | ||
@@ -21,0 +28,0 @@ |
14312
3.65%204
5.7%36
16.13%2
100%