'use strict'; var EXPORTED_SYMBOLS = ['Promise']; var Promise = require('bluebird/promise')(); Promise.config({ warnings: true, longStackTraces: true, cancellation: true }); // Use our own stub to avoid the Bluebird deprecation warnings Promise.defer = function() { var deferred = {}; deferred.promise = new Promise(function(resolve, reject) { deferred.resolve = resolve; deferred.reject = reject; }); return deferred; } // TEMP: Only turn on if debug logging enabled? Promise.onPossiblyUnhandledRejection((e, promise) => { if (e.handledRejection) { return; } dump('Possibly unhandled rejection:\n\n' + (e.message ? e.message + "\n\n" + e.stack.split(/\n/) // Filter out internal Bluebird calls .filter(line => !line.includes('bluebird')) .join('\n') : e) + '\n'); throw e; }); module.exports = Promise;