@@ -16,7 +16,7 @@ const getQuotedReplacement = (node, value) => {
1616 return `${ leftQuote } ${ value } ${ rightQuote } ` ;
1717} ;
1818
19- const getLiteralFix = ( fixer , node , identifierName ) => {
19+ function * getLiteralFix ( fixer , node , identifierName ) {
2020 let replacement = node . raw ;
2121 if ( identifierName === 'getElementById' ) {
2222 replacement = getQuotedReplacement ( node , getReplacementForId ( node . value ) ) ;
@@ -26,37 +26,29 @@ const getLiteralFix = (fixer, node, identifierName) => {
2626 replacement = getQuotedReplacement ( node , getReplacementForClass ( node . value ) ) ;
2727 }
2828
29- return [ fixer . replaceText ( node , replacement ) ] ;
30- } ;
29+ yield fixer . replaceText ( node , replacement ) ;
30+ }
3131
32- const getTemplateLiteralFix = ( fixer , node , identifierName ) => {
33- const fix = [
34- fixer . insertTextAfter ( node , '`' ) ,
35- fixer . insertTextBefore ( node , '`' )
36- ] ;
32+ function * getTemplateLiteralFix ( fixer , node , identifierName ) {
33+ yield fixer . insertTextAfter ( node , '`' ) ;
34+ yield fixer . insertTextBefore ( node , '`' ) ;
3735
38- node . quasis . forEach ( templateElement => {
36+ for ( const templateElement of node . quasis ) {
3937 if ( identifierName === 'getElementById' ) {
40- fix . push (
41- fixer . replaceText (
42- templateElement ,
43- getReplacementForId ( templateElement . value . cooked )
44- )
38+ yield fixer . replaceText (
39+ templateElement ,
40+ getReplacementForId ( templateElement . value . cooked )
4541 ) ;
4642 }
4743
4844 if ( identifierName === 'getElementsByClassName' ) {
49- fix . push (
50- fixer . replaceText (
51- templateElement ,
52- getReplacementForClass ( templateElement . value . cooked )
53- )
45+ yield fixer . replaceText (
46+ templateElement ,
47+ getReplacementForClass ( templateElement . value . cooked )
5448 ) ;
5549 }
56- } ) ;
57-
58- return fix ;
59- } ;
50+ }
51+ }
6052
6153const canBeFixed = node => {
6254 if ( node . type === 'Literal' ) {
@@ -88,10 +80,10 @@ const fix = (node, identifierName, preferedSelector) => {
8880 }
8981
9082 const getArgumentFix = nodeToBeFixed . type === 'Literal' ? getLiteralFix : getTemplateLiteralFix ;
91- return fixer => [
92- ... getArgumentFix ( fixer , nodeToBeFixed , identifierName ) ,
93- fixer . replaceText ( node . callee . property , preferedSelector )
94- ] ;
83+ return function * ( fixer ) {
84+ yield * getArgumentFix ( fixer , nodeToBeFixed , identifierName ) ;
85+ yield fixer . replaceText ( node . callee . property , preferedSelector ) ;
86+ } ;
9587} ;
9688
9789const create = context => {
0 commit comments