Skip to content

Commit b574292

Browse files
committed
add support for the pinkie-promise polyfill
1 parent bb1c971 commit b574292

File tree

5 files changed

+13
-1
lines changed

5 files changed

+13
-1
lines changed

javascript/change-notes/2021-06-18-promises.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,5 @@ lgtm,codescanning
77
[rsvp](https://npmjs.com/package/rsvp),
88
[es6-promise](https://npmjs.com/package/es6-promise),
99
[native-promise-only](https://npmjs.com/package/native-promise-only),
10-
[when](https://npmjs.com/package/when)
10+
[when](https://npmjs.com/package/when),
11+
[pinkie-promise](https://npmjs.com/package/pinkie-promise)

javascript/ql/src/semmle/javascript/Promises.qll

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,8 @@ private DataFlow::SourceNode getAPromiseObject() {
8383
result = DataFlow::moduleImport("native-promise-only")
8484
or
8585
result = DataFlow::moduleImport("when")
86+
or
87+
result = DataFlow::moduleImport("pinkie-promise")
8688
}
8789

8890
/**

javascript/ql/test/library-tests/Promises/AdditionalPromises.expected

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,3 +82,4 @@
8282
| promises.js:88:17:90:4 | Q.Promi ... );\\n }) |
8383
| promises.js:112:17:112:62 | new RSV ... ct) {}) |
8484
| promises.js:124:19:124:30 | when(source) |
85+
| promises.js:130:14:130:69 | new Pro ... s'); }) |

javascript/ql/test/library-tests/Promises/promises.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,3 +124,8 @@
124124
const promise = when(source);
125125
const promise2 = when.resolve(source);
126126
})();
127+
128+
(function() {
129+
var Promise = require('pinkie-promise');
130+
var prom = new Promise(function (resolve) { resolve('unicorns'); });
131+
})();

javascript/ql/test/library-tests/Promises/tests.expected

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@ test_PromiseDefinition_getExecutor
9191
| promises.js:43:19:45:6 | Q.Promi ... \\n }) | promises.js:43:29:45:5 | functio ... ;\\n } |
9292
| promises.js:88:17:90:4 | Q.Promi ... );\\n }) | promises.js:88:27:90:3 | functio ... e);\\n } |
9393
| promises.js:112:17:112:62 | new RSV ... ct) {}) | promises.js:112:34:112:61 | functio ... ect) {} |
94+
| promises.js:130:14:130:69 | new Pro ... s'); }) | promises.js:130:26:130:68 | functio ... ns'); } |
9495
test_PromiseDefinition_getAFinallyHandler
9596
| flow.js:105:2:105:48 | new Pro ... "BLA")) | flow.js:105:58:105:76 | x => {throw source} |
9697
| flow.js:109:2:109:48 | new Pro ... "BLA")) | flow.js:109:58:109:70 | x => rejected |
@@ -129,6 +130,7 @@ test_PromiseDefinition
129130
| promises.js:88:17:90:4 | Q.Promi ... );\\n }) |
130131
| promises.js:112:17:112:62 | new RSV ... ct) {}) |
131132
| promises.js:124:19:124:30 | when(source) |
133+
| promises.js:130:14:130:69 | new Pro ... s'); }) |
132134
test_PromiseDefinition_getAResolveHandler
133135
| flow.js:24:2:24:49 | new Pro ... ource)) | flow.js:24:56:24:67 | x => sink(x) |
134136
| flow.js:26:2:26:49 | new Pro ... ource)) | flow.js:26:56:26:66 | x => foo(x) |
@@ -211,6 +213,7 @@ test_PromiseDefinition_getResolveParameter
211213
| promises.js:43:19:45:6 | Q.Promi ... \\n }) | promises.js:43:39:43:45 | resolve |
212214
| promises.js:88:17:90:4 | Q.Promi ... );\\n }) | promises.js:88:37:88:43 | resolve |
213215
| promises.js:112:17:112:62 | new RSV ... ct) {}) | promises.js:112:43:112:49 | resolve |
216+
| promises.js:130:14:130:69 | new Pro ... s'); }) | promises.js:130:36:130:42 | resolve |
214217
test_PromiseDefinition_getACatchHandler
215218
| flow.js:32:2:32:49 | new Pro ... ource)) | flow.js:32:57:32:68 | x => sink(x) |
216219
| flow.js:48:2:48:36 | new Pro ... urce }) | flow.js:48:44:48:55 | x => sink(x) |

0 commit comments

Comments
 (0)