UNPKG

normalize-stats

Version:

Create BigIntStats from fs.Stats for compatibility on earlier versions of Node.js

21 lines (20 loc) 871 B
const kNsPerMsBigInt = typeof BigInt === 'undefined' ? 10 ** 6 : BigInt(10 ** 6); export default function normalizeStats(stats) { if (typeof stats.dev === 'bigint') { const bigStats = stats; if (!bigStats.atimeNs) { bigStats.atimeNs = bigStats.atimeMs * kNsPerMsBigInt; bigStats.mtimeNs = bigStats.mtimeMs * kNsPerMsBigInt; bigStats.ctimeNs = bigStats.ctimeMs * kNsPerMsBigInt; bigStats.birthtimeNs = bigStats.birthtimeMs * kNsPerMsBigInt; } } else { if (!stats.atimeMs) { stats.atimeMs = stats.atime.valueOf() * 1000; stats.mtimeMs = stats.mtime.valueOf() * 1000; stats.ctimeMs = stats.ctime.valueOf() * 1000; stats.birthtimeMs = stats.birthtime ? stats.birthtime.valueOf() * 1000 : stats.mtimeMs; } } return stats; }