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
4 weeks 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;
|