7
7
const Components = require ( '../util/Components' ) ;
8
8
const docsUrl = require ( '../util/docsUrl' ) ;
9
9
const isAssignmentLHS = require ( '../util/ast' ) . isAssignmentLHS ;
10
+ const report = require ( '../util/report' ) ;
10
11
11
12
const DEFAULT_OPTION = 'always' ;
12
13
@@ -44,6 +45,13 @@ function evalParams(params) {
44
45
} ) ) ;
45
46
}
46
47
48
+ const messages = {
49
+ noDestructPropsInSFCArg : 'Must never use destructuring props assignment in SFC argument' ,
50
+ noDestructContextInSFCArg : 'Must never use destructuring context assignment in SFC argument' ,
51
+ noDestructAssignment : 'Must never use destructuring {{type}} assignment' ,
52
+ useDestructAssignment : 'Must use destructuring {{type}} assignment'
53
+ } ;
54
+
47
55
module . exports = {
48
56
meta : {
49
57
docs : {
@@ -53,12 +61,7 @@ module.exports = {
53
61
url : docsUrl ( 'destructuring-assignment' )
54
62
} ,
55
63
56
- messages : {
57
- noDestructPropsInSFCArg : 'Must never use destructuring props assignment in SFC argument' ,
58
- noDestructContextInSFCArg : 'Must never use destructuring context assignment in SFC argument' ,
59
- noDestructAssignment : 'Must never use destructuring {{type}} assignment' ,
60
- useDestructAssignment : 'Must use destructuring {{type}} assignment'
61
- } ,
64
+ messages,
62
65
63
66
schema : [ {
64
67
type : 'string' ,
@@ -96,14 +99,12 @@ module.exports = {
96
99
sfcParams . push ( params ) ;
97
100
98
101
if ( params [ 0 ] && params [ 0 ] . destructuring && components . get ( node ) && configuration === 'never' ) {
99
- context . report ( {
100
- node,
101
- messageId : 'noDestructPropsInSFCArg'
102
+ report ( context , messages . noDestructPropsInSFCArg , 'noDestructPropsInSFCArg' , {
103
+ node
102
104
} ) ;
103
105
} else if ( params [ 1 ] && params [ 1 ] . destructuring && components . get ( node ) && configuration === 'never' ) {
104
- context . report ( {
105
- node,
106
- messageId : 'noDestructContextInSFCArg'
106
+ report ( context , messages . noDestructContextInSFCArg , 'noDestructContextInSFCArg' , {
107
+ node
107
108
} ) ;
108
109
}
109
110
}
@@ -125,9 +126,8 @@ module.exports = {
125
126
)
126
127
&& ! isAssignmentLHS ( node ) ;
127
128
if ( isPropUsed && configuration === 'always' ) {
128
- context . report ( {
129
+ report ( context , messages . useDestructAssignment , 'useDestructAssignment' , {
129
130
node,
130
- messageId : 'useDestructAssignment' ,
131
131
data : {
132
132
type : node . object . name
133
133
}
@@ -158,9 +158,8 @@ module.exports = {
158
158
isPropUsed && configuration === 'always'
159
159
&& ! ( ignoreClassFields && isInClassProperty ( node ) )
160
160
) {
161
- context . report ( {
161
+ report ( context , messages . useDestructAssignment , 'useDestructAssignment' , {
162
162
node,
163
- messageId : 'useDestructAssignment' ,
164
163
data : {
165
164
type : node . object . property . name
166
165
}
@@ -206,9 +205,8 @@ module.exports = {
206
205
) ;
207
206
208
207
if ( SFCComponent && destructuringSFC && configuration === 'never' ) {
209
- context . report ( {
208
+ report ( context , messages . noDestructAssignment , 'noDestructAssignment' , {
210
209
node,
211
- messageId : 'noDestructAssignment' ,
212
210
data : {
213
211
type : node . init . name
214
212
}
@@ -219,9 +217,8 @@ module.exports = {
219
217
classComponent && destructuringClass && configuration === 'never'
220
218
&& ! ( ignoreClassFields && node . parent . type === 'ClassProperty' )
221
219
) {
222
- context . report ( {
220
+ report ( context , messages . noDestructAssignment , 'noDestructAssignment' , {
223
221
node,
224
- messageId : 'noDestructAssignment' ,
225
222
data : {
226
223
type : node . init . property . name
227
224
}
0 commit comments