云盘
志元云盘
备份云盘
Home
/
志元云盘
/
webdav
/
home
/
moxa
/
c
/
vue-modbus
/
modbus-project
/
node_modules
/
@webassemblyjs
/
wasm-edit
File
OriginalPic
Thumbnails
CopyAllDownloadUrl
EditTime
Size
lib
2024-01-09 20:09:11
16.37 KB
package.json
1985-10-26 16:15:00
874 B
README.md
1985-10-26 16:15:00
1.33 KB
# @webassemblyjs/wasm-edit > Rewrite a WASM binary Replace in-place an AST node in the binary. ## Installation ```sh yarn add @webassemblyjs/wasm-edit ``` ## Usage Update: ```js import { edit } from "@webassemblyjs/wasm-edit"; const binary = [/*...*/]; const visitors = { ModuleImport({ node }) { node.module = "foo"; node.name = "bar"; } }; const newBinary = edit(binary, visitors); ``` Replace: ```js import { edit } from "@webassemblyjs/wasm-edit"; const binary = [/*...*/]; const visitors = { Instr(path) { const newNode = t.callInstruction(t.indexLiteral(0)); path.replaceWith(newNode); } }; const newBinary = edit(binary, visitors); ``` Remove: ```js import { edit } from "@webassemblyjs/wasm-edit"; const binary = [/*...*/]; const visitors = { ModuleExport({ node }) { path.remove() } }; const newBinary = edit(binary, visitors); ``` Insert: ```js import { add } from "@webassemblyjs/wasm-edit"; const binary = [/*...*/]; const newBinary = add(actualBinary, [ t.moduleImport("env", "mem", t.memory(t.limit(1))) ]); ``` ## Providing the AST Providing an AST allows you to handle the decoding yourself, here is the API: ```js addWithAST(Program, ArrayBuffer, Array
): ArrayBuffer; editWithAST(Program, ArrayBuffer, visitors): ArrayBuffer; ``` Note that the AST will be updated in-place.
2025-09-03 06:55:22 Wednesday 216.73.216.38 Runningtime:0.012s Mem:1.47 MB