1 | // https://github.com/nodejs/node/blob/1aab13cad9c800f4121c1d35b554b78c1b17bdbd/lib/internal/util.js
|
2 |
|
3 |
|
4 | const {
|
5 | types: { isNativeError }
|
6 | } = require('util')
|
7 |
|
8 | function createDeferredPromise () {
|
9 | let _resolve
|
10 | let _reject
|
11 | const promise = new Promise((resolve, reject) => {
|
12 | _resolve = resolve
|
13 | _reject = reject
|
14 | })
|
15 |
|
16 | return { promise, resolve: _resolve, reject: _reject }
|
17 | }
|
18 |
|
19 | function isError (e) {
|
20 | // An error could be an instance of Error while not being a native error
|
21 | // or could be from a different realm and not be instance of Error but still
|
22 | // be a native error.
|
23 | return isNativeError(e) || e instanceof Error
|
24 | }
|
25 |
|
26 | module.exports = {
|
27 | createDeferredPromise,
|
28 | isError
|
29 | }
|