Converted Service Classes to Static Fields, run [visualstudio w3c] (#5642)

* Completed For visual-studio-app-center

* Completed For visual-studio-marketplace

* Completed For w3c

Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
This commit is contained in:
N Balgopal Patro
2020-10-03 07:49:48 +05:30
committed by GitHub
parent 9d173930ef
commit 85e3772de9
11 changed files with 221 additions and 307 deletions

View File

@@ -14,38 +14,30 @@ const schema = Joi.array().items({
})
module.exports = class VisualStudioAppCenterBuilds extends BaseVisualStudioAppCenterService {
static get category() {
return 'build'
static category = 'build'
static route = {
base: 'visual-studio-app-center/builds',
pattern: ':owner/:app/:branch/:token',
}
static get route() {
return {
base: 'visual-studio-app-center/builds',
pattern: ':owner/:app/:branch/:token',
}
}
static get examples() {
return [
{
title: 'Visual Studio App Center Builds',
namedParams: {
owner: 'jct',
app: 'my-amazing-app',
branch: 'master',
token: 'ac70cv...',
},
staticPreview: renderBuildStatusBadge({ status: 'succeeded' }),
keywords,
documentation,
static examples = [
{
title: 'Visual Studio App Center Builds',
namedParams: {
owner: 'jct',
app: 'my-amazing-app',
branch: 'master',
token: 'ac70cv...',
},
]
}
staticPreview: renderBuildStatusBadge({ status: 'succeeded' }),
keywords,
documentation,
},
]
static get defaultBadgeData() {
return {
label: 'build',
}
static defaultBadgeData = {
label: 'build',
}
async handle({ owner, app, branch, token }) {

View File

@@ -13,38 +13,30 @@ const schema = Joi.object({
}).required()
module.exports = class VisualStudioAppCenterReleasesOSVersion extends BaseVisualStudioAppCenterService {
static get category() {
return 'version'
static category = 'version'
static route = {
base: 'visual-studio-app-center/releases/osver',
pattern: ':owner/:app/:token',
}
static get route() {
return {
base: 'visual-studio-app-center/releases/osver',
pattern: ':owner/:app/:token',
}
}
static get examples() {
return [
{
title: 'Visual Studio App Center (Minimum) OS Version',
namedParams: {
owner: 'jct',
app: 'my-amazing-app',
token: 'ac70cv...',
},
staticPreview: this.render({ min_os: '4.1', app_os: 'Android' }),
keywords,
documentation,
static examples = [
{
title: 'Visual Studio App Center (Minimum) OS Version',
namedParams: {
owner: 'jct',
app: 'my-amazing-app',
token: 'ac70cv...',
},
]
}
staticPreview: this.render({ min_os: '4.1', app_os: 'Android' }),
keywords,
documentation,
},
]
static get defaultBadgeData() {
return {
label: 'min version',
color: 'blue',
}
static defaultBadgeData = {
label: 'min version',
color: 'blue',
}
static render({ app_os, min_os }) {

View File

@@ -14,38 +14,30 @@ const schema = Joi.object({
}).required()
module.exports = class VisualStudioAppCenterReleasesSize extends BaseVisualStudioAppCenterService {
static get category() {
return 'size'
static category = 'size'
static route = {
base: 'visual-studio-app-center/releases/size',
pattern: ':owner/:app/:token',
}
static get route() {
return {
base: 'visual-studio-app-center/releases/size',
pattern: ':owner/:app/:token',
}
}
static get examples() {
return [
{
title: 'Visual Studio App Center Size',
namedParams: {
owner: 'jct',
app: 'my-amazing-app',
token: 'ac70cv...',
},
staticPreview: this.render({ size: 8368844 }),
keywords,
documentation,
static examples = [
{
title: 'Visual Studio App Center Size',
namedParams: {
owner: 'jct',
app: 'my-amazing-app',
token: 'ac70cv...',
},
]
}
staticPreview: this.render({ size: 8368844 }),
keywords,
documentation,
},
]
static get defaultBadgeData() {
return {
label: 'size',
color: 'blue',
}
static defaultBadgeData = {
label: 'size',
color: 'blue',
}
static render({ size }) {

View File

@@ -14,37 +14,29 @@ const schema = Joi.object({
}).required()
module.exports = class VisualStudioAppCenterReleasesVersion extends BaseVisualStudioAppCenterService {
static get category() {
return 'version'
static category = 'version'
static route = {
base: 'visual-studio-app-center/releases/version',
pattern: ':owner/:app/:token',
}
static get route() {
return {
base: 'visual-studio-app-center/releases/version',
pattern: ':owner/:app/:token',
}
}
static get examples() {
return [
{
title: 'Visual Studio App Center Releases',
namedParams: {
owner: 'jct',
app: 'my-amazing-app',
token: 'ac70cv...',
},
staticPreview: renderVersionBadge({ version: '1.0 (4)' }),
keywords,
documentation,
static examples = [
{
title: 'Visual Studio App Center Releases',
namedParams: {
owner: 'jct',
app: 'my-amazing-app',
token: 'ac70cv...',
},
]
}
staticPreview: renderVersionBadge({ version: '1.0 (4)' }),
keywords,
documentation,
},
]
static get defaultBadgeData() {
return {
label: 'release',
}
static defaultBadgeData = {
label: 'release',
}
async handle({ owner, app, token }) {

View File

@@ -15,36 +15,28 @@ const documentation = `
// due differences in how the Marketplace tracks metrics for Azure DevOps extensions vs. other extension types.
// See https://github.com/badges/shields/pull/2748 for more information on the discussion and decision.
module.exports = class VisualStudioMarketplaceAzureDevOpsInstalls extends VisualStudioMarketplaceBase {
static get category() {
return 'downloads'
static category = 'downloads'
static route = {
base: 'visual-studio-marketplace/azure-devops/installs',
pattern: ':measure(total|onprem|services)/:extensionId',
}
static get route() {
return {
base: 'visual-studio-marketplace/azure-devops/installs',
pattern: ':measure(total|onprem|services)/:extensionId',
}
}
static get examples() {
return [
{
title: 'Visual Studio Marketplace Installs - Azure DevOps Extension',
namedParams: {
measure: 'total',
extensionId: 'swellaby.mirror-git-repository',
},
staticPreview: this.render({ count: 651 }),
keywords: this.keywords,
documentation,
static examples = [
{
title: 'Visual Studio Marketplace Installs - Azure DevOps Extension',
namedParams: {
measure: 'total',
extensionId: 'swellaby.mirror-git-repository',
},
]
}
staticPreview: this.render({ count: 651 }),
keywords: this.keywords,
documentation,
},
]
static get defaultBadgeData() {
return {
label: 'installs',
}
static defaultBadgeData = {
label: 'installs',
}
static render({ count }) {

View File

@@ -14,38 +14,32 @@ const documentation = `
`
module.exports = class VisualStudioMarketplaceDownloads extends VisualStudioMarketplaceBase {
static get category() {
return 'downloads'
static category = 'downloads'
static route = {
base: '',
pattern:
'(visual-studio-marketplace|vscode-marketplace)/:measure(d|i)/:extensionId',
}
static get route() {
return {
base: '',
pattern:
'(visual-studio-marketplace|vscode-marketplace)/:measure(d|i)/:extensionId',
}
}
static get examples() {
return [
{
title: 'Visual Studio Marketplace Installs',
pattern: 'visual-studio-marketplace/i/:extensionId',
namedParams: { extensionId: 'ritwickdey.LiveServer' },
staticPreview: this.render({ measure: 'i', count: 843 }),
keywords: this.keywords,
documentation,
},
{
title: 'Visual Studio Marketplace Downloads',
pattern: 'visual-studio-marketplace/d/:extensionId',
namedParams: { extensionId: 'ritwickdey.LiveServer' },
staticPreview: this.render({ measure: 'd', count: 1239 }),
keywords: this.keywords,
documentation,
},
]
}
static examples = [
{
title: 'Visual Studio Marketplace Installs',
pattern: 'visual-studio-marketplace/i/:extensionId',
namedParams: { extensionId: 'ritwickdey.LiveServer' },
staticPreview: this.render({ measure: 'i', count: 843 }),
keywords: this.keywords,
documentation,
},
{
title: 'Visual Studio Marketplace Downloads',
pattern: 'visual-studio-marketplace/d/:extensionId',
namedParams: { extensionId: 'ritwickdey.LiveServer' },
staticPreview: this.render({ measure: 'd', count: 1239 }),
keywords: this.keywords,
documentation,
},
]
static render({ measure, count }) {
const label = measure === 'd' ? 'downloads' : 'installs'

View File

@@ -5,34 +5,26 @@ const { formatDate } = require('../text-formatters')
const VisualStudioMarketplaceBase = require('./visual-studio-marketplace-base')
module.exports = class VisualStudioMarketplaceLastUpdated extends VisualStudioMarketplaceBase {
static get category() {
return 'activity'
static category = 'activity'
static route = {
base: '',
pattern:
'(visual-studio-marketplace|vscode-marketplace)/last-updated/:extensionId',
}
static get route() {
return {
base: '',
pattern:
'(visual-studio-marketplace|vscode-marketplace)/last-updated/:extensionId',
}
}
static examples = [
{
title: 'Visual Studio Marketplace Last Updated',
pattern: 'visual-studio-marketplace/last-updated/:extensionId',
namedParams: { extensionId: 'yasht.terminal-all-in-one' },
staticPreview: this.render({ lastUpdated: '2019-04-13T07:50:27.000Z' }),
keywords: this.keywords,
},
]
static get examples() {
return [
{
title: 'Visual Studio Marketplace Last Updated',
pattern: 'visual-studio-marketplace/last-updated/:extensionId',
namedParams: { extensionId: 'yasht.terminal-all-in-one' },
staticPreview: this.render({ lastUpdated: '2019-04-13T07:50:27.000Z' }),
keywords: this.keywords,
},
]
}
static get defaultBadgeData() {
return {
label: 'last updated',
}
static defaultBadgeData = {
label: 'last updated',
}
static render({ lastUpdated }) {

View File

@@ -5,48 +5,40 @@ const { floorCount } = require('../color-formatters')
const VisualStudioMarketplaceBase = require('./visual-studio-marketplace-base')
module.exports = class VisualStudioMarketplaceRating extends VisualStudioMarketplaceBase {
static get category() {
return 'rating'
static category = 'rating'
static route = {
base: '',
pattern:
'(visual-studio-marketplace|vscode-marketplace)/:format(r|stars)/:extensionId',
}
static get route() {
return {
base: '',
pattern:
'(visual-studio-marketplace|vscode-marketplace)/:format(r|stars)/:extensionId',
}
}
static examples = [
{
title: 'Visual Studio Marketplace Rating',
pattern: 'visual-studio-marketplace/r/:extensionId',
namedParams: { extensionId: 'ritwickdey.LiveServer' },
staticPreview: this.render({
format: 'r',
averageRating: 4.79,
ratingCount: 145,
}),
keywords: this.keywords,
},
{
title: 'Visual Studio Marketplace Rating (Stars)',
pattern: 'visual-studio-marketplace/stars/:extensionId',
namedParams: { extensionId: 'ritwickdey.LiveServer' },
staticPreview: this.render({
format: 'stars',
averageRating: 4.5,
}),
keywords: this.keywords,
},
]
static get examples() {
return [
{
title: 'Visual Studio Marketplace Rating',
pattern: 'visual-studio-marketplace/r/:extensionId',
namedParams: { extensionId: 'ritwickdey.LiveServer' },
staticPreview: this.render({
format: 'r',
averageRating: 4.79,
ratingCount: 145,
}),
keywords: this.keywords,
},
{
title: 'Visual Studio Marketplace Rating (Stars)',
pattern: 'visual-studio-marketplace/stars/:extensionId',
namedParams: { extensionId: 'ritwickdey.LiveServer' },
staticPreview: this.render({
format: 'stars',
averageRating: 4.5,
}),
keywords: this.keywords,
},
]
}
static get defaultBadgeData() {
return {
label: 'rating',
}
static defaultBadgeData = {
label: 'rating',
}
static render({ format, averageRating, ratingCount }) {

View File

@@ -5,34 +5,26 @@ const { formatDate } = require('../text-formatters')
const VisualStudioMarketplaceBase = require('./visual-studio-marketplace-base')
module.exports = class VisualStudioMarketplaceReleaseDate extends VisualStudioMarketplaceBase {
static get category() {
return 'activity'
static category = 'activity'
static route = {
base: '',
pattern:
'(visual-studio-marketplace|vscode-marketplace)/release-date/:extensionId',
}
static get route() {
return {
base: '',
pattern:
'(visual-studio-marketplace|vscode-marketplace)/release-date/:extensionId',
}
}
static examples = [
{
title: 'Visual Studio Marketplace Release Date',
pattern: 'visual-studio-marketplace/release-date/:extensionId',
namedParams: { extensionId: 'yasht.terminal-all-in-one' },
staticPreview: this.render({ releaseDate: '2019-04-13T07:50:27.000Z' }),
keywords: this.keywords,
},
]
static get examples() {
return [
{
title: 'Visual Studio Marketplace Release Date',
pattern: 'visual-studio-marketplace/release-date/:extensionId',
namedParams: { extensionId: 'yasht.terminal-all-in-one' },
staticPreview: this.render({ releaseDate: '2019-04-13T07:50:27.000Z' }),
keywords: this.keywords,
},
]
}
static get defaultBadgeData() {
return {
label: 'release date',
}
static defaultBadgeData = {
label: 'release date',
}
static render({ releaseDate }) {

View File

@@ -4,33 +4,25 @@ const { renderVersionBadge } = require('../version')
const VisualStudioMarketplaceBase = require('./visual-studio-marketplace-base')
module.exports = class VisualStudioMarketplaceVersion extends VisualStudioMarketplaceBase {
static get category() {
return 'version'
static category = 'version'
static route = {
base: '',
pattern: '(visual-studio-marketplace|vscode-marketplace)/v/:extensionId',
}
static get route() {
return {
base: '',
pattern: '(visual-studio-marketplace|vscode-marketplace)/v/:extensionId',
}
}
static examples = [
{
title: 'Visual Studio Marketplace Version',
pattern: 'visual-studio-marketplace/v/:extensionId',
namedParams: { extensionId: 'swellaby.rust-pack' },
staticPreview: this.render({ version: '0.2.7' }),
keywords: this.keywords,
},
]
static get examples() {
return [
{
title: 'Visual Studio Marketplace Version',
pattern: 'visual-studio-marketplace/v/:extensionId',
namedParams: { extensionId: 'swellaby.rust-pack' },
staticPreview: this.render({ version: '0.2.7' }),
keywords: this.keywords,
},
]
}
static get defaultBadgeData() {
return {
label: 'version',
}
static defaultBadgeData = {
label: 'version',
}
static render({ version }) {

View File

@@ -31,37 +31,29 @@ const queryParamSchema = Joi.object({
}).required()
module.exports = class W3cValidation extends BaseJsonService {
static get category() {
return 'analysis'
static category = 'analysis'
static route = {
base: 'w3c-validation',
pattern: ':parser(default|html|xml|xmldtd)',
queryParamSchema,
}
static get route() {
return {
base: 'w3c-validation',
pattern: ':parser(default|html|xml|xmldtd)',
queryParamSchema,
}
}
static get examples() {
return [
{
title: 'W3C Validation',
namedParams: { parser: 'html' },
queryParams: {
targetUrl: 'https://validator.nu/',
preset: 'HTML, SVG 1.1, MathML 3.0',
},
staticPreview: this.render({ messageTypes: {} }),
documentation,
static examples = [
{
title: 'W3C Validation',
namedParams: { parser: 'html' },
queryParams: {
targetUrl: 'https://validator.nu/',
preset: 'HTML, SVG 1.1, MathML 3.0',
},
]
}
staticPreview: this.render({ messageTypes: {} }),
documentation,
},
]
static get defaultBadgeData() {
return {
label: 'w3c',
}
static defaultBadgeData = {
label: 'w3c',
}
static render({ messageTypes }) {