async executeWasm()

in src/js-executor/index.js [126:147]


  async executeWasm(jsCode, wasmCode, executor, theme, onError, imports, output) {
    try {
      const exports = await executor(
        this.iframe.contentWindow,
        jsCode,
        wasmCode,
      );
      await exports.instantiate({"playground.master": imports});
      const bufferedOutput = output ?? exports.bufferedOutput;
      const outputString = bufferedOutput.buffer;
      bufferedOutput.buffer = '';
      return outputString
        ? `<span class="standard-output ${theme}">${processingHtmlBrackets(
          outputString,
        )}</span>`
        : '';
    } catch (e) {
      if (onError) onError();
      let exceptionOutput = showJsException(e);
      return `<span class="error-output">${exceptionOutput}</span>`;
    }
  }