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.
		
		
		
		
		
			
		
			
				
					18 lines
				
				443 B
			
		
		
			
		
	
	
					18 lines
				
				443 B
			| 
								 
											3 years ago
										 
									 | 
							
								'use strict';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								const get = require('../get');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								module.exports = function isDefaultIdIndex(index) {
							 | 
						||
| 
								 | 
							
								  if (Array.isArray(index)) {
							 | 
						||
| 
								 | 
							
								    // Mongoose syntax
							 | 
						||
| 
								 | 
							
								    const keys = Object.keys(index[0]);
							 | 
						||
| 
								 | 
							
								    return keys.length === 1 && keys[0] === '_id' && index[0]._id !== 'hashed';
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  if (typeof index !== 'object') {
							 | 
						||
| 
								 | 
							
								    return false;
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  const key = get(index, 'key', {});
							 | 
						||
| 
								 | 
							
								  return Object.keys(key).length === 1 && key.hasOwnProperty('_id');
							 | 
						||
| 
								 | 
							
								};
							 |