Skip to content

Commit 47a6627

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

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
@@ -1161,6 +1161,17 @@ module API {
11611161
ref = awaited(call)
11621162
)
11631163
or
1164+
// Handle promisified object member access: promisify(obj).member should be treated as obj.member (promisified)
1165+
exists(
1166+
Promisify::PromisifyAllCall promisifiedObj, DataFlow::SourceNode originalObj,
1167+
string member
1168+
|
1169+
originalObj.flowsTo(promisifiedObj.getArgument(0)) and
1170+
use(base, originalObj) and
1171+
lbl = Label::member(member) and
1172+
ref = promisifiedObj.getAPropertyRead(member)
1173+
)
1174+
or
11641175
decoratorDualEdge(base, lbl, ref)
11651176
or
11661177
decoratorUseEdge(base, lbl, ref)

0 commit comments

Comments
 (0)