@webassemblyjs/wasm-parser
Advanced tools
Comparing version 1.8.1 to 1.8.2
@@ -1101,2 +1101,38 @@ function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } | ||
return nameMetadata; | ||
} // this is a custom setion used for information about the producers | ||
// https://github.com/WebAssembly/tool-conventions/blob/master/ProducersSection.md | ||
function parseProducersSection() { | ||
var metadata = t.producersSectionMetadata([]); // field_count | ||
var sectionTypeByte = readVaruint32(); | ||
eatBytes(sectionTypeByte.nextIndex); | ||
dump([sectionTypeByte.value], "num of producers"); | ||
var fields = { | ||
language: [], | ||
"processed-by": [], | ||
sdk: [] | ||
}; // fields | ||
for (var fieldI = 0; fieldI < sectionTypeByte.value; fieldI++) { | ||
// field_name | ||
var fieldName = readUTF8String(); | ||
eatBytes(fieldName.nextIndex); // field_value_count | ||
var valueCount = readVaruint32(); | ||
eatBytes(valueCount.nextIndex); // field_values | ||
for (var producerI = 0; producerI < valueCount.value; producerI++) { | ||
var producerName = readUTF8String(); | ||
eatBytes(producerName.nextIndex); | ||
var producerVersion = readUTF8String(); | ||
eatBytes(producerVersion.nextIndex); | ||
fields[fieldName.value].push(t.producerMetadataVersionedName(producerName.value, producerVersion.value)); | ||
} | ||
metadata.producers.push(fields[fieldName.value]); | ||
} | ||
return metadata; | ||
} | ||
@@ -1596,2 +1632,4 @@ | ||
if (sectionName.value === "name") { | ||
var initialOffset = offset; | ||
try { | ||
@@ -1601,4 +1639,13 @@ _metadata12.push.apply(_metadata12, _toConsumableArray(parseNameSection(_remainingBytes2))); | ||
console.warn("Failed to decode custom \"name\" section @".concat(offset, "; ignoring (").concat(e.message, ").")); | ||
eatBytes(_remainingBytes2); | ||
eatBytes(offset - (initialOffset + _remainingBytes2)); | ||
} | ||
} else if (sectionName.value === "producers") { | ||
var _initialOffset = offset; | ||
try { | ||
_metadata12.push(parseProducersSection()); | ||
} catch (e) { | ||
console.warn("Failed to decode custom \"producers\" section @".concat(offset, "; ignoring (").concat(e.message, ").")); | ||
eatBytes(offset - (_initialOffset + _remainingBytes2)); | ||
} | ||
} else { | ||
@@ -1628,3 +1675,4 @@ // We don't parse the custom section | ||
functionNames: [], | ||
localNames: [] | ||
localNames: [], | ||
producers: [] | ||
}; | ||
@@ -1648,2 +1696,4 @@ /** | ||
moduleMetadata.localNames.push(metadataItem); | ||
} else if (metadataItem.type === "ProducersSectionMetadata") { | ||
moduleMetadata.producers.push(metadataItem); | ||
} else { | ||
@@ -1713,4 +1763,4 @@ moduleMetadata.sections.push(metadataItem); | ||
dumpSep("end of program"); | ||
var module = t.module(null, moduleFields, t.moduleMetadata(moduleMetadata.sections, moduleMetadata.functionNames, moduleMetadata.localNames)); | ||
var module = t.module(null, moduleFields, t.moduleMetadata(moduleMetadata.sections, moduleMetadata.functionNames, moduleMetadata.localNames, moduleMetadata.producers)); | ||
return t.program([module]); | ||
} |
@@ -1117,2 +1117,38 @@ "use strict"; | ||
return nameMetadata; | ||
} // this is a custom setion used for information about the producers | ||
// https://github.com/WebAssembly/tool-conventions/blob/master/ProducersSection.md | ||
function parseProducersSection() { | ||
var metadata = t.producersSectionMetadata([]); // field_count | ||
var sectionTypeByte = readVaruint32(); | ||
eatBytes(sectionTypeByte.nextIndex); | ||
dump([sectionTypeByte.value], "num of producers"); | ||
var fields = { | ||
language: [], | ||
"processed-by": [], | ||
sdk: [] | ||
}; // fields | ||
for (var fieldI = 0; fieldI < sectionTypeByte.value; fieldI++) { | ||
// field_name | ||
var fieldName = readUTF8String(); | ||
eatBytes(fieldName.nextIndex); // field_value_count | ||
var valueCount = readVaruint32(); | ||
eatBytes(valueCount.nextIndex); // field_values | ||
for (var producerI = 0; producerI < valueCount.value; producerI++) { | ||
var producerName = readUTF8String(); | ||
eatBytes(producerName.nextIndex); | ||
var producerVersion = readUTF8String(); | ||
eatBytes(producerVersion.nextIndex); | ||
fields[fieldName.value].push(t.producerMetadataVersionedName(producerName.value, producerVersion.value)); | ||
} | ||
metadata.producers.push(fields[fieldName.value]); | ||
} | ||
return metadata; | ||
} | ||
@@ -1612,2 +1648,4 @@ | ||
if (sectionName.value === "name") { | ||
var initialOffset = offset; | ||
try { | ||
@@ -1617,4 +1655,13 @@ _metadata12.push.apply(_metadata12, _toConsumableArray(parseNameSection(_remainingBytes2))); | ||
console.warn("Failed to decode custom \"name\" section @".concat(offset, "; ignoring (").concat(e.message, ").")); | ||
eatBytes(_remainingBytes2); | ||
eatBytes(offset - (initialOffset + _remainingBytes2)); | ||
} | ||
} else if (sectionName.value === "producers") { | ||
var _initialOffset = offset; | ||
try { | ||
_metadata12.push(parseProducersSection()); | ||
} catch (e) { | ||
console.warn("Failed to decode custom \"producers\" section @".concat(offset, "; ignoring (").concat(e.message, ").")); | ||
eatBytes(offset - (_initialOffset + _remainingBytes2)); | ||
} | ||
} else { | ||
@@ -1644,3 +1691,4 @@ // We don't parse the custom section | ||
functionNames: [], | ||
localNames: [] | ||
localNames: [], | ||
producers: [] | ||
}; | ||
@@ -1664,2 +1712,4 @@ /** | ||
moduleMetadata.localNames.push(metadataItem); | ||
} else if (metadataItem.type === "ProducersSectionMetadata") { | ||
moduleMetadata.producers.push(metadataItem); | ||
} else { | ||
@@ -1729,4 +1779,4 @@ moduleMetadata.sections.push(metadataItem); | ||
dumpSep("end of program"); | ||
var module = t.module(null, moduleFields, t.moduleMetadata(moduleMetadata.sections, moduleMetadata.functionNames, moduleMetadata.localNames)); | ||
var module = t.module(null, moduleFields, t.moduleMetadata(moduleMetadata.sections, moduleMetadata.functionNames, moduleMetadata.localNames, moduleMetadata.producers)); | ||
return t.program([module]); | ||
} |
{ | ||
"name": "@webassemblyjs/wasm-parser", | ||
"version": "1.8.1", | ||
"version": "1.8.2", | ||
"keywords": [ | ||
@@ -20,8 +20,8 @@ "webassembly", | ||
"dependencies": { | ||
"@webassemblyjs/ast": "1.8.1", | ||
"@webassemblyjs/helper-api-error": "1.8.1", | ||
"@webassemblyjs/helper-wasm-bytecode": "1.8.1", | ||
"@webassemblyjs/ieee754": "1.8.1", | ||
"@webassemblyjs/leb128": "1.8.1", | ||
"@webassemblyjs/utf8": "1.8.1" | ||
"@webassemblyjs/ast": "1.8.2", | ||
"@webassemblyjs/helper-api-error": "1.8.2", | ||
"@webassemblyjs/helper-wasm-bytecode": "1.8.2", | ||
"@webassemblyjs/ieee754": "1.8.2", | ||
"@webassemblyjs/leb128": "1.8.2", | ||
"@webassemblyjs/utf8": "1.8.2" | ||
}, | ||
@@ -36,11 +36,11 @@ "repository": { | ||
"devDependencies": { | ||
"@webassemblyjs/helper-buffer": "1.8.1", | ||
"@webassemblyjs/helper-test-framework": "1.8.1", | ||
"@webassemblyjs/helper-buffer": "1.8.2", | ||
"@webassemblyjs/helper-test-framework": "1.8.2", | ||
"@webassemblyjs/helper-wasm-bytecode": "1.7.7", | ||
"@webassemblyjs/wasm-gen": "1.8.1", | ||
"@webassemblyjs/wast-parser": "1.8.1", | ||
"@webassemblyjs/wasm-gen": "1.8.2", | ||
"@webassemblyjs/wast-parser": "1.8.2", | ||
"mamacro": "^0.0.3", | ||
"wabt": "1.0.0-nightly.20180421" | ||
}, | ||
"gitHead": "a2f42245e9b597e3541e0f697253449d60fc4d79" | ||
"gitHead": "02af462b507aa7a24f5d3201178434b181bcdabb" | ||
} |
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
144271
3251
+ Added@webassemblyjs/ast@1.8.2(transitive)
+ Added@webassemblyjs/floating-point-hex-parser@1.8.2(transitive)
+ Added@webassemblyjs/helper-api-error@1.8.2(transitive)
+ Added@webassemblyjs/helper-code-frame@1.8.2(transitive)
+ Added@webassemblyjs/helper-fsm@1.8.2(transitive)
+ Added@webassemblyjs/helper-module-context@1.8.2(transitive)
+ Added@webassemblyjs/helper-wasm-bytecode@1.8.2(transitive)
+ Added@webassemblyjs/ieee754@1.8.2(transitive)
+ Added@webassemblyjs/leb128@1.8.2(transitive)
+ Added@webassemblyjs/utf8@1.8.2(transitive)
+ Added@webassemblyjs/wast-parser@1.8.2(transitive)
+ Added@webassemblyjs/wast-printer@1.8.2(transitive)
- Removed@webassemblyjs/ast@1.8.1(transitive)
- Removed@webassemblyjs/floating-point-hex-parser@1.8.1(transitive)
- Removed@webassemblyjs/helper-api-error@1.8.1(transitive)
- Removed@webassemblyjs/helper-code-frame@1.8.1(transitive)
- Removed@webassemblyjs/helper-fsm@1.8.1(transitive)
- Removed@webassemblyjs/helper-module-context@1.8.1(transitive)
- Removed@webassemblyjs/helper-wasm-bytecode@1.8.1(transitive)
- Removed@webassemblyjs/ieee754@1.8.1(transitive)
- Removed@webassemblyjs/leb128@1.8.1(transitive)
- Removed@webassemblyjs/utf8@1.8.1(transitive)
- Removed@webassemblyjs/wast-parser@1.8.1(transitive)
- Removed@webassemblyjs/wast-printer@1.8.1(transitive)
- Removed@xtuc/long@4.2.1(transitive)
Updated@webassemblyjs/ast@1.8.2
Updated@webassemblyjs/ieee754@1.8.2
Updated@webassemblyjs/leb128@1.8.2
Updated@webassemblyjs/utf8@1.8.2