Skip to content

timostamm/protobuf-ts

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Dec 16, 2020
2cfe191 · Dec 16, 2020
Sep 8, 2020
Dec 16, 2020
Sep 4, 2020
Sep 8, 2020
Sep 4, 2020
Nov 13, 2020
Sep 8, 2020
Sep 15, 2020
Dec 16, 2020
Sep 4, 2020
Sep 4, 2020

Repository files navigation

protobuf-ts <timostamm> npm

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