{"id":21003557,"url":"https://github.com/lemon-mint/vstruct","last_synced_at":"2025-05-15T00:32:13.318Z","repository":{"id":42383610,"uuid":"433038174","full_name":"lemon-mint/vstruct","owner":"lemon-mint","description":"Code Generation Based High Speed Data Serialization Tool","archived":false,"fork":false,"pushed_at":"2022-12-27T02:26:27.000Z","size":26109,"stargazers_count":12,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-03T01:33:31.560Z","etag":null,"topics":["deserialization","go","golang","high-performance","serialization","vstruct","zerocopy"],"latest_commit_sha":null,"homepage":"https://vstruct.pages.dev","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lemon-mint.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-11-29T12:42:21.000Z","updated_at":"2025-04-02T06:08:31.000Z","dependencies_parsed_at":"2023-01-31T02:31:05.790Z","dependency_job_id":null,"html_url":"https://github.com/lemon-mint/vstruct","commit_stats":null,"previous_names":[],"tags_count":22,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lemon-mint%2Fvstruct","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lemon-mint%2Fvstruct/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lemon-mint%2Fvstruct/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lemon-mint%2Fvstruct/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lemon-mint","download_url":"https://codeload.github.com/lemon-mint/vstruct/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253457961,"owners_count":21911768,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["deserialization","go","golang","high-performance","serialization","vstruct","zerocopy"],"created_at":"2024-11-19T08:26:33.288Z","updated_at":"2025-05-15T00:32:08.300Z","avatar_url":"https://github.com/lemon-mint.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n[![GitHub](https://img.shields.io/github/license/lemon-mint/vstruct?style=for-the-badge)](https://github.com/lemon-mint/vstruct/blob/main/LICENSE)\n[![GitHub tag (latest SemVer)](https://img.shields.io/github/v/tag/lemon-mint/vstruct?label=latest\u0026style=for-the-badge)](https://github.com/lemon-mint/vstruct/releases/latest)\n[![npm](https://img.shields.io/npm/v/vstruct?color=cb0303\u0026style=for-the-badge)](https://www.npmjs.com/package/vstruct)\n\n# vstruct\n\nCode Generation Based High Speed Data Serialization Tool\n\n# Installation\n\n## 1. From NPM (recommended)\n\n```bash\nnpm install -g vstruct\n```\n\n## 2. Go Get (Go Install) (also recommended)\n\n```bash\ngo install github.com/lemon-mint/vstruct/cli/vstruct@latest\n```\n\n## 3. From Source\n\n```\ngit clone https://github.com/lemon-mint/vstruct.git\ncd vstruct\ngo build -o vstruct ./cli/vstruct\n```\n\n## 4. Pre-compiled binaries\n\n[https://github.com/lemon-mint/vstruct/releases/latest](https://github.com/lemon-mint/vstruct/releases/latest)\n\n# Vstruct Syntax\n\n## 0. Primitive Types\n\n### 0.1. Boolean\n---\n```\nbool: bool # true or false\n```\n\n### 0.2. Signed Integers\n---\n```\nint8: int8 # signed 8-bit integer\nint16: int16 # signed 16-bit integer\nint32: int32 # signed 32-bit integer\nint64: int64 # signed 64-bit integer\n```\n\n### 0.3. Unsigned Integers\n---\n```\nuint8: uint8 # unsigned 8-bit integer\nuint16: uint16 # unsigned 16-bit integer\nuint32: uint32 # unsigned 32-bit integer\nuint64: uint64 # unsigned 64-bit integer\n```\n\n### 0.4. Floating Point\n---\n```\nfloat32: float32 # 32-bit floating point (IEEE 754)\nfloat64: float64 # 64-bit floating point (IEEE 754)\n```\n\n### 0.5. Bytes\n---\n```\nbytes: bytes # variable length bytes\n```\n\n### 0.6. String\n---\n```\nstring: string # variable length string\n```\n\n## 1. Enum\n\n```vstruct\nenum MyEnum {\n    one,\n    two,\n    three\n}\n```\n\n## 2. Struct\n\n```vstruct\nstruct MyStruct {\n    uint8  a;\n    uint16 b;\n    uint32 c;\n    uint64 d;\n    string e;\n    MyEnum f;\n}\n```\n\n## 3. Alias\n\n```vstruct\nalias UUID = string;\n```\n\n# Vstruct CLI Usage\n\n```\nvstruct [options] \u003clang\u003e \u003cpackage name\u003e \u003cinput file\u003e\n```\n\n## Options\n\n```\n-o \u003coutput\u003e Output file name (default: \u003cinputfile\u003e.\u003c.go|.py|.dart|.rs\u003e)\n-s          Prints the generated code to stdout\n-v          Print version and exit\n-h          Print help and exit\n-l          Print license and exit\n```\n\n## Languages\n\n```\ngo: Go\npython: Python\ndart: Dart\nrust: Rust (Experimental)\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flemon-mint%2Fvstruct","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flemon-mint%2Fvstruct","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flemon-mint%2Fvstruct/lists"}