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

Function toFreshnessScore

app/utils/compare-scatter-chart.ts:11–35  ·  view source on GitHub ↗
(value: unknown, maximumAgeInDays = 365)

Source from the content-addressed store, hash-verified

9}
10
11function toFreshnessScore(value: unknown, maximumAgeInDays = 365): number | null {
12 if (!value) {
13 return null
14 }
15
16 const date = value instanceof Date ? value : new Date(String(value))
17
18 if (Number.isNaN(date.getTime())) {
19 return null
20 }
21
22 const ageInMilliseconds = Date.now() - date.getTime()
23 const ageInDays = ageInMilliseconds / MILLISECONDS_IN_A_DAY
24 const normalizedFreshness = 1 - ageInDays / maximumAgeInDays
25
26 if (normalizedFreshness < 0) {
27 return 0
28 }
29
30 if (normalizedFreshness > 1) {
31 return 100
32 }
33
34 return normalizedFreshness * 100
35}
36
37function getNumericFacetValue(
38 packageData: PackageComparisonData,

Callers 1

getNumericFacetValueFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected