UNPKG

1.37 kBJavaScriptView Raw
1var protobuf = require('protobufjs')
2
3protobuf.load("test/awesome.proto", function(err, root) {
4 if (err)
5 throw err;
6
7 // Obtain a message type
8 var AwesomeMessage = root.lookupType("awesomepackage.AwesomeMessage");
9
10 // Exemplary payload
11 var payload = {
12 awesomeField: "AwesomeString",
13 lastname: 'bob'
14 };
15
16 // Verify the payload if necessary (i.e. when possibly incomplete or invalid)
17 var errMsg = AwesomeMessage.verify(payload);
18 if (errMsg)
19 throw Error(errMsg);
20
21 // Create a new message
22 var message = AwesomeMessage.create(payload); // or use .fromObject if conversion is necessary
23
24 // Encode a message to an Uint8Array (browser) or Buffer (node)
25 var buffer = AwesomeMessage.encode(message).finish();
26 // ... do something with buffer
27
28 // Decode an Uint8Array (browser) or Buffer (node) to a message
29 var message = AwesomeMessage.decode(buffer);
30 // ... do something with message
31
32 // If the application uses length-delimited buffers, there is also encodeDelimited and decodeDelimited.
33
34 // Maybe convert the message back to a plain object
35 var object = AwesomeMessage.toObject(message, {
36 longs: String,
37 enums: String,
38 bytes: String,
39 // see ConversionOptions
40 });
41
42 console.log(object)
43});