underscore.string
Advanced tools
Comparing version 1.1.4 to 1.1.5
@@ -1,9 +0,10 @@ | ||
(function(){function g(b,a){for(var c=[];a>0;c[--a]=b);return c.join("")}function f(b){if(b)return d.escapeRegExp(b);return"\\s"}var i=String.prototype.trim,d={isBlank:function(b){return!!b.match(/^\s*$/)},capitalize:function(b){return b.charAt(0).toUpperCase()+b.substring(1).toLowerCase()},chop:function(b,a){a=a||b.length;for(var c=[],d=0;d<b.length;)c.push(b.slice(d,d+a)),d+=a;return c},clean:function(b){return d.strip(b.replace(/\s+/g," "))},count:function(b,a){for(var c=0,d,e=0;e<b.length;)d= | ||
b.indexOf(a,e),d>=0&&c++,e=e+(d>=0?d:0)+a.length;return c},chars:function(b){return b.split("")},escapeHTML:function(b){return String(b||"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")},unescapeHTML:function(b){return String(b||"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")},escapeRegExp:function(b){return String(b||"").replace(/([-.*+?^${}()|[\]\/\\])/g,"\\$1")},insert:function(b,a,c){b=b.split("");b.splice(a,0,c);return b.join("")},includes:function(b,a){return b.indexOf(a)!== | ||
-1},join:function(b){b=String(b);for(var a="",c=1;c<arguments.length;c+=1)a+=String(arguments[c]),c!==arguments.length-1&&(a+=b);return a},lines:function(b){return b.split("\n")},splice:function(b,a,c,d){b=b.split("");b.splice(a,c,d);return b.join("")},startsWith:function(b,a){return b.length>=a.length&&b.substring(0,a.length)===a},endsWith:function(b,a){return b.length>=a.length&&b.substring(b.length-a.length)===a},succ:function(b){var a=b.split("");a.splice(b.length-1,1,String.fromCharCode(b.charCodeAt(b.length- | ||
1)+1));return a.join("")},titleize:function(b){b=b.split(" ");for(var a,c=0;c<b.length;c++)a=b[c].split(""),typeof a[0]!=="undefined"&&(a[0]=a[0].toUpperCase()),c+1===b.length?b[c]=a.join(""):b[c]=a.join("")+" ";return b.join("")},camelize:function(b){return d.trim(b).replace(/(\-|_|\s)+(.)?/g,function(a,b,d){return d?d.toUpperCase():""})},underscored:function(b){return d.trim(b).replace(/([a-z\d])([A-Z]+)/g,"$1_$2").replace(/\-|\s+/g,"_").toLowerCase()},dasherize:function(b){return d.trim(b).replace(/([a-z\d])([A-Z]+)/g, | ||
"$1-$2").replace(/^([A-Z]+)/,"-$1").replace(/\_|\s+/g,"-").toLowerCase()},trim:function(b,a){if(!a&&i)return i.call(b);a=f(a);return b.replace(RegExp("^["+a+"]+|["+a+"]+$","g"),"")},ltrim:function(b,a){a=f(a);return b.replace(RegExp("^["+a+"]+","g"),"")},rtrim:function(b,a){a=f(a);return b.replace(RegExp("["+a+"]+$","g"),"")},truncate:function(b,a,c){return b.slice(0,a)+(c||"...")},words:function(b,a){return b.split(a||" ")},pad:function(b,a,c,d){var e="";e=0;c?c.length>1&&(c=c[0]):c=" ";switch(d){case "right":e= | ||
a-b.length;e=g(c,e);b+=e;break;case "both":e=a-b.length;e={left:g(c,Math.ceil(e/2)),right:g(c,Math.floor(e/2))};b=e.left+b+e.right;break;default:e=a-b.length,e=g(c,e),b=e+b}return b},lpad:function(b,a,c){return d.pad(b,a,c)},rpad:function(b,a,c){return d.pad(b,a,c,"right")},lrpad:function(b,a,c){return d.pad(b,a,c,"both")},sprintf:function(){for(var b=0,a,c=arguments[b++],d=[],e,h,f;c;){if(e=/^[^\x25]+/.exec(c))d.push(e[0]);else if(e=/^\x25{2}/.exec(c))d.push("%");else if(e=/^\x25(?:(\d+)\$)?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-fosuxX])/.exec(c)){if((a= | ||
arguments[e[1]||b++])==null||a==void 0)throw"Too few arguments.";if(/[^s]/.test(e[7])&&typeof a!="number")throw"Expecting number but found "+typeof a;switch(e[7]){case "b":a=a.toString(2);break;case "c":a=String.fromCharCode(a);break;case "d":a=parseInt(a);break;case "e":a=e[6]?a.toExponential(e[6]):a.toExponential();break;case "f":a=e[6]?parseFloat(a).toFixed(e[6]):parseFloat(a);break;case "o":a=a.toString(8);break;case "s":a=(a=String(a))&&e[6]?a.substring(0,e[6]):a;break;case "u":a=Math.abs(a); | ||
break;case "x":a=a.toString(16);break;case "X":a=a.toString(16).toUpperCase()}a=/[def]/.test(e[7])&&e[2]&&a>=0?"+"+a:a;h=e[3]?e[3]=="0"?"0":e[3].charAt(1):" ";f=e[5]-String(a).length-0;h=e[5]?g(h,f):"";d.push(""+(e[4]?a+h:h+a))}else throw"Huh ?!";c=c.substring(e[0].length)}return d.join("")}};d.strip=d.trim;d.lstrip=d.ltrim;d.rstrip=d.rtrim;d.center=d.lrpad;d.ljust=d.lpad;d.rjust=d.rpad;typeof window==="undefined"&&typeof module!=="undefined"?module.exports=d:typeof this._!=="undefined"?this._.mixin(d): | ||
this._=d})(); | ||
(function(){function g(a,b){for(var c=[];b>0;c[--b]=a);return c.join("")}function f(a){if(a)return d.escapeRegExp(a);return"\\s"}var i=String.prototype.trim,d={isBlank:function(a){return!!a.match(/^\s*$/)},capitalize:function(a){return a.charAt(0).toUpperCase()+a.substring(1).toLowerCase()},chop:function(a,b){b=b||a.length;for(var c=[],d=0;d<a.length;)c.push(a.slice(d,d+b)),d+=b;return c},clean:function(a){return d.strip(a.replace(/\s+/g," "))},count:function(a,b){for(var c=0,d,e=0;e<a.length;)d= | ||
a.indexOf(b,e),d>=0&&c++,e=e+(d>=0?d:0)+b.length;return c},chars:function(a){return a.split("")},escapeHTML:function(a){return String(a||"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")},unescapeHTML:function(a){return String(a||"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/'/g,"'")},escapeRegExp:function(a){return String(a||"").replace(/([-.*+?^${}()|[\]\/\\])/g,"\\$1")},insert:function(a, | ||
b,c){a=a.split("");a.splice(b,0,c);return a.join("")},includes:function(a,b){return a.indexOf(b)!==-1},join:function(a){a=String(a);for(var b="",c=1;c<arguments.length;c+=1)b+=String(arguments[c]),c!==arguments.length-1&&(b+=a);return b},lines:function(a){return a.split("\n")},splice:function(a,b,c,d){a=a.split("");a.splice(b,c,d);return a.join("")},startsWith:function(a,b){return a.length>=b.length&&a.substring(0,b.length)===b},endsWith:function(a,b){return a.length>=b.length&&a.substring(a.length- | ||
b.length)===b},succ:function(a){var b=a.split("");b.splice(a.length-1,1,String.fromCharCode(a.charCodeAt(a.length-1)+1));return b.join("")},titleize:function(a){a=a.split(" ");for(var b,c=0;c<a.length;c++)b=a[c].split(""),typeof b[0]!=="undefined"&&(b[0]=b[0].toUpperCase()),c+1===a.length?a[c]=b.join(""):a[c]=b.join("")+" ";return a.join("")},camelize:function(a){return d.trim(a).replace(/(\-|_|\s)+(.)?/g,function(a,c,d){return d?d.toUpperCase():""})},underscored:function(a){return d.trim(a).replace(/([a-z\d])([A-Z]+)/g, | ||
"$1_$2").replace(/\-|\s+/g,"_").toLowerCase()},dasherize:function(a){return d.trim(a).replace(/([a-z\d])([A-Z]+)/g,"$1-$2").replace(/^([A-Z]+)/,"-$1").replace(/\_|\s+/g,"-").toLowerCase()},trim:function(a,b){if(!b&&i)return i.call(a);b=f(b);return a.replace(RegExp("^["+b+"]+|["+b+"]+$","g"),"")},ltrim:function(a,b){b=f(b);return a.replace(RegExp("^["+b+"]+","g"),"")},rtrim:function(a,b){b=f(b);return a.replace(RegExp("["+b+"]+$","g"),"")},truncate:function(a,b,c){return a.slice(0,b)+(c||"...")},words:function(a, | ||
b){return a.split(b||" ")},pad:function(a,b,c,d){var e="";e=0;c?c.length>1&&(c=c[0]):c=" ";switch(d){case "right":e=b-a.length;e=g(c,e);a+=e;break;case "both":e=b-a.length;e={left:g(c,Math.ceil(e/2)),right:g(c,Math.floor(e/2))};a=e.left+a+e.right;break;default:e=b-a.length,e=g(c,e),a=e+a}return a},lpad:function(a,b,c){return d.pad(a,b,c)},rpad:function(a,b,c){return d.pad(a,b,c,"right")},lrpad:function(a,b,c){return d.pad(a,b,c,"both")},sprintf:function(){for(var a=0,b,c=arguments[a++],d=[],e,h,f;c;){if(e= | ||
/^[^\x25]+/.exec(c))d.push(e[0]);else if(e=/^\x25{2}/.exec(c))d.push("%");else if(e=/^\x25(?:(\d+)\$)?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-fosuxX])/.exec(c)){if((b=arguments[e[1]||a++])==null||b==void 0)throw"Too few arguments.";if(/[^s]/.test(e[7])&&typeof b!="number")throw"Expecting number but found "+typeof b;switch(e[7]){case "b":b=b.toString(2);break;case "c":b=String.fromCharCode(b);break;case "d":b=parseInt(b);break;case "e":b=e[6]?b.toExponential(e[6]):b.toExponential();break;case "f":b= | ||
e[6]?parseFloat(b).toFixed(e[6]):parseFloat(b);break;case "o":b=b.toString(8);break;case "s":b=(b=String(b))&&e[6]?b.substring(0,e[6]):b;break;case "u":b=Math.abs(b);break;case "x":b=b.toString(16);break;case "X":b=b.toString(16).toUpperCase()}b=/[def]/.test(e[7])&&e[2]&&b>=0?"+"+b:b;h=e[3]?e[3]=="0"?"0":e[3].charAt(1):" ";f=e[5]-String(b).length-0;h=e[5]?g(h,f):"";d.push(""+(e[4]?b+h:h+b))}else throw"Huh ?!";c=c.substring(e[0].length)}return d.join("")},toNumber:function(a,b){return(a*1||0).toFixed(b* | ||
1||0)*1||0},strRight:function(a,b){var c=!b?-1:a.indexOf(b);return c!=-1?a.slice(c+b.length,a.length):a},strRightBack:function(a,b){var c=!b?-1:a.lastIndexOf(b);return c!=-1?a.slice(c+b.length,a.length):a},strLeft:function(a,b){var c=!b?-1:a.indexOf(b);return c!=-1?a.slice(0,c):a},strLeftBack:function(a,b){var c=a.lastIndexOf(b);return c!=-1?a.slice(0,c):a}};d.strip=d.trim;d.lstrip=d.ltrim;d.rstrip=d.rtrim;d.center=d.lrpad;d.ljust=d.lpad;d.rjust=d.rpad;typeof window==="undefined"&&typeof module!== | ||
"undefined"?module.exports=d:typeof this._!=="undefined"?this._.mixin(d):this._=d})(); |
@@ -7,3 +7,3 @@ // Underscore.string | ||
// Version 1.1.4 | ||
// Version 1.1.5 | ||
@@ -18,2 +18,4 @@ (function(){ | ||
var parseNumber = function(source) { return source * 1 || 0; }; | ||
function str_repeat(i, m) { | ||
@@ -70,7 +72,9 @@ for (var o = []; m > 0; o[--m] = i); | ||
escapeHTML: function(str) { | ||
return String(str||'').replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>'); | ||
return String(str||'').replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>') | ||
.replace(/"/g, '"').replace(/'/g, "'"); | ||
}, | ||
unescapeHTML: function(str) { | ||
return String(str||'').replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>'); | ||
return String(str||'').replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>') | ||
.replace(/"/g, '"').replace(/'/g, "'"); | ||
}, | ||
@@ -279,5 +283,30 @@ | ||
return o.join(''); | ||
} | ||
} | ||
}, | ||
toNumber: function(str, decimals) { | ||
return parseNumber(parseNumber(str).toFixed(parseNumber(decimals))); | ||
}, | ||
strRight: function(sourceStr, sep){ | ||
var pos = (!sep) ? -1 : sourceStr.indexOf(sep); | ||
return (pos != -1) ? sourceStr.slice(pos+sep.length, sourceStr.length) : sourceStr; | ||
}, | ||
strRightBack: function(sourceStr, sep){ | ||
var pos = (!sep) ? -1 : sourceStr.lastIndexOf(sep); | ||
return (pos != -1) ? sourceStr.slice(pos+sep.length, sourceStr.length) : sourceStr; | ||
}, | ||
strLeft: function(sourceStr, sep){ | ||
var pos = (!sep) ? -1 : sourceStr.indexOf(sep); | ||
return (pos != -1) ? sourceStr.slice(0, pos) : sourceStr; | ||
}, | ||
strLeftBack: function(sourceStr, sep){ | ||
var pos = sourceStr.lastIndexOf(sep); | ||
return (pos != -1) ? sourceStr.slice(0, pos) : sourceStr; | ||
} | ||
}; | ||
// Aliases | ||
@@ -288,5 +317,5 @@ | ||
_s.rstrip = _s.rtrim; | ||
_s.center = _s.lrpad | ||
_s.ljust = _s.lpad | ||
_s.rjust = _s.rpad | ||
_s.center = _s.lrpad; | ||
_s.ljust = _s.lpad; | ||
_s.rjust = _s.rpad; | ||
@@ -293,0 +322,0 @@ // CommonJS module is defined |
{ | ||
"name": "underscore.string", | ||
"version": "1.1.4", | ||
"version": "1.1.5", | ||
"description": "String manipulation extensions for Underscore.js javascript library.", | ||
@@ -5,0 +5,0 @@ "homepage": "https://github.com/edtsech/underscore.string", |
@@ -106,2 +106,22 @@ (function() { | ||
JSLitmus.test('toNumber', function(){ | ||
_('10.232323').toNumber(2); | ||
}); | ||
JSLitmus.test('strRight', function(){ | ||
_('aaa_bbb_ccc').strRight('_'); | ||
}); | ||
JSLitmus.test('strRightBack', function(){ | ||
_('aaa_bbb_ccc').strRightBack('_'); | ||
}); | ||
JSLitmus.test('strLeft', function(){ | ||
_('aaa_bbb_ccc').strLeft('_'); | ||
}); | ||
JSLitmus.test('strLeftBack', function(){ | ||
_('aaa_bbb_ccc').strLeftBack('_'); | ||
}); | ||
})(); |
@@ -178,3 +178,4 @@ $(document).ready(function() { | ||
test('String: escapeHTML', function(){ | ||
equals(_('<div>Blah blah blah</div>').escapeHTML(), '<div>Blah blah blah</div>'); | ||
equals(_('<div>Blah & "blah" & \'blah\'</div>').escapeHTML(), | ||
'<div>Blah & "blah" & 'blah'</div>'); | ||
equals(_(5).escapeHTML(), '5'); | ||
@@ -185,3 +186,4 @@ equals(_(undefined).escapeHTML(), ''); | ||
test('String: unescapeHTML', function(){ | ||
equals(_('<div>Blah blah blah</div>').unescapeHTML(), '<div>Blah blah blah</div>'); | ||
equals(_('<div>Blah & "blah" & 'blah'</div>').unescapeHTML(), | ||
'<div>Blah & "blah" & \'blah\'</div>'); | ||
equals(_(5).unescapeHTML(), '5'); | ||
@@ -238,2 +240,43 @@ equals(_(undefined).unescapeHTML(), ''); | ||
test('String: toNumber', function() { | ||
equals(_("not a number").toNumber(), 0); | ||
equals(_("2.345").toNumber(), 2); | ||
equals(_("2.345").toNumber(NaN), 2); | ||
equals(_("2.345").toNumber(2), 2.35); | ||
equals(_("2.344").toNumber(2), 2.34); | ||
equals(_("2").toNumber(2), 2.00); | ||
}); | ||
test('String: strRight', function() { | ||
equals(_("This_is_a_test_string").strRight("_"), "is_a_test_string"); | ||
equals(_("This_is_a_test_string").strRight("string"), ""); | ||
equals(_("This_is_a_test_string").strRight(), "This_is_a_test_string"); | ||
equals(_("This_is_a_test_string").strRight(""), "This_is_a_test_string"); | ||
equals(_("This_is_a_test_string").strRight("-"), "This_is_a_test_string"); | ||
}); | ||
test('String: strRightBack', function() { | ||
equals(_("This_is_a_test_string").strRightBack("_"), "string"); | ||
equals(_("This_is_a_test_string").strRightBack("string"), ""); | ||
equals(_("This_is_a_test_string").strRightBack(), "This_is_a_test_string"); | ||
equals(_("This_is_a_test_string").strRightBack(""), "This_is_a_test_string"); | ||
equals(_("This_is_a_test_string").strRightBack("-"), "This_is_a_test_string"); | ||
}); | ||
test('String: strLeft', function() { | ||
equals(_("This_is_a_test_string").strLeft("_"), "This"); | ||
equals(_("This_is_a_test_string").strLeft("This"), ""); | ||
equals(_("This_is_a_test_string").strLeft(), "This_is_a_test_string"); | ||
equals(_("This_is_a_test_string").strLeft(""), "This_is_a_test_string"); | ||
equals(_("This_is_a_test_string").strLeft("-"), "This_is_a_test_string"); | ||
}); | ||
test('String: strLeftBack', function() { | ||
equals(_("This_is_a_test_string").strLeftBack("_"), "This_is_a_test"); | ||
equals(_("This_is_a_test_string").strLeftBack("This"), ""); | ||
equals(_("This_is_a_test_string").strLeftBack(), "This_is_a_test_string"); | ||
equals(_("This_is_a_test_string").strLeftBack(""), "This_is_a_test_string"); | ||
equals(_("This_is_a_test_string").strLeftBack("-"), "This_is_a_test_string"); | ||
}); | ||
}); |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
113543
2151
389