1.7.0 • Published 3 years ago
vstruct v1.7.0
vstruct
Code Generation Based High Speed Data Serialization Tool
Installation
1. From NPM (recommended)
npm install -g vstruct2. Go Get (Go Install) (also recommended)
go install github.com/lemon-mint/vstruct/cli/vstruct@latest3. From Source
git clone https://github.com/lemon-mint/vstruct.git
cd vstruct
go build -o vstruct ./cli/vstruct4. Pre-compiled binaries
https://github.com/lemon-mint/vstruct/releases/latest
Vstruct Syntax
0. Primitive Types
0.1. Boolean
bool: bool # true or false0.2. Signed Integers
int8: int8 # signed 8-bit integer
int16: int16 # signed 16-bit integer
int32: int32 # signed 32-bit integer
int64: int64 # signed 64-bit integer0.3. Unsigned Integers
uint8: uint8 # unsigned 8-bit integer
uint16: uint16 # unsigned 16-bit integer
uint32: uint32 # unsigned 32-bit integer
uint64: uint64 # unsigned 64-bit integer0.4. Floating Point
float32: float32 # 32-bit floating point (IEEE 754)
float64: float64 # 64-bit floating point (IEEE 754)0.5. Bytes
bytes: bytes # variable length bytes0.6. String
string: string # variable length string1. Enum
enum MyEnum {
one,
two,
three
}2. Struct
struct MyStruct {
uint8 a;
uint16 b;
uint32 c;
uint64 d;
string e;
MyEnum f;
}3. Alias
alias UUID = string;Vstruct CLI Usage
vstruct [options] <lang> <package name> <input file>Options
-o <output> Output file name (default: <inputfile>.<.go|.py|.dart|.rs>)
-s Prints the generated code to stdout
-v Print version and exit
-h Print help and exit
-l Print license and exitLanguages
go: Go
python: Python
dart: Dart
rust: Rust (Experimental)