UNPKG

gulp-armapbo

Version:

The plugin for Gulp which allows to pack ArmA pbo files from sources.

31 lines (29 loc) 1.25 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const pboWriter_1 = require("./pboWriter"); class PboHeaderWriter { constructor() { this._writer = new pboWriter_1.PboWriter(); } writeHeader(buffer, header) { let offset = this._writer.writeHeaderEntry(buffer, header.signature, 0); offset = header.extensions.reduce((o, e) => this._writer.writeHeaderExtension(buffer, e, o), offset); offset = buffer.writeInt8(0, offset); offset = header.entries.reduce((o, e) => this._writer.writeHeaderEntry(buffer, e, o), offset); this._writer.writeHeaderEntry(buffer, header.boundary, offset); } measureHeader(header) { let size = header.signature.getSize(); size = header.extensions.reduce((s, e) => s + e.getSize(), size); size += 1; //terminating null after the last extension size = header.entries.reduce((s, e) => s + e.getSize(), size); size += header.boundary.getSize(); return size; } measureBody(header) { const size = header.entries.reduce((s, e) => s + e.contents.length, 0); return size; } } exports.PboHeaderWriter = PboHeaderWriter; //# sourceMappingURL=pboHeaderWriter.js.map