1.0.0 • Published 6 years ago

antpb v1.0.0

Weekly downloads
149
License
MIT
Repository
github
Last release
6 years ago

antpb

Protocol Buffers for JavaScript. It from the dcodeIO protobufjs, we modify some files to achieve our need.

NPM version build status Test coverage David deps Known Vulnerabilities npm download

Install

$ tnpm install antpb --save

Usage

  • load all *.proto files in specified directory
const protobuf = require('antpb');

const root = protobuf.loadAll('/proto_file_path');

const ProtoObj = root.lookup('com.alipay.test.service.ProtoObj');
const map = new Map();
map.set(false, {
  name: 'Peter',
  finalField: '123',
});

const req = ProtoObj.create({
  testObj2: {
    name: 'zongyu',
    finalField: '321',
  },
  map3: map,
});

const buf = ProtoObj.encode(req).finish();
const ret = ProtoObj.decode(buf); // => { testObj2: { name: 'zongyu', finalField: '321' }, map3: <Map> }
  • load interface schame from JSON file
const protobuf = require('@alipay/protobufjs');

const root = protobuf.fromJSON(/proto_json_file_path);

...

API

Top API

  • loadAll(protoPath, [options]) load all *.proto files in specified directory
    • {String} protoPath - the proto folder
    • {Object} options - optional arguments
  • fromJSON(jsonFile, [root]) load interface schame from JSON file
    • {String} jsonFile - JSON file path
    • {Root} root - root node, if it is not provided, will create the new one

Other API

refer: https://github.com/dcodeIO/protobuf.js