A package which provides transformation operation for WebAssembly binary. Inspired by Rust implementation
public func lowerI64Imports(_ input: [UInt8]) throws -> [UInt8]
Inserts trampoline functions for imports that have i64 params or returns. This is useful for running Wasm modules in browsers that do not support JavaScript BigInt -> Wasm i64 integration. Especially in the case for i64 WASI Imports.
public func stripCustomSections(_ input: [UInt8]) throws -> [UInt8]
Strip all custom sections from input WebAssembly binary.
- Set environment variable
SWIFT_TOOLCHAIN
to the path to your SwiftWasm toolchain. e.g.$HOME/Library/Developer/Toolchains/swift-wasm-5.7.3-RELEASE.xctoolchain/usr
- Set up testing fixtures by:
(cd ./Fixtures/ && npm install && npm run build && make all)
- Run
swift test