diff --git a/lib/object.js b/lib/object.js index 0e979778..e9977124 100644 --- a/lib/object.js +++ b/lib/object.js @@ -379,6 +379,24 @@ var out = { options.type = "nodebuffer"; } return this.generateInternalStream(options).toNodejsStream(onUpdate); - } + }, + + /** + * Return all files since root in the form {relativePath, file} + * @returns {Array} An array of items files + */ + getFilesSinceRoot: function(){ + var result = [], filename, relativePath, file; + // ignore warning about unwanted properties because this.files is a null prototype object + /* eslint-disable-next-line guard-for-in */ + for (filename in this.files) { + file = this.files[filename]; + relativePath = filename.slice(this.root.length, filename.length); + if (relativePath && filename.slice(0, this.root.length) === this.root) { // the file is in the current root + result.push({relativePath:relativePath, file:file}) + } + } + return result; + }, }; module.exports = out;