@@ -8,7 +8,9 @@ const BaseJsonService = require('../base-json')
8
8
const { InvalidResponse } = require ( '../errors' )
9
9
const { nonNegativeInteger } = require ( '../validators' )
10
10
11
- const apmSchema = Joi . object ( {
11
+ const keywords = [ 'atom' ]
12
+
13
+ const schema = Joi . object ( {
12
14
downloads : nonNegativeInteger ,
13
15
releases : Joi . object ( {
14
16
latest : Joi . string ( ) . required ( ) ,
@@ -19,10 +21,10 @@ const apmSchema = Joi.object({
19
21
} )
20
22
21
23
class BaseAPMService extends BaseJsonService {
22
- async fetch ( { repo } ) {
24
+ async fetch ( { packageName } ) {
23
25
return this . _requestJson ( {
24
- schema : apmSchema ,
25
- url : `https://atom.io/api/packages/${ repo } ` ,
26
+ schema,
27
+ url : `https://atom.io/api/packages/${ packageName } ` ,
26
28
errorMessages : { 404 : 'package not found' } ,
27
29
} )
28
30
}
@@ -37,8 +39,8 @@ class APMDownloads extends BaseAPMService {
37
39
return { message : metric ( downloads ) , color : 'green' }
38
40
}
39
41
40
- async handle ( { repo } ) {
41
- const json = await this . fetch ( { repo } )
42
+ async handle ( { packageName } ) {
43
+ const json = await this . fetch ( { packageName } )
42
44
return this . constructor . render ( { downloads : json . downloads } )
43
45
}
44
46
@@ -53,17 +55,17 @@ class APMDownloads extends BaseAPMService {
53
55
static get route ( ) {
54
56
return {
55
57
base : 'apm/dm' ,
56
- pattern : ':repo ' ,
58
+ pattern : ':packageName ' ,
57
59
}
58
60
}
59
61
60
62
static get examples ( ) {
61
63
return [
62
64
{
63
- exampleUrl : 'vim-mode ' ,
64
- pattern : ':package' ,
65
+ title : 'APM ' ,
66
+ namedParams : { packageName : 'vim-mode' } ,
65
67
staticExample : this . render ( { downloads : '60043' } ) ,
66
- keywords : [ 'atom' ] ,
68
+ keywords,
67
69
} ,
68
70
]
69
71
}
@@ -74,8 +76,8 @@ class APMVersion extends BaseAPMService {
74
76
return renderVersionBadge ( { version } )
75
77
}
76
78
77
- async handle ( { repo } ) {
78
- const json = await this . fetch ( { repo } )
79
+ async handle ( { packageName } ) {
80
+ const json = await this . fetch ( { packageName } )
79
81
80
82
const version = json . releases . latest
81
83
if ( ! version )
@@ -92,18 +94,17 @@ class APMVersion extends BaseAPMService {
92
94
static get route ( ) {
93
95
return {
94
96
base : 'apm/v' ,
95
- format : '(.+)' ,
96
- capture : [ 'repo' ] ,
97
+ pattern : ':packageName' ,
97
98
}
98
99
}
99
100
100
101
static get examples ( ) {
101
102
return [
102
103
{
103
- exampleUrl : 'vim-mode ' ,
104
- pattern : ':package' ,
104
+ title : 'APM ' ,
105
+ namedParams : { packageName : 'vim-mode' } ,
105
106
staticExample : this . render ( { version : '0.6.0' } ) ,
106
- keywords : [ 'atom' ] ,
107
+ keywords,
107
108
} ,
108
109
]
109
110
}
@@ -114,8 +115,8 @@ class APMLicense extends BaseAPMService {
114
115
return renderLicenseBadge ( { license } )
115
116
}
116
117
117
- async handle ( { repo } ) {
118
- const json = await this . fetch ( { repo } )
118
+ async handle ( { packageName } ) {
119
+ const json = await this . fetch ( { packageName } )
119
120
120
121
const license = json . metadata . license
121
122
if ( ! license )
@@ -136,18 +137,17 @@ class APMLicense extends BaseAPMService {
136
137
static get route ( ) {
137
138
return {
138
139
base : 'apm/l' ,
139
- format : '(.+)' ,
140
- capture : [ 'repo' ] ,
140
+ pattern : ':packageName' ,
141
141
}
142
142
}
143
143
144
144
static get examples ( ) {
145
145
return [
146
146
{
147
- exampleUrl : 'vim-mode ' ,
148
- pattern : ':package' ,
147
+ title : 'APM ' ,
148
+ namedParams : { packageName : 'vim-mode' } ,
149
149
staticExample : this . render ( { license : 'MIT' } ) ,
150
- keywords : [ 'atom' ] ,
150
+ keywords,
151
151
} ,
152
152
]
153
153
}
0 commit comments