refactor(core): use native String.prototype.trim if available

This commit is contained in:
Sebastian Müller 2013-04-20 19:35:11 +02:00 committed by Igor Minar
parent 5349b20097
commit 22b9b47576

View file

@ -436,9 +436,20 @@ function isBoolean(value) {
}
function trim(value) {
return isString(value) ? value.replace(/^\s*/, '').replace(/\s*$/, '') : value;
}
var trim = (function() {
// native trim is way faster: http://jsperf.com/angular-trim-test
// but IE doesn't have it... :-(
// TODO: we should move this into IE/ES5 polyfill
if (!String.prototype.trim) {
return function(value) {
return isString(value) ? value.replace(/^\s*/, '').replace(/\s*$/, '') : value;
};
}
return function(value) {
return isString(value) ? value.trim() : value;
};
})();
/**
* @ngdoc function