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.
		
		
		
		
		
			
		
			
				
					29 lines
				
				473 B
			
		
		
			
		
	
	
					29 lines
				
				473 B
			| 
								 
											3 years ago
										 
									 | 
							
								'use strict';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*!
							 | 
						||
| 
								 | 
							
								 * ignore
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								module.exports = function(schema) {
							 | 
						||
| 
								 | 
							
								  // ensure the documents receive an id getter unless disabled
							 | 
						||
| 
								 | 
							
								  const autoIdGetter = !schema.paths['id'] &&
							 | 
						||
| 
								 | 
							
								    (!schema.options.noVirtualId && schema.options.id);
							 | 
						||
| 
								 | 
							
								  if (!autoIdGetter) {
							 | 
						||
| 
								 | 
							
								    return;
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  schema.virtual('id').get(idGetter);
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*!
							 | 
						||
| 
								 | 
							
								 * Returns this documents _id cast to a string.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function idGetter() {
							 | 
						||
| 
								 | 
							
								  if (this._id != null) {
							 | 
						||
| 
								 | 
							
								    return String(this._id);
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  return null;
							 | 
						||
| 
								 | 
							
								}
							 |