@hazae41/wasm
v1.0.0
Published
WebAssembly Binary Format (.wasm) decoder-modifier-encoder for TypeScript
Maintainers
Readme
WASM
WebAssembly Binary Format (.wasm) decoder-modifier-encoder for TypeScript
npm install @hazae41/wasmdeno install jsr:@hazae41/wasmFeatures
Current features
- 100% TypeScript and ESM
- No external dependencies
- Rust-like patterns
- No validation done
- Easily edit .wasm
- Latest specification
Usage
import * as Wasm from "@hazae41/wasm"
import { Readable, Writable } from "@hazae41/binary"
import { readFileSync, writeFileSync } from "node:fs"
const module = Readable.readFromBytesOrThrow(Wasm.Module, readFileSync("./mod.wasm"))
const imports = module.body.sections.find(section => section.kind === Wasm.ImportSection.kind)! as Wasm.ImportSection
console.log(imports) // Show all imports
const start = module.body.sections.find(section => section.kind === Wasm.StartSection.kind)! as Wasm.StartSection
start.funcidx = 3 // Change start function
writeFileSync("./mod.wasm", Writable.writeToBytesOrThrow(module))