Fork channel

Create a new channel as a copy of main.

Rename channel

Rename main to:

Delete channel

Delete main? This cannot be undone.

mode name
drwxr-xr-x lib/
drwxr-xr-x test/
-rw-r--r-- .formatter.exs
-rw-r--r-- README.md
-rw-r--r-- UNLICENSE
-rw-r--r-- mix.exs
-rw-r--r-- mix.lock
README

WaParserEx

Idiomatic Elixir wrapper over wa_parser, a WebAssembly binary format parser. The parsing core is Erlang (:wa_parser); this package adds an Elixir-friendly API and a proper exception type.

Installation

def deps do
  [
    {:wa_parser_ex, "~> 0.1"}
  ]
end

This pulls in the Erlang wa_parser core as a transitive dependency.

Usage

"module.wasm"
|> File.read!()
|> WaParser.stream()
|> Enum.to_list()

WaParser.stream/1 returns a lazy stream of parse events; WaParser.parse/1 returns the single-step continuation form. Malformed input raises WaParser.ParseError, whose reason field is a stable atom for programmatic matching (:bad_magic, :truncated, :unknown_opcode, :non_canonical, …).

Additional helpers wrap the core’s utility modules: WaParser.LEB128, WaParser.Types.Atomic, WaParser.PrefixInstrs.

License

Released into the public domain under the Unlicense.