summaryrefslogtreecommitdiffstats
path: root/node_modules/mongoose/lib/promise_provider.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/mongoose/lib/promise_provider.js')
-rw-r--r--node_modules/mongoose/lib/promise_provider.js49
1 files changed, 49 insertions, 0 deletions
diff --git a/node_modules/mongoose/lib/promise_provider.js b/node_modules/mongoose/lib/promise_provider.js
new file mode 100644
index 0000000..3febf36
--- /dev/null
+++ b/node_modules/mongoose/lib/promise_provider.js
@@ -0,0 +1,49 @@
+/*!
+ * ignore
+ */
+
+'use strict';
+
+const assert = require('assert');
+const mquery = require('mquery');
+
+/**
+ * Helper for multiplexing promise implementations
+ *
+ * @api private
+ */
+
+const store = {
+ _promise: null
+};
+
+/**
+ * Get the current promise constructor
+ *
+ * @api private
+ */
+
+store.get = function() {
+ return store._promise;
+};
+
+/**
+ * Set the current promise constructor
+ *
+ * @api private
+ */
+
+store.set = function(lib) {
+ assert.ok(typeof lib === 'function',
+ `mongoose.Promise must be a function, got ${lib}`);
+ store._promise = lib;
+ mquery.Promise = lib;
+};
+
+/*!
+ * Use native promises by default
+ */
+
+store.set(global.Promise);
+
+module.exports = store;