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