How to use the @assemblyscript/loader.instantiateStreaming function in @assemblyscript/loader

To help you get started, we’ve selected a few @assemblyscript/loader examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github ColinEberhardt / atari2600-wasm / web / main.js View on Github external
const run = async () => {
  const WIDTH = 160;
  const HEIGHT = 192;

  const imports = {
    env: {
      abort(_msg, _file, line, column) {
        console.error("abort called at index.ts:" + line + ":" + column);
      }
    }
  };

  const module = await loader.instantiateStreaming(fetch("../build/untouched.wasm"));
  const memory = module.Memory.wrap(module.consoleMemory);
  const tia = module.TIA.wrap(module.tia);
  const buffer = module.__getArrayView(memory.buffer);
  result.data.forEach((byte, index) => {
    buffer[index + 0x1000] = byte;
  });

  // initialise the canvas
  const canvas = document.getElementById("canvas");
  const ctx = canvas.getContext("2d");
  ctx.fillStyle = "black";
  ctx.fillRect(0, 0, WIDTH, HEIGHT);

  const updateDisplay = () => {
    const screenBuffer = module.__getArray(tia.display);
    const imageData = ctx.createImageData(WIDTH, HEIGHT);

@assemblyscript/loader

A convenient loader for AssemblyScript modules.

Apache-2.0
Latest version published 1 month ago

Package Health Score

94 / 100
Full package analysis