UNPKG

dtyp

Version:

DTYP / Windows Data Type library in TypeScript

19 lines (18 loc) 892 B
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.serializeFiletime = exports.parseFiletime = void 0; const moment_timezone_1 = __importDefault(require("moment-timezone")); const filetimeStartDate = moment_timezone_1.default.utc("1601-01-01"); exports.parseFiletime = (buffer) => { const milliseconds = Number(buffer.readBigUInt64LE(0) / 10000n); return moment_timezone_1.default(filetimeStartDate).add(milliseconds, "milliseconds").toDate(); }; exports.serializeFiletime = (date) => { const milliseconds = moment_timezone_1.default(date).diff(filetimeStartDate, "milliseconds"); const buffer = Buffer.allocUnsafe(8); buffer.writeBigInt64LE(BigInt(milliseconds) * 10000n, 0); return buffer; };