UNPKG

@phi-ag/rvt

Version:

Parse Revit file format

19 lines (18 loc) 840 B
import * as array from "../utils/array.js"; export const assertEqual = (chunk, position, expected, message) => { const data = chunk.subarray(position, position + expected.length); if (!array.isEqual(data, expected)) throw Error(`Unexpected compound file ${message} [${data}]`); }; export const assertZero = (chunk, position, length, message) => { const data = chunk.subarray(position, position + length); if (!array.isZero(data)) throw Error(`Unexpected compound file non-zero ${message} [${data}]`); }; export const readDate = (view, offset) => { const leftShift32Factor = 4294967296; const filetimeOffset = 116444736e5; const low = view.getUint32(offset, true); const high = view.getUint32(offset + 4, true); return new Date((high * leftShift32Factor + low) / 1e4 - filetimeOffset); };