Giter Club home page Giter Club logo

go2proto's Introduction

go2proto

Generate Protobuf messages from given go structs. No RPC, not gogo syntax, just pure Protobuf messages.

Syntax

-f string
    Protobuf output file path. (default ".")
-filter string
    Filter by struct names. Case insensitive.
-p value
    Fully qualified path of packages to analyse. Relative paths ("./example/in") are allowed.

Example

Your package you wish to export must be inside of your working directory. Package paths can be fully-qualified or relative.

GO111MODULE=off go get -u github.com/anjmao/go2proto
cd ~/go/src/github.com/anjmao/go2proto
go2proto -f ./example/out -p ./example/in

Note

Generated code may not be perfect but since it just 180 lines of code you are free to adapt it for your needs.

go2proto's People

Contributors

anjmao avatar katamarijr avatar emarcey avatar

Stargazers

 avatar DummyKitty avatar NiGo avatar Arsen avatar chunzhong zhang avatar  avatar Naveen avatar nicerobot avatar Leave avatar GuokeCui avatar liuxuewen avatar davidtam avatar codergooze avatar  avatar Kakashi avatar  avatar Jerry Beckham avatar  avatar peer avatar Patrick Brown avatar Spencer Murray avatar 刘乐 avatar pczy avatar axiao avatar Gongster avatar  avatar Shubham Prasad avatar Zhen Li avatar  avatar Lukas Bachschwell avatar Ian avatar humorliang avatar M Iqbal Tawakal avatar 孔令飞 avatar Angel Santiago Jaime Zavala avatar Airton F Sauer Oliveira avatar andrey avatar Burak Nehbit avatar Jille Timmermans avatar Marco Beierer avatar Brian O'Neill avatar  avatar WangXi avatar fengde avatar  avatar Flavio Ribeiro avatar  avatar lin avatar  avatar  avatar  avatar  avatar Steve Coffman avatar David Luu avatar Yoshiaki Sugimoto avatar Roman TSovanyan avatar  avatar  avatar  avatar Tom Tobias avatar @alex_kainsk avatar  avatar Aynur Zulkarnaev avatar duanjunxiao avatar Alexander Keating avatar  avatar  avatar acoldog avatar venjiang avatar myoung-su,shin avatar Petr Mikusek avatar Julien Breux avatar mmaedel avatar dp avatar Thao Nguyen avatar

Watchers

James Cloos avatar  avatar

go2proto's Issues

Nested Struct support

Thanks, @anjmao for the tool. Appreciate you taking the time to create it.

Would be great, to include support for Nested Structs, for e.g.

// Authentication - Collection type for Auth options
type Authentication struct {
	Password struct {
		Password *string `json:"password"`
		Username *string `json:"username"`
	} `json:"password,omitempty" yaml:"password,omitempty"`
}

Results in

message Authentication {
  struct{Password *string "json:\"password\""; Username *string "json:\"username\""} password = 1;
} 

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.