A suite to track Project Diva score statistics and ratings / D4DJ event data.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
projectdivar/server/node_modules/pg-protocol/dist/testing/buffer-list.js

68 lines
2.0 KiB

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
class BufferList {
constructor(buffers = []) {
this.buffers = buffers;
}
add(buffer, front) {
this.buffers[front ? 'unshift' : 'push'](buffer);
return this;
}
addInt16(val, front) {
return this.add(Buffer.from([val >>> 8, val >>> 0]), front);
}
getByteLength(initial) {
return this.buffers.reduce(function (previous, current) {
return previous + current.length;
}, initial || 0);
}
addInt32(val, first) {
return this.add(Buffer.from([(val >>> 24) & 0xff, (val >>> 16) & 0xff, (val >>> 8) & 0xff, (val >>> 0) & 0xff]), first);
}
addCString(val, front) {
var len = Buffer.byteLength(val);
var buffer = Buffer.alloc(len + 1);
buffer.write(val);
buffer[len] = 0;
return this.add(buffer, front);
}
addString(val, front) {
var len = Buffer.byteLength(val);
var buffer = Buffer.alloc(len);
buffer.write(val);
return this.add(buffer, front);
}
addChar(char, first) {
return this.add(Buffer.from(char, 'utf8'), first);
}
addByte(byte) {
return this.add(Buffer.from([byte]));
}
join(appendLength, char) {
var length = this.getByteLength();
if (appendLength) {
this.addInt32(length + 4, true);
return this.join(false, char);
}
if (char) {
this.addChar(char, true);
length++;
}
var result = Buffer.alloc(length);
var index = 0;
this.buffers.forEach(function (buffer) {
buffer.copy(result, index, 0);
index += buffer.length;
});
return result;
}
static concat() {
var total = new BufferList();
for (var i = 0; i < arguments.length; i++) {
total.add(arguments[i]);
}
return total.join();
}
}
exports.default = BufferList;
//# sourceMappingURL=buffer-list.js.map