'use strict'; const Promise = require("bluebird"); const parsePathTable = require("../parse/path-table"); module.exports = function readPathTable(image) { return Promise.try(() => { return image.getPrimaryVolumeDescriptor(); }).then((primaryVolumeDescriptor) => { return Promise.try(() => { let start = primaryVolumeDescriptor.data.pathTableLocationL * primaryVolumeDescriptor.data.sectorSize; let end = start + primaryVolumeDescriptor.data.pathTableSize - 1; return image.readRange(start, end); }).then((buffer) => { return parsePathTable(buffer, primaryVolumeDescriptor.data.sectorSize); }); }); }