3.6.0 • Published 4 years ago
protocol-buffers-schema v3.6.0
protocol-buffers-schema
No nonsense protocol buffers schema parser written in Javascript
npm install protocol-buffers-schema
Usage
First save the following file as example.proto
syntax = "proto2";
message Point {
required int32 x = 1;
required int32 y=2;
optional string label = 3;
}
message Line {
required Point start = 1;
required Point end = 2;
optional string label = 3;
}
The run the following example
var fs = require('fs')
var schema = require('protocol-buffers-schema')
// pass a buffer or string to schema.parse
var sch = schema.parse(fs.readFileSync('example.proto'))
// will print out the schema as a javascript object
console.log(sch)
Running the above example will print something like
{
syntax: 2,
package: null,
enums: [],
messages: [{
name: 'Point',
enums: [],
messages: [],
options: {},
fields: [{
name: 'x',
type: 'int32',
tag: 1,
required: true,
repeated: false,
options: {}
}, {
name: 'y',
type: 'int32',
tag: 2,
required: true,
repeated: false,
options: {}
}, {
name: 'label',
type: 'string',
tag: 3,
required: false,
repeated: false,
options: {}
}]
}, {
name: 'Line',
enums: [],
messages: [],
options: {},
fields: [{
name: 'start',
type: 'Point',
tag: 1,
required: true,
repeated: false,
options: {}
}, {
name: 'end',
type: 'Point',
tag: 2,
required: true,
repeated: false,
options: {}
}, {
name: 'label',
type: 'string',
tag: 3,
required: false,
repeated: false,
options: {}
}]
}],
options:{}
}
API
schema.parse(protobufSchemaBufferOrString)
Parses a .proto schema into a javascript object
schema.stringify(schema)
Stringifies a parsed schema back into .proto format
License
MIT
3.6.0
4 years ago
3.5.2
4 years ago
3.5.1
4 years ago
3.5.0
4 years ago
3.4.0
5 years ago
3.3.3
5 years ago
3.3.2
8 years ago
3.3.1
8 years ago
3.3.0
8 years ago
3.2.0
8 years ago
3.1.1
9 years ago
3.1.0
9 years ago
3.0.0
10 years ago
2.2.0
10 years ago
2.1.0
10 years ago
2.0.4
10 years ago
2.0.3
10 years ago
2.0.2
10 years ago
2.0.1
10 years ago
2.0.0
10 years ago
1.5.1
10 years ago