UNPKG

@nodelib/fs.macchiato

Version:

A set of classes for easy testing of built-in structures of FS

29 lines (28 loc) 1.59 kB
"use strict"; 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;