Have ideas to improve npm?Join in the discussion! »

    @webassemblyjs/ast

    1.11.0 • Public • Published

    @webassemblyjs/ast

    AST utils for webassemblyjs

    Installation

    yarn add @webassemblyjs/ast

    Usage

    Traverse

    import { traverse } from "@webassemblyjs/ast";
    
    traverse(ast, {
      Module(path) {
        console.log(path.node);
      }
    });

    Instruction signatures

    import { signatures } from "@webassemblyjs/ast";
    
    console.log(signatures);

    Path methods

    • findParent: NodeLocator
    • replaceWith: Node => void
    • remove: () => void
    • insertBefore: Node => void
    • insertAfter: Node => void
    • stop: () => void

    AST utils

    • function module(id, fields, metadata)
    • function moduleMetadata(sections, functionNames, localNames)
    • function moduleNameMetadata(value)
    • function functionNameMetadata(value, index)
    • function localNameMetadata(value, localIndex, functionIndex)
    • function binaryModule(id, blob)
    • function quoteModule(id, string)
    • function sectionMetadata(section, startOffset, size, vectorOfSize)
    • function loopInstruction(label, resulttype, instr)
    • function instruction(id, args, namedArgs)
    • function objectInstruction(id, object, args, namedArgs)
    • function ifInstruction(testLabel, test, result, consequent, alternate)
    • function stringLiteral(value)
    • function numberLiteralFromRaw(value, raw)
    • function longNumberLiteral(value, raw)
    • function floatLiteral(value, nan, inf, raw)
    • function elem(table, offset, funcs)
    • function indexInFuncSection(index)
    • function valtypeLiteral(name)
    • function typeInstruction(id, functype)
    • function start(index)
    • function globalType(valtype, mutability)
    • function leadingComment(value)
    • function blockComment(value)
    • function data(memoryIndex, offset, init)
    • function global(globalType, init, name)
    • function table(elementType, limits, name, elements)
    • function memory(limits, id)
    • function funcImportDescr(id, signature)
    • function moduleImport(module, name, descr)
    • function moduleExportDescr(exportType, id)
    • function moduleExport(name, descr)
    • function limit(min, max)
    • function signature(params, results)
    • function program(body)
    • function identifier(value, raw)
    • function blockInstruction(label, instr, result)
    • function callInstruction(index, instrArgs)
    • function callIndirectInstruction(signature, intrs)
    • function byteArray(values)
    • function func(name, signature, body, isExternal, metadata)
    • ConstantisModule
    • ConstantisModuleMetadata
    • ConstantisModuleNameMetadata
    • ConstantisFunctionNameMetadata
    • ConstantisLocalNameMetadata
    • ConstantisBinaryModule
    • ConstantisQuoteModule
    • ConstantisSectionMetadata
    • ConstantisLoopInstruction
    • ConstantisInstruction
    • ConstantisObjectInstruction
    • ConstantisIfInstruction
    • ConstantisStringLiteral
    • ConstantisNumberLiteral
    • ConstantisLongNumberLiteral
    • ConstantisFloatLiteral
    • ConstantisElem
    • ConstantisIndexInFuncSection
    • ConstantisValtypeLiteral
    • ConstantisTypeInstruction
    • ConstantisStart
    • ConstantisGlobalType
    • ConstantisLeadingComment
    • ConstantisBlockComment
    • ConstantisData
    • ConstantisGlobal
    • ConstantisTable
    • ConstantisMemory
    • ConstantisFuncImportDescr
    • ConstantisModuleImport
    • ConstantisModuleExportDescr
    • ConstantisModuleExport
    • ConstantisLimit
    • ConstantisSignature
    • ConstantisProgram
    • ConstantisIdentifier
    • ConstantisBlockInstruction
    • ConstantisCallInstruction
    • ConstantisCallIndirectInstruction
    • ConstantisByteArray
    • ConstantisFunc
    • ConstantassertModule
    • ConstantassertModuleMetadata
    • ConstantassertModuleNameMetadata
    • ConstantassertFunctionNameMetadata
    • ConstantassertLocalNameMetadata
    • ConstantassertBinaryModule
    • ConstantassertQuoteModule
    • ConstantassertSectionMetadata
    • ConstantassertLoopInstruction
    • ConstantassertInstruction
    • ConstantassertObjectInstruction
    • ConstantassertIfInstruction
    • ConstantassertStringLiteral
    • ConstantassertNumberLiteral
    • ConstantassertLongNumberLiteral
    • ConstantassertFloatLiteral
    • ConstantassertElem
    • ConstantassertIndexInFuncSection
    • ConstantassertValtypeLiteral
    • ConstantassertTypeInstruction
    • ConstantassertStart
    • ConstantassertGlobalType
    • ConstantassertLeadingComment
    • ConstantassertBlockComment
    • ConstantassertData
    • ConstantassertGlobal
    • ConstantassertTable
    • ConstantassertMemory
    • ConstantassertFuncImportDescr
    • ConstantassertModuleImport
    • ConstantassertModuleExportDescr
    • ConstantassertModuleExport
    • ConstantassertLimit
    • ConstantassertSignature
    • ConstantassertProgram
    • ConstantassertIdentifier
    • ConstantassertBlockInstruction
    • ConstantassertCallInstruction
    • ConstantassertCallIndirectInstruction
    • ConstantassertByteArray
    • ConstantassertFunc

    Install

    npm i @webassemblyjs/ast

    DownloadsWeekly Downloads

    13,387,863

    Version

    1.11.0

    License

    MIT

    Unpacked Size

    201 kB

    Total Files

    36

    Last publish

    Collaborators

    • avatar