@webassemblyjs/helper-wasm-section
Advanced tools
Comparing version 1.7.5 to 1.7.6
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" | ||
} | ||
} |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
17710
409
+ Added@webassemblyjs/ast@1.7.6(transitive)
+ Added@webassemblyjs/floating-point-hex-parser@1.7.6(transitive)
+ Added@webassemblyjs/helper-api-error@1.7.6(transitive)
+ Added@webassemblyjs/helper-buffer@1.7.6(transitive)
+ Added@webassemblyjs/helper-code-frame@1.7.6(transitive)
+ Added@webassemblyjs/helper-fsm@1.7.6(transitive)
+ Added@webassemblyjs/helper-module-context@1.7.6(transitive)
+ Added@webassemblyjs/helper-wasm-bytecode@1.7.6(transitive)
+ Added@webassemblyjs/ieee754@1.7.6(transitive)
+ Added@webassemblyjs/leb128@1.7.6(transitive)
+ Added@webassemblyjs/utf8@1.7.6(transitive)
+ Added@webassemblyjs/wasm-gen@1.7.6(transitive)
+ Added@webassemblyjs/wast-parser@1.7.6(transitive)
+ Added@webassemblyjs/wast-printer@1.7.6(transitive)
- Removed@webassemblyjs/ast@1.7.5(transitive)
- Removed@webassemblyjs/floating-point-hex-parser@1.7.5(transitive)
- Removed@webassemblyjs/helper-api-error@1.7.5(transitive)
- Removed@webassemblyjs/helper-buffer@1.7.5(transitive)
- Removed@webassemblyjs/helper-code-frame@1.7.5(transitive)
- Removed@webassemblyjs/helper-fsm@1.7.5(transitive)
- Removed@webassemblyjs/helper-module-context@1.7.5(transitive)
- Removed@webassemblyjs/helper-wasm-bytecode@1.7.5(transitive)
- Removed@webassemblyjs/ieee754@1.7.5(transitive)
- Removed@webassemblyjs/leb128@1.7.5(transitive)
- Removed@webassemblyjs/utf8@1.7.5(transitive)
- Removed@webassemblyjs/wasm-gen@1.7.5(transitive)
- Removed@webassemblyjs/wast-parser@1.7.5(transitive)
- Removed@webassemblyjs/wast-printer@1.7.5(transitive)
Updated@webassemblyjs/ast@1.7.6