How to use protobufjs - 10 common examples

To help you get started, we’ve selected a few protobufjs examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github named-data / ndn-js / examples / node / test-list-channels.js View on Github external
function printChannelStatuses(encodedMessage)
{
  var builder = ProtoBuf.loadProtoFile("../browser/channel-status.proto");
  var descriptor = builder.lookup("ndn_message.ChannelStatusMessage");
  var ChannelStatusMessage = descriptor.build();

  var channelStatusMessage = new ChannelStatusMessage();
  ProtobufTlv.decode(channelStatusMessage, descriptor, encodedMessage);

  console.log("Channels:");
  for (var iEntry = 0; iEntry < channelStatusMessage.channel_status.length; ++iEntry) {
    var channelStatus = channelStatusMessage.channel_status[iEntry];

    // Format to look the same as "nfd-status -c".
    console.log("  " + channelStatus.local_uri);
  }
}
github openchain / openchain-js / tests / encoding.js View on Github external
// 
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// 
//     http://www.apache.org/licenses/LICENSE-2.0
// 
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

var assert = require("assert");
var ByteBuffer = require("protobufjs").ByteBuffer;
var Long = require("protobufjs").Long;
var openchain = require("../index");

describe("encoding", function () {
    it("encodeString", function () {
        var result = openchain.encoding.encodeString("ABC");
        assert.equal(result.toHex(), "414243");
    });
    
    it("encodeInt64", function () {
        var result = openchain.encoding.encodeInt64(Long.fromString("25000"));
        assert.equal(result.toHex(), "00000000000061a8");
    });
    
    it("decodeString", function () {
        var result = openchain.encoding.decodeString(ByteBuffer.fromHex("414243"));
        assert.equal(result, "ABC");
github openchain / openchain-js / tests / transactionbuilder.js View on Github external
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// 
//     http://www.apache.org/licenses/LICENSE-2.0
// 
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

var assert = require("assert");
var bitcore = require("bitcore-lib");
var ByteBuffer = require("protobufjs").ByteBuffer;
var Long = require("protobufjs").Long;
var q = require("q");
var openchain = require("../index");
var TransactionBuilder = openchain.TransactionBuilder;
var RecordKey = openchain.RecordKey;
var MutationSigner = openchain.MutationSigner;
var encoding = openchain.encoding;

describe("TransactionBuilder", function () {
    
    it("constructor success", function () {
        var builder = new TransactionBuilder(new ApiClientMock());
        
        assert.deepEqual(builder.records, []);
        assert.equal(builder.client.namespace.toHex(), "abcdef");
        assert.equal(builder.metadata.toHex(), "");
    });
github openchain / openchain-js / tests / apiclient.js View on Github external
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// 
//     http://www.apache.org/licenses/LICENSE-2.0
// 
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

var openchain = require("../index");
var assert = require("assert");
var ByteBuffer = require("protobufjs").ByteBuffer;
var Long = require("protobufjs").Long;
var RecordKey = openchain.RecordKey;

describe('ApiClient', function () {
    
    var client = new openchain.ApiClient("https://test.openchain.org/");
    
    it('getRecord ByteBuffer', function () {
        return client.getRecord(ByteBuffer.fromHex("0000")).then(function (result) {
            assert.equal(result.key.toHex(), "0000");
            assert.equal(result.value.toHex(), "");
            assert.equal(result.version.toHex(), "");
        });
    });
    
    it('getRecord string', function () {
        return client.getRecord("/:DATA:info").then(function (result) {
github chemdemo / wts-monit / test / client.js View on Github external
/*
* @Author: dm.yang
* @Date:   2015-04-05 15:55:27
* @Last Modified by:   chemdemo
* @Last Modified time: 2015-04-09 12:17:10
*/

'use strict';

var net = require('net');
var fs = require('fs');
var pty = require('pty.js');
var ProtoBuf = require('protobufjs');

var builder = ProtoBuf.loadProtoFile('../conf/socket.proto');
var Proto = builder.build('Socket');
var Input = Proto.Input;
var Output = Proto.Output;

var monitHost = '0.0.0.0';
var monitPort = 3977;

var client = new net.Socket();
var stream;
var terms = {};

connect();

function connect() {
    client.connect(monitPort, monitHost);
    // client.setEncoding('utf8');
github NUbots / NUsight / tests / robot_simulator / RobotSimulator.js View on Github external
function RobotSimulator (opts) {
	opts = opts || {};

	if (opts.net) {
		this.net = opts.net
	}else {
		this.net = 	new NUClearNet();
		this.net.connect({
			name: this.constructor.name,
			address: '10.1.255.255' // TODO: (Josephus/Trent) Remove hardcoded address after RoboCup 2017
		});
	}

	this.protoBuilder = opts.protoBuilder || ProtoBuf.newBuilder({ convertFieldsToCamelCase: true });

	// A map of message types to callback functions which will be called
	// when a message of the type is received
	this.listenerCallbacks = {};

	// Holds the proto messages that have been loaded, to be used
	// for decoding messages
	this.protos = {};
}
github material-components / material-components-web / test / screenshot / infra / proto / selenium.pb.js View on Github external
/*eslint-disable block-scoped-var, no-redeclare, no-control-regex, no-prototype-builtins*/
"use strict";

var $protobuf = require("protobufjs/minimal");

// Common aliases
var $Reader = $protobuf.Reader, $Writer = $protobuf.Writer, $util = $protobuf.util;

// Exported root namespace
var $root = $protobuf.roots["default"] || ($protobuf.roots["default"] = {});

$root.selenium = (function() {

    /**
     * Namespace selenium.
     * @exports selenium
     * @namespace
     */
    var selenium = {};

    selenium.proto = (function() {

        /**
github material-components / material-components-web / test / screenshot / infra / proto / github.pb.js View on Github external
/*eslint-disable block-scoped-var, no-redeclare, no-control-regex, no-prototype-builtins*/
"use strict";

var $protobuf = require("protobufjs/minimal");

// Common aliases
var $Reader = $protobuf.Reader, $Writer = $protobuf.Writer, $util = $protobuf.util;

// Exported root namespace
var $root = $protobuf.roots["default"] || ($protobuf.roots["default"] = {});

$root.github = (function() {

    /**
     * Namespace github.
     * @exports github
     * @namespace
     */
    var github = {};

    github.proto = (function() {

        /**
github nars-dev / nars / packages / nars / src / NarsServer.ts View on Github external
decoded.call &&
              typeof decoded.call.messageId === "number"
            ) {
              NarsReconciler.invokeCallback({
                container,
                messageId: decoded.call.messageId,
                args: decoded.call.args ? decoded.call.args : {}
              });
            }
            break;
          default:
            console.error("Unreachable");
            break;
        }
      } catch (e) {
        if (e instanceof protobuf.util.ProtocolError) {
          // e.instance holds the so far decoded message with missing required fields
        } else {
          // wire format is invalid
        }
      }
    });
  });
github hyperledger / composer-tools / packages / composer-protobuf / lib / protobufconverter.js View on Github external
static convert(protoFile, outputDir) {
        console.log('Parsing: ' + protoFile);

        const root = new protobuf.Root();
        root.loadSync(protoFile);
        //console.log(JSON.stringify(root));
        const writer = new FileWriter(outputDir);
        const outputFile = path.parse(protoFile).name + '.cto';
        writer.openFile(outputFile);
        const ns = ProtobufConverter.convertItem(writer, root, 0);
        writer.writeBeforeLine(0, 'namespace ' + ns.substring(1)); // discard the leading .
        writer.closeFile();
        console.log('Generated: ' + outputFile);
        return outputDir + '/' + outputFile;
    }