Files
shields/services/pypi/pypi-base.js
chris48s 13d75e0607 upgrade to prettier 2 (#5051)
* arrowParens: avoid
* remove trailingComma setting
2020-05-05 21:07:43 +01:00

43 lines
931 B
JavaScript

'use strict'
const Joi = require('@hapi/joi')
const { BaseJsonService } = require('..')
const schema = Joi.object({
info: Joi.object({
version: Joi.string().required(),
// https://github.com/badges/shields/issues/2022
license: Joi.string().allow(''),
classifiers: Joi.array().items(Joi.string()).required(),
}).required(),
releases: Joi.object()
.pattern(
Joi.string(),
Joi.array()
.items(
Joi.object({
packagetype: Joi.string().required(),
})
)
.required()
)
.required(),
}).required()
module.exports = class PypiBase extends BaseJsonService {
static buildRoute(base) {
return {
base,
pattern: ':egg*',
}
}
async fetch({ egg }) {
return this._requestJson({
schema,
url: `https://pypi.org/pypi/${egg}/json`,
errorMessages: { 404: 'package or version not found' },
})
}
}