'use strict'; const tar = require('../tar'); const gzip = require('../gzip'); const BaseStream = require('../base_stream'); class TgzStream extends BaseStream { constructor(opts) { super(opts); const tarStream = this._tarStream = new tar.Stream(); tarStream.on('error', err => this.emit('error', err)); const gzipStream = new gzip.FileStream(); gzipStream.on('end', () => this.push(null)); gzipStream.on('data', chunk => this.push(chunk)); gzipStream.on('error', err => this.emit('error', err)); tarStream.pipe(gzipStream); } addEntry(entry, opts) { this._tarStream.addEntry(entry, opts); } } module.exports = TgzStream;