UNPKG

@postman/csv-parse

Version:

CSV parsing implementing the Node.js `stream.Transform` API

44 lines (40 loc) 846 B
class ResizeableBuffer{ constructor(size=100){ this.size = size this.length = 0 this.buf = Buffer.alloc(size) } prepend(val){ const length = this.length++ if(length === this.size){ this.resize() } const buf = this.clone() this.buf[0] = val buf.copy(this.buf,1, 0, length) } append(val){ const length = this.length++ if(length === this.size){ this.resize() } this.buf[length] = val } clone(){ return Buffer.from(this.buf.slice(0, this.length)) } resize(){ const length = this.length this.size = this.size * 2 const buf = Buffer.alloc(this.size) this.buf.copy(buf,0, 0, length) this.buf = buf } toString(){ return this.buf.slice(0, this.length).toString() } reset(){ this.length = 0 } } module.exports = ResizeableBuffer