'use strict';constfs=require('fs');consttar=require('tar-stream');constutils=require('../utils');conststreamifier=require('streamifier');// stream.WritableclassTarUncompressStreamextendstar.extract{constructor(opts){opts=opts||{};super(opts);constsourceType=utils.sourceType(opts.source);if(sourceType==='file'){conststream=fs.createReadStream(opts.source,opts.fs);stream.on('error',err=>this.emit('error',err));stream.pipe(this);return;}if(sourceType==='buffer'){conststream=streamifier.createReadStream(opts.source,opts.streamifier);stream.on('error',err=>this.emit('error',err));stream.pipe(this);return;}if(sourceType==='stream'){opts.source.on('error',err=>this.emit('error',err));opts.source.pipe(this);}// else: waiting to be piped}}module.exports=TarUncompressStream;