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;
 |