initial commit
This commit is contained in:
85
server/node_modules/protobufjs/src/writer_buffer.js
generated
vendored
Normal file
85
server/node_modules/protobufjs/src/writer_buffer.js
generated
vendored
Normal file
@@ -0,0 +1,85 @@
|
||||
"use strict";
|
||||
module.exports = BufferWriter;
|
||||
|
||||
// extends Writer
|
||||
var Writer = require("./writer");
|
||||
(BufferWriter.prototype = Object.create(Writer.prototype)).constructor = BufferWriter;
|
||||
|
||||
var util = require("./util/minimal");
|
||||
|
||||
/**
|
||||
* Constructs a new buffer writer instance.
|
||||
* @classdesc Wire format writer using node buffers.
|
||||
* @extends Writer
|
||||
* @constructor
|
||||
*/
|
||||
function BufferWriter() {
|
||||
Writer.call(this);
|
||||
}
|
||||
|
||||
BufferWriter._configure = function () {
|
||||
/**
|
||||
* Allocates a buffer of the specified size.
|
||||
* @function
|
||||
* @param {number} size Buffer size
|
||||
* @returns {Buffer} Buffer
|
||||
*/
|
||||
BufferWriter.alloc = util._Buffer_allocUnsafe;
|
||||
|
||||
BufferWriter.writeBytesBuffer = util.Buffer && util.Buffer.prototype instanceof Uint8Array && util.Buffer.prototype.set.name === "set"
|
||||
? function writeBytesBuffer_set(val, buf, pos) {
|
||||
buf.set(val, pos); // faster than copy (requires node >= 4 where Buffers extend Uint8Array and set is properly inherited)
|
||||
// also works for plain array values
|
||||
}
|
||||
/* istanbul ignore next */
|
||||
: function writeBytesBuffer_copy(val, buf, pos) {
|
||||
if (val.copy) // Buffer values
|
||||
val.copy(buf, pos, 0, val.length);
|
||||
else for (var i = 0; i < val.length;) // plain array values
|
||||
buf[pos++] = val[i++];
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* @override
|
||||
*/
|
||||
BufferWriter.prototype.bytes = function write_bytes_buffer(value) {
|
||||
if (util.isString(value))
|
||||
value = util._Buffer_from(value, "base64");
|
||||
var len = value.length >>> 0;
|
||||
this.uint32(len);
|
||||
if (len)
|
||||
this._push(BufferWriter.writeBytesBuffer, len, value);
|
||||
return this;
|
||||
};
|
||||
|
||||
function writeStringBuffer(val, buf, pos) {
|
||||
if (val.length < 40) // plain js is faster for short strings (probably due to redundant assertions)
|
||||
util.utf8.write(val, buf, pos);
|
||||
else if (buf.utf8Write)
|
||||
buf.utf8Write(val, pos);
|
||||
else
|
||||
buf.write(val, pos);
|
||||
}
|
||||
|
||||
/**
|
||||
* @override
|
||||
*/
|
||||
BufferWriter.prototype.string = function write_string_buffer(value) {
|
||||
var len = util.Buffer.byteLength(value);
|
||||
this.uint32(len);
|
||||
if (len)
|
||||
this._push(writeStringBuffer, len, value);
|
||||
return this;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Finishes the write operation.
|
||||
* @name BufferWriter#finish
|
||||
* @function
|
||||
* @returns {Buffer} Finished buffer
|
||||
*/
|
||||
|
||||
BufferWriter._configure();
|
||||
Reference in New Issue
Block a user