text: 'use strict'
  
  const { BaseGithubLanguage } = require('./github-languages-base')
  const { documentation } = require('./github-helpers')
  
  module.exports = class GithubLanguageCount extends BaseGithubLanguage {
    static get category() {
      return 'analysis'
    }
  
    static get route() {
      return {
        base: 'github/languages/count',
        pattern: ':user/:repo',
      }
    }
  
    static get examples() {
      return [
        {
          title: 'GitHub language count',
          namedParams: {
            user: 'badges',
            repo: 'shields',
          },
          staticPreview: this.render({ count: 5 }),
          documentation,
        },
      ]
    }
  
    static get defaultBadgeData() {
      return {
        label: 'languages',
      }
    }
  
    static render({ count }) {
      return {
        message: count,
        color: 'blue',
      }
    }
  
    async handle({ user, repo }) {
      const data = await this.fetch({ user, repo })
      return this.constructor.render({ count: Object.keys(data).length })
    }
  }
  