New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@netrunner/pbf-ts

Package Overview
Dependencies
Maintainers
1
Versions
11
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@netrunner/pbf-ts

protobuf cli to create typescript declaration files for typescript schemas.

  • 1.0.10
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

pbf-ts

Creates interface schema and encoder/decoder for protobuf.

The CLI is very simple:

pbfts [source dir] [target dir] file1.proto file2.proto ...

After parsing the protobuf schema the program will create an interface, a encoder and a decoder for every message schema.

# src/myfile.proto
message Point {
    required uint32 x = 1;
    required uint32 y = 2;
    optional uint32 z = 3;
}

It creates a file with the name of the message:

pbfts ./src ./lib myfile.proto
# => ./lib/Point.ts
export interface PointSchema {
    x: number;
    y: number;
    z?: number;
}
export const Point = {
    encode(obj: PointSchema): Buffer { ... },
    decode(buf: Buffer | Uint8Array): PointSchema { ... }
};

You can also use the writer functions in your own code:

import { writeSchemaFile, writeSchemaFileSync } from "@netrunner/pbf-ts";

const pbfData = `
message User {
    required uint32 id = 1;
    required string name = 2;
    required bytes salt = 3;
    optional bytes hash = 4;
}
message Post {
    required uint32 id = 1;
    required uint32 user_id = 2;
    required string title = 3;
    required string description = 4;
}
`;

// synchronous file creation
writeSchemaFileSync(pbfData, {
    // // default options
    // indent: '    ',
    // suffix: 'Schema',
    // lineBreak: '\n',
    // writeDir: './'
});
// => User.ts
// => Post.ts

(async () => {
    // asynchronous file creation
    await writeSchemaFile(pbfData, {
        // // default options
        // indent: '    ',
        // suffix: 'Schema',
        // lineBreak: '\n',
        // writeDir: './'
    });
    // => User.ts
    // => Post.ts
});

Keywords

FAQs

Package last updated on 22 Sep 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc