Binaryen.TS
    Preparing search index...

    Class Module

    A WASM module.

    Module itself is:

    Each instance of Module:

    Index

    Debugging

    • Adds a debug info file name to the module and returns its index.

      Parameters

      • filename: string

      Returns number

    • Gets the name of the debug info file at the specified index.

      Parameters

      • index: number

      Returns string

    • Sets the debug location of the specified ExpressionRef within the specified FunctionRef.

      Parameters

      • func: number
      • expr: number
      • fileIndex: number
      • lineNumber: number
      • columnNumber: number

      Returns void

    Emission & Execution

    • Releases the resources held by the module once it isn’t needed anymore.

      Returns void

    • Returns the module in binary format.

      Returns Uint8Array

    • Returns the module in binary format with a given source map.

      Parameters

      • sourceMapUrl: string

      Returns { binary: Uint8Array; sourceMap: string }

    • Returns the module in Binaryen’s s-expression text format (not official stack-style text format).

      Returns string

    Expression Manipulation

    wasm: {
        array: {
            copy: (
                destRef: number,
                destIndex: number,
                srcRef: number,
                srcIndex: number,
                length: number,
            ) => number;
            fill: (ref: number, index: number, value: number, size: number) => number;
            get: (
                ref: number,
                index: number,
                type: number,
                deprecated_isSigned?: boolean,
            ) => number;
            get_s: (ref: number, index: number, type: number) => number;
            get_u: (ref: number, index: number, type: number) => number;
            init_data: (
                name: string,
                ref: number,
                index: number,
                offset: number,
                size: number,
            ) => number;
            init_elem: (
                name: string,
                ref: number,
                index: number,
                offset: number,
                size: number,
            ) => number;
            len: (ref: number) => number;
            new: (heapType: number, size: number, operand: number) => number;
            new_data: (
                heapType: number,
                name: string,
                offset: number,
                size: number,
            ) => number;
            new_default: (heapType: number, size: number) => number;
            new_elem: (
                heapType: number,
                name: string,
                offset: number,
                size: number,
            ) => number;
            new_fixed: (heapType: number, operands: readonly number[]) => number;
            set: (ref: number, index: number, value: number) => number;
        };
        atomic: { fence: () => number };
        block: (
            name: string | null,
            children: readonly number[],
            resultType?: number,
        ) => number;
        br: (label: string, condition?: number, value?: number) => number;
        br_if: (label: string, condition: number, value?: number) => number;
        br_on_cast: (label: string, value: number, castType: number) => number;
        br_on_cast_fail: (label: string, value: number, castType: number) => number;
        br_on_non_null: (label: string, value: number) => number;
        br_on_null: (label: string, value: number) => number;
        br_table: (
            labels: readonly string[],
            defaultLabel: string,
            condition: number,
            value?: number,
        ) => number;
        call: (
            name: string,
            operands: readonly number[],
            resultsType: number,
        ) => number;
        call_indirect: (
            table: string,
            target: number,
            operands: readonly number[],
            paramsType: number,
            resultsType: number,
        ) => number;
        call_ref: (
            target: number,
            operands: readonly number[],
            resultsType: number,
        ) => number;
        data: { drop: (segment: string) => number };
        drop: (value: number) => number;
        f32: {
            abs: (value: number) => number;
            add: (left: number, right: number) => number;
            ceil: (value: number) => number;
            const: (value: number) => number;
            const_bits: (value: number) => number;
            convert_i32_s: (value: number) => number;
            convert_i32_u: (value: number) => number;
            convert_i64_s: (value: number) => number;
            convert_i64_u: (value: number) => number;
            convert_s: {
                i32: (...args: any[]) => number;
                i64: (...args: any[]) => number;
            };
            convert_u: {
                i32: (...args: any[]) => number;
                i64: (...args: any[]) => number;
            };
            copysign: (left: number, right: number) => number;
            demote_f64: (value: number) => number;
            div: (left: number, right: number) => number;
            eq: (left: number, right: number) => number;
            floor: (value: number) => number;
            ge: (left: number, right: number) => number;
            gt: (left: number, right: number) => number;
            le: (left: number, right: number) => number;
            load: (
                offset: number,
                align: number,
                ptr: number,
                name?: string,
            ) => number;
            lt: (left: number, right: number) => number;
            max: (left: number, right: number) => number;
            min: (left: number, right: number) => number;
            mul: (left: number, right: number) => number;
            ne: (left: number, right: number) => number;
            nearest: (value: number) => number;
            neg: (value: number) => number;
            reinterpret_i32: (value: number) => number;
            sqrt: (value: number) => number;
            store: (
                offset: number,
                align: number,
                ptr: number,
                value: number,
                name?: string,
            ) => number;
            sub: (left: number, right: number) => number;
            trunc: (value: number) => number;
            demote(...args: any[]): number;
            reinterpret(...args: any[]): number;
        };
        f32x4: {
            abs: (value: number) => number;
            add: (left: number, right: number) => number;
            ceil: (value: number) => number;
            convert_i32x4_s: (value: number) => number;
            convert_i32x4_u: (value: number) => number;
            demote_f64x2_zero: (value: number) => number;
            div: (left: number, right: number) => number;
            eq: (left: number, right: number) => number;
            extract_lane: (vec: number, index: number) => number;
            floor: (value: number) => number;
            ge: (left: number, right: number) => number;
            gt: (left: number, right: number) => number;
            le: (left: number, right: number) => number;
            lt: (left: number, right: number) => number;
            max: (left: number, right: number) => number;
            min: (left: number, right: number) => number;
            mul: (left: number, right: number) => number;
            ne: (left: number, right: number) => number;
            nearest: (value: number) => number;
            neg: (value: number) => number;
            pmax: (left: number, right: number) => number;
            pmin: (left: number, right: number) => number;
            replace_lane: (vec: number, index: number, value: number) => number;
            splat: (value: number) => number;
            sqrt: (value: number) => number;
            sub: (left: number, right: number) => number;
            trunc: (value: number) => number;
        };
        f64: {
            abs: (value: number) => number;
            add: (left: number, right: number) => number;
            ceil: (value: number) => number;
            const: (value: number) => number;
            const_bits: (value: number | bigint) => number;
            convert_i32_s: (value: number) => number;
            convert_i32_u: (value: number) => number;
            convert_i64_s: (value: number) => number;
            convert_i64_u: (value: number) => number;
            convert_s: {
                i32: (...args: any[]) => number;
                i64: (...args: any[]) => number;
            };
            convert_u: {
                i32: (...args: any[]) => number;
                i64: (...args: any[]) => number;
            };
            copysign: (left: number, right: number) => number;
            div: (left: number, right: number) => number;
            eq: (left: number, right: number) => number;
            floor: (value: number) => number;
            ge: (left: number, right: number) => number;
            gt: (left: number, right: number) => number;
            le: (left: number, right: number) => number;
            load: (
                offset: number,
                align: number,
                ptr: number,
                name?: string,
            ) => number;
            lt: (left: number, right: number) => number;
            max: (left: number, right: number) => number;
            min: (left: number, right: number) => number;
            mul: (left: number, right: number) => number;
            ne: (left: number, right: number) => number;
            nearest: (value: number) => number;
            neg: (value: number) => number;
            promote_f32: (value: number) => number;
            reinterpret_f64: (value: number) => number;
            sqrt: (value: number) => number;
            store: (
                offset: number,
                align: number,
                ptr: number,
                value: number,
                name?: string,
            ) => number;
            sub: (left: number, right: number) => number;
            trunc: (value: number) => number;
            promote(...args: any[]): number;
            reinterpret(...args: any[]): any;
        };
        f64x2: {
            abs: (value: number) => number;
            add: (left: number, right: number) => number;
            ceil: (value: number) => number;
            convert_low_i32x4_s: (value: number) => number;
            convert_low_i32x4_u: (value: number) => number;
            div: (left: number, right: number) => number;
            eq: (left: number, right: number) => number;
            extract_lane: (vec: number, index: number) => number;
            floor: (value: number) => number;
            ge: (left: number, right: number) => number;
            gt: (left: number, right: number) => number;
            le: (left: number, right: number) => number;
            lt: (left: number, right: number) => number;
            max: (left: number, right: number) => number;
            min: (left: number, right: number) => number;
            mul: (left: number, right: number) => number;
            ne: (left: number, right: number) => number;
            nearest: (value: number) => number;
            neg: (value: number) => number;
            pmax: (left: number, right: number) => number;
            pmin: (left: number, right: number) => number;
            promote_low_f32x4: (value: number) => number;
            replace_lane: (vec: number, index: number, value: number) => number;
            splat: (value: number) => number;
            sqrt: (value: number) => number;
            sub: (left: number, right: number) => number;
            trunc: (value: number) => number;
        };
        global: {
            get: (name: string, typ: number) => number;
            set: (name: string, value: number) => number;
        };
        i16x8: {
            abs: (value: number) => number;
            add: (left: number, right: number) => number;
            add_sat_s: (left: number, right: number) => number;
            add_sat_u: (left: number, right: number) => number;
            all_true: (value: number) => number;
            avgr_u: (left: number, right: number) => number;
            bitmask: (value: number) => number;
            eq: (left: number, right: number) => number;
            extadd_pairwise_i8x16_s: (value: number) => number;
            extadd_pairwise_i8x16_u: (value: number) => number;
            extend_high_i8x16_s: (value: number) => number;
            extend_high_i8x16_u: (value: number) => number;
            extend_low_i8x16_s: (value: number) => number;
            extend_low_i8x16_u: (value: number) => number;
            extmul_high_i8x16_s: (left: number, right: number) => number;
            extmul_high_i8x16_u: (left: number, right: number) => number;
            extmul_low_i8x16_s: (left: number, right: number) => number;
            extmul_low_i8x16_u: (left: number, right: number) => number;
            extract_lane_s: (vec: number, index: number) => number;
            extract_lane_u: (vec: number, index: number) => number;
            ge_s: (left: number, right: number) => number;
            ge_u: (left: number, right: number) => number;
            gt_s: (left: number, right: number) => number;
            gt_u: (left: number, right: number) => number;
            le_s: (left: number, right: number) => number;
            le_u: (left: number, right: number) => number;
            lt_s: (left: number, right: number) => number;
            lt_u: (left: number, right: number) => number;
            max_s: (left: number, right: number) => number;
            max_u: (left: number, right: number) => number;
            min_s: (left: number, right: number) => number;
            min_u: (left: number, right: number) => number;
            mul: (left: number, right: number) => number;
            narrow_i32x4_s: (left: number, right: number) => number;
            narrow_i32x4_u: (left: number, right: number) => number;
            ne: (left: number, right: number) => number;
            neg: (value: number) => number;
            q15mulr_sat_s: (left: number, right: number) => number;
            replace_lane: (vec: number, index: number, value: number) => number;
            shl: (vec: number, shift: number) => number;
            shr_s: (vec: number, shift: number) => number;
            shr_u: (vec: number, shift: number) => number;
            splat: (value: number) => number;
            sub: (left: number, right: number) => number;
            sub_sat_s: (left: number, right: number) => number;
            sub_sat_u: (left: number, right: number) => number;
            add_saturate_s(...args: any[]): number;
            add_saturate_u(...args: any[]): number;
            sub_saturate_s(...args: any[]): number;
            sub_saturate_u(...args: any[]): number;
        };
        i31: { get_s: (value: number) => number; get_u: (value: number) => number };
        i32: {
            add: (left: number, right: number) => number;
            and: (left: number, right: number) => number;
            atomic: {
                load: (
                    offset: number,
                    ptr: number,
                    name?: string,
                    order?: MemoryOrder,
                ) => number;
                load16_u: (
                    offset: number,
                    ptr: number,
                    name?: string,
                    order?: MemoryOrder,
                ) => number;
                load8_u: (
                    offset: number,
                    ptr: number,
                    name?: string,
                    order?: MemoryOrder,
                ) => number;
                rmw: {
                    add: (
                        offset: number,
                        ptr: number,
                        value: number,
                        name?: string,
                        order?: MemoryOrder,
                    ) => number;
                    and: (
                        offset: number,
                        ptr: number,
                        value: number,
                        name?: string,
                        order?: MemoryOrder,
                    ) => number;
                    cmpxchg: (
                        offset: number,
                        ptr: number,
                        expected: number,
                        replacement: number,
                        name?: string,
                        order?: MemoryOrder,
                    ) => number;
                    or: (
                        offset: number,
                        ptr: number,
                        value: number,
                        name?: string,
                        order?: MemoryOrder,
                    ) => number;
                    sub: (
                        offset: number,
                        ptr: number,
                        value: number,
                        name?: string,
                        order?: MemoryOrder,
                    ) => number;
                    xchg: (
                        offset: number,
                        ptr: number,
                        value: number,
                        name?: string,
                        order?: MemoryOrder,
                    ) => number;
                    xor: (
                        offset: number,
                        ptr: number,
                        value: number,
                        name?: string,
                        order?: MemoryOrder,
                    ) => number;
                };
                rmw16_u: {
                    add: (
                        offset: number,
                        ptr: number,
                        value: number,
                        name?: string,
                        order?: MemoryOrder,
                    ) => number;
                    and: (
                        offset: number,
                        ptr: number,
                        value: number,
                        name?: string,
                        order?: MemoryOrder,
                    ) => number;
                    cmpxchg: (
                        offset: number,
                        ptr: number,
                        expected: number,
                        replacement: number,
                        name?: string,
                        order?: MemoryOrder,
                    ) => number;
                    or: (
                        offset: number,
                        ptr: number,
                        value: number,
                        name?: string,
                        order?: MemoryOrder,
                    ) => number;
                    sub: (
                        offset: number,
                        ptr: number,
                        value: number,
                        name?: string,
                        order?: MemoryOrder,
                    ) => number;
                    xchg: (
                        offset: number,
                        ptr: number,
                        value: number,
                        name?: string,
                        order?: MemoryOrder,
                    ) => number;
                    xor: (
                        offset: number,
                        ptr: number,
                        value: number,
                        name?: string,
                        order?: MemoryOrder,
                    ) => number;
                };
                rmw8_u: {
                    add: (
                        offset: number,
                        ptr: number,
                        value: number,
                        name?: string,
                        order?: MemoryOrder,
                    ) => number;
                    and: (
                        offset: number,
                        ptr: number,
                        value: number,
                        name?: string,
                        order?: MemoryOrder,
                    ) => number;
                    cmpxchg: (
                        offset: number,
                        ptr: number,
                        expected: number,
                        replacement: number,
                        name?: string,
                        order?: MemoryOrder,
                    ) => number;
                    or: (
                        offset: number,
                        ptr: number,
                        value: number,
                        name?: string,
                        order?: MemoryOrder,
                    ) => number;
                    sub: (
                        offset: number,
                        ptr: number,
                        value: number,
                        name?: string,
                        order?: MemoryOrder,
                    ) => number;
                    xchg: (
                        offset: number,
                        ptr: number,
                        value: number,
                        name?: string,
                        order?: MemoryOrder,
                    ) => number;
                    xor: (
                        offset: number,
                        ptr: number,
                        value: number,
                        name?: string,
                        order?: MemoryOrder,
                    ) => number;
                };
                store: (
                    offset: number,
                    ptr: number,
                    value: number,
                    name?: string,
                    order?: MemoryOrder,
                ) => number;
                store16: (
                    offset: number,
                    ptr: number,
                    value: number,
                    name?: string,
                    order?: MemoryOrder,
                ) => number;
                store8: (
                    offset: number,
                    ptr: number,
                    value: number,
                    name?: string,
                    order?: MemoryOrder,
                ) => number;
            };
            clz: (value: number) => number;
            const: (value: number) => number;
            ctz: (value: number) => number;
            div_s: (left: number, right: number) => number;
            div_u: (left: number, right: number) => number;
            eq: (left: number, right: number) => number;
            eqz: (value: number) => number;
            extend16_s: (value: number) => number;
            extend8_s: (value: number) => number;
            ge_s: (left: number, right: number) => number;
            ge_u: (left: number, right: number) => number;
            gt_s: (left: number, right: number) => number;
            gt_u: (left: number, right: number) => number;
            le_s: (left: number, right: number) => number;
            le_u: (left: number, right: number) => number;
            load: (
                offset: number,
                align: number,
                ptr: number,
                name?: string,
            ) => number;
            load16_s: (
                offset: number,
                align: number,
                ptr: number,
                name?: string,
            ) => number;
            load16_u: (
                offset: number,
                align: number,
                ptr: number,
                name?: string,
            ) => number;
            load8_s: (
                offset: number,
                align: number,
                ptr: number,
                name?: string,
            ) => number;
            load8_u: (
                offset: number,
                align: number,
                ptr: number,
                name?: string,
            ) => number;
            lt_s: (left: number, right: number) => number;
            lt_u: (left: number, right: number) => number;
            mul: (left: number, right: number) => number;
            ne: (left: number, right: number) => number;
            or: (left: number, right: number) => number;
            popcnt: (value: number) => number;
            reinterpret_f32: (value: number) => number;
            rem_s: (left: number, right: number) => number;
            rem_u: (left: number, right: number) => number;
            rotl: (left: number, right: number) => number;
            rotr: (left: number, right: number) => number;
            shl: (left: number, right: number) => number;
            shr_s: (left: number, right: number) => number;
            shr_u: (left: number, right: number) => number;
            store: (
                offset: number,
                align: number,
                ptr: number,
                value: number,
                name?: string,
            ) => number;
            store16: (
                offset: number,
                align: number,
                ptr: number,
                value: number,
                name?: string,
            ) => number;
            store8: (
                offset: number,
                align: number,
                ptr: number,
                value: number,
                name?: string,
            ) => number;
            sub: (left: number, right: number) => number;
            trunc_f32_s: (value: number) => number;
            trunc_f32_u: (value: number) => number;
            trunc_f64_s: (value: number) => number;
            trunc_f64_u: (value: number) => number;
            trunc_s: {
                f32: (...args: any[]) => number;
                f64: (...args: any[]) => number;
            };
            trunc_s_sat: {
                f32: (...args: any[]) => number;
                f64: (...args: any[]) => number;
            };
            trunc_sat_f32_s: (value: number) => number;
            trunc_sat_f32_u: (value: number) => number;
            trunc_sat_f64_s: (value: number) => number;
            trunc_sat_f64_u: (value: number) => number;
            trunc_u: {
                f32: (...args: any[]) => number;
                f64: (...args: any[]) => number;
            };
            trunc_u_sat: {
                f32: (...args: any[]) => number;
                f64: (...args: any[]) => number;
            };
            wrap_i64: (value: number) => number;
            xor: (left: number, right: number) => number;
            reinterpret(...args: any[]): number;
            wrap(...args: any[]): number;
        };
        i32x4: {
            abs: (value: number) => number;
            add: (left: number, right: number) => number;
            all_true: (value: number) => number;
            bitmask: (value: number) => number;
            dot_i16x8_s: (left: number, right: number) => number;
            eq: (left: number, right: number) => number;
            extadd_pairwise_i16x8_s: (value: number) => number;
            extadd_pairwise_i16x8_u: (value: number) => number;
            extend_high_i16x8_s: (value: number) => number;
            extend_high_i16x8_u: (value: number) => number;
            extend_low_i16x8_s: (value: number) => number;
            extend_low_i16x8_u: (value: number) => number;
            extmul_high_i16x8_s: (left: number, right: number) => number;
            extmul_high_i16x8_u: (left: number, right: number) => number;
            extmul_low_i16x8_s: (left: number, right: number) => number;
            extmul_low_i16x8_u: (left: number, right: number) => number;
            extract_lane: (vec: number, index: number) => number;
            ge_s: (left: number, right: number) => number;
            ge_u: (left: number, right: number) => number;
            gt_s: (left: number, right: number) => number;
            gt_u: (left: number, right: number) => number;
            le_s: (left: number, right: number) => number;
            le_u: (left: number, right: number) => number;
            lt_s: (left: number, right: number) => number;
            lt_u: (left: number, right: number) => number;
            max_s: (left: number, right: number) => number;
            max_u: (left: number, right: number) => number;
            min_s: (left: number, right: number) => number;
            min_u: (left: number, right: number) => number;
            mul: (left: number, right: number) => number;
            ne: (left: number, right: number) => number;
            neg: (value: number) => number;
            replace_lane: (vec: number, index: number, value: number) => number;
            shl: (vec: number, shift: number) => number;
            shr_s: (vec: number, shift: number) => number;
            shr_u: (vec: number, shift: number) => number;
            splat: (value: number) => number;
            sub: (left: number, right: number) => number;
            trunc_sat_f32x4_s: (value: number) => number;
            trunc_sat_f32x4_u: (value: number) => number;
            trunc_sat_f64x2_s_zero: (value: number) => number;
            trunc_sat_f64x2_u_zero: (value: number) => number;
        };
        i64: {
            add: (left: number, right: number) => number;
            add128: (
                leftLow: number,
                leftHigh: number,
                rightLow: number,
                rightHigh: number,
            ) => number;
            and: (left: number, right: number) => number;
            atomic: {
                load: (
                    offset: number,
                    ptr: number,
                    name?: string,
                    order?: MemoryOrder,
                ) => number;
                load16_u: (
                    offset: number,
                    ptr: number,
                    name?: string,
                    order?: MemoryOrder,
                ) => number;
                load32_u: (
                    offset: number,
                    ptr: number,
                    name?: string,
                    order?: MemoryOrder,
                ) => number;
                load8_u: (
                    offset: number,
                    ptr: number,
                    name?: string,
                    order?: MemoryOrder,
                ) => number;
                rmw: {
                    add: (
                        offset: number,
                        ptr: number,
                        value: number,
                        name?: string,
                        order?: MemoryOrder,
                    ) => number;
                    and: (
                        offset: number,
                        ptr: number,
                        value: number,
                        name?: string,
                        order?: MemoryOrder,
                    ) => number;
                    cmpxchg: (
                        offset: number,
                        ptr: number,
                        expected: number,
                        replacement: number,
                        name?: string,
                        order?: MemoryOrder,
                    ) => number;
                    or: (
                        offset: number,
                        ptr: number,
                        value: number,
                        name?: string,
                        order?: MemoryOrder,
                    ) => number;
                    sub: (
                        offset: number,
                        ptr: number,
                        value: number,
                        name?: string,
                        order?: MemoryOrder,
                    ) => number;
                    xchg: (
                        offset: number,
                        ptr: number,
                        value: number,
                        name?: string,
                        order?: MemoryOrder,
                    ) => number;
                    xor: (
                        offset: number,
                        ptr: number,
                        value: number,
                        name?: string,
                        order?: MemoryOrder,
                    ) => number;
                };
                rmw16_u: {
                    add: (
                        offset: number,
                        ptr: number,
                        value: number,
                        name?: string,
                        order?: MemoryOrder,
                    ) => number;
                    and: (
                        offset: number,
                        ptr: number,
                        value: number,
                        name?: string,
                        order?: MemoryOrder,
                    ) => number;
                    cmpxchg: (
                        offset: number,
                        ptr: number,
                        expected: number,
                        replacement: number,
                        name?: string,
                        order?: MemoryOrder,
                    ) => number;
                    or: (
                        offset: number,
                        ptr: number,
                        value: number,
                        name?: string,
                        order?: MemoryOrder,
                    ) => number;
                    sub: (
                        offset: number,
                        ptr: number,
                        value: number,
                        name?: string,
                        order?: MemoryOrder,
                    ) => number;
                    xchg: (
                        offset: number,
                        ptr: number,
                        value: number,
                        name?: string,
                        order?: MemoryOrder,
                    ) => number;
                    xor: (
                        offset: number,
                        ptr: number,
                        value: number,
                        name?: string,
                        order?: MemoryOrder,
                    ) => number;
                };
                rmw32_u: {
                    add: (
                        offset: number,
                        ptr: number,
                        value: number,
                        name?: string,
                        order?: MemoryOrder,
                    ) => number;
                    and: (
                        offset: number,
                        ptr: number,
                        value: number,
                        name?: string,
                        order?: MemoryOrder,
                    ) => number;
                    cmpxchg: (
                        offset: number,
                        ptr: number,
                        expected: number,
                        replacement: number,
                        name?: string,
                        order?: MemoryOrder,
                    ) => number;
                    or: (
                        offset: number,
                        ptr: number,
                        value: number,
                        name?: string,
                        order?: MemoryOrder,
                    ) => number;
                    sub: (
                        offset: number,
                        ptr: number,
                        value: number,
                        name?: string,
                        order?: MemoryOrder,
                    ) => number;
                    xchg: (
                        offset: number,
                        ptr: number,
                        value: number,
                        name?: string,
                        order?: MemoryOrder,
                    ) => number;
                    xor: (
                        offset: number,
                        ptr: number,
                        value: number,
                        name?: string,
                        order?: MemoryOrder,
                    ) => number;
                };
                rmw8_u: {
                    add: (
                        offset: number,
                        ptr: number,
                        value: number,
                        name?: string,
                        order?: MemoryOrder,
                    ) => number;
                    and: (
                        offset: number,
                        ptr: number,
                        value: number,
                        name?: string,
                        order?: MemoryOrder,
                    ) => number;
                    cmpxchg: (
                        offset: number,
                        ptr: number,
                        expected: number,
                        replacement: number,
                        name?: string,
                        order?: MemoryOrder,
                    ) => number;
                    or: (
                        offset: number,
                        ptr: number,
                        value: number,
                        name?: string,
                        order?: MemoryOrder,
                    ) => number;
                    sub: (
                        offset: number,
                        ptr: number,
                        value: number,
                        name?: string,
                        order?: MemoryOrder,
                    ) => number;
                    xchg: (
                        offset: number,
                        ptr: number,
                        value: number,
                        name?: string,
                        order?: MemoryOrder,
                    ) => number;
                    xor: (
                        offset: number,
                        ptr: number,
                        value: number,
                        name?: string,
                        order?: MemoryOrder,
                    ) => number;
                };
                store: (
                    offset: number,
                    ptr: number,
                    value: number,
                    name?: string,
                    order?: MemoryOrder,
                ) => number;
                store16: (
                    offset: number,
                    ptr: number,
                    value: number,
                    name?: string,
                    order?: MemoryOrder,
                ) => number;
                store32: (
                    offset: number,
                    ptr: number,
                    value: number,
                    name?: string,
                    order?: MemoryOrder,
                ) => number;
                store8: (
                    offset: number,
                    ptr: number,
                    value: number,
                    name?: string,
                    order?: MemoryOrder,
                ) => number;
            };
            clz: (value: number) => number;
            const: (value: number | bigint) => number;
            ctz: (value: number) => number;
            div_s: (left: number, right: number) => number;
            div_u: (left: number, right: number) => number;
            eq: (left: number, right: number) => number;
            eqz: (value: number) => number;
            extend_i32_s: (value: number) => number;
            extend_i32_u: (value: number) => number;
            extend16_s: (value: number) => number;
            extend32_s: (value: number) => number;
            extend8_s: (value: number) => number;
            ge_s: (left: number, right: number) => number;
            ge_u: (left: number, right: number) => number;
            gt_s: (left: number, right: number) => number;
            gt_u: (left: number, right: number) => number;
            le_s: (left: number, right: number) => number;
            le_u: (left: number, right: number) => number;
            load: (
                offset: number,
                align: number,
                ptr: number,
                name?: string,
            ) => number;
            load16_s: (
                offset: number,
                align: number,
                ptr: number,
                name?: string,
            ) => number;
            load16_u: (
                offset: number,
                align: number,
                ptr: number,
                name?: string,
            ) => number;
            load32_s: (
                offset: number,
                align: number,
                ptr: number,
                name?: string,
            ) => number;
            load32_u: (
                offset: number,
                align: number,
                ptr: number,
                name?: string,
            ) => number;
            load8_s: (
                offset: number,
                align: number,
                ptr: number,
                name?: string,
            ) => number;
            load8_u: (
                offset: number,
                align: number,
                ptr: number,
                name?: string,
            ) => number;
            lt_s: (left: number, right: number) => number;
            lt_u: (left: number, right: number) => number;
            mul: (left: number, right: number) => number;
            mul_wide_s: (left: number, right: number) => number;
            mul_wide_u: (left: number, right: number) => number;
            ne: (left: number, right: number) => number;
            or: (left: number, right: number) => number;
            popcnt: (value: number) => number;
            reinterpret_f64: (value: number) => number;
            rem_s: (left: number, right: number) => number;
            rem_u: (left: number, right: number) => number;
            rotl: (left: number, right: number) => number;
            rotr: (left: number, right: number) => number;
            shl: (left: number, right: number) => number;
            shr_s: (left: number, right: number) => number;
            shr_u: (left: number, right: number) => number;
            store: (
                offset: number,
                align: number,
                ptr: number,
                value: number,
                name?: string,
            ) => number;
            store16: (
                offset: number,
                align: number,
                ptr: number,
                value: number,
                name?: string,
            ) => number;
            store32: (
                offset: number,
                align: number,
                ptr: number,
                value: number,
                name?: string,
            ) => number;
            store8: (
                offset: number,
                align: number,
                ptr: number,
                value: number,
                name?: string,
            ) => number;
            sub: (left: number, right: number) => number;
            sub128: (
                leftLow: number,
                leftHigh: number,
                rightLow: number,
                rightHigh: number,
            ) => number;
            trunc_f32_s: (value: number) => number;
            trunc_f32_u: (value: number) => number;
            trunc_f64_s: (value: number) => number;
            trunc_f64_u: (value: number) => number;
            trunc_s: {
                f32: (...args: any[]) => number;
                f64: (...args: any[]) => number;
            };
            trunc_s_sat: {
                f32: (...args: any[]) => number;
                f64: (...args: any[]) => number;
            };
            trunc_sat_f32_s: (value: number) => number;
            trunc_sat_f32_u: (value: number) => number;
            trunc_sat_f64_s: (value: number) => number;
            trunc_sat_f64_u: (value: number) => number;
            trunc_u: {
                f32: (...args: any[]) => number;
                f64: (...args: any[]) => number;
            };
            trunc_u_sat: {
                f32: (...args: any[]) => number;
                f64: (...args: any[]) => number;
            };
            xor: (left: number, right: number) => number;
            extend_s(...args: any[]): number;
            extend_u(...args: any[]): number;
            reinterpret(...args: any[]): number;
        };
        i64x2: {
            abs: (value: number) => number;
            add: (left: number, right: number) => number;
            all_true: (value: number) => number;
            bitmask: (value: number) => number;
            eq: (left: number, right: number) => number;
            extend_high_i32x4_s: (value: number) => number;
            extend_high_i32x4_u: (value: number) => number;
            extend_low_i32x4_s: (value: number) => number;
            extend_low_i32x4_u: (value: number) => number;
            extmul_high_i32x4_s: (left: number, right: number) => number;
            extmul_high_i32x4_u: (left: number, right: number) => number;
            extmul_low_i32x4_s: (left: number, right: number) => number;
            extmul_low_i32x4_u: (left: number, right: number) => number;
            extract_lane: (vec: number, index: number) => number;
            ge_s: (left: number, right: number) => number;
            gt_s: (left: number, right: number) => number;
            le_s: (left: number, right: number) => number;
            lt_s: (left: number, right: number) => number;
            mul: (left: number, right: number) => number;
            ne: (left: number, right: number) => number;
            neg: (value: number) => number;
            replace_lane: (vec: number, index: number, value: number) => number;
            shl: (vec: number, shift: number) => number;
            shr_s: (vec: number, shift: number) => number;
            shr_u: (vec: number, shift: number) => number;
            splat: (value: number) => number;
            sub: (left: number, right: number) => number;
        };
        i8x16: {
            abs: (value: number) => number;
            add: (left: number, right: number) => number;
            add_sat_s: (left: number, right: number) => number;
            add_sat_u: (left: number, right: number) => number;
            all_true: (value: number) => number;
            avgr_u: (left: number, right: number) => number;
            bitmask: (value: number) => number;
            eq: (left: number, right: number) => number;
            extract_lane_s: (vec: number, index: number) => number;
            extract_lane_u: (vec: number, index: number) => number;
            ge_s: (left: number, right: number) => number;
            ge_u: (left: number, right: number) => number;
            gt_s: (left: number, right: number) => number;
            gt_u: (left: number, right: number) => number;
            le_s: (left: number, right: number) => number;
            le_u: (left: number, right: number) => number;
            lt_s: (left: number, right: number) => number;
            lt_u: (left: number, right: number) => number;
            max_s: (left: number, right: number) => number;
            max_u: (left: number, right: number) => number;
            min_s: (left: number, right: number) => number;
            min_u: (left: number, right: number) => number;
            narrow_i16x8_s: (left: number, right: number) => number;
            narrow_i16x8_u: (left: number, right: number) => number;
            ne: (left: number, right: number) => number;
            neg: (value: number) => number;
            popcnt: (value: number) => number;
            replace_lane: (vec: number, index: number, value: number) => number;
            shl: (vec: number, shift: number) => number;
            shr_s: (vec: number, shift: number) => number;
            shr_u: (vec: number, shift: number) => number;
            shuffle: (left: number, right: number, mask: readonly number[]) => number;
            splat: (value: number) => number;
            sub: (left: number, right: number) => number;
            sub_sat_s: (left: number, right: number) => number;
            sub_sat_u: (left: number, right: number) => number;
            swizzle: (left: number, right: number) => number;
            add_saturate_s(...args: any[]): number;
            add_saturate_u(...args: any[]): number;
            sub_saturate_s(...args: any[]): number;
            sub_saturate_u(...args: any[]): number;
        };
        if: (ifTrue: number, ifFalse: number) => number;
        local: {
            get: (index: number, typ: number) => number;
            set: (index: number, value: number) => number;
            tee: (index: number, value: number, typ: number) => number;
        };
        loop: (name: string, body: number) => number;
        memory: {
            atomic: {
                notify: (ptr: number, notifyCount: number, name: string) => number;
                wait32: (
                    ptr: number,
                    expected: number,
                    timeout: number,
                    name: string,
                ) => number;
                wait64: (
                    ptr: number,
                    expected: number,
                    timeout: number,
                    name: string,
                ) => number;
            };
            copy: (
                dest: number,
                source: number,
                size: number,
                destMemory: string,
                sourceMemory: string,
            ) => number;
            fill: (dest: number, value: number, size: number, name: string) => number;
            grow: (delta: number, name: string, memory64?: boolean) => number;
            init: (
                segment: string,
                dest: number,
                offset: number,
                size: number,
                name: string,
            ) => number;
            size: (name: string, memory64?: boolean) => number;
        };
        nop: () => number;
        ref: {
            as_non_null: (value: number) => number;
            cast: (value: number, castType: number) => number;
            eq: (left: number, right: number) => number;
            func: (name: string, type: number) => number;
            i31: (value: number) => number;
            is_null: (value: number) => number;
            null: (typ: number) => number;
            test: (value: number, castType: number) => number;
        };
        return: (value: number) => number;
        return_call: (
            name: string,
            operands: readonly number[],
            resultsType: number,
        ) => number;
        return_call_indirect: (
            table: string,
            target: number,
            operands: readonly number[],
            paramsType: number,
            resultsType: number,
        ) => number;
        return_call_ref: (
            target: number,
            operands: readonly number[],
            resultsType: number,
        ) => number;
        select: (ifTrue: number, ifFalse: number) => number;
        struct: {
            get: (
                index: number,
                ref: number,
                type: number,
                deprecated_isSigned?: boolean,
            ) => number;
            get_s: (index: number, ref: number, type: number) => number;
            get_u: (index: number, ref: number, type: number) => number;
            new: (operands: readonly number[], heapType: number) => number;
            new_default: (heapType: number) => number;
            set: (index: number, ref: number, value: number) => number;
        };
        table: {
            get: (name: string, index: number, typ: number) => number;
            grow: (name: string, value: number, delta: number) => number;
            set: (name: string, index: number, value: number) => number;
            size: (name: string) => number;
        };
        throw: (tag: string, operands: readonly number[]) => number;
        throw_ref: (target: string) => number;
        try_table: (
            name: string,
            body: number,
            catchTags: readonly string[],
            catchBodies: readonly number[],
            delegateTarget: string,
        ) => number;
        tuple: {
            extract: (tupl: number, index: number) => number;
            make: (elements: readonly number[]) => number;
        };
        unreachable: () => number;
        v128: {
            and: (left: number, right: number) => number;
            andnot: (left: number, right: number) => number;
            anytrue: (value: number) => number;
            bitselect: (left: number, right: number, cond: number) => number;
            const: (i8s: readonly number[]) => number;
            load: (
                offset: number,
                align: number,
                ptr: number,
                name?: string,
            ) => number;
            load16_lane: (
                offset: number,
                align: number,
                index: number,
                ptr: number,
                vec: number,
                name?: string,
            ) => number;
            load16_splat: (
                offset: number,
                align: number,
                ptr: number,
                name?: string,
            ) => number;
            load16x4_s: (
                offset: number,
                align: number,
                ptr: number,
                name?: string,
            ) => number;
            load16x4_u: (
                offset: number,
                align: number,
                ptr: number,
                name?: string,
            ) => number;
            load32_lane: (
                offset: number,
                align: number,
                index: number,
                ptr: number,
                vec: number,
                name?: string,
            ) => number;
            load32_splat: (
                offset: number,
                align: number,
                ptr: number,
                name?: string,
            ) => number;
            load32_zero: (
                offset: number,
                align: number,
                ptr: number,
                name?: string,
            ) => number;
            load32x2_s: (
                offset: number,
                align: number,
                ptr: number,
                name?: string,
            ) => number;
            load32x2_u: (
                offset: number,
                align: number,
                ptr: number,
                name?: string,
            ) => number;
            load64_lane: (
                offset: number,
                align: number,
                index: number,
                ptr: number,
                vec: number,
                name?: string,
            ) => number;
            load64_splat: (
                offset: number,
                align: number,
                ptr: number,
                name?: string,
            ) => number;
            load64_zero: (
                offset: number,
                align: number,
                ptr: number,
                name?: string,
            ) => number;
            load8_lane: (
                offset: number,
                align: number,
                index: number,
                ptr: number,
                vec: number,
                name?: string,
            ) => number;
            load8_splat: (
                offset: number,
                align: number,
                ptr: number,
                name?: string,
            ) => number;
            load8x8_s: (
                offset: number,
                align: number,
                ptr: number,
                name?: string,
            ) => number;
            load8x8_u: (
                offset: number,
                align: number,
                ptr: number,
                name?: string,
            ) => number;
            not: (value: number) => number;
            or: (left: number, right: number) => number;
            store: (
                offset: number,
                align: number,
                ptr: number,
                value: number,
                name?: string,
            ) => number;
            store16_lane: (
                offset: number,
                align: number,
                index: number,
                ptr: number,
                vec: number,
                name?: string,
            ) => number;
            store32_lane: (
                offset: number,
                align: number,
                index: number,
                ptr: number,
                vec: number,
                name?: string,
            ) => number;
            store64_lane: (
                offset: number,
                align: number,
                index: number,
                ptr: number,
                vec: number,
                name?: string,
            ) => number;
            store8_lane: (
                offset: number,
                align: number,
                index: number,
                ptr: number,
                vec: number,
                name?: string,
            ) => number;
            xor: (left: number, right: number) => number;
        };
        break(...args: any[]): number;
        callIndirect(...args: any[]): number;
        rethrow(...args: any[]): number;
        returnCall(...args: any[]): number;
        returnCallIndirect(...args: any[]): number;
        switch(...args: any[]): number;
        try(...args: any[]): number;
    } = ...

    This module’s WASM expression builder.

    See ExpressionBuilder for its type signature.

    N.B.: For convenience, developers may want to destructure the module to free wasm:

    const mod = new Module();
    const {wasm} = mod;
    wasm.drop(wasm.i32.add(wasm.i32.const(3), wasm.i32.const(5)));

    or to free its properties:

    const {i32, drop} = mod.wasm;
    drop(i32.add(i32.const(3), i32.const(5)));

    Type Declaration

    • Readonlyarray: {
          copy: (
              destRef: number,
              destIndex: number,
              srcRef: number,
              srcIndex: number,
              length: number,
          ) => number;
          fill: (ref: number, index: number, value: number, size: number) => number;
          get: (
              ref: number,
              index: number,
              type: number,
              deprecated_isSigned?: boolean,
          ) => number;
          get_s: (ref: number, index: number, type: number) => number;
          get_u: (ref: number, index: number, type: number) => number;
          init_data: (
              name: string,
              ref: number,
              index: number,
              offset: number,
              size: number,
          ) => number;
          init_elem: (
              name: string,
              ref: number,
              index: number,
              offset: number,
              size: number,
          ) => number;
          len: (ref: number) => number;
          new: (heapType: number, size: number, operand: number) => number;
          new_data: (
              heapType: number,
              name: string,
              offset: number,
              size: number,
          ) => number;
          new_default: (heapType: number, size: number) => number;
          new_elem: (
              heapType: number,
              name: string,
              offset: number,
              size: number,
          ) => number;
          new_fixed: (heapType: number, operands: readonly number[]) => number;
          set: (ref: number, index: number, value: number) => number;
      }
      • Readonlycopy: (
            destRef: number,
            destIndex: number,
            srcRef: number,
            srcIndex: number,
            length: number,
        ) => number

        Copies elements to a specified slice of an array from a given array.

      • Readonlyfill: (ref: number, index: number, value: number, size: number) => number

        Fills a specified slice of an array with the given value.

      • Readonlyget: (
            ref: number,
            index: number,
            type: number,
            deprecated_isSigned?: boolean,
        ) => number

        Gets an array entry with an unpacked type at an index.

        Warning: .get() no longer takes the boolean isSigned argument, and assumes an unpacked type. For packed types, use .get_s() for signed and .get_u() for unsigned.

      • Readonlyget_s: (ref: number, index: number, type: number) => number

        Gets an array entry with a signed packed type at an index.

      • Readonlyget_u: (ref: number, index: number, type: number) => number

        Gets an array entry with an unsigned packed type at an index.

      • Readonlyinit_data: (
            name: string,
            ref: number,
            index: number,
            offset: number,
            size: number,
        ) => number

        Copies elements to a specified slice of an array from a given data segment.

      • Readonlyinit_elem: (
            name: string,
            ref: number,
            index: number,
            offset: number,
            size: number,
        ) => number

        Copies elements to a specified slice of an array from a given element segment.

      • Readonlylen: (ref: number) => number

        Produces the length of an array.

      • Readonlynew: (heapType: number, size: number, operand: number) => number

        Allocates a new array and initializes it with the given operand (repeated).

      • Readonlynew_data: (heapType: number, name: string, offset: number, size: number) => number

        Allocates a new array and initializes it from a data segment.

      • Readonlynew_default: (heapType: number, size: number) => number

        Allocates a new array and initializes it with a default value (repeated).

      • Readonlynew_elem: (heapType: number, name: string, offset: number, size: number) => number

        Allocates a new array and initializes it from an element segment.

      • Readonlynew_fixed: (heapType: number, operands: readonly number[]) => number

        Allocates a new array with the given operands and a statically fixed size.

      • Readonlyset: (ref: number, index: number, value: number) => number

        Sets an array entry at an index.

    • Readonlyatomic: { fence: () => number }
    • Readonlyblock: (
          name: string | null,
          children: readonly number[],
          resultType?: number,
      ) => number

      Creates a (block).

    • Readonlybr: (label: string, condition?: number, value?: number) => number

      Creates an unconditional branch (br) to a label.

    • Readonlybr_if: (label: string, condition: number, value?: number) => number

      Creates a conditional branch (br_if) to a label.

    • Readonlybr_on_cast: (label: string, value: number, castType: number) => number

      Branches if the reference operand is successfully downcast to the given type.

    • Readonlybr_on_cast_fail: (label: string, value: number, castType: number) => number

      Branches if the reference operand fails to downcast to the given type.

    • Readonlybr_on_non_null: (label: string, value: number) => number

      Branches if the reference operand is not null.

    • Readonlybr_on_null: (label: string, value: number) => number

      Branches if the reference operand is null.

    • Readonlybr_table: (
          labels: readonly string[],
          defaultLabel: string,
          condition: number,
          value?: number,
      ) => number

      Creates a switch.

    • Readonlycall: (name: string, operands: readonly number[], resultsType: number) => number

      Creates a call to a function. Note that we must specify the return type here as we may not have created the function being called yet.

    • Readonlycall_indirect: (
          table: string,
          target: number,
          operands: readonly number[],
          paramsType: number,
          resultsType: number,
      ) => number

      Similar to call_ref, but indexes into a table to find the function to call.

    • Readonlycall_ref: (target: number, operands: readonly number[], resultsType: number) => number

      Similar to call, but takes a function reference operand instead of a name as the called value.

    • Readonlydata: { drop: (segment: string) => number }
      • Readonlydrop: (segment: string) => number

        Prevents further use of a passive data segment.

    • Readonlydrop: (value: number) => number

      Creates a (drop) of a value.

    • Readonlyf32: {
          abs: (value: number) => number;
          add: (left: number, right: number) => number;
          ceil: (value: number) => number;
          const: (value: number) => number;
          const_bits: (value: number) => number;
          convert_i32_s: (value: number) => number;
          convert_i32_u: (value: number) => number;
          convert_i64_s: (value: number) => number;
          convert_i64_u: (value: number) => number;
          convert_s: {
              i32: (...args: any[]) => number;
              i64: (...args: any[]) => number;
          };
          convert_u: {
              i32: (...args: any[]) => number;
              i64: (...args: any[]) => number;
          };
          copysign: (left: number, right: number) => number;
          demote_f64: (value: number) => number;
          div: (left: number, right: number) => number;
          eq: (left: number, right: number) => number;
          floor: (value: number) => number;
          ge: (left: number, right: number) => number;
          gt: (left: number, right: number) => number;
          le: (left: number, right: number) => number;
          load: (offset: number, align: number, ptr: number, name?: string) => number;
          lt: (left: number, right: number) => number;
          max: (left: number, right: number) => number;
          min: (left: number, right: number) => number;
          mul: (left: number, right: number) => number;
          ne: (left: number, right: number) => number;
          nearest: (value: number) => number;
          neg: (value: number) => number;
          reinterpret_i32: (value: number) => number;
          sqrt: (value: number) => number;
          store: (
              offset: number,
              align: number,
              ptr: number,
              value: number,
              name?: string,
          ) => number;
          sub: (left: number, right: number) => number;
          trunc: (value: number) => number;
          demote(...args: any[]): number;
          reinterpret(...args: any[]): number;
      }
      • Readonlyabs: (value: number) => number
      • Readonlyadd: (left: number, right: number) => number
      • Readonlyceil: (value: number) => number
      • Readonlyconst: (value: number) => number

        Return a static constant f32.

      • Readonlyconst_bits: (value: number) => number
      • Readonlyconvert_i32_s: (value: number) => number
      • Readonlyconvert_i32_u: (value: number) => number
      • Readonlyconvert_i64_s: (value: number) => number
      • Readonlyconvert_i64_u: (value: number) => number
      • Readonlyconvert_s: { i32: (...args: any[]) => number; i64: (...args: any[]) => number }
        • Readonlyi32: (...args: any[]) => number

          Use .convert_i32_s() instead.

        • Readonlyi64: (...args: any[]) => number

          Use .convert_i64_s() instead.

      • Readonlyconvert_u: { i32: (...args: any[]) => number; i64: (...args: any[]) => number }
        • Readonlyi32: (...args: any[]) => number

          Use .convert_i32_u() instead.

        • Readonlyi64: (...args: any[]) => number

          Use .convert_i64_u() instead.

      • Readonlycopysign: (left: number, right: number) => number
      • Readonlydemote_f64: (value: number) => number
      • Readonlydiv: (left: number, right: number) => number
      • Readonlyeq: (left: number, right: number) => number
      • Readonlyfloor: (value: number) => number
      • Readonlyge: (left: number, right: number) => number
      • Readonlygt: (left: number, right: number) => number
      • Readonlyle: (left: number, right: number) => number
      • Readonlyload: (offset: number, align: number, ptr: number, name?: string) => number
      • Readonlylt: (left: number, right: number) => number
      • Readonlymax: (left: number, right: number) => number
      • Readonlymin: (left: number, right: number) => number
      • Readonlymul: (left: number, right: number) => number
      • Readonlyne: (left: number, right: number) => number
      • Readonlynearest: (value: number) => number
      • Readonlyneg: (value: number) => number
      • Readonlyreinterpret_i32: (value: number) => number
      • Readonlysqrt: (value: number) => number
      • Readonlystore: (
            offset: number,
            align: number,
            ptr: number,
            value: number,
            name?: string,
        ) => number
      • Readonlysub: (left: number, right: number) => number
      • Readonlytrunc: (value: number) => number
      • demote: function
      • reinterpret: function
    • Readonlyf32x4: {
          abs: (value: number) => number;
          add: (left: number, right: number) => number;
          ceil: (value: number) => number;
          convert_i32x4_s: (value: number) => number;
          convert_i32x4_u: (value: number) => number;
          demote_f64x2_zero: (value: number) => number;
          div: (left: number, right: number) => number;
          eq: (left: number, right: number) => number;
          extract_lane: (vec: number, index: number) => number;
          floor: (value: number) => number;
          ge: (left: number, right: number) => number;
          gt: (left: number, right: number) => number;
          le: (left: number, right: number) => number;
          lt: (left: number, right: number) => number;
          max: (left: number, right: number) => number;
          min: (left: number, right: number) => number;
          mul: (left: number, right: number) => number;
          ne: (left: number, right: number) => number;
          nearest: (value: number) => number;
          neg: (value: number) => number;
          pmax: (left: number, right: number) => number;
          pmin: (left: number, right: number) => number;
          replace_lane: (vec: number, index: number, value: number) => number;
          splat: (value: number) => number;
          sqrt: (value: number) => number;
          sub: (left: number, right: number) => number;
          trunc: (value: number) => number;
      }
    • Readonlyf64: {
          abs: (value: number) => number;
          add: (left: number, right: number) => number;
          ceil: (value: number) => number;
          const: (value: number) => number;
          const_bits: (value: number | bigint) => number;
          convert_i32_s: (value: number) => number;
          convert_i32_u: (value: number) => number;
          convert_i64_s: (value: number) => number;
          convert_i64_u: (value: number) => number;
          convert_s: {
              i32: (...args: any[]) => number;
              i64: (...args: any[]) => number;
          };
          convert_u: {
              i32: (...args: any[]) => number;
              i64: (...args: any[]) => number;
          };
          copysign: (left: number, right: number) => number;
          div: (left: number, right: number) => number;
          eq: (left: number, right: number) => number;
          floor: (value: number) => number;
          ge: (left: number, right: number) => number;
          gt: (left: number, right: number) => number;
          le: (left: number, right: number) => number;
          load: (offset: number, align: number, ptr: number, name?: string) => number;
          lt: (left: number, right: number) => number;
          max: (left: number, right: number) => number;
          min: (left: number, right: number) => number;
          mul: (left: number, right: number) => number;
          ne: (left: number, right: number) => number;
          nearest: (value: number) => number;
          neg: (value: number) => number;
          promote_f32: (value: number) => number;
          reinterpret_f64: (value: number) => number;
          sqrt: (value: number) => number;
          store: (
              offset: number,
              align: number,
              ptr: number,
              value: number,
              name?: string,
          ) => number;
          sub: (left: number, right: number) => number;
          trunc: (value: number) => number;
          promote(...args: any[]): number;
          reinterpret(...args: any[]): any;
      }
      • Readonlyabs: (value: number) => number
      • Readonlyadd: (left: number, right: number) => number
      • Readonlyceil: (value: number) => number
      • Readonlyconst: (value: number) => number

        Return a static constant f64.

      • Readonlyconst_bits: (value: number | bigint) => number
      • Readonlyconvert_i32_s: (value: number) => number
      • Readonlyconvert_i32_u: (value: number) => number
      • Readonlyconvert_i64_s: (value: number) => number
      • Readonlyconvert_i64_u: (value: number) => number
      • Readonlyconvert_s: { i32: (...args: any[]) => number; i64: (...args: any[]) => number }
        • Readonlyi32: (...args: any[]) => number

          Use .convert_i32_s() instead.

        • Readonlyi64: (...args: any[]) => number

          Use .convert_i64_s() instead.

      • Readonlyconvert_u: { i32: (...args: any[]) => number; i64: (...args: any[]) => number }
        • Readonlyi32: (...args: any[]) => number

          Use .convert_i32_u() instead.

        • Readonlyi64: (...args: any[]) => number

          Use .convert_i64_u() instead.

      • Readonlycopysign: (left: number, right: number) => number
      • Readonlydiv: (left: number, right: number) => number
      • Readonlyeq: (left: number, right: number) => number
      • Readonlyfloor: (value: number) => number
      • Readonlyge: (left: number, right: number) => number
      • Readonlygt: (left: number, right: number) => number
      • Readonlyle: (left: number, right: number) => number
      • Readonlyload: (offset: number, align: number, ptr: number, name?: string) => number
      • Readonlylt: (left: number, right: number) => number
      • Readonlymax: (left: number, right: number) => number
      • Readonlymin: (left: number, right: number) => number
      • Readonlymul: (left: number, right: number) => number
      • Readonlyne: (left: number, right: number) => number
      • Readonlynearest: (value: number) => number
      • Readonlyneg: (value: number) => number
      • Readonlypromote_f32: (value: number) => number
      • Readonlyreinterpret_f64: (value: number) => number
      • Readonlysqrt: (value: number) => number
      • Readonlystore: (
            offset: number,
            align: number,
            ptr: number,
            value: number,
            name?: string,
        ) => number
      • Readonlysub: (left: number, right: number) => number
      • Readonlytrunc: (value: number) => number
      • promote: function
      • reinterpret: function
    • Readonlyf64x2: {
          abs: (value: number) => number;
          add: (left: number, right: number) => number;
          ceil: (value: number) => number;
          convert_low_i32x4_s: (value: number) => number;
          convert_low_i32x4_u: (value: number) => number;
          div: (left: number, right: number) => number;
          eq: (left: number, right: number) => number;
          extract_lane: (vec: number, index: number) => number;
          floor: (value: number) => number;
          ge: (left: number, right: number) => number;
          gt: (left: number, right: number) => number;
          le: (left: number, right: number) => number;
          lt: (left: number, right: number) => number;
          max: (left: number, right: number) => number;
          min: (left: number, right: number) => number;
          mul: (left: number, right: number) => number;
          ne: (left: number, right: number) => number;
          nearest: (value: number) => number;
          neg: (value: number) => number;
          pmax: (left: number, right: number) => number;
          pmin: (left: number, right: number) => number;
          promote_low_f32x4: (value: number) => number;
          replace_lane: (vec: number, index: number, value: number) => number;
          splat: (value: number) => number;
          sqrt: (value: number) => number;
          sub: (left: number, right: number) => number;
          trunc: (value: number) => number;
      }
    • Readonlyglobal: {
          get: (name: string, typ: number) => number;
          set: (name: string, value: number) => number;
      }
      • Readonlyget: (name: string, typ: number) => number

        Creates a (global.get) for the global with the specified name. Note that we must specify the type here as we may not have created the global being accessed yet.

      • Readonlyset: (name: string, value: number) => number

        Creates a (global.set) for the global with the specified name.

    • Readonlyi16x8: {
          abs: (value: number) => number;
          add: (left: number, right: number) => number;
          add_sat_s: (left: number, right: number) => number;
          add_sat_u: (left: number, right: number) => number;
          all_true: (value: number) => number;
          avgr_u: (left: number, right: number) => number;
          bitmask: (value: number) => number;
          eq: (left: number, right: number) => number;
          extadd_pairwise_i8x16_s: (value: number) => number;
          extadd_pairwise_i8x16_u: (value: number) => number;
          extend_high_i8x16_s: (value: number) => number;
          extend_high_i8x16_u: (value: number) => number;
          extend_low_i8x16_s: (value: number) => number;
          extend_low_i8x16_u: (value: number) => number;
          extmul_high_i8x16_s: (left: number, right: number) => number;
          extmul_high_i8x16_u: (left: number, right: number) => number;
          extmul_low_i8x16_s: (left: number, right: number) => number;
          extmul_low_i8x16_u: (left: number, right: number) => number;
          extract_lane_s: (vec: number, index: number) => number;
          extract_lane_u: (vec: number, index: number) => number;
          ge_s: (left: number, right: number) => number;
          ge_u: (left: number, right: number) => number;
          gt_s: (left: number, right: number) => number;
          gt_u: (left: number, right: number) => number;
          le_s: (left: number, right: number) => number;
          le_u: (left: number, right: number) => number;
          lt_s: (left: number, right: number) => number;
          lt_u: (left: number, right: number) => number;
          max_s: (left: number, right: number) => number;
          max_u: (left: number, right: number) => number;
          min_s: (left: number, right: number) => number;
          min_u: (left: number, right: number) => number;
          mul: (left: number, right: number) => number;
          narrow_i32x4_s: (left: number, right: number) => number;
          narrow_i32x4_u: (left: number, right: number) => number;
          ne: (left: number, right: number) => number;
          neg: (value: number) => number;
          q15mulr_sat_s: (left: number, right: number) => number;
          replace_lane: (vec: number, index: number, value: number) => number;
          shl: (vec: number, shift: number) => number;
          shr_s: (vec: number, shift: number) => number;
          shr_u: (vec: number, shift: number) => number;
          splat: (value: number) => number;
          sub: (left: number, right: number) => number;
          sub_sat_s: (left: number, right: number) => number;
          sub_sat_u: (left: number, right: number) => number;
          add_saturate_s(...args: any[]): number;
          add_saturate_u(...args: any[]): number;
          sub_saturate_s(...args: any[]): number;
          sub_saturate_u(...args: any[]): number;
      }
      • Readonlyabs: (value: number) => number
      • Readonlyadd: (left: number, right: number) => number
      • Readonlyadd_sat_s: (left: number, right: number) => number
      • Readonlyadd_sat_u: (left: number, right: number) => number
      • Readonlyall_true: (value: number) => number
      • Readonlyavgr_u: (left: number, right: number) => number
      • Readonlybitmask: (value: number) => number
      • Readonlyeq: (left: number, right: number) => number
      • Readonlyextadd_pairwise_i8x16_s: (value: number) => number
      • Readonlyextadd_pairwise_i8x16_u: (value: number) => number
      • Readonlyextend_high_i8x16_s: (value: number) => number
      • Readonlyextend_high_i8x16_u: (value: number) => number
      • Readonlyextend_low_i8x16_s: (value: number) => number
      • Readonlyextend_low_i8x16_u: (value: number) => number
      • Readonlyextmul_high_i8x16_s: (left: number, right: number) => number
      • Readonlyextmul_high_i8x16_u: (left: number, right: number) => number
      • Readonlyextmul_low_i8x16_s: (left: number, right: number) => number
      • Readonlyextmul_low_i8x16_u: (left: number, right: number) => number
      • Readonlyextract_lane_s: (vec: number, index: number) => number
      • Readonlyextract_lane_u: (vec: number, index: number) => number
      • Readonlyge_s: (left: number, right: number) => number
      • Readonlyge_u: (left: number, right: number) => number
      • Readonlygt_s: (left: number, right: number) => number
      • Readonlygt_u: (left: number, right: number) => number
      • Readonlyle_s: (left: number, right: number) => number
      • Readonlyle_u: (left: number, right: number) => number
      • Readonlylt_s: (left: number, right: number) => number
      • Readonlylt_u: (left: number, right: number) => number
      • Readonlymax_s: (left: number, right: number) => number
      • Readonlymax_u: (left: number, right: number) => number
      • Readonlymin_s: (left: number, right: number) => number
      • Readonlymin_u: (left: number, right: number) => number
      • Readonlymul: (left: number, right: number) => number
      • Readonlynarrow_i32x4_s: (left: number, right: number) => number
      • Readonlynarrow_i32x4_u: (left: number, right: number) => number
      • Readonlyne: (left: number, right: number) => number
      • Readonlyneg: (value: number) => number
      • Readonlyq15mulr_sat_s: (left: number, right: number) => number
      • Readonlyreplace_lane: (vec: number, index: number, value: number) => number
      • Readonlyshl: (vec: number, shift: number) => number
      • Readonlyshr_s: (vec: number, shift: number) => number
      • Readonlyshr_u: (vec: number, shift: number) => number
      • Readonlysplat: (value: number) => number
      • Readonlysub: (left: number, right: number) => number
      • Readonlysub_sat_s: (left: number, right: number) => number
      • Readonlysub_sat_u: (left: number, right: number) => number
      • add_saturate_s: function
      • add_saturate_u: function
      • sub_saturate_s: function
      • sub_saturate_u: function
    • Readonlyi31: { get_s: (value: number) => number; get_u: (value: number) => number }
      • Readonlyget_s: (value: number) => number

        Converts an unboxed scalar to type i32, signed.

      • Readonlyget_u: (value: number) => number

        Converts an unboxed scalar to type i32, unsigned.

    • Readonlyi32: {
          add: (left: number, right: number) => number;
          and: (left: number, right: number) => number;
          atomic: {
              load: (
                  offset: number,
                  ptr: number,
                  name?: string,
                  order?: MemoryOrder,
              ) => number;
              load16_u: (
                  offset: number,
                  ptr: number,
                  name?: string,
                  order?: MemoryOrder,
              ) => number;
              load8_u: (
                  offset: number,
                  ptr: number,
                  name?: string,
                  order?: MemoryOrder,
              ) => number;
              rmw: {
                  add: (
                      offset: number,
                      ptr: number,
                      value: number,
                      name?: string,
                      order?: MemoryOrder,
                  ) => number;
                  and: (
                      offset: number,
                      ptr: number,
                      value: number,
                      name?: string,
                      order?: MemoryOrder,
                  ) => number;
                  cmpxchg: (
                      offset: number,
                      ptr: number,
                      expected: number,
                      replacement: number,
                      name?: string,
                      order?: MemoryOrder,
                  ) => number;
                  or: (
                      offset: number,
                      ptr: number,
                      value: number,
                      name?: string,
                      order?: MemoryOrder,
                  ) => number;
                  sub: (
                      offset: number,
                      ptr: number,
                      value: number,
                      name?: string,
                      order?: MemoryOrder,
                  ) => number;
                  xchg: (
                      offset: number,
                      ptr: number,
                      value: number,
                      name?: string,
                      order?: MemoryOrder,
                  ) => number;
                  xor: (
                      offset: number,
                      ptr: number,
                      value: number,
                      name?: string,
                      order?: MemoryOrder,
                  ) => number;
              };
              rmw16_u: {
                  add: (
                      offset: number,
                      ptr: number,
                      value: number,
                      name?: string,
                      order?: MemoryOrder,
                  ) => number;
                  and: (
                      offset: number,
                      ptr: number,
                      value: number,
                      name?: string,
                      order?: MemoryOrder,
                  ) => number;
                  cmpxchg: (
                      offset: number,
                      ptr: number,
                      expected: number,
                      replacement: number,
                      name?: string,
                      order?: MemoryOrder,
                  ) => number;
                  or: (
                      offset: number,
                      ptr: number,
                      value: number,
                      name?: string,
                      order?: MemoryOrder,
                  ) => number;
                  sub: (
                      offset: number,
                      ptr: number,
                      value: number,
                      name?: string,
                      order?: MemoryOrder,
                  ) => number;
                  xchg: (
                      offset: number,
                      ptr: number,
                      value: number,
                      name?: string,
                      order?: MemoryOrder,
                  ) => number;
                  xor: (
                      offset: number,
                      ptr: number,
                      value: number,
                      name?: string,
                      order?: MemoryOrder,
                  ) => number;
              };
              rmw8_u: {
                  add: (
                      offset: number,
                      ptr: number,
                      value: number,
                      name?: string,
                      order?: MemoryOrder,
                  ) => number;
                  and: (
                      offset: number,
                      ptr: number,
                      value: number,
                      name?: string,
                      order?: MemoryOrder,
                  ) => number;
                  cmpxchg: (
                      offset: number,
                      ptr: number,
                      expected: number,
                      replacement: number,
                      name?: string,
                      order?: MemoryOrder,
                  ) => number;
                  or: (
                      offset: number,
                      ptr: number,
                      value: number,
                      name?: string,
                      order?: MemoryOrder,
                  ) => number;
                  sub: (
                      offset: number,
                      ptr: number,
                      value: number,
                      name?: string,
                      order?: MemoryOrder,
                  ) => number;
                  xchg: (
                      offset: number,
                      ptr: number,
                      value: number,
                      name?: string,
                      order?: MemoryOrder,
                  ) => number;
                  xor: (
                      offset: number,
                      ptr: number,
                      value: number,
                      name?: string,
                      order?: MemoryOrder,
                  ) => number;
              };
              store: (
                  offset: number,
                  ptr: number,
                  value: number,
                  name?: string,
                  order?: MemoryOrder,
              ) => number;
              store16: (
                  offset: number,
                  ptr: number,
                  value: number,
                  name?: string,
                  order?: MemoryOrder,
              ) => number;
              store8: (
                  offset: number,
                  ptr: number,
                  value: number,
                  name?: string,
                  order?: MemoryOrder,
              ) => number;
          };
          clz: (value: number) => number;
          const: (value: number) => number;
          ctz: (value: number) => number;
          div_s: (left: number, right: number) => number;
          div_u: (left: number, right: number) => number;
          eq: (left: number, right: number) => number;
          eqz: (value: number) => number;
          extend16_s: (value: number) => number;
          extend8_s: (value: number) => number;
          ge_s: (left: number, right: number) => number;
          ge_u: (left: number, right: number) => number;
          gt_s: (left: number, right: number) => number;
          gt_u: (left: number, right: number) => number;
          le_s: (left: number, right: number) => number;
          le_u: (left: number, right: number) => number;
          load: (offset: number, align: number, ptr: number, name?: string) => number;
          load16_s: (
              offset: number,
              align: number,
              ptr: number,
              name?: string,
          ) => number;
          load16_u: (
              offset: number,
              align: number,
              ptr: number,
              name?: string,
          ) => number;
          load8_s: (
              offset: number,
              align: number,
              ptr: number,
              name?: string,
          ) => number;
          load8_u: (
              offset: number,
              align: number,
              ptr: number,
              name?: string,
          ) => number;
          lt_s: (left: number, right: number) => number;
          lt_u: (left: number, right: number) => number;
          mul: (left: number, right: number) => number;
          ne: (left: number, right: number) => number;
          or: (left: number, right: number) => number;
          popcnt: (value: number) => number;
          reinterpret_f32: (value: number) => number;
          rem_s: (left: number, right: number) => number;
          rem_u: (left: number, right: number) => number;
          rotl: (left: number, right: number) => number;
          rotr: (left: number, right: number) => number;
          shl: (left: number, right: number) => number;
          shr_s: (left: number, right: number) => number;
          shr_u: (left: number, right: number) => number;
          store: (
              offset: number,
              align: number,
              ptr: number,
              value: number,
              name?: string,
          ) => number;
          store16: (
              offset: number,
              align: number,
              ptr: number,
              value: number,
              name?: string,
          ) => number;
          store8: (
              offset: number,
              align: number,
              ptr: number,
              value: number,
              name?: string,
          ) => number;
          sub: (left: number, right: number) => number;
          trunc_f32_s: (value: number) => number;
          trunc_f32_u: (value: number) => number;
          trunc_f64_s: (value: number) => number;
          trunc_f64_u: (value: number) => number;
          trunc_s: {
              f32: (...args: any[]) => number;
              f64: (...args: any[]) => number;
          };
          trunc_s_sat: {
              f32: (...args: any[]) => number;
              f64: (...args: any[]) => number;
          };
          trunc_sat_f32_s: (value: number) => number;
          trunc_sat_f32_u: (value: number) => number;
          trunc_sat_f64_s: (value: number) => number;
          trunc_sat_f64_u: (value: number) => number;
          trunc_u: {
              f32: (...args: any[]) => number;
              f64: (...args: any[]) => number;
          };
          trunc_u_sat: {
              f32: (...args: any[]) => number;
              f64: (...args: any[]) => number;
          };
          wrap_i64: (value: number) => number;
          xor: (left: number, right: number) => number;
          reinterpret(...args: any[]): number;
          wrap(...args: any[]): number;
      }
      • Readonlyadd: (left: number, right: number) => number
      • Readonlyand: (left: number, right: number) => number
      • Readonly Experimentalatomic: {
            load: (
                offset: number,
                ptr: number,
                name?: string,
                order?: MemoryOrder,
            ) => number;
            load16_u: (
                offset: number,
                ptr: number,
                name?: string,
                order?: MemoryOrder,
            ) => number;
            load8_u: (
                offset: number,
                ptr: number,
                name?: string,
                order?: MemoryOrder,
            ) => number;
            rmw: {
                add: (
                    offset: number,
                    ptr: number,
                    value: number,
                    name?: string,
                    order?: MemoryOrder,
                ) => number;
                and: (
                    offset: number,
                    ptr: number,
                    value: number,
                    name?: string,
                    order?: MemoryOrder,
                ) => number;
                cmpxchg: (
                    offset: number,
                    ptr: number,
                    expected: number,
                    replacement: number,
                    name?: string,
                    order?: MemoryOrder,
                ) => number;
                or: (
                    offset: number,
                    ptr: number,
                    value: number,
                    name?: string,
                    order?: MemoryOrder,
                ) => number;
                sub: (
                    offset: number,
                    ptr: number,
                    value: number,
                    name?: string,
                    order?: MemoryOrder,
                ) => number;
                xchg: (
                    offset: number,
                    ptr: number,
                    value: number,
                    name?: string,
                    order?: MemoryOrder,
                ) => number;
                xor: (
                    offset: number,
                    ptr: number,
                    value: number,
                    name?: string,
                    order?: MemoryOrder,
                ) => number;
            };
            rmw16_u: {
                add: (
                    offset: number,
                    ptr: number,
                    value: number,
                    name?: string,
                    order?: MemoryOrder,
                ) => number;
                and: (
                    offset: number,
                    ptr: number,
                    value: number,
                    name?: string,
                    order?: MemoryOrder,
                ) => number;
                cmpxchg: (
                    offset: number,
                    ptr: number,
                    expected: number,
                    replacement: number,
                    name?: string,
                    order?: MemoryOrder,
                ) => number;
                or: (
                    offset: number,
                    ptr: number,
                    value: number,
                    name?: string,
                    order?: MemoryOrder,
                ) => number;
                sub: (
                    offset: number,
                    ptr: number,
                    value: number,
                    name?: string,
                    order?: MemoryOrder,
                ) => number;
                xchg: (
                    offset: number,
                    ptr: number,
                    value: number,
                    name?: string,
                    order?: MemoryOrder,
                ) => number;
                xor: (
                    offset: number,
                    ptr: number,
                    value: number,
                    name?: string,
                    order?: MemoryOrder,
                ) => number;
            };
            rmw8_u: {
                add: (
                    offset: number,
                    ptr: number,
                    value: number,
                    name?: string,
                    order?: MemoryOrder,
                ) => number;
                and: (
                    offset: number,
                    ptr: number,
                    value: number,
                    name?: string,
                    order?: MemoryOrder,
                ) => number;
                cmpxchg: (
                    offset: number,
                    ptr: number,
                    expected: number,
                    replacement: number,
                    name?: string,
                    order?: MemoryOrder,
                ) => number;
                or: (
                    offset: number,
                    ptr: number,
                    value: number,
                    name?: string,
                    order?: MemoryOrder,
                ) => number;
                sub: (
                    offset: number,
                    ptr: number,
                    value: number,
                    name?: string,
                    order?: MemoryOrder,
                ) => number;
                xchg: (
                    offset: number,
                    ptr: number,
                    value: number,
                    name?: string,
                    order?: MemoryOrder,
                ) => number;
                xor: (
                    offset: number,
                    ptr: number,
                    value: number,
                    name?: string,
                    order?: MemoryOrder,
                ) => number;
            };
            store: (
                offset: number,
                ptr: number,
                value: number,
                name?: string,
                order?: MemoryOrder,
            ) => number;
            store16: (
                offset: number,
                ptr: number,
                value: number,
                name?: string,
                order?: MemoryOrder,
            ) => number;
            store8: (
                offset: number,
                ptr: number,
                value: number,
                name?: string,
                order?: MemoryOrder,
            ) => number;
        }
      • Readonlyclz: (value: number) => number
      • Readonlyconst: (value: number) => number

        Return a static constant i32.

      • Readonlyctz: (value: number) => number
      • Readonlydiv_s: (left: number, right: number) => number
      • Readonlydiv_u: (left: number, right: number) => number
      • Readonlyeq: (left: number, right: number) => number
      • Readonlyeqz: (value: number) => number
      • Readonlyextend16_s: (value: number) => number
      • Readonlyextend8_s: (value: number) => number
      • Readonlyge_s: (left: number, right: number) => number
      • Readonlyge_u: (left: number, right: number) => number
      • Readonlygt_s: (left: number, right: number) => number
      • Readonlygt_u: (left: number, right: number) => number
      • Readonlyle_s: (left: number, right: number) => number
      • Readonlyle_u: (left: number, right: number) => number
      • Readonlyload: (offset: number, align: number, ptr: number, name?: string) => number
      • Readonlyload16_s: (offset: number, align: number, ptr: number, name?: string) => number
      • Readonlyload16_u: (offset: number, align: number, ptr: number, name?: string) => number
      • Readonlyload8_s: (offset: number, align: number, ptr: number, name?: string) => number
      • Readonlyload8_u: (offset: number, align: number, ptr: number, name?: string) => number
      • Readonlylt_s: (left: number, right: number) => number
      • Readonlylt_u: (left: number, right: number) => number
      • Readonlymul: (left: number, right: number) => number
      • Readonlyne: (left: number, right: number) => number
      • Readonlyor: (left: number, right: number) => number
      • Readonlypopcnt: (value: number) => number
      • Readonlyreinterpret_f32: (value: number) => number
      • Readonlyrem_s: (left: number, right: number) => number
      • Readonlyrem_u: (left: number, right: number) => number
      • Readonlyrotl: (left: number, right: number) => number
      • Readonlyrotr: (left: number, right: number) => number
      • Readonlyshl: (left: number, right: number) => number
      • Readonlyshr_s: (left: number, right: number) => number
      • Readonlyshr_u: (left: number, right: number) => number
      • Readonlystore: (
            offset: number,
            align: number,
            ptr: number,
            value: number,
            name?: string,
        ) => number
      • Readonlystore16: (
            offset: number,
            align: number,
            ptr: number,
            value: number,
            name?: string,
        ) => number
      • Readonlystore8: (
            offset: number,
            align: number,
            ptr: number,
            value: number,
            name?: string,
        ) => number
      • Readonlysub: (left: number, right: number) => number
      • Readonlytrunc_f32_s: (value: number) => number
      • Readonlytrunc_f32_u: (value: number) => number
      • Readonlytrunc_f64_s: (value: number) => number
      • Readonlytrunc_f64_u: (value: number) => number
      • Readonlytrunc_s: { f32: (...args: any[]) => number; f64: (...args: any[]) => number }
        • Readonlyf32: (...args: any[]) => number

          Use .trunc_f32_s() instead.

        • Readonlyf64: (...args: any[]) => number

          Use .trunc_f64_s() instead.

      • Readonlytrunc_s_sat: { f32: (...args: any[]) => number; f64: (...args: any[]) => number }
        • Readonlyf32: (...args: any[]) => number

          Use .trunc_sat_f32_s() instead.

        • Readonlyf64: (...args: any[]) => number

          Use .trunc_sat_f64_s() instead.

      • Readonlytrunc_sat_f32_s: (value: number) => number
      • Readonlytrunc_sat_f32_u: (value: number) => number
      • Readonlytrunc_sat_f64_s: (value: number) => number
      • Readonlytrunc_sat_f64_u: (value: number) => number
      • Readonlytrunc_u: { f32: (...args: any[]) => number; f64: (...args: any[]) => number }
        • Readonlyf32: (...args: any[]) => number

          Use .trunc_f32_u() instead.

        • Readonlyf64: (...args: any[]) => number

          Use .trunc_f64_u() instead.

      • Readonlytrunc_u_sat: { f32: (...args: any[]) => number; f64: (...args: any[]) => number }
        • Readonlyf32: (...args: any[]) => number

          Use .trunc_sat_f32_u() instead.

        • Readonlyf64: (...args: any[]) => number

          Use .trunc_sat_f64_u() instead.

      • Readonlywrap_i64: (value: number) => number
      • Readonlyxor: (left: number, right: number) => number
      • reinterpret: function
      • wrap: function
    • Readonlyi32x4: {
          abs: (value: number) => number;
          add: (left: number, right: number) => number;
          all_true: (value: number) => number;
          bitmask: (value: number) => number;
          dot_i16x8_s: (left: number, right: number) => number;
          eq: (left: number, right: number) => number;
          extadd_pairwise_i16x8_s: (value: number) => number;
          extadd_pairwise_i16x8_u: (value: number) => number;
          extend_high_i16x8_s: (value: number) => number;
          extend_high_i16x8_u: (value: number) => number;
          extend_low_i16x8_s: (value: number) => number;
          extend_low_i16x8_u: (value: number) => number;
          extmul_high_i16x8_s: (left: number, right: number) => number;
          extmul_high_i16x8_u: (left: number, right: number) => number;
          extmul_low_i16x8_s: (left: number, right: number) => number;
          extmul_low_i16x8_u: (left: number, right: number) => number;
          extract_lane: (vec: number, index: number) => number;
          ge_s: (left: number, right: number) => number;
          ge_u: (left: number, right: number) => number;
          gt_s: (left: number, right: number) => number;
          gt_u: (left: number, right: number) => number;
          le_s: (left: number, right: number) => number;
          le_u: (left: number, right: number) => number;
          lt_s: (left: number, right: number) => number;
          lt_u: (left: number, right: number) => number;
          max_s: (left: number, right: number) => number;
          max_u: (left: number, right: number) => number;
          min_s: (left: number, right: number) => number;
          min_u: (left: number, right: number) => number;
          mul: (left: number, right: number) => number;
          ne: (left: number, right: number) => number;
          neg: (value: number) => number;
          replace_lane: (vec: number, index: number, value: number) => number;
          shl: (vec: number, shift: number) => number;
          shr_s: (vec: number, shift: number) => number;
          shr_u: (vec: number, shift: number) => number;
          splat: (value: number) => number;
          sub: (left: number, right: number) => number;
          trunc_sat_f32x4_s: (value: number) => number;
          trunc_sat_f32x4_u: (value: number) => number;
          trunc_sat_f64x2_s_zero: (value: number) => number;
          trunc_sat_f64x2_u_zero: (value: number) => number;
      }
    • Readonlyi64: {
          add: (left: number, right: number) => number;
          add128: (
              leftLow: number,
              leftHigh: number,
              rightLow: number,
              rightHigh: number,
          ) => number;
          and: (left: number, right: number) => number;
          atomic: {
              load: (
                  offset: number,
                  ptr: number,
                  name?: string,
                  order?: MemoryOrder,
              ) => number;
              load16_u: (
                  offset: number,
                  ptr: number,
                  name?: string,
                  order?: MemoryOrder,
              ) => number;
              load32_u: (
                  offset: number,
                  ptr: number,
                  name?: string,
                  order?: MemoryOrder,
              ) => number;
              load8_u: (
                  offset: number,
                  ptr: number,
                  name?: string,
                  order?: MemoryOrder,
              ) => number;
              rmw: {
                  add: (
                      offset: number,
                      ptr: number,
                      value: number,
                      name?: string,
                      order?: MemoryOrder,
                  ) => number;
                  and: (
                      offset: number,
                      ptr: number,
                      value: number,
                      name?: string,
                      order?: MemoryOrder,
                  ) => number;
                  cmpxchg: (
                      offset: number,
                      ptr: number,
                      expected: number,
                      replacement: number,
                      name?: string,
                      order?: MemoryOrder,
                  ) => number;
                  or: (
                      offset: number,
                      ptr: number,
                      value: number,
                      name?: string,
                      order?: MemoryOrder,
                  ) => number;
                  sub: (
                      offset: number,
                      ptr: number,
                      value: number,
                      name?: string,
                      order?: MemoryOrder,
                  ) => number;
                  xchg: (
                      offset: number,
                      ptr: number,
                      value: number,
                      name?: string,
                      order?: MemoryOrder,
                  ) => number;
                  xor: (
                      offset: number,
                      ptr: number,
                      value: number,
                      name?: string,
                      order?: MemoryOrder,
                  ) => number;
              };
              rmw16_u: {
                  add: (
                      offset: number,
                      ptr: number,
                      value: number,
                      name?: string,
                      order?: MemoryOrder,
                  ) => number;
                  and: (
                      offset: number,
                      ptr: number,
                      value: number,
                      name?: string,
                      order?: MemoryOrder,
                  ) => number;
                  cmpxchg: (
                      offset: number,
                      ptr: number,
                      expected: number,
                      replacement: number,
                      name?: string,
                      order?: MemoryOrder,
                  ) => number;
                  or: (
                      offset: number,
                      ptr: number,
                      value: number,
                      name?: string,
                      order?: MemoryOrder,
                  ) => number;
                  sub: (
                      offset: number,
                      ptr: number,
                      value: number,
                      name?: string,
                      order?: MemoryOrder,
                  ) => number;
                  xchg: (
                      offset: number,
                      ptr: number,
                      value: number,
                      name?: string,
                      order?: MemoryOrder,
                  ) => number;
                  xor: (
                      offset: number,
                      ptr: number,
                      value: number,
                      name?: string,
                      order?: MemoryOrder,
                  ) => number;
              };
              rmw32_u: {
                  add: (
                      offset: number,
                      ptr: number,
                      value: number,
                      name?: string,
                      order?: MemoryOrder,
                  ) => number;
                  and: (
                      offset: number,
                      ptr: number,
                      value: number,
                      name?: string,
                      order?: MemoryOrder,
                  ) => number;
                  cmpxchg: (
                      offset: number,
                      ptr: number,
                      expected: number,
                      replacement: number,
                      name?: string,
                      order?: MemoryOrder,
                  ) => number;
                  or: (
                      offset: number,
                      ptr: number,
                      value: number,
                      name?: string,
                      order?: MemoryOrder,
                  ) => number;
                  sub: (
                      offset: number,
                      ptr: number,
                      value: number,
                      name?: string,
                      order?: MemoryOrder,
                  ) => number;
                  xchg: (
                      offset: number,
                      ptr: number,
                      value: number,
                      name?: string,
                      order?: MemoryOrder,
                  ) => number;
                  xor: (
                      offset: number,
                      ptr: number,
                      value: number,
                      name?: string,
                      order?: MemoryOrder,
                  ) => number;
              };
              rmw8_u: {
                  add: (
                      offset: number,
                      ptr: number,
                      value: number,
                      name?: string,
                      order?: MemoryOrder,
                  ) => number;
                  and: (
                      offset: number,
                      ptr: number,
                      value: number,
                      name?: string,
                      order?: MemoryOrder,
                  ) => number;
                  cmpxchg: (
                      offset: number,
                      ptr: number,
                      expected: number,
                      replacement: number,
                      name?: string,
                      order?: MemoryOrder,
                  ) => number;
                  or: (
                      offset: number,
                      ptr: number,
                      value: number,
                      name?: string,
                      order?: MemoryOrder,
                  ) => number;
                  sub: (
                      offset: number,
                      ptr: number,
                      value: number,
                      name?: string,
                      order?: MemoryOrder,
                  ) => number;
                  xchg: (
                      offset: number,
                      ptr: number,
                      value: number,
                      name?: string,
                      order?: MemoryOrder,
                  ) => number;
                  xor: (
                      offset: number,
                      ptr: number,
                      value: number,
                      name?: string,
                      order?: MemoryOrder,
                  ) => number;
              };
              store: (
                  offset: number,
                  ptr: number,
                  value: number,
                  name?: string,
                  order?: MemoryOrder,
              ) => number;
              store16: (
                  offset: number,
                  ptr: number,
                  value: number,
                  name?: string,
                  order?: MemoryOrder,
              ) => number;
              store32: (
                  offset: number,
                  ptr: number,
                  value: number,
                  name?: string,
                  order?: MemoryOrder,
              ) => number;
              store8: (
                  offset: number,
                  ptr: number,
                  value: number,
                  name?: string,
                  order?: MemoryOrder,
              ) => number;
          };
          clz: (value: number) => number;
          const: (value: number | bigint) => number;
          ctz: (value: number) => number;
          div_s: (left: number, right: number) => number;
          div_u: (left: number, right: number) => number;
          eq: (left: number, right: number) => number;
          eqz: (value: number) => number;
          extend_i32_s: (value: number) => number;
          extend_i32_u: (value: number) => number;
          extend16_s: (value: number) => number;
          extend32_s: (value: number) => number;
          extend8_s: (value: number) => number;
          ge_s: (left: number, right: number) => number;
          ge_u: (left: number, right: number) => number;
          gt_s: (left: number, right: number) => number;
          gt_u: (left: number, right: number) => number;
          le_s: (left: number, right: number) => number;
          le_u: (left: number, right: number) => number;
          load: (offset: number, align: number, ptr: number, name?: string) => number;
          load16_s: (
              offset: number,
              align: number,
              ptr: number,
              name?: string,
          ) => number;
          load16_u: (
              offset: number,
              align: number,
              ptr: number,
              name?: string,
          ) => number;
          load32_s: (
              offset: number,
              align: number,
              ptr: number,
              name?: string,
          ) => number;
          load32_u: (
              offset: number,
              align: number,
              ptr: number,
              name?: string,
          ) => number;
          load8_s: (
              offset: number,
              align: number,
              ptr: number,
              name?: string,
          ) => number;
          load8_u: (
              offset: number,
              align: number,
              ptr: number,
              name?: string,
          ) => number;
          lt_s: (left: number, right: number) => number;
          lt_u: (left: number, right: number) => number;
          mul: (left: number, right: number) => number;
          mul_wide_s: (left: number, right: number) => number;
          mul_wide_u: (left: number, right: number) => number;
          ne: (left: number, right: number) => number;
          or: (left: number, right: number) => number;
          popcnt: (value: number) => number;
          reinterpret_f64: (value: number) => number;
          rem_s: (left: number, right: number) => number;
          rem_u: (left: number, right: number) => number;
          rotl: (left: number, right: number) => number;
          rotr: (left: number, right: number) => number;
          shl: (left: number, right: number) => number;
          shr_s: (left: number, right: number) => number;
          shr_u: (left: number, right: number) => number;
          store: (
              offset: number,
              align: number,
              ptr: number,
              value: number,
              name?: string,
          ) => number;
          store16: (
              offset: number,
              align: number,
              ptr: number,
              value: number,
              name?: string,
          ) => number;
          store32: (
              offset: number,
              align: number,
              ptr: number,
              value: number,
              name?: string,
          ) => number;
          store8: (
              offset: number,
              align: number,
              ptr: number,
              value: number,
              name?: string,
          ) => number;
          sub: (left: number, right: number) => number;
          sub128: (
              leftLow: number,
              leftHigh: number,
              rightLow: number,
              rightHigh: number,
          ) => number;
          trunc_f32_s: (value: number) => number;
          trunc_f32_u: (value: number) => number;
          trunc_f64_s: (value: number) => number;
          trunc_f64_u: (value: number) => number;
          trunc_s: {
              f32: (...args: any[]) => number;
              f64: (...args: any[]) => number;
          };
          trunc_s_sat: {
              f32: (...args: any[]) => number;
              f64: (...args: any[]) => number;
          };
          trunc_sat_f32_s: (value: number) => number;
          trunc_sat_f32_u: (value: number) => number;
          trunc_sat_f64_s: (value: number) => number;
          trunc_sat_f64_u: (value: number) => number;
          trunc_u: {
              f32: (...args: any[]) => number;
              f64: (...args: any[]) => number;
          };
          trunc_u_sat: {
              f32: (...args: any[]) => number;
              f64: (...args: any[]) => number;
          };
          xor: (left: number, right: number) => number;
          extend_s(...args: any[]): number;
          extend_u(...args: any[]): number;
          reinterpret(...args: any[]): number;
      }
      • Readonlyadd: (left: number, right: number) => number
      • Readonlyadd128: (
            leftLow: number,
            leftHigh: number,
            rightLow: number,
            rightHigh: number,
        ) => number
      • Readonlyand: (left: number, right: number) => number
      • Readonly Experimentalatomic: {
            load: (
                offset: number,
                ptr: number,
                name?: string,
                order?: MemoryOrder,
            ) => number;
            load16_u: (
                offset: number,
                ptr: number,
                name?: string,
                order?: MemoryOrder,
            ) => number;
            load32_u: (
                offset: number,
                ptr: number,
                name?: string,
                order?: MemoryOrder,
            ) => number;
            load8_u: (
                offset: number,
                ptr: number,
                name?: string,
                order?: MemoryOrder,
            ) => number;
            rmw: {
                add: (
                    offset: number,
                    ptr: number,
                    value: number,
                    name?: string,
                    order?: MemoryOrder,
                ) => number;
                and: (
                    offset: number,
                    ptr: number,
                    value: number,
                    name?: string,
                    order?: MemoryOrder,
                ) => number;
                cmpxchg: (
                    offset: number,
                    ptr: number,
                    expected: number,
                    replacement: number,
                    name?: string,
                    order?: MemoryOrder,
                ) => number;
                or: (
                    offset: number,
                    ptr: number,
                    value: number,
                    name?: string,
                    order?: MemoryOrder,
                ) => number;
                sub: (
                    offset: number,
                    ptr: number,
                    value: number,
                    name?: string,
                    order?: MemoryOrder,
                ) => number;
                xchg: (
                    offset: number,
                    ptr: number,
                    value: number,
                    name?: string,
                    order?: MemoryOrder,
                ) => number;
                xor: (
                    offset: number,
                    ptr: number,
                    value: number,
                    name?: string,
                    order?: MemoryOrder,
                ) => number;
            };
            rmw16_u: {
                add: (
                    offset: number,
                    ptr: number,
                    value: number,
                    name?: string,
                    order?: MemoryOrder,
                ) => number;
                and: (
                    offset: number,
                    ptr: number,
                    value: number,
                    name?: string,
                    order?: MemoryOrder,
                ) => number;
                cmpxchg: (
                    offset: number,
                    ptr: number,
                    expected: number,
                    replacement: number,
                    name?: string,
                    order?: MemoryOrder,
                ) => number;
                or: (
                    offset: number,
                    ptr: number,
                    value: number,
                    name?: string,
                    order?: MemoryOrder,
                ) => number;
                sub: (
                    offset: number,
                    ptr: number,
                    value: number,
                    name?: string,
                    order?: MemoryOrder,
                ) => number;
                xchg: (
                    offset: number,
                    ptr: number,
                    value: number,
                    name?: string,
                    order?: MemoryOrder,
                ) => number;
                xor: (
                    offset: number,
                    ptr: number,
                    value: number,
                    name?: string,
                    order?: MemoryOrder,
                ) => number;
            };
            rmw32_u: {
                add: (
                    offset: number,
                    ptr: number,
                    value: number,
                    name?: string,
                    order?: MemoryOrder,
                ) => number;
                and: (
                    offset: number,
                    ptr: number,
                    value: number,
                    name?: string,
                    order?: MemoryOrder,
                ) => number;
                cmpxchg: (
                    offset: number,
                    ptr: number,
                    expected: number,
                    replacement: number,
                    name?: string,
                    order?: MemoryOrder,
                ) => number;
                or: (
                    offset: number,
                    ptr: number,
                    value: number,
                    name?: string,
                    order?: MemoryOrder,
                ) => number;
                sub: (
                    offset: number,
                    ptr: number,
                    value: number,
                    name?: string,
                    order?: MemoryOrder,
                ) => number;
                xchg: (
                    offset: number,
                    ptr: number,
                    value: number,
                    name?: string,
                    order?: MemoryOrder,
                ) => number;
                xor: (
                    offset: number,
                    ptr: number,
                    value: number,
                    name?: string,
                    order?: MemoryOrder,
                ) => number;
            };
            rmw8_u: {
                add: (
                    offset: number,
                    ptr: number,
                    value: number,
                    name?: string,
                    order?: MemoryOrder,
                ) => number;
                and: (
                    offset: number,
                    ptr: number,
                    value: number,
                    name?: string,
                    order?: MemoryOrder,
                ) => number;
                cmpxchg: (
                    offset: number,
                    ptr: number,
                    expected: number,
                    replacement: number,
                    name?: string,
                    order?: MemoryOrder,
                ) => number;
                or: (
                    offset: number,
                    ptr: number,
                    value: number,
                    name?: string,
                    order?: MemoryOrder,
                ) => number;
                sub: (
                    offset: number,
                    ptr: number,
                    value: number,
                    name?: string,
                    order?: MemoryOrder,
                ) => number;
                xchg: (
                    offset: number,
                    ptr: number,
                    value: number,
                    name?: string,
                    order?: MemoryOrder,
                ) => number;
                xor: (
                    offset: number,
                    ptr: number,
                    value: number,
                    name?: string,
                    order?: MemoryOrder,
                ) => number;
            };
            store: (
                offset: number,
                ptr: number,
                value: number,
                name?: string,
                order?: MemoryOrder,
            ) => number;
            store16: (
                offset: number,
                ptr: number,
                value: number,
                name?: string,
                order?: MemoryOrder,
            ) => number;
            store32: (
                offset: number,
                ptr: number,
                value: number,
                name?: string,
                order?: MemoryOrder,
            ) => number;
            store8: (
                offset: number,
                ptr: number,
                value: number,
                name?: string,
                order?: MemoryOrder,
            ) => number;
        }
      • Readonlyclz: (value: number) => number
      • Readonlyconst: (value: number | bigint) => number

        Return a static constant i64.

      • Readonlyctz: (value: number) => number
      • Readonlydiv_s: (left: number, right: number) => number
      • Readonlydiv_u: (left: number, right: number) => number
      • Readonlyeq: (left: number, right: number) => number
      • Readonlyeqz: (value: number) => number
      • Readonlyextend_i32_s: (value: number) => number
      • Readonlyextend_i32_u: (value: number) => number
      • Readonlyextend16_s: (value: number) => number
      • Readonlyextend32_s: (value: number) => number
      • Readonlyextend8_s: (value: number) => number
      • Readonlyge_s: (left: number, right: number) => number
      • Readonlyge_u: (left: number, right: number) => number
      • Readonlygt_s: (left: number, right: number) => number
      • Readonlygt_u: (left: number, right: number) => number
      • Readonlyle_s: (left: number, right: number) => number
      • Readonlyle_u: (left: number, right: number) => number
      • Readonlyload: (offset: number, align: number, ptr: number, name?: string) => number
      • Readonlyload16_s: (offset: number, align: number, ptr: number, name?: string) => number
      • Readonlyload16_u: (offset: number, align: number, ptr: number, name?: string) => number
      • Readonlyload32_s: (offset: number, align: number, ptr: number, name?: string) => number
      • Readonlyload32_u: (offset: number, align: number, ptr: number, name?: string) => number
      • Readonlyload8_s: (offset: number, align: number, ptr: number, name?: string) => number
      • Readonlyload8_u: (offset: number, align: number, ptr: number, name?: string) => number
      • Readonlylt_s: (left: number, right: number) => number
      • Readonlylt_u: (left: number, right: number) => number
      • Readonlymul: (left: number, right: number) => number
      • Readonlymul_wide_s: (left: number, right: number) => number
      • Readonlymul_wide_u: (left: number, right: number) => number
      • Readonlyne: (left: number, right: number) => number
      • Readonlyor: (left: number, right: number) => number
      • Readonlypopcnt: (value: number) => number
      • Readonlyreinterpret_f64: (value: number) => number
      • Readonlyrem_s: (left: number, right: number) => number
      • Readonlyrem_u: (left: number, right: number) => number
      • Readonlyrotl: (left: number, right: number) => number
      • Readonlyrotr: (left: number, right: number) => number
      • Readonlyshl: (left: number, right: number) => number
      • Readonlyshr_s: (left: number, right: number) => number
      • Readonlyshr_u: (left: number, right: number) => number
      • Readonlystore: (
            offset: number,
            align: number,
            ptr: number,
            value: number,
            name?: string,
        ) => number
      • Readonlystore16: (
            offset: number,
            align: number,
            ptr: number,
            value: number,
            name?: string,
        ) => number
      • Readonlystore32: (
            offset: number,
            align: number,
            ptr: number,
            value: number,
            name?: string,
        ) => number
      • Readonlystore8: (
            offset: number,
            align: number,
            ptr: number,
            value: number,
            name?: string,
        ) => number
      • Readonlysub: (left: number, right: number) => number
      • Readonlysub128: (
            leftLow: number,
            leftHigh: number,
            rightLow: number,
            rightHigh: number,
        ) => number
      • Readonlytrunc_f32_s: (value: number) => number
      • Readonlytrunc_f32_u: (value: number) => number
      • Readonlytrunc_f64_s: (value: number) => number
      • Readonlytrunc_f64_u: (value: number) => number
      • Readonlytrunc_s: { f32: (...args: any[]) => number; f64: (...args: any[]) => number }
        • Readonlyf32: (...args: any[]) => number

          Use .trunc_f32_s() instead.

        • Readonlyf64: (...args: any[]) => number

          Use .trunc_f64_s() instead.

      • Readonlytrunc_s_sat: { f32: (...args: any[]) => number; f64: (...args: any[]) => number }
        • Readonlyf32: (...args: any[]) => number

          Use .trunc_sat_f32_s() instead.

        • Readonlyf64: (...args: any[]) => number

          Use .trunc_sat_f64_s() instead.

      • Readonlytrunc_sat_f32_s: (value: number) => number
      • Readonlytrunc_sat_f32_u: (value: number) => number
      • Readonlytrunc_sat_f64_s: (value: number) => number
      • Readonlytrunc_sat_f64_u: (value: number) => number
      • Readonlytrunc_u: { f32: (...args: any[]) => number; f64: (...args: any[]) => number }
        • Readonlyf32: (...args: any[]) => number

          Use .trunc_f32_u() instead.

        • Readonlyf64: (...args: any[]) => number

          Use .trunc_f64_u() instead.

      • Readonlytrunc_u_sat: { f32: (...args: any[]) => number; f64: (...args: any[]) => number }
        • Readonlyf32: (...args: any[]) => number

          Use .trunc_sat_f32_u() instead.

        • Readonlyf64: (...args: any[]) => number

          Use .trunc_sat_f64_u() instead.

      • Readonlyxor: (left: number, right: number) => number
      • extend_s: function
      • extend_u: function
      • reinterpret: function
    • Readonlyi64x2: {
          abs: (value: number) => number;
          add: (left: number, right: number) => number;
          all_true: (value: number) => number;
          bitmask: (value: number) => number;
          eq: (left: number, right: number) => number;
          extend_high_i32x4_s: (value: number) => number;
          extend_high_i32x4_u: (value: number) => number;
          extend_low_i32x4_s: (value: number) => number;
          extend_low_i32x4_u: (value: number) => number;
          extmul_high_i32x4_s: (left: number, right: number) => number;
          extmul_high_i32x4_u: (left: number, right: number) => number;
          extmul_low_i32x4_s: (left: number, right: number) => number;
          extmul_low_i32x4_u: (left: number, right: number) => number;
          extract_lane: (vec: number, index: number) => number;
          ge_s: (left: number, right: number) => number;
          gt_s: (left: number, right: number) => number;
          le_s: (left: number, right: number) => number;
          lt_s: (left: number, right: number) => number;
          mul: (left: number, right: number) => number;
          ne: (left: number, right: number) => number;
          neg: (value: number) => number;
          replace_lane: (vec: number, index: number, value: number) => number;
          shl: (vec: number, shift: number) => number;
          shr_s: (vec: number, shift: number) => number;
          shr_u: (vec: number, shift: number) => number;
          splat: (value: number) => number;
          sub: (left: number, right: number) => number;
      }
    • Readonlyi8x16: {
          abs: (value: number) => number;
          add: (left: number, right: number) => number;
          add_sat_s: (left: number, right: number) => number;
          add_sat_u: (left: number, right: number) => number;
          all_true: (value: number) => number;
          avgr_u: (left: number, right: number) => number;
          bitmask: (value: number) => number;
          eq: (left: number, right: number) => number;
          extract_lane_s: (vec: number, index: number) => number;
          extract_lane_u: (vec: number, index: number) => number;
          ge_s: (left: number, right: number) => number;
          ge_u: (left: number, right: number) => number;
          gt_s: (left: number, right: number) => number;
          gt_u: (left: number, right: number) => number;
          le_s: (left: number, right: number) => number;
          le_u: (left: number, right: number) => number;
          lt_s: (left: number, right: number) => number;
          lt_u: (left: number, right: number) => number;
          max_s: (left: number, right: number) => number;
          max_u: (left: number, right: number) => number;
          min_s: (left: number, right: number) => number;
          min_u: (left: number, right: number) => number;
          narrow_i16x8_s: (left: number, right: number) => number;
          narrow_i16x8_u: (left: number, right: number) => number;
          ne: (left: number, right: number) => number;
          neg: (value: number) => number;
          popcnt: (value: number) => number;
          replace_lane: (vec: number, index: number, value: number) => number;
          shl: (vec: number, shift: number) => number;
          shr_s: (vec: number, shift: number) => number;
          shr_u: (vec: number, shift: number) => number;
          shuffle: (left: number, right: number, mask: readonly number[]) => number;
          splat: (value: number) => number;
          sub: (left: number, right: number) => number;
          sub_sat_s: (left: number, right: number) => number;
          sub_sat_u: (left: number, right: number) => number;
          swizzle: (left: number, right: number) => number;
          add_saturate_s(...args: any[]): number;
          add_saturate_u(...args: any[]): number;
          sub_saturate_s(...args: any[]): number;
          sub_saturate_u(...args: any[]): number;
      }
      • Readonlyabs: (value: number) => number
      • Readonlyadd: (left: number, right: number) => number
      • Readonlyadd_sat_s: (left: number, right: number) => number
      • Readonlyadd_sat_u: (left: number, right: number) => number
      • Readonlyall_true: (value: number) => number
      • Readonlyavgr_u: (left: number, right: number) => number
      • Readonlybitmask: (value: number) => number
      • Readonlyeq: (left: number, right: number) => number
      • Readonlyextract_lane_s: (vec: number, index: number) => number
      • Readonlyextract_lane_u: (vec: number, index: number) => number
      • Readonlyge_s: (left: number, right: number) => number
      • Readonlyge_u: (left: number, right: number) => number
      • Readonlygt_s: (left: number, right: number) => number
      • Readonlygt_u: (left: number, right: number) => number
      • Readonlyle_s: (left: number, right: number) => number
      • Readonlyle_u: (left: number, right: number) => number
      • Readonlylt_s: (left: number, right: number) => number
      • Readonlylt_u: (left: number, right: number) => number
      • Readonlymax_s: (left: number, right: number) => number
      • Readonlymax_u: (left: number, right: number) => number
      • Readonlymin_s: (left: number, right: number) => number
      • Readonlymin_u: (left: number, right: number) => number
      • Readonlynarrow_i16x8_s: (left: number, right: number) => number
      • Readonlynarrow_i16x8_u: (left: number, right: number) => number
      • Readonlyne: (left: number, right: number) => number
      • Readonlyneg: (value: number) => number
      • Readonlypopcnt: (value: number) => number
      • Readonlyreplace_lane: (vec: number, index: number, value: number) => number
      • Readonlyshl: (vec: number, shift: number) => number
      • Readonlyshr_s: (vec: number, shift: number) => number
      • Readonlyshr_u: (vec: number, shift: number) => number
      • Readonlyshuffle: (left: number, right: number, mask: readonly number[]) => number
      • Readonlysplat: (value: number) => number
      • Readonlysub: (left: number, right: number) => number
      • Readonlysub_sat_s: (left: number, right: number) => number
      • Readonlysub_sat_u: (left: number, right: number) => number
      • Readonlyswizzle: (left: number, right: number) => number
      • add_saturate_s: function
      • add_saturate_u: function
      • sub_saturate_s: function
      • sub_saturate_u: function
    • Readonlyif: (ifTrue: number, ifFalse: number) => number

      Creates an ‘if’ or ‘if/else’ combination.

    • Readonlylocal: {
          get: (index: number, typ: number) => number;
          set: (index: number, value: number) => number;
          tee: (index: number, value: number, typ: number) => number;
      }
      • Readonlyget: (index: number, typ: number) => number

        Creates a (local.get) for the local at the specified index. Note that we must specify the type here as we may not have created the local being accessed yet.

      • Readonlyset: (index: number, value: number) => number

        Creates a (local.set) for the local at the specified index.

      • Readonlytee: (index: number, value: number, typ: number) => number

        Creates a (local.tee) for the local at the specified index. Note that we must specify the type here as we may not have created the local being accessed yet.

    • Readonlyloop: (name: string, body: number) => number

      Creates a (loop).

    • Readonlymemory: {
          atomic: {
              notify: (ptr: number, notifyCount: number, name: string) => number;
              wait32: (
                  ptr: number,
                  expected: number,
                  timeout: number,
                  name: string,
              ) => number;
              wait64: (
                  ptr: number,
                  expected: number,
                  timeout: number,
                  name: string,
              ) => number;
          };
          copy: (
              dest: number,
              source: number,
              size: number,
              destMemory: string,
              sourceMemory: string,
          ) => number;
          fill: (dest: number, value: number, size: number, name: string) => number;
          grow: (delta: number, name: string, memory64?: boolean) => number;
          init: (
              segment: string,
              dest: number,
              offset: number,
              size: number,
              name: string,
          ) => number;
          size: (name: string, memory64?: boolean) => number;
      }
      • Readonly Experimentalatomic: {
            notify: (ptr: number, notifyCount: number, name: string) => number;
            wait32: (
                ptr: number,
                expected: number,
                timeout: number,
                name: string,
            ) => number;
            wait64: (
                ptr: number,
                expected: number,
                timeout: number,
                name: string,
            ) => number;
        }
      • Readonlycopy: (
            dest: number,
            source: number,
            size: number,
            destMemory: string,
            sourceMemory: string,
        ) => number

        Copies data from a source memory region to a possibly overlapping destination region in another or the same memory. The first index denotes the destination.

      • Readonlyfill: (dest: number, value: number, size: number, name: string) => number

        Sets all values in a region of memory to a given byte.

      • Readonlygrow: (delta: number, name: string, memory64?: boolean) => number

        Grows memory by a given delta and returns the previous size, or -1 if not enough space can be allocated.

      • Readonlyinit: (
            segment: string,
            dest: number,
            offset: number,
            size: number,
            name: string,
        ) => number

        Copies data from a passive data segment into a memory.

      • Readonlysize: (name: string, memory64?: boolean) => number

        Returns the current size of a memory.

    • Readonlynop: () => number

      Creates a no-operation (nop) instruction.

    • Readonlyref: {
          as_non_null: (value: number) => number;
          cast: (value: number, castType: number) => number;
          eq: (left: number, right: number) => number;
          func: (name: string, type: number) => number;
          i31: (value: number) => number;
          is_null: (value: number) => number;
          null: (typ: number) => number;
          test: (value: number, castType: number) => number;
      }
      • Readonlyas_non_null: (value: number) => number

        Converts a nullible reference to a non-null one, or traps.

      • Readonlycast: (value: number, castType: number) => number

        Tests the dynamic type of a reference, and performs a downcast or traps.

      • Readonlyeq: (left: number, right: number) => number

        Compares two references.

      • Readonlyfunc: (name: string, type: number) => number

        Produces a reference to a given function.

      • Readonlyi31: (value: number) => number

        Converts type i32 to an unboxed scalar.

      • Readonlyis_null: (value: number) => number

        Checks for null.

      • Readonlynull: (typ: number) => number

        Produces a null reference.

      • Readonlytest: (value: number, castType: number) => number

        Tests the dynamic type of a reference, and returns boolean.

    • Readonlyreturn: (value: number) => number

      Unconditional branch to the body of the current function.

    • Readonlyreturn_call: (name: string, operands: readonly number[], resultsType: number) => number

      Tail-call variant of call.

    • Readonlyreturn_call_indirect: (
          table: string,
          target: number,
          operands: readonly number[],
          paramsType: number,
          resultsType: number,
      ) => number

      Tail-call variant of call_indirect.

    • Readonlyreturn_call_ref: (target: number, operands: readonly number[], resultsType: number) => number

      Tail-call variant of call_ref.

    • Readonlyselect: (ifTrue: number, ifFalse: number) => number

      Creates a (select) of one of two values.

    • Readonlystruct: {
          get: (
              index: number,
              ref: number,
              type: number,
              deprecated_isSigned?: boolean,
          ) => number;
          get_s: (index: number, ref: number, type: number) => number;
          get_u: (index: number, ref: number, type: number) => number;
          new: (operands: readonly number[], heapType: number) => number;
          new_default: (heapType: number) => number;
          set: (index: number, ref: number, value: number) => number;
      }
      • Readonlyget: (
            index: number,
            ref: number,
            type: number,
            deprecated_isSigned?: boolean,
        ) => number

        Gets a struct entry with an unpacked type at an index.

        Warning: .get() no longer takes the boolean isSigned argument, and assumes an unpacked type. For packed types, use .get_s() for signed and .get_u() for unsigned.

      • Readonlyget_s: (index: number, ref: number, type: number) => number

        Gets a struct entry with a signed packed type at an index.

      • Readonlyget_u: (index: number, ref: number, type: number) => number

        Gets a struct entry with an unsigned packed type at an index.

      • Readonlynew: (operands: readonly number[], heapType: number) => number

        Allocates a new struct and initializes it with the given operands. Passing in an empty array for operands returns (struct.new_default).

      • Readonlynew_default: (heapType: number) => number

        Allocate a new struct and initializes it with default values.

      • Readonlyset: (index: number, ref: number, value: number) => number

        Sets a struct entry at an index.

    • Readonlytable: {
          get: (name: string, index: number, typ: number) => number;
          grow: (name: string, value: number, delta: number) => number;
          set: (name: string, index: number, value: number) => number;
          size: (name: string) => number;
      }
      • Readonlyget: (name: string, index: number, typ: number) => number

        Load an element in a table.

      • Readonlygrow: (name: string, value: number, delta: number) => number

        Grows table by a given delta and returns the previous size, or -1 if not enough space can be allocated.

      • Readonlyset: (name: string, index: number, value: number) => number

        Store an element in a table.

      • Readonlysize: (name: string) => number

        Returns the current size of a table.

    • Readonlythrow: (tag: string, operands: readonly number[]) => number

      Raise an exception.

    • Readonlythrow_ref: (target: string) => number

      Reraise an exception.

    • Readonlytry_table: (
          name: string,
          body: number,
          catchTags: readonly string[],
          catchBodies: readonly number[],
          delegateTarget: string,
      ) => number

      Installs an exception handler that handles exceptions as specified by its catch clauses.

    • Readonlytuple: {
          extract: (tupl: number, index: number) => number;
          make: (elements: readonly number[]) => number;
      }
      • Readonlyextract: (tupl: number, index: number) => number

        Extracts a value from a Binaryen virtual tuple.

      • Readonlymake: (elements: readonly number[]) => number

        A Binaryen-specific operation that combines values into a virtual tuple. A virtual tuple is simply a set of locals treated together as one unit, not an actual object stored in the heap.

    • Readonlyunreachable: () => number

      Creates an unreachable instruction that will always trap.

    • Readonlyv128: {
          and: (left: number, right: number) => number;
          andnot: (left: number, right: number) => number;
          anytrue: (value: number) => number;
          bitselect: (left: number, right: number, cond: number) => number;
          const: (i8s: readonly number[]) => number;
          load: (offset: number, align: number, ptr: number, name?: string) => number;
          load16_lane: (
              offset: number,
              align: number,
              index: number,
              ptr: number,
              vec: number,
              name?: string,
          ) => number;
          load16_splat: (
              offset: number,
              align: number,
              ptr: number,
              name?: string,
          ) => number;
          load16x4_s: (
              offset: number,
              align: number,
              ptr: number,
              name?: string,
          ) => number;
          load16x4_u: (
              offset: number,
              align: number,
              ptr: number,
              name?: string,
          ) => number;
          load32_lane: (
              offset: number,
              align: number,
              index: number,
              ptr: number,
              vec: number,
              name?: string,
          ) => number;
          load32_splat: (
              offset: number,
              align: number,
              ptr: number,
              name?: string,
          ) => number;
          load32_zero: (
              offset: number,
              align: number,
              ptr: number,
              name?: string,
          ) => number;
          load32x2_s: (
              offset: number,
              align: number,
              ptr: number,
              name?: string,
          ) => number;
          load32x2_u: (
              offset: number,
              align: number,
              ptr: number,
              name?: string,
          ) => number;
          load64_lane: (
              offset: number,
              align: number,
              index: number,
              ptr: number,
              vec: number,
              name?: string,
          ) => number;
          load64_splat: (
              offset: number,
              align: number,
              ptr: number,
              name?: string,
          ) => number;
          load64_zero: (
              offset: number,
              align: number,
              ptr: number,
              name?: string,
          ) => number;
          load8_lane: (
              offset: number,
              align: number,
              index: number,
              ptr: number,
              vec: number,
              name?: string,
          ) => number;
          load8_splat: (
              offset: number,
              align: number,
              ptr: number,
              name?: string,
          ) => number;
          load8x8_s: (
              offset: number,
              align: number,
              ptr: number,
              name?: string,
          ) => number;
          load8x8_u: (
              offset: number,
              align: number,
              ptr: number,
              name?: string,
          ) => number;
          not: (value: number) => number;
          or: (left: number, right: number) => number;
          store: (
              offset: number,
              align: number,
              ptr: number,
              value: number,
              name?: string,
          ) => number;
          store16_lane: (
              offset: number,
              align: number,
              index: number,
              ptr: number,
              vec: number,
              name?: string,
          ) => number;
          store32_lane: (
              offset: number,
              align: number,
              index: number,
              ptr: number,
              vec: number,
              name?: string,
          ) => number;
          store64_lane: (
              offset: number,
              align: number,
              index: number,
              ptr: number,
              vec: number,
              name?: string,
          ) => number;
          store8_lane: (
              offset: number,
              align: number,
              index: number,
              ptr: number,
              vec: number,
              name?: string,
          ) => number;
          xor: (left: number, right: number) => number;
      }
      • Readonlyand: (left: number, right: number) => number
      • Readonlyandnot: (left: number, right: number) => number
      • Readonlyanytrue: (value: number) => number
      • Readonlybitselect: (left: number, right: number, cond: number) => number
      • Readonlyconst: (i8s: readonly number[]) => number

        Return a static constant v128.

      • Readonlyload: (offset: number, align: number, ptr: number, name?: string) => number
      • Readonlyload16_lane: (
            offset: number,
            align: number,
            index: number,
            ptr: number,
            vec: number,
            name?: string,
        ) => number
      • Readonlyload16_splat: (offset: number, align: number, ptr: number, name?: string) => number
      • Readonlyload16x4_s: (offset: number, align: number, ptr: number, name?: string) => number
      • Readonlyload16x4_u: (offset: number, align: number, ptr: number, name?: string) => number
      • Readonlyload32_lane: (
            offset: number,
            align: number,
            index: number,
            ptr: number,
            vec: number,
            name?: string,
        ) => number
      • Readonlyload32_splat: (offset: number, align: number, ptr: number, name?: string) => number
      • Readonlyload32_zero: (offset: number, align: number, ptr: number, name?: string) => number
      • Readonlyload32x2_s: (offset: number, align: number, ptr: number, name?: string) => number
      • Readonlyload32x2_u: (offset: number, align: number, ptr: number, name?: string) => number
      • Readonlyload64_lane: (
            offset: number,
            align: number,
            index: number,
            ptr: number,
            vec: number,
            name?: string,
        ) => number
      • Readonlyload64_splat: (offset: number, align: number, ptr: number, name?: string) => number
      • Readonlyload64_zero: (offset: number, align: number, ptr: number, name?: string) => number
      • Readonlyload8_lane: (
            offset: number,
            align: number,
            index: number,
            ptr: number,
            vec: number,
            name?: string,
        ) => number
      • Readonlyload8_splat: (offset: number, align: number, ptr: number, name?: string) => number
      • Readonlyload8x8_s: (offset: number, align: number, ptr: number, name?: string) => number
      • Readonlyload8x8_u: (offset: number, align: number, ptr: number, name?: string) => number
      • Readonlynot: (value: number) => number
      • Readonlyor: (left: number, right: number) => number
      • Readonlystore: (
            offset: number,
            align: number,
            ptr: number,
            value: number,
            name?: string,
        ) => number
      • Readonlystore16_lane: (
            offset: number,
            align: number,
            index: number,
            ptr: number,
            vec: number,
            name?: string,
        ) => number
      • Readonlystore32_lane: (
            offset: number,
            align: number,
            index: number,
            ptr: number,
            vec: number,
            name?: string,
        ) => number
      • Readonlystore64_lane: (
            offset: number,
            align: number,
            index: number,
            ptr: number,
            vec: number,
            name?: string,
        ) => number
      • Readonlystore8_lane: (
            offset: number,
            align: number,
            index: number,
            ptr: number,
            vec: number,
            name?: string,
        ) => number
      • Readonlyxor: (left: number, right: number) => number
    • break: function
    • callIndirect: function
    • rethrow: function
    • returnCall: function
    • returnCallIndirect: function
    • switch: function
    • try: function
    • Creates a deep copy of an expression.

      Parameters

      • expr: number

      Returns number

    • Pseudo-instruction enabling Binaryen to reason about multiple values on the stack.

      Parameters

      • typ: number

      Returns number

    Module Component Operations

    dataSegments: {
        count(): number;
        get(name: string): number;
        getByIndex(index: number): number;
    } = ...

    Type Declaration

    elementSegments: {
        addActive(
            table: string,
            name: string,
            funcNames: readonly string[],
            offset?: number,
        ): number;
        addPassive(name: string, funcNames: readonly string[]): number;
        count(): number;
        get(name: string): number;
        getByIndex(index: number): number;
        remove(name: string): void;
    } = ...

    Type Declaration

    • addActive: function
      • Adds an active element segment.

        Parameters

        • table: string
        • name: string
        • funcNames: readonly string[]
        • offset: number = ...

        Returns number

    • addPassive: function
      • Adds a passive element segment.

        Parameters

        • name: string
        • funcNames: readonly string[]

        Returns number

    • count: function
    • get: function
    • getByIndex: function
    • remove: function
    exports: {
        addFunction(internalName: string, externalName: string): number;
        addGlobal(internalName: string, externalName: string): number;
        addMemory(internalName: string, externalName: string): number;
        addTable(internalName: string, externalName: string): number;
        addTag(internalName: string, externalName: string): number;
        count(): number;
        get(externalName: string): number;
        getByIndex(index: number): number;
        remove(externalName: string): void;
    } = ...

    Type Declaration

    • addFunction: function
      • Adds a function export.

        Parameters

        • internalName: string
        • externalName: string

        Returns number

    • addGlobal: function
      • Adds a global variable export. Exported globals must be immutable.

        Parameters

        • internalName: string
        • externalName: string

        Returns number

    • addMemory: function
      • Adds a memory export. There’s just one memory for now, using name "0".

        Parameters

        • internalName: string
        • externalName: string

        Returns number

    • addTable: function
      • Adds a table export. There’s just one table for now, using name "0".

        Parameters

        • internalName: string
        • externalName: string

        Returns number

    • addTag: function
      • Adds a tag export.

        Parameters

        • internalName: string
        • externalName: string

        Returns number

    • count: function
    • get: function
      • Gets an export by name.

        Parameters

        • externalName: string

        Returns number

    • getByIndex: function
    • remove: function
      • Removes an export, by external name.

        Parameters

        • externalName: string

        Returns void

    functions: {
        add(
            name: string,
            params: number,
            results: number,
            varTypes: readonly number[],
            body: number,
        ): number;
        count(): number;
        get(name: string): number;
        getByIndex(index: number): number;
        remove(name: string): void;
    } = ...

    Type Declaration

    • add: function
      • Adds a function. varTypes indicate additional locals, in the given order.

        Parameters

        • name: string
        • params: number
        • results: number
        • varTypes: readonly number[]
        • body: number

        Returns number

    • count: function
    • get: function
    • getByIndex: function
    • remove: function
    globals: {
        add(name: string, type: number, mutable: boolean, init: number): number;
        count(): number;
        get(name: string): number;
        getByIndex(index: number): number;
        remove(name: string): void;
    } = ...

    Type Declaration

    • add: function
      • Adds a global instance variable.

        Parameters

        • name: string
        • type: number
        • mutable: boolean
        • init: number

        Returns number

    • count: function
    • get: function
    • getByIndex: function
    • remove: function
    imports: {
        addFunction(
            internalName: string,
            externalModuleName: string,
            externalBaseName: string,
            params: number,
            results: number,
        ): void;
        addGlobal(
            internalName: string,
            externalModuleName: string,
            externalBaseName: string,
            globalType: number,
            mutable: boolean,
        ): void;
        addMemory(
            internalName: string,
            externalModuleName: string,
            externalBaseName: string,
            shared: boolean,
        ): void;
        addTable(
            internalName: string,
            externalModuleName: string,
            externalBaseName: string,
        ): void;
        addTag(
            internalName: string,
            externalModuleName: string,
            externalBaseName: string,
            params: number,
            results: number,
        ): void;
    } = ...

    Type Declaration

    • addFunction: function
      • Adds a function import.

        Parameters

        • internalName: string
        • externalModuleName: string
        • externalBaseName: string
        • params: number
        • results: number

        Returns void

    • addGlobal: function
      • Adds a global variable import. Imported globals must be immutable.

        Parameters

        • internalName: string
        • externalModuleName: string
        • externalBaseName: string
        • globalType: number
        • mutable: boolean

        Returns void

    • addMemory: function
      • Adds a memory import. There’s just one memory for now, using name "0".

        Parameters

        • internalName: string
        • externalModuleName: string
        • externalBaseName: string
        • shared: boolean

        Returns void

    • addTable: function
      • Adds a table import. There’s just one table for now, using name "0".

        Parameters

        • internalName: string
        • externalModuleName: string
        • externalBaseName: string

        Returns void

    • addTag: function
      • Adds a tag import.

        Parameters

        • internalName: string
        • externalModuleName: string
        • externalBaseName: string
        • params: number
        • results: number

        Returns void

    memories: {
        has(): boolean;
        set(
            initial: number,
            maximum: number,
            exportName: string,
            segments?: readonly {
                data: Uint8Array;
                name?: string;
                offset: number;
                passive: boolean;
            }[],
            shared?: boolean,
            memory64?: boolean,
            internalName?: string,
        ): void;
    } = ...

    Type Declaration

    • has: function
    • set: function
      • Sets the memory. There’s just one memory for now, using name "0". Providing exportName also creates a memory export.

        Parameters

        • initial: number
        • maximum: number
        • exportName: string
        • segments: readonly { data: Uint8Array; name?: string; offset: number; passive: boolean }[] = []
        • shared: boolean = false
        • memory64: boolean = false
        • OptionalinternalName: string

        Returns void

    tables: {
        add(
            name: string,
            initial: number,
            maximum: number,
            type?: number,
            init?: number,
        ): number;
        count(): number;
        get(name: string): number;
        getByIndex(index: number): number;
        getSegments(table: number): number[];
        remove(name: string): void;
    } = ...

    Type Declaration

    • add: function
      • Adds a table.

        Parameters

        • name: string
        • initial: number
        • maximum: number
        • type: number = funcref
        • Optionalinit: number

        Returns number

    • count: function
    • get: function
    • getByIndex: function
      • Gets a table by index.

        Parameters

        • index: number

        Returns number

    • getSegments: function
      • Gets the number of table segments within the module.

        Parameters

        • table: number

        Returns number[]

    • remove: function
    tags: {
        add(name: string, params: number, results: number): number;
        get(name: string): number;
        remove(name: string): void;
    } = ...

    Type Declaration

    • add: function
      • Adds a tag.

        Parameters

        • name: string
        • params: number
        • results: number

        Returns number

    • get: function
    • remove: function

    Other

    • Parameters

      • table: string
      • name: string
      • funcNames: readonly string[]
      • offset: number

      Returns number

      Use this.elementSegments.addActive instead.

    • Adds a custom section to the binary.

      Parameters

      • name: string
      • contents: Uint8Array

      Returns void

    • Parameters

      • name: string
      • params: number
      • results: number
      • varTypes: readonly number[]
      • body: number

      Returns number

      Use this.functions.add instead.

    • Parameters

      • internalName: string
      • externalModuleName: string
      • externalBaseName: string
      • params: number
      • results: number

      Returns void

      Use this.imports.addFunction instead.

    • Parameters

      • name: string
      • type: number
      • mutable: boolean
      • init: number

      Returns number

      Use this.globals.add instead.

    • Parameters

      • internalName: string
      • externalModuleName: string
      • externalBaseName: string
      • globalType: number
      • mutable: boolean

      Returns void

      Use this.imports.addGlobal instead.

    • Parameters

      • internalName: string
      • externalModuleName: string
      • externalBaseName: string
      • shared: boolean

      Returns void

      Use this.imports.addMemory instead.

    • Parameters

      • name: string
      • initial: number
      • maximum: number
      • type: number = funcref
      • Optionalinit: number

      Returns number

      Use this.tables.add instead.

    • Parameters

      • internalName: string
      • externalModuleName: string
      • externalBaseName: string

      Returns void

      Use this.imports.addTable instead.

    • Parameters

      • internalName: string
      • externalModuleName: string
      • externalBaseName: string
      • params: number
      • results: number

      Returns void

      Use this.imports.addTag instead.

    • [description]

      Parameters

      • heapType: number
      • index: number
      • name: string

      Returns void

    • Parameters

      • initial: number
      • maximum: number
      • exportName: string
      • Optionalsegments: readonly any[]
      • Optionalshared: boolean
      • Optionalmemory64: boolean
      • OptionalinternalName: string

      Returns void

      Use this.memories.set instead.

    • [description]

      Parameters

      • heapType: number
      • name: string

      Returns void

    • Updates the internal name mapping logic in a module. This must be called after renaming module elements.

      Returns void

    Validation & Optimization

    • Optimizes a single function using the default optimization passes.

      Parameters

      • func: string | number

      Returns void

    • Runs the specified passes on the module.

      Parameters

      • passes: readonly string[]

      Returns void

    • Runs the specified passes on a single function.

      Parameters

      • func: string | number
      • passes: readonly string[]

      Returns void

    • Validates the module. Returns true if valid, otherwise prints validation errors and returns false.

      Returns number