Files
klz-cables.com/.pnpm-store/v10/files/ed/06ee500560a1aa3955af62edc2f904d495011890d163dea4aadf1b69c042aa4f406d7aabbe333a138534a69a23360e95412f4ac0da902909b08e9d541f8e49
Marc Mintel 5397309103
Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 20s
Build & Deploy / 🧪 QA (push) Failing after 34s
Build & Deploy / 🏗️ Build (push) Has started running
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Smoke Test (push) Has been cancelled
Build & Deploy / ⚡ Lighthouse (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
fix(products): fix breadcrumbs and product filtering (backport from main)
2026-02-24 16:04:21 +01:00

36 lines
1.3 KiB
Plaintext

import { traverse, getSectionMetadatas, shiftSection } from "@webassemblyjs/ast";
import { overrideBytesInBuffer } from "@webassemblyjs/helper-buffer";
export function removeSections(ast, uint8Buffer, section) {
var sectionMetadatas = getSectionMetadatas(ast, section);
if (sectionMetadatas.length === 0) {
throw new Error("Section metadata not found");
}
return sectionMetadatas.reverse().reduce(function (uint8Buffer, sectionMetadata) {
var startsIncludingId = sectionMetadata.startOffset - 1;
var ends = section === "start" ? sectionMetadata.size.loc.end.column + 1 : 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();
}
if (encounteredSection === true) {
shiftSection(ast, path.node, delta);
}
}
}); // replacement is nothing
var replacement = [];
return overrideBytesInBuffer(uint8Buffer, startsIncludingId, ends, replacement);
}, uint8Buffer);
}