diff options
author | kumavis <kumavis@users.noreply.github.com> | 2017-01-17 07:02:24 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-01-17 07:02:24 +0800 |
commit | ee62a6a3913967a6840d28ca812b94bbfa7a5779 (patch) | |
tree | cac32de6cc520917db9621ce93f7f4ad9abd787e /app/scripts/lib/nodeify.js | |
parent | e8e06542e47b41668f196b6db54290490003845b (diff) | |
parent | 88fabdd2de78d0dd4be86b02c94a64d9748667fa (diff) | |
download | tangerine-wallet-browser-ee62a6a3913967a6840d28ca812b94bbfa7a5779.tar tangerine-wallet-browser-ee62a6a3913967a6840d28ca812b94bbfa7a5779.tar.gz tangerine-wallet-browser-ee62a6a3913967a6840d28ca812b94bbfa7a5779.tar.bz2 tangerine-wallet-browser-ee62a6a3913967a6840d28ca812b94bbfa7a5779.tar.lz tangerine-wallet-browser-ee62a6a3913967a6840d28ca812b94bbfa7a5779.tar.xz tangerine-wallet-browser-ee62a6a3913967a6840d28ca812b94bbfa7a5779.tar.zst tangerine-wallet-browser-ee62a6a3913967a6840d28ca812b94bbfa7a5779.zip |
Merge pull request #1005 from MetaMask/dev
Merge dev into master!
Diffstat (limited to 'app/scripts/lib/nodeify.js')
-rw-r--r-- | app/scripts/lib/nodeify.js | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/app/scripts/lib/nodeify.js b/app/scripts/lib/nodeify.js new file mode 100644 index 000000000..51d89a8fb --- /dev/null +++ b/app/scripts/lib/nodeify.js @@ -0,0 +1,24 @@ +module.exports = function (promiseFn) { + return function () { + var args = [] + for (var i = 0; i < arguments.length - 1; i++) { + args.push(arguments[i]) + } + var cb = arguments[arguments.length - 1] + + const nodeified = promiseFn.apply(this, args) + + if (!nodeified) { + const methodName = String(promiseFn).split('(')[0] + throw new Error(`The ${methodName} did not return a Promise, but was nodeified.`) + } + nodeified.then(function (result) { + cb(null, result) + }) + .catch(function (reason) { + cb(reason) + }) + + return nodeified + } +} |