kura
Version:
The FileSystem API abstraction library.
39 lines (34 loc) • 1.09 kB
text/typescript
import { AbstractDirectoryEntry } from "../AbstractDirectoryEntry";
import { DirectoryEntry, FileEntry } from "../filesystem";
import { FileSystemObject } from "../FileSystemObject";
import { FileSystemParams } from "../FileSystemParams";
import { IdbAccessor } from "./IdbAccessor";
import { IdbFileEntry } from "./IdbFileEntry";
export class IdbDirectoryEntry extends AbstractDirectoryEntry<IdbAccessor> {
constructor(params: FileSystemParams<IdbAccessor>) {
super(params);
}
public toDirectoryEntry(obj: FileSystemObject): DirectoryEntry {
return new IdbDirectoryEntry({
accessor: this.params.accessor,
...obj,
});
}
public toFileEntry(obj: FileSystemObject): FileEntry {
return new IdbFileEntry({
accessor: this.params.accessor,
...obj,
});
}
protected createEntry(obj: FileSystemObject) {
return obj.size != null
? new IdbFileEntry({
accessor: this.params.accessor,
...obj,
})
: new IdbDirectoryEntry({
accessor: this.params.accessor,
...obj,
});
}
}