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.
		
		
		
		
		
			
		
			
				
					20 lines
				
				504 B
			
		
		
			
		
	
	
					20 lines
				
				504 B
			| 
								 
											3 years ago
										 
									 | 
							
								'use strict';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								const propertyToValueAliases = require('./data/mappings.js');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								const matchPropertyValue = function(property, value) {
							 | 
						||
| 
								 | 
							
									const aliasToValue = propertyToValueAliases.get(property);
							 | 
						||
| 
								 | 
							
									if (!aliasToValue) {
							 | 
						||
| 
								 | 
							
										throw new Error(`Unknown property \`${ property }\`.`);
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
									const canonicalValue = aliasToValue.get(value);
							 | 
						||
| 
								 | 
							
									if (canonicalValue) {
							 | 
						||
| 
								 | 
							
										return canonicalValue;
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
									throw new Error(
							 | 
						||
| 
								 | 
							
										`Unknown value \`${ value }\` for property \`${ property }\`.`
							 | 
						||
| 
								 | 
							
									);
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								module.exports = matchPropertyValue;
							 |