antpb
Protocol Buffers for JavaScript. It from the dcodeIO protobufjs, we modify some files to achieve our need.
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);
- 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