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.
22 lines
618 B
22 lines
618 B
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;
|
|
|