@nodelib/fs.macchiato
Version:
A set of classes for easy testing of built-in structures of FS
29 lines (28 loc) • 1.59 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Stats = exports.StatsMode = void 0;
const fs = require("node:fs");
const uid = process.getuid?.();
const gid = process.getgid?.();
// https://github.com/nodejs/node/blob/6675505686310771b8016805a381945826aad887/typings/internalBinding/constants.d.ts#L148-L154
var StatsMode;
(function (StatsMode) {
StatsMode[StatsMode["Unknown"] = 0] = "Unknown";
StatsMode[StatsMode["File"] = 32768] = "File";
StatsMode[StatsMode["Directory"] = 16384] = "Directory";
StatsMode[StatsMode["Link"] = 40960] = "Link";
StatsMode[StatsMode["Fifo"] = 4096] = "Fifo";
StatsMode[StatsMode["Socket"] = 49152] = "Socket";
StatsMode[StatsMode["Char"] = 8192] = "Char";
StatsMode[StatsMode["Block"] = 24576] = "Block";
})(StatsMode || (exports.StatsMode = StatsMode = {}));
class Stats extends fs.Stats {
constructor(options = {}) {
const date = new Date();
super(
// @ts-expect-error Types do not provide arguments.
// https://github.com/nodejs/node/blob/6675505686310771b8016805a381945826aad887/lib/internal/fs/utils.js#L501-L503
options.dev ?? 0, options.mode ?? StatsMode.Unknown, options.nlink ?? 0, 'uid' in options ? options.uid : uid, 'gid' in options ? options.gid : gid, options.rdev ?? 0, options.blksize ?? 0, options.ino ?? 0, options.size ?? 0, options.blocks ?? 0, options.atimeMs ?? date.getTime(), options.mtimeMs ?? date.getTime(), options.ctimeMs ?? date.getTime(), options.birthtimeMs ?? date.getTime());
}
}
exports.Stats = Stats;