6 releases

0.3.1 Aug 18, 2021
0.3.0 Jun 17, 2021
0.2.2 Oct 22, 2020
0.1.0 Oct 17, 2020

#238 in WebAssembly

Download history 42/week @ 2021-09-28 10/week @ 2021-10-05 36/week @ 2021-10-12 22/week @ 2021-10-19 29/week @ 2021-10-26 28/week @ 2021-11-02 21/week @ 2021-11-09 13/week @ 2021-11-16 10/week @ 2021-11-23 36/week @ 2021-11-30 13/week @ 2021-12-07 7/week @ 2021-12-14 15/week @ 2021-12-21 7/week @ 2021-12-28 54/week @ 2022-01-04 35/week @ 2022-01-11

113 downloads per month

Apache-2.0

86KB
2K SLoC

wasmbin

wasmbin is a library implementing parsing and serialization WebAssembly binaries.

Announcement blog post: https://rreverser.com/wasmbin-yet-another-webassembly-parser-serializer/

Public API: https://docs.rs/wasmbin/latest/wasmbin/module/struct.Module.html

TL;DR

This crate intends to provide a low-level representation of the WebAssembly module that is fully described by Rust type system rather than smart accessors. It also leverages the said type system in conjunction with custom proc-macros functionality to autogenerate parsing/serialization/visitation code for any complex types (structures and enums).

On the user's side this approach allows any type can be used independently to represent/parse/serialize only part of the module, while on the maintainers' side it trivialises adding and testing new WebAssembly features, boiling such changes down to addition of new fields and variants, without having to add custom implementations too.

Dependencies

~0.5–1MB
~21K SLoC

a