1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.Dirent = void 0;
- const constants_1 = require("./constants");
- const encoding_1 = require("./encoding");
- const { S_IFMT, S_IFDIR, S_IFREG, S_IFBLK, S_IFCHR, S_IFLNK, S_IFIFO, S_IFSOCK } = constants_1.constants;
- /**
- * A directory entry, like `fs.Dirent`.
- */
- class Dirent {
- constructor() {
- this.name = '';
- this.path = '';
- this.parentPath = '';
- this.mode = 0;
- }
- static build(link, encoding) {
- const dirent = new Dirent();
- const { mode } = link.getNode();
- dirent.name = (0, encoding_1.strToEncoding)(link.getName(), encoding);
- dirent.mode = mode;
- dirent.path = link.getParentPath();
- dirent.parentPath = dirent.path;
- return dirent;
- }
- _checkModeProperty(property) {
- return (this.mode & S_IFMT) === property;
- }
- isDirectory() {
- return this._checkModeProperty(S_IFDIR);
- }
- isFile() {
- return this._checkModeProperty(S_IFREG);
- }
- isBlockDevice() {
- return this._checkModeProperty(S_IFBLK);
- }
- isCharacterDevice() {
- return this._checkModeProperty(S_IFCHR);
- }
- isSymbolicLink() {
- return this._checkModeProperty(S_IFLNK);
- }
- isFIFO() {
- return this._checkModeProperty(S_IFIFO);
- }
- isSocket() {
- return this._checkModeProperty(S_IFSOCK);
- }
- }
- exports.Dirent = Dirent;
- exports.default = Dirent;
- //# sourceMappingURL=Dirent.js.map
|