protobuf-ts
Protocol buffers and RPC for Node.js and the Web Browser.
For the following .proto
file:
syntax = "proto3";
message Person {
string name = 1;
uint64 id = 2;
int32 years = 3;
optional bytes data = 5;
}
protobuf-ts
generates code that can be used like this:
let pete: Person = {
name: "pete",
id: 123n, // it's a bigint
years: 30
// data: new Uint8Array([0xDE, 0xAD, 0xBE, 0xEF]);
};
let bytes = Person.toBinary(pete);
pete = Person.fromBinary(bytes);
pete = Person.fromJsonString('{"name":"pete", "id":"123", "years": 30}')
Quickstart
-
download the example file msg-readme.proto
-
npm install @protobuf-ts/plugin
installs the plugin and the compiler "protoc"
-
npx protoc --ts_out . --proto_path protos protos/msg-readme.proto
generates msg-readme.ts
if your protoc version asks for it, add the flag "--experimental_allow_proto3_optional"
Features
Read the MANUAL to learn more.
Copyright