Skip to content

Commit ffb7d51

Browse files
committed
Adds objectName and propertyName fields to #fromFunctionQuery in lib/transformer.js, generating an esquery selector that targets async functions assigned to a specific property on a specific object
1 parent b494f56 commit ffb7d51

1 file changed

Lines changed: 9 additions & 2 deletions

File tree

lib/transformer.js

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -245,7 +245,7 @@ class Transformer {
245245
* @returns {string} esquery selector.
246246
*/
247247
#fromFunctionQuery (functionQuery) {
248-
const { functionName, expressionName, className } = functionQuery
248+
const { functionName, expressionName, className, thisPropertyName } = functionQuery
249249
const type = functionQuery.privateMethodName ? 'PrivateIdentifier' : 'Identifier'
250250
const queries = []
251251

@@ -280,7 +280,14 @@ class Transformer {
280280
`AssignmentExpression[left.name="${expressionName}"] > ArrowFunctionExpression[async]`
281281
)
282282
}
283-
283+
if (propertyName && objectName) {
284+
const objectSelector = objectName === 'this'
285+
? 'left.object.type=ThisExpression'
286+
: `left.object.name="${objectName}"`
287+
queries.push(
288+
`AssignmentExpression[${objectSelector}][left.property.name="${propertyName}"] > [async]`
289+
)
290+
}
284291
return queries.join(', ')
285292
}
286293
}

0 commit comments

Comments
 (0)