2
2
* @fileoverview Enforce ARIA state and property values are valid.
3
3
* @author Ethan Cohen
4
4
*/
5
- 'use strict' ;
6
5
7
6
// ----------------------------------------------------------------------------
8
7
// Rule Definition
@@ -18,7 +17,8 @@ const errorMessage = (name, type, permittedValues) => {
18
17
case 'token' :
19
18
return `The value for ${ name } must be a single token from the following: ${ permittedValues } .` ;
20
19
case 'tokenlist' :
21
- return `The value for ${ name } must be a list of one or more tokens from the following: ${ permittedValues } .` ;
20
+ return `The value for ${ name } must be a list of one or more \
21
+ tokens from the following: ${ permittedValues } .` ;
22
22
case 'boolean' :
23
23
case 'string' :
24
24
case 'integer' :
@@ -35,15 +35,16 @@ const validityCheck = (value, expectedType, permittedValues) => {
35
35
case 'string' :
36
36
return typeof value === 'string' ;
37
37
case 'tristate' :
38
- return typeof value === 'boolean' || value == 'mixed' ;
38
+ return typeof value === 'boolean' || value === 'mixed' ;
39
39
case 'integer' :
40
40
case 'number' :
41
41
// Booleans resolve to 0/1 values so hard check that it's not first.
42
42
return typeof value !== 'boolean' && isNaN ( Number ( value ) ) === false ;
43
43
case 'token' :
44
44
return typeof value === 'string' && permittedValues . indexOf ( value . toLowerCase ( ) ) > - 1 ;
45
45
case 'tokenlist' :
46
- return typeof value === 'string' && value . split ( ' ' ) . every ( token => permittedValues . indexOf ( token . toLowerCase ( ) ) > - 1 ) ;
46
+ return typeof value === 'string' &&
47
+ value . split ( ' ' ) . every ( token => permittedValues . indexOf ( token . toLowerCase ( ) ) > - 1 ) ;
47
48
default :
48
49
return false ;
49
50
}
@@ -72,19 +73,20 @@ module.exports = context => ({
72
73
const allowUndefined = attributes . allowUndefined || false ;
73
74
const permittedValues = attributes . values || [ ] ;
74
75
75
- const isValid = validityCheck ( value , permittedType , permittedValues ) || ( allowUndefined && value === undefined ) ;
76
+ const isValid = validityCheck ( value , permittedType , permittedValues ) ||
77
+ ( allowUndefined && value === undefined ) ;
76
78
77
79
if ( isValid ) {
78
80
return ;
79
81
}
80
82
81
83
context . report ( {
82
84
node : attribute ,
83
- message : errorMessage ( name , permittedType , permittedValues )
85
+ message : errorMessage ( name , permittedType , permittedValues ) ,
84
86
} ) ;
85
- }
87
+ } ,
86
88
} ) ;
87
89
88
90
module . exports . schema = [
89
- { type : 'object' }
91
+ { type : 'object' } ,
90
92
] ;
0 commit comments