First Commit
This commit is contained in:
51
node_modules/i/lib/native.js
generated
vendored
Normal file
51
node_modules/i/lib/native.js
generated
vendored
Normal file
@@ -0,0 +1,51 @@
|
||||
module.exports = function (obj) {
|
||||
var addProperty = function (method, func) {
|
||||
String.prototype.__defineGetter__(method, func);
|
||||
};
|
||||
|
||||
var stringPrototypeBlacklist = [
|
||||
'__defineGetter__',
|
||||
'__defineSetter__',
|
||||
'__lookupGetter__',
|
||||
'__lookupSetter__',
|
||||
'charAt',
|
||||
'constructor',
|
||||
'hasOwnProperty',
|
||||
'isPrototypeOf',
|
||||
'propertyIsEnumerable',
|
||||
'toLocaleString',
|
||||
'toString',
|
||||
'valueOf',
|
||||
'charCodeAt',
|
||||
'indexOf',
|
||||
'lastIndexof',
|
||||
'length',
|
||||
'localeCompare',
|
||||
'match',
|
||||
'replace',
|
||||
'search',
|
||||
'slice',
|
||||
'split',
|
||||
'substring',
|
||||
'toLocaleLowerCase',
|
||||
'toLocaleUpperCase',
|
||||
'toLowerCase',
|
||||
'toUpperCase',
|
||||
'trim',
|
||||
'trimLeft',
|
||||
'trimRight',
|
||||
'gsub',
|
||||
];
|
||||
|
||||
Object.keys(obj).forEach(function (key) {
|
||||
if (key != 'inflect' && key != 'inflections') {
|
||||
if (stringPrototypeBlacklist.indexOf(key) !== -1) {
|
||||
console.log('warn: You should not override String.prototype.' + key);
|
||||
} else {
|
||||
addProperty(key, function () {
|
||||
return obj[key](this);
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
};
|
||||
Reference in New Issue
Block a user