MCPcopy
hub / github.com/npmx-dev/npmx.dev / getNumericFacetValue

Function getNumericFacetValue

app/utils/compare-scatter-chart.ts:37–88  ·  view source on GitHub ↗
(
  packageData: PackageComparisonData,
  facet: ComparisonFacet,
)

Source from the content-addressed store, hash-verified

35}
36
37function getNumericFacetValue(
38 packageData: PackageComparisonData,
39 facet: ComparisonFacet,
40): number | null {
41 switch (facet) {
42 case 'downloads':
43 return isFiniteNumber(packageData.downloads) ? packageData.downloads : null
44
45 case 'totalLikes':
46 return isFiniteNumber(packageData.totalLikes) ? packageData.totalLikes : null
47
48 case 'packageSize':
49 return isFiniteNumber(packageData.packageSize) ? packageData.packageSize : null
50
51 case 'installSize':
52 return isFiniteNumber(packageData.installSize?.totalSize)
53 ? packageData.installSize.totalSize
54 : null
55
56 case 'dependencies':
57 return isFiniteNumber(packageData.directDeps) ? packageData.directDeps : null
58
59 case 'totalDependencies':
60 return isFiniteNumber(packageData.installSize?.dependencyCount)
61 ? packageData.installSize.dependencyCount
62 : null
63
64 case 'vulnerabilities':
65 return isFiniteNumber(packageData.vulnerabilities?.count)
66 ? packageData.vulnerabilities.count
67 : null
68
69 case 'types':
70 return packageData.analysis?.types?.kind ? 1 : 0
71
72 case 'lastUpdated':
73 return toFreshnessScore(packageData.metadata?.lastUpdated)
74
75 case 'githubStars':
76 return isFiniteNumber(packageData.metadata?.github?.stars)
77 ? packageData.metadata.github.stars
78 : null
79
80 case 'githubIssues':
81 return isFiniteNumber(packageData.metadata?.github?.issues)
82 ? packageData.metadata.github.issues
83 : null
84
85 default:
86 return null
87 }
88}
89
90function getPackageName(packageData: PackageComparisonData, fallbackName: string): string {
91 return packageData.package?.name || fallbackName

Callers 1

Calls 2

isFiniteNumberFunction · 0.85
toFreshnessScoreFunction · 0.85

Tested by

no test coverage detected