vstruct

command module
v1.7.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 27, 2022 License: MIT Imports: 14 Imported by: 0

README

GitHub GitHub tag (latest SemVer) npm

vstruct

Code Generation Based High Speed Data Serialization Tool

Installation

npm install -g vstruct
go install github.com/lemon-mint/vstruct/cli/vstruct@latest

3. From Source

git clone https://github.com/lemon-mint/vstruct.git
cd vstruct
go build -o vstruct ./cli/vstruct

4. Pre-compiled binaries

https://github.com/lemon-mint/vstruct/releases/latest

Vstruct Syntax

0. Primitive Types

0.1. Boolean

bool: bool # true or false
0.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 integer
0.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 integer
0.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 bytes
0.6. String

string: string # variable length string

1. 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 exit

Languages

go: Go
python: Python
dart: Dart
rust: Rust (Experimental)

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL