@webassemblyjs/wasm-edit
Advanced tools
Comparing version 1.1.2-y.10 to 1.2.0
@@ -29,4 +29,6 @@ "use strict"; | ||
function shiftLocNodeByDelta(node, delta) { | ||
assertNodeHasLoc(node); | ||
node.loc.start.column += delta; | ||
assertNodeHasLoc(node); // $FlowIgnore: assertNodeHasLoc ensures that | ||
node.loc.start.column += delta; // $FlowIgnore: assertNodeHasLoc ensures that | ||
node.loc.end.column += delta; | ||
@@ -40,2 +42,3 @@ } | ||
var deltaElements = 0; | ||
assertNodeHasLoc(oldNode); | ||
@@ -89,4 +92,3 @@ var sectionName = (0, _helperWasmSection.getSectionForNode)(newNode); | ||
var deltaBytes = replacementByteArray.length - ( // $FlowIgnore: assertNodeHasLoc ensures that | ||
oldNode.loc.end.column - oldNode.loc.start.column); | ||
uint8Buffer = (0, _helperWasmSection.resizeSectionByteSize)(ast, uint8Buffer, sectionName, deltaBytes); // Init location informations | ||
oldNode.loc.end.column - oldNode.loc.start.column); // Init location informations | ||
@@ -105,3 +107,4 @@ newNode.loc = { | ||
newNode.loc.start.column = oldNode.loc.start.column; | ||
newNode.loc.start.column = oldNode.loc.start.column; // $FlowIgnore: assertNodeHasLoc ensures that | ||
newNode.loc.end.column = // $FlowIgnore: assertNodeHasLoc ensures that | ||
@@ -111,3 +114,4 @@ oldNode.loc.start.column + replacementByteArray.length; | ||
uint8Buffer: uint8Buffer, | ||
deltaBytes: deltaBytes | ||
deltaBytes: deltaBytes, | ||
deltaElements: deltaElements | ||
}; | ||
@@ -135,3 +139,4 @@ } | ||
uint8Buffer: uint8Buffer, | ||
deltaBytes: _deltaBytes | ||
deltaBytes: _deltaBytes, | ||
deltaElements: deltaElements | ||
}; | ||
@@ -151,7 +156,6 @@ } // replacement is nothing | ||
var deltaBytes = -(node.loc.end.column - node.loc.start.column); | ||
uint8Buffer = (0, _helperWasmSection.resizeSectionByteSize)(ast, uint8Buffer, sectionName, deltaBytes); | ||
uint8Buffer = (0, _helperWasmSection.resizeSectionVecSize)(ast, uint8Buffer, sectionName, deltaElements); | ||
return { | ||
uint8Buffer: uint8Buffer, | ||
deltaBytes: deltaBytes | ||
deltaBytes: deltaBytes, | ||
deltaElements: deltaElements | ||
}; | ||
@@ -186,14 +190,13 @@ } | ||
var deltaBytes = newByteArray.length; | ||
uint8Buffer = (0, _helperWasmSection.resizeSectionByteSize)(ast, uint8Buffer, sectionName, deltaBytes); | ||
uint8Buffer = (0, _helperWasmSection.resizeSectionVecSize)(ast, uint8Buffer, sectionName, deltaElements); | ||
return { | ||
uint8Buffer: uint8Buffer, | ||
deltaBytes: deltaBytes | ||
deltaBytes: deltaBytes, | ||
deltaElements: deltaElements | ||
}; | ||
} // TODO(sven): we could resize the section here instead, it's generic enough | ||
} | ||
function applyOperations(ast, uint8Buffer, ops) { | ||
ops.forEach(function (op) { | ||
var state; | ||
var sectionName; | ||
@@ -203,2 +206,3 @@ switch (op.kind) { | ||
state = applyUpdate(ast, uint8Buffer, [op.oldNode, op.node]); | ||
sectionName = (0, _helperWasmSection.getSectionForNode)(op.node); | ||
break; | ||
@@ -208,2 +212,3 @@ | ||
state = applyDelete(ast, uint8Buffer, op.node); | ||
sectionName = (0, _helperWasmSection.getSectionForNode)(op.node); | ||
break; | ||
@@ -213,2 +218,3 @@ | ||
state = applyAdd(ast, uint8Buffer, op.node); | ||
sectionName = (0, _helperWasmSection.getSectionForNode)(op.node); | ||
break; | ||
@@ -228,10 +234,20 @@ | ||
case "update": | ||
return shiftLocNodeByDelta(op.oldNode, state.deltaBytes); | ||
shiftLocNodeByDelta(op.oldNode, state.deltaBytes); | ||
break; | ||
case "delete": | ||
return shiftLocNodeByDelta(op.node, state.deltaBytes); | ||
shiftLocNodeByDelta(op.node, state.deltaBytes); | ||
break; | ||
} | ||
}); | ||
if (sectionName !== "start") { | ||
state.uint8Buffer = (0, _helperWasmSection.resizeSectionByteSize)(ast, state.uint8Buffer, sectionName, state.deltaBytes); | ||
} | ||
} | ||
if (state.deltaElements !== 0 && sectionName !== "start") { | ||
state.uint8Buffer = (0, _helperWasmSection.resizeSectionVecSize)(ast, state.uint8Buffer, sectionName, state.deltaElements); | ||
} | ||
uint8Buffer = state.uint8Buffer; | ||
@@ -238,0 +254,0 @@ }); |
{ | ||
"name": "@webassemblyjs/wasm-edit", | ||
"version": "1.1.2-y.10", | ||
"version": "1.2.0", | ||
"description": "", | ||
@@ -19,10 +19,10 @@ "main": "lib/index.js", | ||
"dependencies": { | ||
"@webassemblyjs/ast": "1.1.2-y.10", | ||
"@webassemblyjs/helper-buffer": "1.1.2-y.10", | ||
"@webassemblyjs/helper-wasm-bytecode": "1.1.2-y.10", | ||
"@webassemblyjs/helper-wasm-section": "1.1.2-y.10", | ||
"@webassemblyjs/wasm-gen": "1.1.2-y.10", | ||
"@webassemblyjs/wasm-parser": "1.1.2-y.10", | ||
"@webassemblyjs/wast-printer": "1.1.2-y.10" | ||
"@webassemblyjs/ast": "1.2.0", | ||
"@webassemblyjs/helper-buffer": "1.2.0", | ||
"@webassemblyjs/helper-wasm-bytecode": "1.2.0", | ||
"@webassemblyjs/helper-wasm-section": "1.2.0", | ||
"@webassemblyjs/wasm-gen": "1.2.0", | ||
"@webassemblyjs/wasm-parser": "1.2.0", | ||
"@webassemblyjs/wast-printer": "1.2.0" | ||
} | ||
} |
@@ -17,3 +17,5 @@ // @flow | ||
uint8Buffer: Uint8Array, | ||
deltaBytes: number | ||
deltaBytes: number, | ||
deltaElements: number | ||
}; | ||
@@ -31,6 +33,8 @@ | ||
function shiftLocNodeByDelta(node: Node, delta: number): Array<Node> { | ||
function shiftLocNodeByDelta(node: Node, delta: number) { | ||
assertNodeHasLoc(node); | ||
// $FlowIgnore: assertNodeHasLoc ensures that | ||
node.loc.start.column += delta; | ||
// $FlowIgnore: assertNodeHasLoc ensures that | ||
node.loc.end.column += delta; | ||
@@ -44,2 +48,4 @@ } | ||
): State { | ||
const deltaElements = 0; | ||
assertNodeHasLoc(oldNode); | ||
@@ -109,9 +115,2 @@ | ||
uint8Buffer = resizeSectionByteSize( | ||
ast, | ||
uint8Buffer, | ||
sectionName, | ||
deltaBytes | ||
); | ||
// Init location informations | ||
@@ -126,2 +125,3 @@ newNode.loc = { | ||
newNode.loc.start.column = oldNode.loc.start.column; | ||
// $FlowIgnore: assertNodeHasLoc ensures that | ||
newNode.loc.end.column = | ||
@@ -131,3 +131,3 @@ // $FlowIgnore: assertNodeHasLoc ensures that | ||
return { uint8Buffer, deltaBytes }; | ||
return { uint8Buffer, deltaBytes, deltaElements }; | ||
} | ||
@@ -150,5 +150,6 @@ | ||
uint8Buffer = removeSection(ast, uint8Buffer, "start"); | ||
const deltaBytes = -sectionMetadata.size; | ||
return { uint8Buffer, deltaBytes }; | ||
return { uint8Buffer, deltaBytes, deltaElements }; | ||
} | ||
@@ -175,17 +176,3 @@ | ||
uint8Buffer = resizeSectionByteSize( | ||
ast, | ||
uint8Buffer, | ||
sectionName, | ||
deltaBytes | ||
); | ||
uint8Buffer = resizeSectionVecSize( | ||
ast, | ||
uint8Buffer, | ||
sectionName, | ||
deltaElements | ||
); | ||
return { uint8Buffer, deltaBytes }; | ||
return { uint8Buffer, deltaBytes, deltaElements }; | ||
} | ||
@@ -225,20 +212,5 @@ | ||
uint8Buffer = resizeSectionByteSize( | ||
ast, | ||
uint8Buffer, | ||
sectionName, | ||
deltaBytes | ||
); | ||
uint8Buffer = resizeSectionVecSize( | ||
ast, | ||
uint8Buffer, | ||
sectionName, | ||
deltaElements | ||
); | ||
return { uint8Buffer, deltaBytes }; | ||
return { uint8Buffer, deltaBytes, deltaElements }; | ||
} | ||
// TODO(sven): we could resize the section here instead, it's generic enough | ||
export function applyOperations( | ||
@@ -251,2 +223,3 @@ ast: Program, | ||
let state; | ||
let sectionName; | ||
@@ -256,2 +229,3 @@ switch (op.kind) { | ||
state = applyUpdate(ast, uint8Buffer, [op.oldNode, op.node]); | ||
sectionName = getSectionForNode(op.node); | ||
break; | ||
@@ -261,2 +235,3 @@ | ||
state = applyDelete(ast, uint8Buffer, op.node); | ||
sectionName = getSectionForNode(op.node); | ||
break; | ||
@@ -266,2 +241,3 @@ | ||
state = applyAdd(ast, uint8Buffer, op.node); | ||
sectionName = getSectionForNode(op.node); | ||
break; | ||
@@ -280,10 +256,30 @@ | ||
case "update": | ||
return shiftLocNodeByDelta(op.oldNode, state.deltaBytes); | ||
shiftLocNodeByDelta(op.oldNode, state.deltaBytes); | ||
break; | ||
case "delete": | ||
return shiftLocNodeByDelta(op.node, state.deltaBytes); | ||
shiftLocNodeByDelta(op.node, state.deltaBytes); | ||
break; | ||
} | ||
}); | ||
if (sectionName !== "start") { | ||
state.uint8Buffer = resizeSectionByteSize( | ||
ast, | ||
state.uint8Buffer, | ||
sectionName, | ||
state.deltaBytes | ||
); | ||
} | ||
} | ||
if (state.deltaElements !== 0 && sectionName !== "start") { | ||
state.uint8Buffer = resizeSectionVecSize( | ||
ast, | ||
state.uint8Buffer, | ||
sectionName, | ||
state.deltaElements | ||
); | ||
} | ||
uint8Buffer = state.uint8Buffer; | ||
@@ -290,0 +286,0 @@ }); |
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
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
19836
519
2
+ Added@webassemblyjs/ast@1.2.0(transitive)
+ Added@webassemblyjs/helper-buffer@1.2.0(transitive)
+ Added@webassemblyjs/helper-leb128@1.2.0(transitive)
+ Added@webassemblyjs/helper-wasm-bytecode@1.2.0(transitive)
+ Added@webassemblyjs/helper-wasm-section@1.2.0(transitive)
+ Added@webassemblyjs/wasm-gen@1.2.0(transitive)
+ Added@webassemblyjs/wasm-parser@1.2.0(transitive)
+ Added@webassemblyjs/wast-parser@1.2.0(transitive)
+ Added@webassemblyjs/wast-printer@1.2.0(transitive)
+ Addedwebassemblyjs@1.2.0(transitive)
- Removed@webassemblyjs/ast@1.1.2-y.10(transitive)
- Removed@webassemblyjs/helper-buffer@1.1.2-y.10(transitive)
- Removed@webassemblyjs/helper-leb128@1.1.2-y.10(transitive)
- Removed@webassemblyjs/helper-wasm-bytecode@1.1.2-y.10(transitive)
- Removed@webassemblyjs/helper-wasm-section@1.1.2-y.10(transitive)
- Removed@webassemblyjs/wasm-gen@1.1.2-y.10(transitive)
- Removed@webassemblyjs/wasm-parser@1.1.2-y.10(transitive)
- Removed@webassemblyjs/wast-parser@1.1.2-y.10(transitive)
- Removed@webassemblyjs/wast-printer@1.1.2-y.10(transitive)
- Removedwebassemblyjs@1.1.2-y.10(transitive)
Updated@webassemblyjs/ast@1.2.0