Nonlinear Programming Methods

    wasm-check
    TypeScript icon, indicating that this package has built-in type declarations

    2.0.3 • Public • Published

    NPM registryNPM license

    Library for detect WebAssembly post-MVP features in NodeJS & Browser. Small and with zero dependencies.

    About post-MVP WebAssembly features

    https://github.com/WebAssembly/design/blob/master/FutureFeatures.md#tracking-issues

    Tests on Canary with flags:

    Enable some experimental features for Chrome Canary (Mac):

    /Applications/Google\ Chrome\ Canary.app/Contents/MacOS/Google\ Chrome\ Canary --js-flags="--experimental-wasm-eh"
    

    Support feature detections

    Install

    yarn add wasm-check
    

    or

    npm i wasm-check
    

    Usage

    Check supported WebAssembly version

    import * as check from 'wasm-check';
    // or
    // const check = require('wasm-check');
    
    console.log(check.support()); // default MVP
    console.log(check.support(1)); // same
    console.log(check.support(2)); // version 2 (for future)

    Check supporting streaming compilation

    import * as check from 'wasm-check';
    
    console.log(check.supportStreaming);

    Get all post-MVP WebAssembly features

    import * as check from 'wasm-check';
    
    const features = { ...check.feature };
    console.log(features);

    Output:

    {
      bigInt: true,
      bulk: true,
      exceptions: false,
      mutableGlobal: true,
      multiValue: true,
      saturateConversions: true,
      signExtensions: true,
      tailCall: false,
      threads: false,
      simd: false,
      references: false,
      typeReflection: false,
      funcReferences: false
    }

    Or check concrete feature

    import * as check from 'wasm-check';
    
    console.log(check.feature.simd); // has SIMD support?
    console.log(check.feature.tailCalls); // has tail call optimization support?

    TODO

    • [ ] GC integration feature check
    • [ ] Interface Types feature check

    Install

    npm i wasm-check

    DownloadsWeekly Downloads

    2,792

    Version

    2.0.3

    License

    MIT

    Unpacked Size

    21.5 kB

    Total Files

    11

    Last publish

    Collaborators

    • maxgraey