'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; 
 |