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.
		
		
		
		
		
			
		
			
				
					12 lines
				
				511 B
			
		
		
			
		
	
	
					12 lines
				
				511 B
			| 
								 
											3 years ago
										 
									 | 
							
								'use strict';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								module.exports = function checkEmbeddedDiscriminatorKeyProjection(userProjection, path, schema, selected, addedPaths) {
							 | 
						||
| 
								 | 
							
								  const userProjectedInPath = Object.keys(userProjection).
							 | 
						||
| 
								 | 
							
								    reduce((cur, key) => cur || key.startsWith(path + '.'), false);
							 | 
						||
| 
								 | 
							
								  const _discriminatorKey = path + '.' + schema.options.discriminatorKey;
							 | 
						||
| 
								 | 
							
								  if (!userProjectedInPath &&
							 | 
						||
| 
								 | 
							
								      addedPaths.length === 1 &&
							 | 
						||
| 
								 | 
							
								      addedPaths[0] === _discriminatorKey) {
							 | 
						||
| 
								 | 
							
								    selected.splice(selected.indexOf(_discriminatorKey), 1);
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								};
							 |