Files
shields/services/bower/bower-version.service.js
chris48s f545553945 fix [bower] version badge (#9567)
* fix [bower] version badge

* update tests
2023-09-11 23:08:01 +00:00

36 lines
909 B
JavaScript

import { renderVersionBadge } from '../version.js'
import { InvalidResponse } from '../index.js'
import BaseBowerService from './bower-base.js'
export default class BowerVersion extends BaseBowerService {
static category = 'version'
static route = { base: 'bower/v', pattern: ':packageName' }
static examples = [
{
title: 'Bower Version',
namedParams: { packageName: 'bootstrap' },
staticPreview: renderVersionBadge({ version: '4.2.1' }),
},
]
static defaultBadgeData = { label: 'bower' }
static transform(data) {
const version = data.latest_release_number
if (!version) {
throw new InvalidResponse({ prettyMessage: 'no releases' })
}
return version
}
async handle({ packageName }) {
const data = await this.fetch({ packageName })
const version = this.constructor.transform(data)
return renderVersionBadge({ version })
}
}