@u4/adbkit
Version:
A Typescript client for the Android Debug Bridge.
53 lines • 1.33 kB
JavaScript
import { Buffer } from 'node:buffer';
/**
* help writing message
*/
export class BufWrite {
constructor(len) {
this.pos = 0;
this.buffer = Buffer.allocUnsafe(len);
}
writeBigUint64BE(val) {
this.buffer.writeBigUint64BE(val, this.pos);
this.pos += 8;
}
writeUint32BE(val) {
this.buffer.writeUint32BE(val, this.pos);
this.pos += 4;
}
writeInt32BE(val) {
this.buffer.writeInt32BE(val, this.pos);
this.pos += 4;
}
writeUint16BE(val) {
this.buffer.writeUint16BE(val, this.pos);
this.pos += 2;
}
writeInt16BE(val) {
this.buffer.writeInt16BE(val, this.pos);
this.pos += 2;
}
writeUint8(val) {
this.buffer.writeUint8(val, this.pos);
this.pos += 1;
}
writeString(text) {
const textData = Buffer.from(text, 'utf8');
const len = textData.length;
this.writeUint32BE(len);
this.append(textData);
this.pos += len;
}
writeInt8(val) {
this.buffer.writeInt8(val, this.pos);
this.pos += 1;
}
append(buf) {
const bufs = [
this.buffer,
buf,
];
this.buffer = Buffer.concat(bufs, bufs[0].length + bufs[1].length);
}
}
//# sourceMappingURL=BufWrite.js.map