UNPKG

xo-vmdk-to-vhd

Version:
103 lines (102 loc) 4.09 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "ParsableFile", { enumerable: true, get: function () { return _ovaRead.ParsableFile; } }); exports.computeVmdkLength = computeVmdkLength; Object.defineProperty(exports, "parseOVAFile", { enumerable: true, get: function () { return _ovaRead.parseOVAFile; } }); Object.defineProperty(exports, "readCapacityAndGrainTable", { enumerable: true, get: function () { return _vmdkReadTable.readCapacityAndGrainTable; } }); Object.defineProperty(exports, "readVmdkGrainTable", { enumerable: true, get: function () { return _vmdkReadTable.default; } }); exports.vhdToVMDK = vhdToVMDK; exports.vhdToVMDKIterator = vhdToVMDKIterator; exports.vmdkToVhd = vmdkToVhd; Object.defineProperty(exports, "writeOvaOn", { enumerable: true, get: function () { return _ovaGenerate.writeOvaOn; } }); var _asyncIteratorToStream = _interopRequireDefault(require("async-iterator-to-stream")); var _createReadableSparseStream = _interopRequireDefault(require("vhd-lib/createReadableSparseStream.js")); var _ovaRead = require("./ova-read"); var _vmdkRead = _interopRequireDefault(require("./vmdk-read")); var _vmdkGenerate = require("./vmdk-generate"); var _ovaGenerate = require("./ova-generate"); var _parseVhdToBlocks = require("./parseVhdToBlocks"); var _vmdkReadTable = _interopRequireWildcard(require("./vmdk-read-table")); function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); } function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } async function vmdkToVhd(vmdkReadStream, grainLogicalAddressList, grainFileOffsetList, gzipped = false, length) { const parser = new _vmdkRead.default(vmdkReadStream, grainLogicalAddressList, grainFileOffsetList, gzipped, length); const header = await parser.readHeader(); const vhdStream = await (0, _createReadableSparseStream.default)(header.capacitySectors * 512, header.grainSizeSectors * 512, grainLogicalAddressList, parser.blockIterator()); vhdStream._rawLength = parser.descriptor.extents[0].size; return vhdStream; } async function computeVmdkLength(diskName, vhdReadStream) { let length = 0; const { iterator } = await vhdToVMDKIterator(diskName, vhdReadStream); for await (const b of iterator) { length += b.length; } return length; } async function vhdToVMDK(diskName, vhdReadStreamGetter, withLength = false) { const { iterator, size } = await vhdToVMDKIterator(diskName, await vhdReadStreamGetter()); let length; const stream = await (0, _asyncIteratorToStream.default)(iterator); if (withLength) { if (size === undefined) { length = await computeVmdkLength(diskName, await vhdReadStreamGetter()); } else { length = size; } stream.length = length; } return stream; } async function vhdToVMDKIterator(diskName, vhdReadStream) { const { blockSize, blockCount, blocks, diskSize, geometry } = await (0, _parseVhdToBlocks.parseVhdToBlocks)(vhdReadStream); const dataSize = blockSize * blockCount; const { iterator, metadataSize } = await (0, _vmdkGenerate.generateVmdkData)(diskName, diskSize, blockSize, blocks, geometry, dataSize); return { iterator, size: dataSize + metadataSize }; } //# sourceMappingURL=index.js.map