Skip to content

Commit 7459eea

Browse files
committed
feat: addPropertyMap
1 parent b06421b commit 7459eea

File tree

1 file changed

+18
-16
lines changed

1 file changed

+18
-16
lines changed

lib/rules/no-use-computed-property-like-method.js

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,22 @@ const getValueType = ({ property, propertyMap }) => {
168168
}
169169
}
170170

171+
/**
172+
* @param {Set<string>} groups
173+
* @param {ObjectExpression} vueNodeMap
174+
* @param {PropertyMap} propertyMap
175+
*/
176+
const addPropertyMap = (groups, vueNodeMap, propertyMap) => {
177+
const properties = utils.iterateProperties(vueNodeMap, groups)
178+
for (const property of properties) {
179+
propertyMap[property.name] = {
180+
...propertyMap[property.name],
181+
...property,
182+
valueType: getValueType({ property, propertyMap })
183+
}
184+
}
185+
}
186+
171187
module.exports = {
172188
meta: {
173189
type: 'problem',
@@ -208,24 +224,10 @@ module.exports = {
208224
}
209225
},
210226

211-
/**
212-
* Re-check propertyMap's valueType.
213-
* Because there is a possibility that propertyMap's member reference other propertyMap's member.
214-
*/
215-
'MemberExpression[object.type="ThisExpression"]'(node) {
216-
const properties = utils.iterateProperties(vueNodeMap, groups)
217-
218-
for (const property of properties) {
219-
propertyMap[property.name] = {
220-
...propertyMap[property.name],
221-
...property,
222-
valueType: getValueType({ property, propertyMap })
223-
}
224-
}
225-
},
226-
227227
/** @param {ThisExpression} node */
228228
'CallExpression > MemberExpression > ThisExpression'(node) {
229+
addPropertyMap(groups, vueNodeMap, propertyMap)
230+
229231
if (node.parent.type !== 'MemberExpression') return
230232
if (node.parent.property.type !== 'Identifier') return
231233

0 commit comments

Comments
 (0)