mirror of
https://github.com/affaan-m/ECC.git
synced 2026-08-31 04:09:51 +02:00
26 lines
564 B
JavaScript
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 };
|