A WebAssembly binary parser in WebAssembly. Super small, super fast, with TypeScript support.
parse(binary:
Uint8Array, options?:ParseOptions):void
Parses the contents of a WebAssembly binary according to the specified options.ParseOptions
Options specified to the parser. TheonSectioncallback determines the sections being evaluated in detail.onSection?(id:
SectionId, payloadOff:number, payloadLen:number, nameOff:number, nameLen:number):boolean
Called with each section in the binary. Returningtrueevaluates the section.onType?(index:
number, form:number):void
Called with each function type if the type section is evaluated.onTypeParam?(index:
number, paramIndex:number, paramType:Type):void
Called with each function parameter if the type section is evaluated.onTypeReturn?(index:
number, returnIndex:number, returnType:Type):void
Called with each function return type if the type section is evaluated.onImport?(index:
number, kind:ExternalKind, moduleOff:number, moduleLen:number, fieldOff:number, fieldLen:number):void
Called with each import if the import section is evaluated.onFunctionImport?(index:
number, type:number):void
Called with each function import if the import section is evaluated.onTableImport?(index:
number, type:Type, initial:number, maximum:number, flags:number):void
Called with each table import if the import section is evaluated.onMemoryImport?(index:
number, initial:number, maximum:number, flags:number):void
Called with each memory import if the import section is evaluated.onGlobalImport?(index:
number, type:Type, mutability:number):void
Called with each global import if the import section is evaluated.onMemory?(index:
number, initial:number, maximum:number, flags:number):void
Called with each memory if the memory section is evaluated.onFunction?(index:
number, typeIndex:number):void
Called with each function if the function section is evaluated.onGlobal?(index:
number, type:Type, mutability:number):void
Called with each global if the global section is evaluated.onStart?(index:
number):void
Called with the start function index if the start section is evaluated.onExport?(index:
number, kind:ExternalKind, kindIndex:number, nameOff:number, nameLen:number):void
Called with each export if the export section is evaluated.onSourceMappingURL?(offset:
number, length:number):void
Called with the source map URL if the 'sourceMappingURL' section is evaluated.onModuleName?(offset:
number, length:number):void
Called with the module name if present and the 'name' section is evaluated.onFunctionName?(index:
number, offset:number, length:number):void
Called with each function name if present and the 'name' section is evaluated.onLocalName?(funcIndex:
number, index:number, offset:number, length:number):void
Called with each local name if present and the 'name' section is evaluated.
Type
A value or element type, depending on context.Name Value i32 0x7f i64 0x7e f32 0x7d f64 0x7c anyfunc 0x70 func 0x60 none 0x40 SectionId
Numerical id of the current section.Name Value Custom 0 Type 1 Import 2 Function 3 Table 4 Memory 5 Global 6 Export 7 Start 8 Element 9 Code 10 Data 11 ExternalKind
Kind of an export or import.Name Value Function 0 Table 1 Memory 2 Global 3