Skip to content

Commit f9c7d1d

Browse files
committed
JS: Add back promisify-all support
This was somehow lost in a rebase
1 parent e46e137 commit f9c7d1d

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

javascript/ql/lib/semmle/javascript/ApiGraphs.qll

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1160,6 +1160,17 @@ module API {
11601160
ref = awaited(call)
11611161
)
11621162
or
1163+
// Handle promisified object member access: promisify(obj).member should be treated as obj.member (promisified)
1164+
exists(
1165+
Promisify::PromisifyAllCall promisifiedObj, DataFlow::SourceNode originalObj,
1166+
string member
1167+
|
1168+
originalObj.flowsTo(promisifiedObj.getArgument(0)) and
1169+
use(base, originalObj) and
1170+
lbl = Label::member(member) and
1171+
ref = promisifiedObj.getAPropertyRead(member)
1172+
)
1173+
or
11631174
decoratorDualEdge(base, lbl, ref)
11641175
or
11651176
decoratorUseEdge(base, lbl, ref)

0 commit comments

Comments
 (0)