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.
		
		
		
		
			
				
					24 lines
				
				634 B
			
		
		
			
		
	
	
					24 lines
				
				634 B
			| 
											11 months ago
										 | 'use strict'; | ||
|  | var fails = require('../internals/fails'); | ||
|  | var isCallable = require('../internals/is-callable'); | ||
|  | 
 | ||
|  | var replacement = /#|\.prototype\./; | ||
|  | 
 | ||
|  | var isForced = function (feature, detection) { | ||
|  |   var value = data[normalize(feature)]; | ||
|  |   return value === POLYFILL ? true | ||
|  |     : value === NATIVE ? false | ||
|  |     : isCallable(detection) ? fails(detection) | ||
|  |     : !!detection; | ||
|  | }; | ||
|  | 
 | ||
|  | var normalize = isForced.normalize = function (string) { | ||
|  |   return String(string).replace(replacement, '.').toLowerCase(); | ||
|  | }; | ||
|  | 
 | ||
|  | var data = isForced.data = {}; | ||
|  | var NATIVE = isForced.NATIVE = 'N'; | ||
|  | var POLYFILL = isForced.POLYFILL = 'P'; | ||
|  | 
 | ||
|  | module.exports = isForced; |