You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							50 lines
						
					
					
						
							677 B
						
					
					
				
			
		
		
	
	
							50 lines
						
					
					
						
							677 B
						
					
					
				| /*!
 | |
|  * 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;
 |