Continue to implement #2698: - Add `core/base-service/index.js` (but hold off on moving the things it imports) - Add shortcuts in `services/index.js` for Base*Service, errors, and deprecatedService. This file will be streamlined later to avoid cluttering it with rarely used bits. - Apply consistent ordering of imports and use of `module.exports` in testers. - Remove some renaming of imports. - Remove obsolete tests here and there.
33 lines
733 B
JavaScript
33 lines
733 B
JavaScript
'use strict'
|
|
|
|
const Joi = require('joi')
|
|
const { BaseJsonService } = require('..')
|
|
const { nonNegativeInteger } = require('../validators')
|
|
|
|
const condaSchema = Joi.object({
|
|
latest_version: Joi.string().required(),
|
|
conda_platforms: Joi.array()
|
|
.items(Joi.string())
|
|
.required(),
|
|
files: Joi.array()
|
|
.items(
|
|
Joi.object({
|
|
ndownloads: nonNegativeInteger,
|
|
})
|
|
)
|
|
.required(),
|
|
}).required()
|
|
|
|
module.exports = class BaseCondaService extends BaseJsonService {
|
|
async fetch({ channel, pkg }) {
|
|
return this._requestJson({
|
|
schema: condaSchema,
|
|
url: `https://api.anaconda.org/package/${channel}/${pkg}`,
|
|
})
|
|
}
|
|
|
|
static get defaultBadgeData() {
|
|
return { label: 'conda' }
|
|
}
|
|
}
|