add support for the rsvp and es6-promise polyfill

This commit is contained in:
Erik Krogh Kristensen
2021-06-18 16:18:24 +02:00
parent d7a47e8fbd
commit ebde9015d8
5 changed files with 20 additions and 1 deletions

View File

@@ -3,4 +3,6 @@ lgtm,codescanning
Affected packages are
[kew](https://npmjs.com/package/kew),
[promise](https://npmjs.com/package/promise),
[promise-polyfill](https://npmjs.com/package/promise-polyfill)
[promise-polyfill](https://npmjs.com/package/promise-polyfill),
[rsvp](https://npmjs.com/package/rsvp),
[es6-promise](https://npmjs.com/package/es6-promise)

View File

@@ -77,6 +77,8 @@ private DataFlow::SourceNode getAPromiseObject() {
result = DataFlow::moduleMember(["promise-polyfill", "promise-polyfill/src/polyfill"], "default")
or
result = DataFlow::moduleImport(["promise-polyfill", "promise-polyfill/src/polyfill"])
or
result = DataFlow::moduleMember(["es6-promise", "rsvp"], "Promise")
}
/**

View File

@@ -80,3 +80,4 @@
| promises.js:72:5:72:41 | new Pro ... ource)) |
| promises.js:79:19:79:41 | Promise ... source) |
| promises.js:88:17:90:4 | Q.Promi ... );\\n }) |
| promises.js:112:17:112:62 | new RSV ... ct) {}) |

View File

@@ -106,3 +106,10 @@
PromiseA.resolve(source);
PromiseB.resolve(source);
})();
(function() {
var RSVP = require('rsvp');
var promise = new RSVP.Promise(function(resolve, reject) {});
var Promise = require('es6-promise').Promise;
Promise.resolve(source);
})();

View File

@@ -40,6 +40,7 @@ test_ResolvedPromiseDefinition
| promises.js:100:3:100:26 | Promise ... source) | promises.js:100:20:100:25 | source |
| promises.js:106:3:106:26 | Promise ... source) | promises.js:106:20:106:25 | source |
| promises.js:107:3:107:26 | Promise ... source) | promises.js:107:20:107:25 | source |
| promises.js:114:3:114:25 | Promise ... source) | promises.js:114:19:114:24 | source |
test_PromiseDefinition_getARejectHandler
| flow.js:26:2:26:49 | new Pro ... ource)) | flow.js:26:69:26:80 | y => sink(y) |
| flow.js:32:2:32:49 | new Pro ... ource)) | flow.js:32:57:32:68 | x => sink(x) |
@@ -87,6 +88,7 @@ test_PromiseDefinition_getExecutor
| promises.js:33:19:35:6 | new Pro ... \\n }) | promises.js:33:31:35:5 | functio ... ;\\n } |
| promises.js:43:19:45:6 | Q.Promi ... \\n }) | promises.js:43:29:45:5 | functio ... ;\\n } |
| promises.js:88:17:90:4 | Q.Promi ... );\\n }) | promises.js:88:27:90:3 | functio ... e);\\n } |
| promises.js:112:17:112:62 | new RSV ... ct) {}) | promises.js:112:34:112:61 | functio ... ect) {} |
test_PromiseDefinition_getAFinallyHandler
| flow.js:105:2:105:48 | new Pro ... "BLA")) | flow.js:105:58:105:76 | x => {throw source} |
| flow.js:109:2:109:48 | new Pro ... "BLA")) | flow.js:109:58:109:70 | x => rejected |
@@ -123,6 +125,7 @@ test_PromiseDefinition
| promises.js:33:19:35:6 | new Pro ... \\n }) |
| promises.js:43:19:45:6 | Q.Promi ... \\n }) |
| promises.js:88:17:90:4 | Q.Promi ... );\\n }) |
| promises.js:112:17:112:62 | new RSV ... ct) {}) |
test_PromiseDefinition_getAResolveHandler
| flow.js:24:2:24:49 | new Pro ... ource)) | flow.js:24:56:24:67 | x => sink(x) |
| flow.js:26:2:26:49 | new Pro ... ource)) | flow.js:26:56:26:66 | x => foo(x) |
@@ -172,6 +175,7 @@ test_PromiseDefinition_getRejectParameter
| promises.js:33:19:35:6 | new Pro ... \\n }) | promises.js:33:50:33:55 | reject |
| promises.js:43:19:45:6 | Q.Promi ... \\n }) | promises.js:43:48:43:53 | reject |
| promises.js:88:17:90:4 | Q.Promi ... );\\n }) | promises.js:88:46:88:51 | reject |
| promises.js:112:17:112:62 | new RSV ... ct) {}) | promises.js:112:52:112:57 | reject |
test_PromiseDefinition_getResolveParameter
| flow.js:7:11:7:59 | new Pro ... ource)) | flow.js:7:24:7:30 | resolve |
| flow.js:10:11:10:58 | new Pro ... ource)) | flow.js:10:24:10:30 | resolve |
@@ -203,6 +207,7 @@ test_PromiseDefinition_getResolveParameter
| promises.js:33:19:35:6 | new Pro ... \\n }) | promises.js:33:41:33:47 | resolve |
| promises.js:43:19:45:6 | Q.Promi ... \\n }) | promises.js:43:39:43:45 | resolve |
| promises.js:88:17:90:4 | Q.Promi ... );\\n }) | promises.js:88:37:88:43 | resolve |
| promises.js:112:17:112:62 | new RSV ... ct) {}) | promises.js:112:43:112:49 | resolve |
test_PromiseDefinition_getACatchHandler
| flow.js:32:2:32:49 | new Pro ... ource)) | flow.js:32:57:32:68 | x => sink(x) |
| flow.js:48:2:48:36 | new Pro ... urce }) | flow.js:48:44:48:55 | x => sink(x) |
@@ -419,3 +424,5 @@ typetrack
| promises.js:106:3:106:26 | Promise ... source) | promises.js:106:20:106:25 | source | store $PromiseResolveField$ |
| promises.js:107:3:107:26 | Promise ... source) | promises.js:107:20:107:25 | source | copy $PromiseResolveField$ |
| promises.js:107:3:107:26 | Promise ... source) | promises.js:107:20:107:25 | source | store $PromiseResolveField$ |
| promises.js:114:3:114:25 | Promise ... source) | promises.js:114:19:114:24 | source | copy $PromiseResolveField$ |
| promises.js:114:3:114:25 | Promise ... source) | promises.js:114:19:114:24 | source | store $PromiseResolveField$ |