@u4/adbkit
Version:
A Typescript client for the Android Debug Bridge.
50 lines • 1.67 kB
JavaScript
// import fs from 'node:fs';
// implements fs.Stats
class Stats {
constructor(mode, size, mtime) {
this.mode = mode;
this.size = size;
this.mtime = new Date(mtime * 1000);
}
isFile() {
return !!(this.mode & Stats.S_IFREG);
}
isDirectory() {
return !!(this.mode & Stats.S_IFDIR);
}
isBlockDevice() {
return !!(this.mode & Stats.S_IFBLK);
}
isCharacterDevice() {
return !!(this.mode & Stats.S_IFCHR);
}
isSymbolicLink() {
return !!(this.mode & Stats.S_IFLNK);
}
isFIFO() {
return !!(this.mode & Stats.S_IFIFO);
}
isSocket() {
return !!(this.mode & Stats.S_IFSOCK);
}
}
// The following constant were extracted from `man 2 stat` on Ubuntu 12.10.
Stats.S_IFMT = 0o170000; // bit mask for the file type bit fields
Stats.S_IFSOCK = 0o140000; // socket
Stats.S_IFLNK = 0o120000; // symbolic link
Stats.S_IFREG = 0o100000; // regular file
Stats.S_IFBLK = 0o060000; // block device
Stats.S_IFDIR = 0o040000; // directory
Stats.S_IFCHR = 0o020000; // character device
Stats.S_IFIFO = 0o010000; // FIFO
Stats.S_ISUID = 0o004000; // set UID bit
Stats.S_ISGID = 0o002000; // set-group-ID bit (see below)
Stats.S_ISVTX = 0o001000; // sticky bit (see below)
Stats.S_IRWXU = 0o0700; // mask for file owner permissions
Stats.S_IRUSR = 0o0400; // owner has read permission
Stats.S_IWUSR = 0o0200; // owner has write permission
Stats.S_IXUSR = 0o0100; // owner has execute permission
Stats.S_IRWXG = 0o0070; // mask for group permissions
Stats.S_IRGRP = 0o0040; // group has read permission
export default Stats;
//# sourceMappingURL=stats.js.map