diff --git a/helpers/scanner/file-api.js b/helpers/scanner/file-api.js new file mode 100644 index 0000000..a5bc95b --- /dev/null +++ b/helpers/scanner/file-api.js @@ -0,0 +1,44 @@ +export function File (input) { + var self = this; + + function updateStat(stat) { + self.stat = stat; + self.lastModifiedDate = self.stat.mtime; + self.size = self.stat.size; + } + + if ('string' === typeof input) { + self.path = input; + } else { + Object.keys(input).forEach(function (k) { + self[k] = input[k]; + }); + } + + self.name = self.name// || path.basename(self.path||''); + if (!self.name) { + throw new Error("No name"); + } + self.type = self.type// || mime.lookup(self.name); + + if (!self.path) { + if (self.buffer) { + self.size = self.buffer.length; + } else if (!self.stream) { + throw new Error('No input, nor stream, nor buffer.'); + } + return; + } + + if (!self.jsdom) { + return; + } + + // if (!self.async) { + // updateStat(fs.statSync(self.path)); + // } else { + // fs.stat(self.path, function (err, stat) { + // updateStat(stat); + // }); + // } +}