Socket
Socket
Sign inDemoInstall

@webassemblyjs/helper-wasm-section

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/helper-wasm-section - npm Package Compare versions

Comparing version 1.7.5 to 1.7.6

2

esm/index.js
export { resizeSectionByteSize, resizeSectionVecSize } from "./resize";
export { createEmptySection } from "./create";
export { removeSection } from "./remove";
export { removeSections } from "./remove";

@@ -1,34 +0,36 @@

import { traverse, getSectionMetadata, shiftSection } from "@webassemblyjs/ast";
import { traverse, getSectionMetadatas, shiftSection } from "@webassemblyjs/ast";
import { overrideBytesInBuffer } from "@webassemblyjs/helper-buffer";
export function removeSection(ast, uint8Buffer, section) {
var sectionMetadata = getSectionMetadata(ast, section);
export function removeSections(ast, uint8Buffer, section) {
var sectionMetadatas = getSectionMetadatas(ast, section);
if (typeof sectionMetadata === "undefined") {
if (sectionMetadatas.length === 0) {
throw new Error("Section metadata not found");
} // replacement is nothing
}
return sectionMetadatas.reverse().reduce(function (uint8Buffer, sectionMetadata) {
var startsIncludingId = sectionMetadata.startOffset - 1;
var ends = sectionMetadata.startOffset + sectionMetadata.size.value + 1;
var delta = -(ends - startsIncludingId);
/**
* update AST
*/
// Once we hit our section every that is after needs to be shifted by the delta
var replacement = [];
var startsIncludingId = sectionMetadata.startOffset - 1;
var ends = sectionMetadata.startOffset + sectionMetadata.size.value + 1;
var delta = -(ends - startsIncludingId);
/**
* update AST
*/
// Once we hit our section every that is after needs to be shifted by the delta
var encounteredSection = false;
traverse(ast, {
SectionMetadata: function SectionMetadata(path) {
if (path.node.section === section) {
encounteredSection = true;
return path.remove();
}
var encounteredSection = false;
traverse(ast, {
SectionMetadata: function SectionMetadata(path) {
if (path.node.section === section) {
encounteredSection = true;
return path.remove();
if (encounteredSection === true) {
shiftSection(ast, path.node, delta);
}
}
}); // replacement is nothing
if (encounteredSection === true) {
shiftSection(ast, path.node, delta);
}
}
});
return overrideBytesInBuffer(uint8Buffer, startsIncludingId, ends, replacement);
var replacement = [];
return overrideBytesInBuffer(uint8Buffer, startsIncludingId, ends, replacement);
}, uint8Buffer);
}

@@ -24,6 +24,6 @@ "use strict";

});
Object.defineProperty(exports, "removeSection", {
Object.defineProperty(exports, "removeSections", {
enumerable: true,
get: function get() {
return _remove.removeSection;
return _remove.removeSections;
}

@@ -30,0 +30,0 @@ });

@@ -6,3 +6,3 @@ "use strict";

});
exports.removeSection = removeSection;
exports.removeSections = removeSections;

@@ -13,33 +13,35 @@ var _ast = require("@webassemblyjs/ast");

function removeSection(ast, uint8Buffer, section) {
var sectionMetadata = (0, _ast.getSectionMetadata)(ast, section);
function removeSections(ast, uint8Buffer, section) {
var sectionMetadatas = (0, _ast.getSectionMetadatas)(ast, section);
if (typeof sectionMetadata === "undefined") {
if (sectionMetadatas.length === 0) {
throw new Error("Section metadata not found");
} // replacement is nothing
}
return sectionMetadatas.reverse().reduce(function (uint8Buffer, sectionMetadata) {
var startsIncludingId = sectionMetadata.startOffset - 1;
var ends = sectionMetadata.startOffset + sectionMetadata.size.value + 1;
var delta = -(ends - startsIncludingId);
/**
* update AST
*/
// Once we hit our section every that is after needs to be shifted by the delta
var replacement = [];
var startsIncludingId = sectionMetadata.startOffset - 1;
var ends = sectionMetadata.startOffset + sectionMetadata.size.value + 1;
var delta = -(ends - startsIncludingId);
/**
* update AST
*/
// Once we hit our section every that is after needs to be shifted by the delta
var encounteredSection = false;
(0, _ast.traverse)(ast, {
SectionMetadata: function SectionMetadata(path) {
if (path.node.section === section) {
encounteredSection = true;
return path.remove();
}
var encounteredSection = false;
(0, _ast.traverse)(ast, {
SectionMetadata: function SectionMetadata(path) {
if (path.node.section === section) {
encounteredSection = true;
return path.remove();
if (encounteredSection === true) {
(0, _ast.shiftSection)(ast, path.node, delta);
}
}
}); // replacement is nothing
if (encounteredSection === true) {
(0, _ast.shiftSection)(ast, path.node, delta);
}
}
});
return (0, _helperBuffer.overrideBytesInBuffer)(uint8Buffer, startsIncludingId, ends, replacement);
var replacement = [];
return (0, _helperBuffer.overrideBytesInBuffer)(uint8Buffer, startsIncludingId, ends, replacement);
}, uint8Buffer);
}
{
"name": "@webassemblyjs/helper-wasm-section",
"version": "1.7.5",
"version": "1.7.6",
"description": "",

@@ -20,10 +20,10 @@ "main": "lib/index.js",

"dependencies": {
"@webassemblyjs/ast": "1.7.5",
"@webassemblyjs/helper-buffer": "1.7.5",
"@webassemblyjs/helper-wasm-bytecode": "1.7.5",
"@webassemblyjs/wasm-gen": "1.7.5"
"@webassemblyjs/ast": "1.7.6",
"@webassemblyjs/helper-buffer": "1.7.6",
"@webassemblyjs/helper-wasm-bytecode": "1.7.6",
"@webassemblyjs/wasm-gen": "1.7.6"
},
"devDependencies": {
"@webassemblyjs/wasm-parser": "1.7.5"
"@webassemblyjs/wasm-parser": "1.7.6"
}
}
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