File Explorer

/var/lang/lib/node_modules/npm/node_modules/minipass-collect

This explorer reads the filesystem of the server it runs on, so /workspace/user isn't present here. Browsing and the terminal still work against this server's own disk from /.

0 dirs
3 files
index.js1.9 KB · 72 lines
const { Minipass } = require('minipass')const _data = Symbol('_data')const _length = Symbol('_length')class Collect extends Minipass {  constructor (options) {    super(options)    this[_data] = []    this[_length] = 0  }  write (chunk, encoding, cb) {    if (typeof encoding === 'function')      cb = encoding, encoding = 'utf8'     if (!encoding)      encoding = 'utf8'     const c = Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk, encoding)    this[_data].push(c)    this[_length] += c.length    if (cb)      cb()    return true  }  end (chunk, encoding, cb) {    if (typeof chunk === 'function')      cb = chunk, chunk = null    if (typeof encoding === 'function')      cb = encoding, encoding = 'utf8'    if (chunk)      this.write(chunk, encoding)    const result = Buffer.concat(this[_data], this[_length])    super.write(result)    return super.end(cb)  }}module.exports = Collect // it would be possible to DRY this a bit by doing something like// this.collector = new Collect() and listening on its data event,// but it's not much code, and we may as well save the extra objclass CollectPassThrough extends Minipass {  constructor (options) {    super(options)    this[_data] = []    this[_length] = 0  }  write (chunk, encoding, cb) {    if (typeof encoding === 'function')      cb = encoding, encoding = 'utf8'     if (!encoding)      encoding = 'utf8'     const c = Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk, encoding)    this[_data].push(c)    this[_length] += c.length    return super.write(chunk, encoding, cb)  }  end (chunk, encoding, cb) {    if (typeof chunk === 'function')      cb = chunk, chunk = null    if (typeof encoding === 'function')      cb = encoding, encoding = 'utf8'    if (chunk)      this.write(chunk, encoding)    const result = Buffer.concat(this[_data], this[_length])    this.emit('collect', result)    return super.end(cb)  }}module.exports.PassThrough = CollectPassThrough