How to use wasmparser - 4 common examples

To help you get started, we’ve selected a few wasmparser 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 firefox-devtools / debugger / src / utils / wasm.js View on Github external
function maybeWasmSectionNameResolver(data: Uint8Array) {
  try {
    const parser = new BinaryReader();
    parser.setData(data.buffer, 0, data.length);
    const reader = new NameSectionReader();
    reader.read(parser);
    return reader.hasValidNames() ? reader.getNameResolver() : null;
  } catch (ex) {
    // Ignoring any errors during names section retrival.
    return null;
  }
}
github firefox-devtools / debugger / src / utils / wasm.js View on Github external
function maybeWasmSectionNameResolver(data: Uint8Array) {
  try {
    const parser = new BinaryReader();
    parser.setData(data.buffer, 0, data.length);
    const reader = new NameSectionReader();
    reader.read(parser);
    return reader.hasValidNames() ? reader.getNameResolver() : null;
  } catch (ex) {
    // Ignoring any errors during names section retrival.
    return null;
  }
}
github firefox-devtools / debugger / src / utils / wasm.js View on Github external
export function getWasmText(sourceId: string, data: Uint8Array) {
  const nameResolver = maybeWasmSectionNameResolver(data);
  const parser = new BinaryReader();
  parser.setData(data.buffer, 0, data.length);
  const dis = new WasmDisassembler();
  if (nameResolver) {
    dis.nameResolver = nameResolver;
  }
  dis.addOffsets = true;
  const done = dis.disassembleChunk(parser);
  let result = dis.getResult();
  if (result.lines.length === 0) {
    result = { lines: ["No luck with wast conversion"], offsets: [0], done };
  }

  const offsets = result.offsets;
  const lines = [];
  for (let i = 0; i < offsets.length; i++) {
    lines[offsets[i]] = i;
github firefox-devtools / debugger / src / utils / wasm.js View on Github external
export function getWasmText(sourceId: string, data: Uint8Array) {
  const nameResolver = maybeWasmSectionNameResolver(data);
  const parser = new BinaryReader();
  parser.setData(data.buffer, 0, data.length);
  const dis = new WasmDisassembler();
  if (nameResolver) {
    dis.nameResolver = nameResolver;
  }
  dis.addOffsets = true;
  const done = dis.disassembleChunk(parser);
  let result = dis.getResult();
  if (result.lines.length === 0) {
    result = { lines: ["No luck with wast conversion"], offsets: [0], done };
  }

  const offsets = result.offsets;
  const lines = [];
  for (let i = 0; i < offsets.length; i++) {
    lines[offsets[i]] = i;
  }

wasmparser

Binary WebAssembly file parser.

Apache-2.0
Latest version published 1 month ago

Package Health Score

76 / 100
Full package analysis

Similar packages