fast-extract
Version:
Extract contents from various archive types (tar, tar.bz2, tar.gz, tar.xz, tgz, zip)
19 lines (18 loc) • 595 B
JavaScript
import fs from 'fs';
export default function getSize(source, options, callback) {
// options
if (options.size !== undefined) return callback(null, options.size);
// path
if (typeof source === 'string') {
fs.stat(source, (err, stats)=>{
err ? callback(err) : callback(null, stats.size);
});
return;
}
// stream
if (source) {
if (source.headers && source.headers['content-length']) return callback(null, +source.headers['content-length']);
if (source.size) return callback(null, source.size);
}
callback();
}