1
0
Fork 0
forked from 0x2620/oxjs

rather use ''.slice than ''.substr

This commit is contained in:
rolux 2012-05-24 11:47:33 +02:00
commit 1608664bb6
20 changed files with 69 additions and 71 deletions

View file

@ -48,7 +48,7 @@ Ox.ends = Ox.endsWith = function(str, sub) {
// fixme: rename to ends
str = str.toString();
sub = sub.toString();
return str.substr(str.length - sub.length) == sub;
return str.slice(str.length - sub.length) == sub;
};
/*@
@ -107,7 +107,7 @@ Ox.highlightHTML = function(html, str, classname, tags) {
isEntity = true;
} else if (!isTag && chr == '<') {
Ox.forEach(tags, function(tag) {
if (html.substr(i + 1).match(new RegExp('^/?' + tag + '\\W'))) {
if (html.slice(i + 1).match(new RegExp('^/?' + tag + '\\W'))) {
isTag = true;
Ox.break();
}
@ -138,10 +138,10 @@ Ox.highlightHTML = function(html, str, classname, tags) {
});
positions.forEach(function(position) {
var match = '<span class="' + classname + '">'
+ html.substr(position[0], position[1] - position[0])
+ html.slice(position[0], position[1])
.replace(/(<.*?>)/g, '</span>$1<span class="' + classname + '">')
+ '</span>';
html = html.substr(0, position[0]) + match + html.substr(position[1]);
html = html.slice(0, position[0]) + match + html.slice(position[1]);
});
return html;
}
@ -180,13 +180,11 @@ Ox.pad = function(str, len, pad) {
// fixme: slighly obscure signature
// fixme: weird for negative numbers
var pos = len / (len = Math.abs(len));
str = str.toString().substr(0, len);
str = str.toString().slice(0, len);
pad = Ox.repeat(pad || '0', len - str.length);
str = pos == 1 ? pad + str : str + pad;
str = pos == 1 ?
str.substr(str.length - len, str.length) :
str.substr(0, len);
return str;
return pos == 1
? (pad + str).slice(-len)
: (str + pad).slice(0, len);
};
/*@
@ -209,7 +207,7 @@ Ox.parsePath = function(str) {
return {
pathname: matches[1] || '',
filename: matches[2] || '',
extension: matches[3] ? matches[3].substr(1) : ''
extension: matches[3] ? matches[3].slice(1) : ''
};
}
@ -422,7 +420,7 @@ Ox.starts = Ox.startsWith = function(str, sub) {
// fixme: rename to starts
str = str.toString();
sub = sub.toString();
return str.substr(0, sub.length) == sub;
return str.slice(0, sub.length) == sub;
};
/*@
@ -482,10 +480,10 @@ Ox.toTitleCase <f> Returns a string with capitalized words
@*/
Ox.toTitleCase = function(str) {
return str.split(' ').map(function(val) {
var sub = val.substr(1),
var sub = val.slice(1),
low = sub.toLowerCase();
if (sub == low) {
val = val.substr(0, 1).toUpperCase() + low;
val = val.slice(0, 1).toUpperCase() + low;
}
return val;
}).join(' ');
@ -533,13 +531,13 @@ Ox.truncate = function(str, len, pad, pos) {
left, right;
if (strlen > len) {
if (pos == 'left') {
str = pad + str.substr(padlen + strlen - len);
str = pad + str.slice(padlen + strlen - len);
} else if (pos == 'center') {
left = Math.ceil((len - padlen) / 2);
right = Math.floor((len - padlen) / 2);
str = str.substr(0, left) + pad + str.substr(-right);
str = str.slice(0, left) + pad + str.slice(-right);
} else if (pos == 'right') {
str = str.substr(0, len - padlen) + pad;
str = str.slice(0, len - padlen) + pad;
}
}
return str;
@ -628,7 +626,7 @@ Ox.wordwrap = function(str, len, sep, bal, spa) {
} else {
// word is longer than line
chr = len - lines[lines.length - 1].length;
lines[lines.length - 1] += word.substr(0, chr);
lines[lines.length - 1] += word.slice(0, chr);
Ox.loop(chr, word.length, len, function(pos) {
lines.push(word.substr(pos, len));
});