blob: 4db060072bbd099e986596b79be99cdcc076e0be [file] [log] [blame]
var exec = require('cordova/exec'),
FileError = require('cordova/plugin/FileError') ;
/**
* An interface that lists the files and directories in a directory.
*/
function DirectoryReader(path) {
this.path = path || null;
}
/**
* Returns a list of entries from a directory.
*
* @param {Function} successCallback is called with a list of entries
* @param {Function} errorCallback is called with a FileError
*/
DirectoryReader.prototype.readEntries = function(successCallback, errorCallback) {
var win = typeof successCallback !== 'function' ? null : function(result) {
var retVal = [];
for (var i=0; i<result.length; i++) {
var entry = null;
if (result[i].isDirectory) {
entry = new (require('cordova/plugin/DirectoryEntry'))();
}
else if (result[i].isFile) {
entry = new (require('cordova/plugin/FileEntry'))();
}
entry.isDirectory = result[i].isDirectory;
entry.isFile = result[i].isFile;
entry.name = result[i].name;
entry.fullPath = result[i].fullPath;
retVal.push(entry);
}
successCallback(retVal);
};
var fail = typeof errorCallback !== 'function' ? null : function(code) {
errorCallback(new FileError(code));
};
exec(win, fail, "File", "readEntries", [this.path]);
};
module.exports = DirectoryReader;