kura
Version:
The FileSystem API abstraction library.
75 lines • 2.45 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.EntryAsync = void 0;
const DirectoryEntryAsync_1 = require("./DirectoryEntryAsync");
const FileError_1 = require("./FileError");
const FileSystemUtil_1 = require("./FileSystemUtil");
class EntryAsync {
constructor(fileSystemAsync, entry) {
this.fileSystemAsync = fileSystemAsync;
this.entry = entry;
}
get filesystem() {
return this.fileSystemAsync;
}
get fullPath() {
return this.entry.fullPath;
}
get isDirectory() {
return this.entry.isDirectory;
}
get isFile() {
return this.entry.isFile;
}
get name() {
return this.entry.name;
}
copyTo(parent, newName) {
return new Promise((resolve, reject) => {
this.entry.copyTo(parent.entry, newName, (entry) => {
const entryAsync = (0, FileSystemUtil_1.createEntry)(this.fileSystemAsync, entry);
resolve(entryAsync);
}, (err) => reject(err));
});
}
getMetadata() {
return new Promise((resolve, reject) => {
this.entry.getMetadata((metadata) => resolve(metadata), (err) => reject(err));
});
}
getParent() {
return new Promise((resolve, reject) => {
this.entry.getParent((entry) => resolve(new DirectoryEntryAsync_1.DirectoryEntryAsync(this.fileSystemAsync, entry)), (err) => {
reject(err);
});
});
}
moveTo(parent, newName) {
return new Promise((resolve, reject) => {
this.entry.moveTo(parent.entry, newName, (entry) => {
const entryAsync = (0, FileSystemUtil_1.createEntry)(this.fileSystemAsync, entry);
resolve(entryAsync);
}, (err) => {
reject(err);
});
});
}
remove() {
return new Promise((resolve, reject) => {
this.entry.remove(() => resolve(), (err) => {
if (err instanceof FileError_1.NotFoundError) {
resolve();
return;
}
reject(err);
});
});
}
toURL(method) {
return new Promise((resolve, reject) => {
this.entry.toURL((url) => resolve(url), (err) => reject(err), method);
});
}
}
exports.EntryAsync = EntryAsync;
//# sourceMappingURL=EntryAsync.js.map