Files
ECC/tests/lib/npm-pack-output.js
T

26 lines
564 B
JavaScript

function isPackEntry(value) {
return value !== null && typeof value === 'object' && !Array.isArray(value);
}
function getNpmPackEntry(output, packageName) {
const matchesPackage = value => (
isPackEntry(value) && value.name === packageName
);
if (Array.isArray(output)) {
return output.find(matchesPackage);
}
if (!isPackEntry(output)) {
return undefined;
}
if (matchesPackage(output[packageName])) {
return output[packageName];
}
return Object.values(output).find(matchesPackage);
}
module.exports = { getNpmPackEntry };