@mrhiden/cstruct
Version:
For packing and unpacking bytes (C like structures) in/from Buffer based on Object/Array type for parsing.
25 lines (24 loc) • 748 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Write = void 0;
const make_1 = require("./make");
class Write extends make_1.Make {
constructor(buffer, offset = 0) {
super();
this._buffer = buffer;
this._offset = offset;
}
toBuffer() {
const makeBuffer = this._writer.toBuffer();
const leftSpace = this._buffer.length - this._offset;
if (leftSpace < this.size) {
throw Error(`Write buffer is too short. Needs ${this.size - leftSpace} byte/s more.`);
}
makeBuffer.copy(this._buffer, this._offset);
return this._buffer;
}
get offset() {
return this._offset + this.size;
}
}
exports.Write = Write;