Socket
Socket
Sign inDemoInstall

@webassemblyjs/wasm-edit

Package Overview
Dependencies
Maintainers
1
Versions
81
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@webassemblyjs/wasm-edit - npm Package Compare versions

Comparing version 1.2.8 to 1.3.0

test/insert-node.js

26

lib/index.js

@@ -17,4 +17,10 @@ "use strict";

var _helperWasmSection = require("@webassemblyjs/helper-wasm-section");
var _helperWasmBytecode = _interopRequireDefault(require("@webassemblyjs/helper-wasm-bytecode"));
var _apply = require("./apply");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function hashNode(node) {

@@ -35,2 +41,18 @@ return JSON.stringify(node);

function sortBySectionOrder(nodes) {
nodes.sort(function (a, b) {
var sectionA = (0, _helperWasmSection.getSectionForNode)(a);
var sectionB = (0, _helperWasmSection.getSectionForNode)(b);
var aId = _helperWasmBytecode.default.sections[sectionA];
var bId = _helperWasmBytecode.default.sections[sectionB];
if (typeof aId !== "number" || typeof bId !== "number") {
throw new Error("Section id not found");
} // $FlowIgnore ensured above
return aId > bId;
});
}
function edit(ab, visitors) {

@@ -68,3 +90,5 @@ var operations = [];

function add(ab, newNodes) {
ab = preprocess(ab);
ab = preprocess(ab); // Sort nodes by insertion order
sortBySectionOrder(newNodes);
var ast = (0, _wasmParser.decode)(ab, decoderOpts);

@@ -71,0 +95,0 @@ var uint8Buffer = new Uint8Array(ab); // Map node into operations

20

package.json
{
"name": "@webassemblyjs/wasm-edit",
"version": "1.2.8",
"version": "1.3.0",
"description": "",

@@ -19,15 +19,15 @@ "main": "lib/index.js",

"dependencies": {
"@webassemblyjs/ast": "1.2.8",
"@webassemblyjs/helper-buffer": "1.2.8",
"@webassemblyjs/helper-wasm-bytecode": "1.2.8",
"@webassemblyjs/helper-wasm-section": "1.2.8",
"@webassemblyjs/wasm-gen": "1.2.8",
"@webassemblyjs/wasm-opt": "1.2.8",
"@webassemblyjs/wasm-parser": "1.2.8",
"@webassemblyjs/wast-printer": "1.2.8",
"@webassemblyjs/ast": "1.3.0",
"@webassemblyjs/helper-buffer": "1.3.0",
"@webassemblyjs/helper-wasm-bytecode": "1.3.0",
"@webassemblyjs/helper-wasm-section": "1.3.0",
"@webassemblyjs/wasm-gen": "1.3.0",
"@webassemblyjs/wasm-opt": "1.3.0",
"@webassemblyjs/wasm-parser": "1.3.0",
"@webassemblyjs/wast-printer": "1.3.0",
"debug": "^3.1.0"
},
"devDependencies": {
"@webassemblyjs/helper-test-framework": "1.2.8"
"@webassemblyjs/helper-test-framework": "1.3.0"
}
}

@@ -7,2 +7,4 @@ // @flow

import { shrinkPaddedLEB128 } from "@webassemblyjs/wasm-opt";
import { getSectionForNode } from "@webassemblyjs/helper-wasm-section";
import constants from "@webassemblyjs/helper-wasm-bytecode";

@@ -26,2 +28,19 @@ import { applyOperations } from "./apply";

function sortBySectionOrder(nodes: Array<Node>) {
nodes.sort((a, b) => {
const sectionA = getSectionForNode(a);
const sectionB = getSectionForNode(b);
const aId = constants.sections[sectionA];
const bId = constants.sections[sectionB];
if (typeof aId !== "number" || typeof bId !== "number") {
throw new Error("Section id not found");
}
// $FlowIgnore ensured above
return aId > bId;
});
}
export function edit(ab: ArrayBuffer, visitors: Object): ArrayBuffer {

@@ -68,2 +87,5 @@ const operations: Array<Operation> = [];

// Sort nodes by insertion order
sortBySectionOrder(newNodes);
const ast = decode(ab, decoderOpts);

@@ -70,0 +92,0 @@

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc