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
				
				566 B
			
		
		
			
		
	
	
					29 lines
				
				566 B
			| 
											3 years ago
										 | 'use strict'; | ||
|  | 
 | ||
|  | /*! | ||
|  |  * ignore | ||
|  |  */ | ||
|  | 
 | ||
|  | module.exports = function isPathSelectedInclusive(fields, path) { | ||
|  |   const chunks = path.split('.'); | ||
|  |   let cur = ''; | ||
|  |   let j; | ||
|  |   let keys; | ||
|  |   let numKeys; | ||
|  |   for (let i = 0; i < chunks.length; ++i) { | ||
|  |     cur += cur.length ? '.' : '' + chunks[i]; | ||
|  |     if (fields[cur]) { | ||
|  |       keys = Object.keys(fields); | ||
|  |       numKeys = keys.length; | ||
|  |       for (j = 0; j < numKeys; ++j) { | ||
|  |         if (keys[i].indexOf(cur + '.') === 0 && keys[i].indexOf(path) !== 0) { | ||
|  |           continue; | ||
|  |         } | ||
|  |       } | ||
|  |       return true; | ||
|  |     } | ||
|  |   } | ||
|  | 
 | ||
|  |   return false; | ||
|  | }; |