@@ -247,6 +247,21 @@ const fixMessages = {
247
247
removeWhitespaces : 'remove whitespaces in “{{reportingValue}}”' ,
248
248
}
249
249
250
+ function fix ( fixer , mode , ...args ) {
251
+ if ( mode === 'removeTextRange' ) {
252
+ return fixer . replaceTextRange ( args )
253
+ }
254
+ if ( mode === 'removeRange' ) {
255
+ return fixer . removeRange ( args )
256
+ }
257
+ return fixer . remove ( args )
258
+ }
259
+
260
+ function suggestion ( desc , mode , ...args ) {
261
+ return { desc : desc , ...fix ( mode , args ) }
262
+ }
263
+
264
+
250
265
function splitIntoRangedParts ( node , regex ) {
251
266
const valueRangeStart = node . range [ 0 ] + 1 ; // the plus one is for the initial quote
252
267
@@ -267,7 +282,7 @@ function checkLiteralValueNode(context, attributeName, node, parentNode, parentN
267
282
report ( context , messages . onlyStrings , 'onlyStrings' , {
268
283
node,
269
284
data : { attributeName } ,
270
- suggestion ( fixMessages . removeNonString , fixer , fixModes . remove , parentNode )
285
+ suggestion : suggestion ( fixMessages . removeNonString , fixModes . remove , parentNode )
271
286
} ) ;
272
287
return ;
273
288
}
@@ -276,7 +291,7 @@ function checkLiteralValueNode(context, attributeName, node, parentNode, parentN
276
291
report ( context , messages . noEmpty , 'noEmpty' , {
277
292
node,
278
293
data : { attributeName } ,
279
- suggestion ( fixMessages . removeEmpty , fixer , fixModes . remove , attributeName )
294
+ suggestion : suggestion ( fixMessages . removeEmpty , fixModes . remove , attributeName )
280
295
} ) ;
281
296
return ;
282
297
}
@@ -292,7 +307,7 @@ function checkLiteralValueNode(context, attributeName, node, parentNode, parentN
292
307
attributeName,
293
308
reportingValue,
294
309
} ,
295
- suggestion ( fixMessages . removeInvalid , fixer , fixModes . removeRange , singlePart . range )
310
+ suggestion : suggestion ( fixMessages . removeInvalid , fixModes . removeRange , singlePart . range )
296
311
} ) ;
297
312
} else if ( ! allowedTags . has ( parentNodeName ) ) {
298
313
report ( context , messages . notValidFor , 'notValidFor' , {
@@ -302,7 +317,7 @@ function checkLiteralValueNode(context, attributeName, node, parentNode, parentN
302
317
reportingValue,
303
318
elementName : parentNodeName ,
304
319
} ,
305
- suggestion ( fixMessages . removeInvalid , fixer , fixModes . removeRange , singlePart . range )
320
+ suggestion : suggestion ( fixMessages . removeInvalid , fixModes . removeRange , singlePart . range )
306
321
} ) ;
307
322
}
308
323
}
@@ -342,13 +357,13 @@ function checkLiteralValueNode(context, attributeName, node, parentNode, parentN
342
357
report ( context , messages . spaceDelimited , 'spaceDelimited' , {
343
358
node,
344
359
data : { attributeName } ,
345
- suggestion ( fixMessages . removeWhitespaces , fixer , fixModes . removeRange , whitespacePart . range )
360
+ suggestion : suggestion ( fixMessages . removeWhitespaces , fixModes . removeRange , whitespacePart . range )
346
361
} ) ;
347
362
} else if ( whitespacePart . value !== '\u0020' ) {
348
363
report ( context , messages . spaceDelimited , 'spaceDelimited' , {
349
364
node,
350
365
data : { attributeName } ,
351
- suggestion ( fixMessages . removeWhitespaces , fixer , mofixModes . replaceTextRange , whitespacePart . range , '\u0020' )
366
+ suggestion : suggestion ( fixMessages . removeWhitespaces , fixModes . replaceTextRange , whitespacePart . range , '\u0020' )
352
367
} ) ;
353
368
}
354
369
}
@@ -359,25 +374,7 @@ const DEFAULT_ATTRIBUTES = ['rel'];
359
374
function checkAttribute ( context , node ) {
360
375
const attribute = node . name . name ;
361
376
362
- function fix ( fixer , mode , ...args ) {
363
- if ( mode === 'removeTextRange' ) {
364
- return fixer . replaceTextRange ( args )
365
- }
366
- if ( mode === 'removeRange' ) {
367
- return fixer . removeRange ( args )
368
- }
369
- return fixer . remove ( args )
370
- }
371
-
372
- function suggestion ( desc , fixer , mode , ...args ) {
373
- return [
374
- {
375
- desc : desc ,
376
- fix ( fixer , mode , args )
377
- }
378
- ]
379
- }
380
-
377
+
381
378
const parentNodeName = node . parent . name . name ;
382
379
if ( ! COMPONENT_ATTRIBUTE_MAP . has ( attribute ) || ! COMPONENT_ATTRIBUTE_MAP . get ( attribute ) . has ( parentNodeName ) ) {
383
380
const tagNames = Array . from (
@@ -390,7 +387,7 @@ function checkAttribute(context, node) {
390
387
attributeName : attribute ,
391
388
tagNames,
392
389
} ,
393
- suggestion ( fixMessages . removeDefault , fixer , fixModes . remove , attributeName )
390
+ suggestion : suggestion ( fixMessages . removeDefault , fixModes . remove , attribute )
394
391
} ) ;
395
392
return ;
396
393
}
@@ -399,7 +396,7 @@ function checkAttribute(context, node) {
399
396
report ( context , messages . emptyIsMeaningless , 'emptyIsMeaningless' , {
400
397
node,
401
398
data : { attributeName : attribute } ,
402
- suggestion ( fixMessages . removeEmpty , fixer , fixModes . removemode , attributeName )
399
+ suggestion : suggestion ( fixMessages . removeEmpty , fixModes . removemode , node )
403
400
} ) ;
404
401
return ;
405
402
}
@@ -420,7 +417,7 @@ function checkAttribute(context, node) {
420
417
report ( context , messages . onlyStrings , 'onlyStrings' , {
421
418
node,
422
419
data : { attributeName : attribute } ,
423
- suggestion ( fixMessages . removeDefault , fixer , fixModes . remove , attributeName )
420
+ suggestion : suggestion ( fixMessages . removeDefault , fixModes . remove , node )
424
421
} ) ;
425
422
return ;
426
423
}
@@ -429,7 +426,7 @@ function checkAttribute(context, node) {
429
426
report ( context , messages . onlyStrings , 'onlyStrings' , {
430
427
node,
431
428
data : { attributeName : attribute } ,
432
- suggestion ( fixMessages . removeDefault fixer , fixModes . remove , attributeName )
429
+ suggestion : suggestion ( fixMessages . removeDefault , fixModes . remove , node )
433
430
} ) ;
434
431
}
435
432
}
0 commit comments