CoolFace
Datasetpublic

basant307/AI_Governance_Project

sourceHugging Faceapache-2.0updated 2mo agoView on Hugging Face
0likes48downloads
writer_buffer.js86 linesDownload Raw Back to src
1"use strict";2module.exports = BufferWriter;3 4// extends Writer5var Writer = require("./writer");6(BufferWriter.prototype = Object.create(Writer.prototype)).constructor = BufferWriter;7 8var util = require("./util/minimal");9 10/**11 * Constructs a new buffer writer instance.12 * @classdesc Wire format writer using node buffers.13 * @extends Writer14 * @constructor15 */16function BufferWriter() {17    Writer.call(this);18}19 20BufferWriter._configure = function () {21    /**22     * Allocates a buffer of the specified size.23     * @function24     * @param {number} size Buffer size25     * @returns {Buffer} Buffer26     */27    BufferWriter.alloc = util._Buffer_allocUnsafe;28 29    BufferWriter.writeBytesBuffer = util.Buffer && util.Buffer.prototype instanceof Uint8Array && util.Buffer.prototype.set.name === "set"30        ? function writeBytesBuffer_set(val, buf, pos) {31          buf.set(val, pos); // faster than copy (requires node >= 4 where Buffers extend Uint8Array and set is properly inherited)32          // also works for plain array values33        }34        /* istanbul ignore next */35        : function writeBytesBuffer_copy(val, buf, pos) {36          if (val.copy) // Buffer values37            val.copy(buf, pos, 0, val.length);38          else for (var i = 0; i < val.length;) // plain array values39            buf[pos++] = val[i++];40        };41};42 43 44/**45 * @override46 */47BufferWriter.prototype.bytes = function write_bytes_buffer(value) {48    if (util.isString(value))49        value = util._Buffer_from(value, "base64");50    var len = value.length >>> 0;51    this.uint32(len);52    if (len)53        this._push(BufferWriter.writeBytesBuffer, len, value);54    return this;55};56 57function writeStringBuffer(val, buf, pos) {58    if (val.length < 40) // plain js is faster for short strings (probably due to redundant assertions)59        util.utf8.write(val, buf, pos);60    else if (buf.utf8Write)61        buf.utf8Write(val, pos);62    else63        buf.write(val, pos);64}65 66/**67 * @override68 */69BufferWriter.prototype.string = function write_string_buffer(value) {70    var len = util.Buffer.byteLength(value);71    this.uint32(len);72    if (len)73        this._push(writeStringBuffer, len, value);74    return this;75};76 77 78/**79 * Finishes the write operation.80 * @name BufferWriter#finish81 * @function82 * @returns {Buffer} Finished buffer83 */84 85BufferWriter._configure();86 
basant307/AI_Governance_Project · CoolFace