2019-05-13 12:42:43 +00:00
|
|
|
import got from '../libs/got'
|
|
|
|
import { version, versionColor } from '../libs/utils'
|
2019-11-18 15:52:07 +00:00
|
|
|
import { createBadgenHandler, PathArgs } from '../libs/create-badgen-handler'
|
2019-05-13 12:42:43 +00:00
|
|
|
|
2019-11-18 15:52:07 +00:00
|
|
|
export default createBadgenHandler({
|
2019-05-26 04:40:32 +00:00
|
|
|
title: 'Homebrew',
|
2019-05-26 04:38:30 +00:00
|
|
|
examples: {
|
|
|
|
'/homebrew/v/fish': 'version',
|
|
|
|
'/homebrew/v/cake': 'version'
|
2019-11-18 15:52:07 +00:00
|
|
|
},
|
|
|
|
handlers: {
|
|
|
|
'/homebrew/v/:pkg': handler
|
2019-05-26 04:38:30 +00:00
|
|
|
}
|
2019-11-18 15:52:07 +00:00
|
|
|
})
|
2019-05-13 12:42:43 +00:00
|
|
|
|
2019-11-18 15:52:07 +00:00
|
|
|
async function handler ({ pkg }: PathArgs) {
|
2019-05-13 12:42:43 +00:00
|
|
|
const endpoint = `https://formulae.brew.sh/api/formula/${pkg}.json`
|
2020-01-26 07:43:40 +00:00
|
|
|
const { versions } = await got(endpoint).json<any>()
|
2019-05-13 12:42:43 +00:00
|
|
|
|
|
|
|
return {
|
|
|
|
subject: 'homebrew',
|
|
|
|
status: version(versions.stable),
|
|
|
|
color: versionColor(versions.stable)
|
|
|
|
}
|
|
|
|
}
|