Files
shields/services/github/github-languages-base.js
chris48s 504015c0ba migrate hapi/joi to joi (#5624)
* update joi + joi-extension-semver

* @hapi/joi --> joi

Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2020-09-30 17:51:02 +00:00

29 lines
803 B
JavaScript

'use strict'
const Joi = require('joi')
const { nonNegativeInteger } = require('../validators')
const { GithubAuthV3Service } = require('./github-auth-service')
const { errorMessagesFor } = require('./github-helpers')
/*
We're expecting a response like { "Python": 39624, "Shell": 104 }
The keys could be anything and {} is a valid response (e.g: for an empty repo)
*/
const schema = Joi.object().pattern(/./, nonNegativeInteger)
class BaseGithubLanguage extends GithubAuthV3Service {
async fetch({ user, repo }) {
return this._requestJson({
url: `/repos/${user}/${repo}/languages`,
schema,
errorMessages: errorMessagesFor(),
})
}
getTotalSize(data) {
return Object.values(data).reduce((acc, size) => acc + size, 0)
}
}
module.exports = { BaseGithubLanguage }