refactor: use renderDownloadsBadge helper in remaining classes (#7211)
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
import Joi from 'joi'
|
||||
import { metric } from '../text-formatters.js'
|
||||
import { renderDownloadsBadge } from '../downloads.js'
|
||||
import { nonNegativeInteger } from '../validators.js'
|
||||
import { BaseJsonService } from '../index.js'
|
||||
|
||||
@@ -13,19 +13,19 @@ const intervalMap = {
|
||||
query: 'point/last-week',
|
||||
schema: pointResponseSchema,
|
||||
transform: json => json.downloads,
|
||||
messageSuffix: '/week',
|
||||
interval: 'week',
|
||||
},
|
||||
dm: {
|
||||
query: 'point/last-month',
|
||||
schema: pointResponseSchema,
|
||||
transform: json => json.downloads,
|
||||
messageSuffix: '/month',
|
||||
interval: 'month',
|
||||
},
|
||||
dy: {
|
||||
query: 'point/last-year',
|
||||
schema: pointResponseSchema,
|
||||
transform: json => json.downloads,
|
||||
messageSuffix: '/year',
|
||||
interval: 'year',
|
||||
},
|
||||
dt: {
|
||||
query: 'range/1000-01-01:3000-01-01',
|
||||
@@ -37,7 +37,6 @@ const intervalMap = {
|
||||
json.downloads
|
||||
.map(item => item.downloads)
|
||||
.reduce((accum, current) => accum + current),
|
||||
messageSuffix: '',
|
||||
},
|
||||
}
|
||||
|
||||
@@ -63,13 +62,12 @@ export default class NpmDownloads extends BaseJsonService {
|
||||
// For testing.
|
||||
static _intervalMap = intervalMap
|
||||
|
||||
static render({ interval, downloadCount }) {
|
||||
const { messageSuffix } = intervalMap[interval]
|
||||
|
||||
return {
|
||||
message: `${metric(downloadCount)}${messageSuffix}`,
|
||||
color: downloadCount > 0 ? 'brightgreen' : 'red',
|
||||
}
|
||||
static render({ interval, downloadCount: downloads }) {
|
||||
return renderDownloadsBadge({
|
||||
downloads,
|
||||
interval: intervalMap[interval].interval,
|
||||
colorOverride: downloads > 0 ? 'brightgreen' : 'red',
|
||||
})
|
||||
}
|
||||
|
||||
async handle({ interval, scope, packageName }) {
|
||||
|
||||
@@ -16,8 +16,9 @@ describe('NpmDownloads', function () {
|
||||
interval: 'dt',
|
||||
downloadCount: 0,
|
||||
}).expect({
|
||||
message: '0',
|
||||
color: 'red',
|
||||
message: '0',
|
||||
label: undefined,
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user