123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- "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.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;
- 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;
|