Comparing version
@@ -14,2 +14,4 @@ #!/usr/bin/env node | ||
var utils = require("../utils"); | ||
var string = require("../_string/_lstring"), | ||
@@ -37,19 +39,18 @@ isAlpha = string.isAlpha, | ||
var escape = function(_string) { | ||
if (isNullOrUndefined(_string)) { | ||
return ""; | ||
} else { | ||
if (isNullOrUndefined(_string)) | ||
return ""; | ||
var $ = cheerio.load(_string), | ||
s = $("*").text(), | ||
s_replaced = lReplace( | ||
s = $("*").text(), | ||
s_replaced = lReplace( | ||
lReplace( | ||
lReplace( | ||
lReplace( | ||
lReplace(s,"&", ">"), | ||
"<", "<"), | ||
">", "&"), | ||
lReplace( | ||
lReplace( | ||
lReplace(s,"&", ">"), | ||
"<", "<"), | ||
">", "&"), | ||
'"', """), | ||
"'", "'"); | ||
"'", "'"); | ||
return $.html(); | ||
} | ||
}; | ||
@@ -69,13 +70,12 @@ exports.escape = escape; | ||
var slugify = function(_string) { | ||
if (isNullOrUndefined(_string)) { | ||
return ""; | ||
} else { | ||
if (isNullOrUndefined(_string)) | ||
return ""; | ||
var _array = []; | ||
for (var i = 0; i < _string.length; i++) { | ||
if (!isSpace(_string[i])) { | ||
_array.push(_string[i]); | ||
} | ||
if (!isSpace(_string[i])) | ||
_array.push(_string[i]); | ||
} | ||
return join("-", _array); | ||
} | ||
}; | ||
@@ -95,9 +95,8 @@ exports.slugify = slugify; | ||
var removeTag = function(_string) { | ||
if (isNullOrUndefined(_string)) { | ||
return ""; | ||
} else { | ||
if (isNullOrUndefined(_string)) | ||
return ""; | ||
return _string.replace(/(<[\w\b\/]+>)+/, "") | ||
.replace(/(<[\/\w\b]+>)+/, "") | ||
.replace(/<!DOCTYPE[^>[]*(\[[^]]*\])?>/, ""); | ||
} | ||
.replace(/(<[\/\w\b]+>)+/, "") | ||
.replace(/<!DOCTYPE[^>[]*(\[[^]]*\])?>/, ""); | ||
}; | ||
@@ -112,37 +111,2 @@ exports.removeTag = removeTag; | ||
* @param {string} simple string. | ||
* @return {object}. | ||
* @private | ||
* | ||
**/ | ||
var _parse_tag = function(_tag) { | ||
var tagNumber; | ||
if (isDigit(_tag[0]) || isNumber(_tag[0])) { | ||
tagNumber = parseInt(_tag[0]); | ||
_tag = lReplace(_tag, _tag[0], "", 1); | ||
} else if (isDigit(_tag[_tag.length - 1]) || | ||
isNumber(_tag[_tag.length - 1])) { | ||
if (!isAlpha(_tag[_tag.length - 2]) || | ||
isAlpha(_tag[_tag.length - 2])) { | ||
tagNumber = parseInt(_tag[_tag.length - 1]); | ||
_tag = rReplace(_tag, _tag[_tag.length - 1], "", 1); | ||
} else { | ||
_tag = _tag; | ||
tagNumber = 1; | ||
} | ||
} else { | ||
_tag = _tag; | ||
tagNumber = 1; | ||
} | ||
return { | ||
"tagNumber": tagNumber, | ||
"tag": _tag | ||
}; | ||
} | ||
/** | ||
* | ||
* Parse the passed tag. | ||
* | ||
* @param {string} simple string. | ||
* @param {string} html tag. | ||
@@ -157,8 +121,7 @@ * @param {string} html attribute. | ||
var cheerio = require('cheerio'), | ||
$ = cheerio.load(string, | ||
{normalizeWhitespace: true,}); | ||
$ = cheerio.load(string, {normalizeWhitespace: true,}); | ||
var _tag_parsed = _parse_tag(_tag) | ||
var tag = _tag_parsed.tag | ||
var tagNumber = _tag_parsed.tagNumber | ||
var _tag_parsed = utils._parse_char(_tag) | ||
var tag = _tag_parsed.char | ||
var tagNumber = _tag_parsed.charNumber | ||
var element = $(tag).get(tagNumber - 1) | ||
@@ -208,12 +171,10 @@ | ||
var addClassName2Tag = function(_string, _tag, _classvalue) { | ||
if (isNullOrUndefined(_string)) { | ||
if (isNullOrUndefined(_string)) | ||
return ""; | ||
} else { | ||
if (isNullOrUndefined(_classvalue) || | ||
isNullOrUndefined(_tag)) { | ||
return _string; | ||
} else { | ||
return add2Tag(_string, _tag, "class", _classvalue); | ||
} | ||
} | ||
if (isNullOrUndefined(_classvalue) || | ||
isNullOrUndefined(_tag)) | ||
return _string; | ||
return add2Tag(_string, _tag, "class", _classvalue); | ||
} | ||
@@ -235,12 +196,10 @@ exports.addClassName2Tag = addClassName2Tag; | ||
var addIdName2Tag = function(_string, _tag, _idvalue) { | ||
if (isNullOrUndefined(_string)) { | ||
if (isNullOrUndefined(_string)) | ||
return ""; | ||
} else { | ||
if (isNullOrUndefined(_idvalue) || | ||
isNullOrUndefined(_tag)) { | ||
return _string; | ||
} else { | ||
return add2Tag(_string, _tag, "id", _idvalue); | ||
} | ||
} | ||
if (isNullOrUndefined(_idvalue) || | ||
isNullOrUndefined(_tag)) | ||
return _string; | ||
return add2Tag(_string, _tag, "id", _idvalue); | ||
}; | ||
@@ -262,13 +221,43 @@ exports.addIdName2Tag = addIdName2Tag; | ||
var addStyle2Tag = function(_string, _tag, _styles) { | ||
if (isNullOrUndefined(_string)) { | ||
if (isNullOrUndefined(_string)) | ||
return ""; | ||
} else { | ||
// parsin the styles | ||
var style = "", | ||
styles = []; | ||
if (isArray(_styles)) { | ||
if (_styles.length >= 3) { | ||
for (var i = 0; i < _styles.length; i++) { | ||
if (isArray(_styles[i])) { | ||
// parsin the styles | ||
var style = "", | ||
styles = []; | ||
if (isArray(_styles)) { | ||
if (_styles.length >= 3) { | ||
for (var i = 0; i < _styles.length; i++) { | ||
if (isArray(_styles[i])) { | ||
for (var j = 0; j < _styles[i].length; j++) { | ||
if (isArray(_styles[i][j])) { | ||
for (var m = 0; m < _styles[i][j].length; m++) { | ||
style += j == 1 && m < _styles[i][j].length - 1 ? | ||
_styles[i][j][m] + ' ' : _styles[i][j][m] + ';'; | ||
} | ||
} else { | ||
style += j == 0 ? _styles[i][j] + ':' : _styles[i][j] + ';'; | ||
} | ||
} | ||
} | ||
if (style) { | ||
styles.push(style); | ||
} | ||
style = ""; | ||
} | ||
} else { | ||
if (_styles.length == 2) { | ||
if (!isArray(_styles[0])) { | ||
for (var i = 0; i < _styles.length; i++) { | ||
if (isArray(_styles[i])) { | ||
for (var j = 0; j < _styles[i].length; j++) { | ||
style += i == 1 && j != _styles[i].length - 1 ? | ||
_styles[i][j] + " " : _styles[i][j] + ";"; | ||
} | ||
} else { | ||
style += i == 0 ? _styles[i] + ':' : _styles[i] + ';'; | ||
} | ||
} | ||
} else { | ||
for (var i = 0; i < _styles.length; i++) { | ||
for (var j = 0; j < _styles[i].length; j++) { | ||
@@ -278,3 +267,3 @@ if (isArray(_styles[i][j])) { | ||
style += j == 1 && m < _styles[i][j].length - 1 ? | ||
_styles[i][j][m] + ' ' : _styles[i][j][m] + ';'; | ||
_styles[i][j][m] + " " : _styles[i][j][m] + ";"; | ||
} | ||
@@ -285,53 +274,22 @@ } else { | ||
} | ||
if (style) { | ||
styles.push(style); | ||
} | ||
style = ""; | ||
} | ||
if (style) { | ||
styles.push(style); | ||
} | ||
style = ""; | ||
} | ||
} else { | ||
if (_styles.length == 2) { | ||
if (!isArray(_styles[0])) { | ||
for (var i = 0; i < _styles.length; i++) { | ||
if (isArray(_styles[i])) { | ||
for (var j = 0; j < _styles[i].length; j++) { | ||
style += i == 1 && j != _styles[i].length - 1 ? | ||
_styles[i][j] + " " : _styles[i][j] + ";"; | ||
} | ||
} else { | ||
style += i == 0 ? _styles[i] + ':' : _styles[i] + ';'; | ||
} | ||
} | ||
} else { | ||
for (var i = 0; i < _styles.length; i++) { | ||
for (var j = 0; j < _styles[i].length; j++) { | ||
if (isArray(_styles[i][j])) { | ||
for (var m = 0; m < _styles[i][j].length; m++) { | ||
style += j == 1 && m < _styles[i][j].length - 1 ? | ||
_styles[i][j][m] + " " : _styles[i][j][m] + ";"; | ||
} | ||
} else { | ||
style += j == 0 ? _styles[i][j] + ':' : _styles[i][j] + ';'; | ||
} | ||
} | ||
if (style) { | ||
styles.push(style); | ||
} | ||
style = ""; | ||
} | ||
if (isArray(_styles[0])) { | ||
for (var i = 0; i < _styles[0].length; i++) { | ||
style += i == 0 ? _styles[0][i] + ':' : _styles[0][i] + ';'; | ||
} | ||
} else { | ||
if (isArray(_styles[0])) { | ||
for (var i = 0; i < _styles[0].length; i++) { | ||
style += i == 0 ? _styles[0][i] + ':' : _styles[0][i] + ';'; | ||
} | ||
} | ||
} | ||
} | ||
if (style) { | ||
styles.push(style); | ||
style = ""; | ||
} | ||
style = ""; | ||
} | ||
return add2Tag(_string, _tag, "style", styles); | ||
} | ||
return add2Tag(_string, _tag, "style", styles); | ||
}; | ||
@@ -358,37 +316,33 @@ exports.addStyle2Tag = addStyle2Tag; | ||
var addAttr2Tag = function(_string, _tag, attrname, attrs) { | ||
if (isNullOrUndefined(_string)) { | ||
if (isNullOrUndefined(_string)) | ||
return ""; | ||
} else { | ||
if (isNullOrUndefined(_tag) || | ||
isNullOrUndefined(attrname) && | ||
attrname != "class" && | ||
attrname != "id" && | ||
attrname != "style") { | ||
return _string; | ||
} else { | ||
if (isNullOrUndefined(attrs)) { | ||
attrs = ""; | ||
} | ||
if (isNullOrUndefined(_tag) || | ||
isNullOrUndefined(attrname) && | ||
attrname != "class" && | ||
attrname != "id" && | ||
attrname != "style") | ||
return _string; | ||
if (isEmpty(attrs) || | ||
attrs == "") { | ||
var _result = add2Tag(_string, _tag, attrname, attrs); | ||
for (var i = 0; i < _result.length; i++) { | ||
if (_result.slice(i, attrname.length + i) == attrname) { | ||
var _ = _result[attrname.length + i] + | ||
_result[attrname.length + i + 1] + | ||
_result[attrname.length + i + 2]; | ||
if (_ == "=''") { | ||
return lReplace(_result, _, "", 1); | ||
} | ||
return _result | ||
} | ||
} | ||
} else { | ||
return add2Tag(_string, _tag, attrname, attrs); | ||
if (isNullOrUndefined(attrs)) | ||
attrs = ""; | ||
if (isEmpty(attrs) || | ||
attrs == "") { | ||
var _result = add2Tag(_string, _tag, attrname, attrs); | ||
for (var i = 0; i < _result.length; i++) { | ||
if (_result.slice(i, attrname.length + i) == attrname) { | ||
var _ = _result[attrname.length + i] + | ||
_result[attrname.length + i + 1] + | ||
_result[attrname.length + i + 2]; | ||
if (_ == "=''") | ||
return lReplace(_result, _, "", 1); | ||
return _result | ||
} | ||
} | ||
} else { | ||
return add2Tag(_string, _tag, attrname, attrs); | ||
} | ||
} | ||
exports.addAttr2Tag = addAttr2Tag; |
@@ -11,2 +11,3 @@ #!/usr/bin/env node | ||
var utils = require("../utils"); | ||
@@ -136,22 +137,7 @@ | ||
if (isNullOrUndefined(_subString) || | ||
isNullOrUndefined(_string)) { | ||
isNullOrUndefined(_string)) | ||
return false; | ||
} else { | ||
var _startSilce = 0, | ||
_endSlice = _subString.length, | ||
_slice; | ||
for (var i = 0; i < _string.length; i++) { | ||
_slice = _string.slice(_startSilce, _endSlice); | ||
if (_slice == _subString) { | ||
return true; | ||
} | ||
_startSilce++; | ||
_endSlice++; | ||
} | ||
return false; | ||
} | ||
var re = new RegExp(_subString); | ||
return re.test(_string); | ||
}; | ||
@@ -172,20 +158,14 @@ exports.isSubString = isSubString; | ||
var multiply = function(_string, _times) { | ||
if (isNullOrUndefined(_string)) { | ||
if (isNullOrUndefined(_string)) | ||
return ""; | ||
} else { | ||
if (isNullOrUndefined(_times) || | ||
_times <= 0) { | ||
return _string; | ||
} else { | ||
if (isNullOrUndefined(_times) || | ||
_times <= 0) | ||
return _string; | ||
var _nString = ""; | ||
var _nString = ""; | ||
for (var i = _times; i > 0; i--) | ||
_nString += _string; | ||
for (var i = _times; i > 0; i--) { | ||
_nString += _string; | ||
} | ||
return _nString; | ||
} | ||
} | ||
return _nString; | ||
}; | ||
@@ -211,40 +191,33 @@ exports.multiply = multiply; | ||
isAlpha(_end) && | ||
!isNullOrUndefined(_end)) { | ||
!isNullOrUndefined(_end)) | ||
return ""; | ||
} else { | ||
if (isNumber(_string)) { | ||
_string = _string.toString(); | ||
} | ||
if (isNumber(_string)) | ||
_string = _string.toString(); | ||
if (isNullOrUndefined(_start)) { | ||
return _string; | ||
} else { | ||
if (isNullOrUndefined(_start)) | ||
return _string; | ||
if (isNullOrUndefined(_end)) { | ||
_end = _string.length; | ||
} | ||
if (isNullOrUndefined(_end)) | ||
_end = _string.length; | ||
var _stringLength = _string.length, | ||
/** | ||
* | ||
* With the next two variables, i'll change the initial | ||
* character... | ||
* | ||
* l e o to ==> l e o | ||
* 0 1 2 to ==> 2 1 0 | ||
* | ||
**/ | ||
_nstart = (_stringLength - 1) - _start, | ||
_nend = ((_stringLength - 1) - _start) - (_end - _start), | ||
_nString = ""; | ||
var _stringLength = _string.length, | ||
/** | ||
* | ||
* With the next two variables, i'll change the initial | ||
* character... | ||
* | ||
* l e o to ==> l e o | ||
* 0 1 2 to ==> 2 1 0 | ||
* | ||
**/ | ||
_nstart = (_stringLength - 1) - _start, | ||
_nend = ((_stringLength - 1) - _start) - (_end - _start), | ||
_nString = ""; | ||
for (var i = _nstart; i > _nend && i != -1; i--) { | ||
_nString = _string[i] + _nString; | ||
} | ||
for (var i = _nstart; i > _nend && i != -1; i--) | ||
_nString = _string[i] + _nString; | ||
return _nString; | ||
} | ||
} | ||
return _nString; | ||
}; | ||
@@ -273,60 +246,133 @@ exports.rSlice = rSlice; | ||
!isNullOrUndefined(_endCount) && | ||
isAlpha(_endCount)) { | ||
isAlpha(_endCount)) | ||
return 0; | ||
} else { | ||
if (_startCount == _endCount && | ||
!isNullOrUndefined(_startCount) && | ||
!isNullOrUndefined(_endCount)) { | ||
return 0; | ||
} else { | ||
if (isSubString(_string, _subString)) { | ||
if (_startCount == _endCount && | ||
!isNullOrUndefined(_startCount) && | ||
!isNullOrUndefined(_endCount)) | ||
return 0; | ||
if (isNumber(_startCount) || | ||
isDigit(_startCount)) { | ||
_startCount = parseInt(_startCount); | ||
} | ||
if (isSubString(_string, _subString)) { | ||
if (isNumber(_endCount) || | ||
isDigit(_endCount)) { | ||
_endCount = parseInt(_endCount); | ||
} | ||
if (isNumber(_startCount) || | ||
isDigit(_startCount)) | ||
_startCount = parseInt(_startCount); | ||
if (isNullOrUndefined(_startCount)) { | ||
_startCount = 0; | ||
} | ||
if (isNullOrUndefined(_endCount)) { | ||
_endCount = _string.length; | ||
} | ||
if (isNumber(_endCount) || | ||
isDigit(_endCount)) | ||
_endCount = parseInt(_endCount); | ||
var _endSlice = _subString.length > 1 ? | ||
_subString.length + _startCount : | ||
_startCount + 1, | ||
_startSilce = _startCount, | ||
count = 0, | ||
_slice; | ||
if (isNullOrUndefined(_startCount)) | ||
_startCount = 0; | ||
for (var i = _startCount; i < _endCount; i++) { | ||
if (isNullOrUndefined(_endCount)) | ||
_endCount = _string.length; | ||
_slice = _string.slice(_startSilce, _endSlice); | ||
if (_slice.length < _subString.length) { | ||
break; | ||
} | ||
var _endSlice = _subString.length > 1 ? | ||
_subString.length + _startCount : | ||
_startCount + 1, | ||
_startSilce = _startCount, | ||
count = 0, | ||
_slice; | ||
if (_subString == _slice) { | ||
count++; | ||
} | ||
for (var i = _startCount; i < _endCount; i++) { | ||
_startSilce++; | ||
_endSlice++; | ||
_slice = _string.slice(_startSilce, _endSlice); | ||
if (_slice.length < _subString.length) | ||
break; | ||
if (_subString == _slice) | ||
count++; | ||
_startSilce++; | ||
_endSlice++; | ||
} | ||
return count; | ||
} | ||
return 0; | ||
}; | ||
exports.dummyCount = dummyCount; | ||
/** | ||
* | ||
* Count how many substring, | ||
* the string has, but it is | ||
* smart, exampel: | ||
* | ||
* "home home home".smartCount('o', "m2", 3) | ||
* "home home home".smartCount('o', 3, "m2") | ||
* "home home home".smartCount('o', "h", "h3") | ||
* | ||
* @param {string} simple string. | ||
* @param {string} substring that you want to count. | ||
* @param {int|string} where the count begins. (if undefined, will count all substrings). | ||
* @param {int|string} where count ends. | ||
* @return {int} count result. | ||
* @public | ||
* | ||
**/ | ||
var smartCount = function(_string, _subString, _startCount, _endCount){ | ||
if(_startCount && !isDigit(_startCount) && !isNumber(_startCount)){ | ||
var _parse_startCount = utils._parse_char(_startCount), | ||
_char_startnumber = _parse_startCount.charNumber, | ||
_char_start = _parse_startCount.char, | ||
n = 0, | ||
_n; | ||
for (var i = 0; i < _string.length; i++) { | ||
if (_string[i] == _char_start){ | ||
n++; | ||
if (n == _char_startnumber){ | ||
_n = i; | ||
break; | ||
} | ||
return count; | ||
} else { | ||
return 0; | ||
} | ||
} | ||
if(_char_startnumber > n) return 0; | ||
_char_startnumber = _n; | ||
}else if(isDigit(_startCount) || isNumber(_startCount)){ | ||
_char_startnumber = _startCount; | ||
}else { | ||
_char_startnumber = 0; | ||
} | ||
if(_endCount && !isDigit(_endCount) && !isNumber(_endCount)){ | ||
var _parse_endCount = utils._parse_char(_endCount), | ||
_char_endnumber = _parse_endCount.charNumber, | ||
_char_end = _parse_endCount.char, | ||
n = 0, | ||
_n; | ||
for (var i = 0; i < _string.length; i++) { | ||
if (_string[i] == _char_end){ | ||
n++; | ||
if (n == _char_endnumber){ | ||
_n = i; | ||
break; | ||
} | ||
} | ||
} | ||
if(_char_endnumber > n) return 0; | ||
_char_endnumber = _n; | ||
}else if(isDigit(_endCount) || isNumber(_endCount)){ | ||
_char_endnumber = _endCount; | ||
}else{ | ||
_char_endnumber = _string.length; | ||
} | ||
if(_char_startnumber > _char_endnumber) | ||
return 0; | ||
return dummyCount(_string, _subString, _char_startnumber, _char_endnumber); | ||
}; | ||
exports.dummyCount = dummyCount; | ||
exports.smartCount = smartCount; | ||
@@ -344,9 +390,8 @@ | ||
var capitalize = function(_string) { | ||
if (isNullOrUndefined(_string)) { | ||
if (isNullOrUndefined(_string)) | ||
return ""; | ||
} else { | ||
return lReplace(_string.toLowerCase(), | ||
_string.toLowerCase()[0], | ||
_string.toLowerCase()[0].toUpperCase()); | ||
} | ||
return lReplace(_string.toLowerCase(), | ||
_string.toLowerCase()[0], | ||
_string.toLowerCase()[0].toUpperCase()); | ||
@@ -369,13 +414,11 @@ }; | ||
if (isNullOrUndefined(_char) || | ||
isNullOrUndefined(_string)) { | ||
isNullOrUndefined(_string)) | ||
return []; | ||
} else { | ||
var position = []; | ||
for (var j = 0; j < _string.length; j++) { | ||
if (_string[j] == _char) { | ||
position.push(j); | ||
} | ||
} | ||
return position; | ||
} | ||
var position = []; | ||
for (var j = 0; j < _string.length; j++) | ||
if (_string[j] == _char) | ||
position.push(j); | ||
return position; | ||
}; | ||
@@ -395,12 +438,11 @@ exports.getCharPosition = getCharPosition; | ||
var reverse = function(_string) { | ||
if (isNullOrUndefined(_string)) { | ||
if (isNullOrUndefined(_string)) | ||
return ""; | ||
} else { | ||
var _newString = ""; | ||
for (var i = _string.length; i > 0; i--) { | ||
_newString += _string[i - 1]; | ||
} | ||
return _newString; | ||
} | ||
var _newString = ""; | ||
for (var i = _string.length; i > 0; i--) | ||
_newString += _string[i - 1]; | ||
return _newString; | ||
}; | ||
@@ -420,19 +462,19 @@ exports.reverse = reverse; | ||
var title = function(_string) { | ||
if (isNullOrUndefined(_string)) { | ||
if (isNullOrUndefined(_string)) | ||
return ""; | ||
} else { | ||
var _newString = "", | ||
_stringLower = _string.toLowerCase(); | ||
for (var i = 0; i < _string.length; i++) { | ||
if (i == 0) { | ||
_newString += _stringLower[i].toUpperCase(); | ||
} else if (_stringLower[i - 1] == " ") { | ||
_newString += _stringLower[i].toUpperCase(); | ||
} else { | ||
_newString += _stringLower[i]; | ||
} | ||
var _newString = "", | ||
_stringLower = _string.toLowerCase(); | ||
for (var i = 0; i < _string.length; i++) { | ||
if (i == 0) { | ||
_newString += _stringLower[i].toUpperCase(); | ||
} else if (_stringLower[i - 1] == " ") { | ||
_newString += _stringLower[i].toUpperCase(); | ||
} else { | ||
_newString += _stringLower[i]; | ||
} | ||
return _newString; | ||
} | ||
return _newString; | ||
}; | ||
@@ -454,58 +496,54 @@ exports.title = title; | ||
var lSplit = function(_string, _subS, maxsplit) { | ||
if (isNullOrUndefined(_string)) { | ||
if (isNullOrUndefined(_string)) | ||
return []; | ||
} else { | ||
if (isAlpha(maxsplit) || | ||
isNullOrUndefined(maxsplit)) { | ||
maxsplit = 0; | ||
} | ||
if (isAlpha(maxsplit) || | ||
isNullOrUndefined(maxsplit)) | ||
maxsplit = 0; | ||
if (isNullOrUndefined(_subS)) { | ||
_subS = " "; | ||
} | ||
if (isNullOrUndefined(_subS)) | ||
_subS = " "; | ||
var _string_array = []; | ||
if (isSubString(_string, _subS)) { | ||
var _string_array = []; | ||
var _nString = "", | ||
_slice, _startSlice = 0, | ||
_endSlice = _subS.length, | ||
count = 0; | ||
if (isSubString(_string, _subS)) { | ||
for (var i = 0; i < _string.length; i++) { | ||
var _nString = "", | ||
_slice, _startSlice = 0, | ||
_endSlice = _subS.length, | ||
count = 0; | ||
_slice = _string.slice(_startSlice, _endSlice); | ||
for (var i = 0; i < _string.length; i++) { | ||
if (_subS != _slice) { | ||
_nString += _slice.slice(0, 1); | ||
} else { | ||
if (_nString) { | ||
_string_array.push(_nString); | ||
} | ||
_slice = _string.slice(_startSlice, _endSlice); | ||
_startSlice = _startSlice + (_subS.length - 1); | ||
_endSlice = _endSlice + (_subS.length - 1); | ||
if (_subS != _slice) { | ||
_nString += _slice.slice(0, 1); | ||
} else { | ||
if (_nString) | ||
_string_array.push(_nString); | ||
_nString = ""; | ||
_startSlice = _startSlice + (_subS.length - 1); | ||
_endSlice = _endSlice + (_subS.length - 1); | ||
count++; | ||
if (count == maxsplit) { | ||
_subS = ""; | ||
} | ||
} | ||
_startSlice++; | ||
_endSlice++; | ||
_nString = ""; | ||
count++; | ||
if (count == maxsplit) | ||
_subS = ""; | ||
} | ||
if (_nString) { | ||
_string_array.push(_nString); | ||
} | ||
} else { | ||
_string_array.push(_string); | ||
_startSlice++; | ||
_endSlice++; | ||
} | ||
return _string_array; | ||
if (_nString) { | ||
_string_array.push(_nString); | ||
} | ||
} else { | ||
_string_array.push(_string); | ||
} | ||
return _string_array; | ||
}; | ||
@@ -527,68 +565,61 @@ exports.lSplit = lSplit; | ||
var rSplit = function(_string, _subS, maxsplit) { | ||
if (isNullOrUndefined(_string)) { | ||
if (isNullOrUndefined(_string)) | ||
return []; | ||
} else { | ||
if (isAlpha(maxsplit) || | ||
isNullOrUndefined(maxsplit)) { | ||
maxsplit = 0; | ||
} | ||
if (isNullOrUndefined(_subS)) { | ||
_subS = " "; | ||
} | ||
if (isAlpha(maxsplit) || | ||
isNullOrUndefined(maxsplit)) | ||
maxsplit = 0; | ||
var _string_array_copy = [], | ||
_string_array = []; | ||
if (isNullOrUndefined(_subS)) | ||
_subS = " "; | ||
if (isSubString(_string, _subS)) { | ||
var _string_array_copy = [], | ||
_string_array = []; | ||
var _nString = "", | ||
_slice = "", | ||
_startSlice = 0, | ||
_endSlice = _subS.length, | ||
count = 0; | ||
if (isSubString(_string, _subS)) { | ||
for (var i = _string.length - 1; i >= 0; i--) { | ||
var _nString = "", | ||
_slice = "", | ||
_startSlice = 0, | ||
_endSlice = _subS.length, | ||
count = 0; | ||
_slice = rSlice(_string, _startSlice, _endSlice); | ||
for (var i = _string.length - 1; i >= 0; i--) { | ||
if (_startSlice > _string.length) { | ||
break; | ||
} | ||
_slice = rSlice(_string, _startSlice, _endSlice); | ||
if (_subS != _slice) { | ||
_nString = rSlice(_slice, 0, 1) + _nString; | ||
} else { | ||
if (_nString) { | ||
_string_array_copy.push(_nString); | ||
} | ||
if (_startSlice > _string.length) | ||
break; | ||
_startSlice = _startSlice + (_subS.length - 1); | ||
_endSlice = _endSlice + (_subS.length - 1); | ||
if (_subS != _slice) { | ||
_nString = rSlice(_slice, 0, 1) + _nString; | ||
}else { | ||
if (_nString) | ||
_string_array_copy.push(_nString); | ||
_nString = ""; | ||
_startSlice = _startSlice + (_subS.length - 1); | ||
_endSlice = _endSlice + (_subS.length - 1); | ||
count++; | ||
if (count == maxsplit) { | ||
_subS = ""; | ||
} | ||
} | ||
_startSlice++; | ||
_endSlice++; | ||
_nString = ""; | ||
count++; | ||
if (count == maxsplit) | ||
_subS = ""; | ||
} | ||
_startSlice++; | ||
_endSlice++; | ||
} | ||
if (_nString) { | ||
if (_nString) | ||
_string_array_copy.push(_nString); | ||
} | ||
} else { | ||
_string_array_copy.push(_string); | ||
} | ||
} else { | ||
_string_array_copy.push(_string); | ||
} | ||
for (var i = _string_array_copy.length - 1; i >= 0; i--) { | ||
_string_array.push(_string_array_copy[i]); | ||
} | ||
for (var i = _string_array_copy.length - 1; i >= 0; i--) | ||
_string_array.push(_string_array_copy[i]); | ||
return _string_array; | ||
} | ||
return _string_array; | ||
}; | ||
@@ -610,7 +641,6 @@ exports.rSplit = rSplit; | ||
if (isNullOrUndefined(_prefix) || | ||
isNullOrUndefined(_string)) { | ||
isNullOrUndefined(_string)) | ||
return false; | ||
} else { | ||
return _string.slice(0, _prefix.length) === _prefix; | ||
} | ||
return _string.slice(0, _prefix.length) === _prefix; | ||
}; | ||
@@ -632,7 +662,6 @@ exports.startsWith = startsWith; | ||
if (isNullOrUndefined(_string) || | ||
isNullOrUndefined(_prefix)) { | ||
isNullOrUndefined(_prefix)) | ||
return false; | ||
} else { | ||
return rSlice(_string, 0, _prefix.length) === _prefix; | ||
} | ||
return rSlice(_string, 0, _prefix.length) === _prefix; | ||
}; | ||
@@ -652,18 +681,18 @@ exports.endsWith = endsWith; | ||
var swapCase = function(_string) { | ||
if (isNullOrUndefined(_string)) { | ||
if (isNullOrUndefined(_string)) | ||
return ""; | ||
} else { | ||
var _nString = ""; | ||
for (var i = 0; i < _string.length; i++) { | ||
if (isUpper(_string[i])) { | ||
_nString += _string[i].toLowerCase(); | ||
} else if (isLower(_string[i])) { | ||
_nString += _string[i].toUpperCase(); | ||
} else if (isSpace(_string[i])) { | ||
_nString += _string[i]; | ||
} | ||
var _nString = ""; | ||
for (var i = 0; i < _string.length; i++) { | ||
if (isUpper(_string[i])) { | ||
_nString += _string[i].toLowerCase(); | ||
} else if (isLower(_string[i])) { | ||
_nString += _string[i].toUpperCase(); | ||
} else if (isSpace(_string[i])) { | ||
_nString += _string[i]; | ||
} | ||
return _nString; | ||
} | ||
return _nString; | ||
}; | ||
@@ -683,7 +712,6 @@ exports.swapCase = swapCase; | ||
var trim = function(_string) { | ||
if (isNullOrUndefined(_string)) { | ||
if (isNullOrUndefined(_string)) | ||
return ""; | ||
} else { | ||
return lReplace(_string, " "); | ||
} | ||
return lReplace(_string, " "); | ||
}; | ||
@@ -704,8 +732,8 @@ exports.trim = trim; | ||
var trimPrefix = function(_string, _prefix) { | ||
if (isNullOrUndefined(_string)) { | ||
if (isNullOrUndefined(_string)) | ||
return ""; | ||
} else { | ||
if (isNullOrUndefined(_prefix)) _prefix = ""; | ||
return lReplace(_string, _prefix); | ||
} | ||
if (isNullOrUndefined(_prefix)) _prefix = ""; | ||
return lReplace(_string, _prefix); | ||
}; | ||
@@ -727,11 +755,9 @@ exports.trimPrefix = trimPrefix; | ||
var rConCat = function(_string, _newValue) { | ||
if (isNullOrUndefined(_string)) { | ||
if (isNullOrUndefined(_string)) | ||
return ""; | ||
} else { | ||
if (isNullOrUndefined(_newValue)) { | ||
return _string; | ||
} else { | ||
return _string + _newValue; | ||
} | ||
} | ||
if (isNullOrUndefined(_newValue)) | ||
return _string; | ||
return _string + _newValue; | ||
}; | ||
@@ -753,11 +779,9 @@ exports.rConCat = rConCat; | ||
var lConCat = function(_string, _newValue) { | ||
if (isNullOrUndefined(_string)) { | ||
if (isNullOrUndefined(_string)) | ||
return ""; | ||
} else { | ||
if (isNullOrUndefined(_newValue)) { | ||
return _string; | ||
} else { | ||
return _newValue + _string; | ||
} | ||
} | ||
if (isNullOrUndefined(_newValue)) | ||
return _string; | ||
return _newValue + _string; | ||
}; | ||
@@ -783,56 +807,50 @@ exports.lConCat = lConCat; | ||
var lReplace = function(_string, _old, _new, maxreplace) { | ||
if (isNullOrUndefined(_string)) { | ||
if (isNullOrUndefined(_string)) | ||
return ""; | ||
} else { | ||
if (isNullOrUndefined(_old)) { | ||
return _string; | ||
} else { | ||
if (isNullOrUndefined(_old)) | ||
return _string; | ||
if (isAlpha(maxreplace) || | ||
isNullOrUndefined(maxreplace)) { | ||
maxreplace = _string.length; | ||
} | ||
if (isAlpha(maxreplace) || | ||
isNullOrUndefined(maxreplace)) | ||
maxreplace = _string.length; | ||
if (isNullOrUndefined(_new)) { | ||
_new = ""; | ||
} | ||
if (isNullOrUndefined(_new)) | ||
_new = ""; | ||
var _nString = ""; | ||
var _nString = ""; | ||
if (isSubString(_string, _old) && _old != _new) { | ||
if (isSubString(_string, _old) && _old != _new) { | ||
var count = 0, | ||
_slice, _startSlice = 0, | ||
_endSlice = _old.length | ||
var count = 0, | ||
_slice, _startSlice = 0, | ||
_endSlice = _old.length | ||
for (var j = 0; j < _string.length; j++) { | ||
for (var j = 0; j < _string.length; j++) { | ||
_slice = _string.slice(_startSlice, _endSlice); | ||
_slice = _string.slice(_startSlice, _endSlice); | ||
if (_old == _slice) { | ||
_nString += _new; | ||
if (_old == _slice) { | ||
_nString += _new; | ||
_startSlice = _startSlice + (_old.length - 1); | ||
_endSlice = _endSlice + (_old.length - 1); | ||
_startSlice = _startSlice + (_old.length - 1); | ||
_endSlice = _endSlice + (_old.length - 1); | ||
count++; | ||
if (count == maxreplace) { | ||
_old = ""; | ||
} | ||
} else { | ||
// this sentence will remove duplicated characters | ||
_nString += _slice.slice(0, 1); | ||
} | ||
_startSlice++; | ||
_endSlice++; | ||
} | ||
count++; | ||
if (count == maxreplace) | ||
_old = ""; | ||
} else { | ||
_nString = _string; | ||
// this sentence will remove duplicated characters | ||
_nString += _slice.slice(0, 1); | ||
} | ||
return _nString; | ||
_startSlice++; | ||
_endSlice++; | ||
} | ||
} else { | ||
_nString = _string; | ||
} | ||
return _nString; | ||
}; | ||
@@ -856,61 +874,53 @@ exports.lReplace = lReplace; | ||
var rReplace = function(_string, _old, _new, maxreplace) { | ||
if (isNullOrUndefined(_string)) { | ||
if (isNullOrUndefined(_string)) | ||
return ""; | ||
} else { | ||
if (isNullOrUndefined(_old)) { | ||
return _string; | ||
} else { | ||
if (isNullOrUndefined(_old)) | ||
return _string; | ||
if (isAlpha(maxreplace) || | ||
isNullOrUndefined(maxreplace)) { | ||
maxreplace = _string.length; | ||
} | ||
if (isAlpha(maxreplace) || | ||
isNullOrUndefined(maxreplace)) | ||
maxreplace = _string.length; | ||
if (isNullOrUndefined(_new)) { | ||
_new = ""; | ||
} | ||
if (isNullOrUndefined(_new)) | ||
_new = ""; | ||
var _nString = ""; | ||
var _nString = ""; | ||
if (isSubString(_string, _old) && _old != _new) { | ||
if (isSubString(_string, _old) && _old != _new) { | ||
var count = 0, | ||
_slice, _startSlice = 0, | ||
_endSlice = _old.length; | ||
var count = 0, | ||
_slice, _startSlice = 0, | ||
_endSlice = _old.length; | ||
for (var j = 0; j < _string.length; j++) { | ||
for (var j = 0; j < _string.length; j++) { | ||
_slice = rSlice(_string, _startSlice, _endSlice); | ||
_slice = rSlice(_string, _startSlice, _endSlice); | ||
if (isSubString(_slice, "undefined")) { | ||
break; | ||
} | ||
if (isSubString(_slice, "undefined")) | ||
break; | ||
if (_old == _slice) { | ||
_nString = _new + _nString; | ||
if (_old == _slice) { | ||
_nString = _new + _nString; | ||
_startSlice = _startSlice + (_old.length - 1); | ||
_endSlice = _endSlice + (_old.length - 1); | ||
_startSlice = _startSlice + (_old.length - 1); | ||
_endSlice = _endSlice + (_old.length - 1); | ||
count++; | ||
if (count == maxreplace) { | ||
_old = ""; | ||
} | ||
count++; | ||
if (count == maxreplace) | ||
_old = ""; | ||
} else { | ||
// this sentence will remove duplicated characters | ||
_nString = rSlice(_slice, 0, 1) + _nString; | ||
} | ||
_startSlice++; | ||
_endSlice++; | ||
} | ||
} else { | ||
return _string; | ||
// this sentence will remove duplicated characters | ||
_nString = rSlice(_slice, 0, 1) + _nString; | ||
} | ||
return _nString; | ||
_startSlice++; | ||
_endSlice++; | ||
} | ||
} else { | ||
_nString = _string; | ||
} | ||
return _nString; | ||
}; | ||
@@ -938,15 +948,16 @@ exports.rReplace = rReplace; | ||
isNullOrUndefined(_array) || | ||
isNullOrUndefined(_string)) { | ||
isNullOrUndefined(_string)) | ||
return ''; | ||
} else { | ||
var _nstring = ""; | ||
for (var i = 0; i < _array.length; i++) { | ||
if (isNumber(_array[i]) || isDigit(_array[i])) { | ||
_array[i] = _array[i].toString(); | ||
} | ||
var _nstring = ""; | ||
for (var i = 0; i < _array.length; i++) { | ||
if (isNumber(_array[i]) || isDigit(_array[i])) | ||
_array[i] = _array[i].toString(); | ||
if (!isSpace(_array[i])) | ||
_nstring += _array[i] + _string; | ||
} | ||
return rReplace(_nstring, _string, "", 1); | ||
} | ||
return rReplace(_nstring, _string, "", 1); | ||
}; | ||
@@ -966,13 +977,11 @@ exports.join = join; | ||
var toCharArray = function(_string) { | ||
if (isNullOrUndefined(_string)) { | ||
if (isNullOrUndefined(_string)) | ||
return ""; | ||
} else { | ||
var _array = []; | ||
for (var i = 0; i < _string.length; i++) { | ||
_array.push(_string[i]); | ||
} | ||
var _array = []; | ||
return _array; | ||
} | ||
for (var i = 0; i < _string.length; i++) | ||
_array.push(_string[i]); | ||
return _array; | ||
}; | ||
@@ -994,38 +1003,30 @@ exports.toCharArray = toCharArray; | ||
var insert = function(_string, _value, _position) { | ||
if (isNullOrUndefined(_string)) { | ||
if (isNullOrUndefined(_string)) | ||
return ""; | ||
} else { | ||
if (isNullOrUndefined(_value)) { | ||
return _string; | ||
} else { | ||
if (isNullOrUndefined(_value)) | ||
return _string; | ||
if (isNullOrUndefined(_position)) { | ||
_position = _string.length - 1; | ||
} | ||
if (isNullOrUndefined(_position)) | ||
_position = _string.length - 1; | ||
if (_position == _string.length) { | ||
return _string + _value; | ||
} else { | ||
var _array = toCharArray(_string), | ||
_nString = ""; | ||
if (_position == _string.length) | ||
return _string + _value; | ||
for (var i = 0; i < _string.length; i++) { | ||
if (i == _position) { | ||
_array[i] = _value; | ||
for (var j = 1; j <= _string.slice(i).length; j++) { | ||
_array[i + j] = _string.slice(i)[j - 1]; | ||
} | ||
break; | ||
} | ||
} | ||
var _array = toCharArray(_string), | ||
_nString = ""; | ||
for (var i = 0; i < _array.length; i++) { | ||
_nString += _array[i]; | ||
} | ||
return _nString; | ||
} | ||
for (var i = 0; i < _string.length; i++) { | ||
if (i == _position) { | ||
_array[i] = _value; | ||
for (var j = 1; j <= _string.slice(i).length; j++) | ||
_array[i + j] = _string.slice(i)[j - 1]; | ||
break; | ||
} | ||
} | ||
for (var i = 0; i < _array.length; i++) | ||
_nString += _array[i]; | ||
return _nString; | ||
}; | ||
@@ -1048,12 +1049,9 @@ exports.insert = insert; | ||
var remove = function(_string, _value) { | ||
if (isNullOrUndefined(_string)) { | ||
if (isNullOrUndefined(_string)) | ||
return ""; | ||
} else { | ||
if (isNullOrUndefined(_value)) { | ||
return _string; | ||
} else { | ||
return lReplace(_string, _value, ""); | ||
} | ||
} | ||
if (isNullOrUndefined(_value)) | ||
return _string; | ||
return lReplace(_string, _value, ""); | ||
}; | ||
@@ -1075,16 +1073,13 @@ exports.remove = remove; | ||
var center = function(_string, _times, _val) { | ||
if (isNullOrUndefined(_string)) { | ||
if (isNullOrUndefined(_string)) | ||
return ""; | ||
} else { | ||
if (isNullOrUndefined(_times) || | ||
isAlpha(_times)) { | ||
_times = 0; | ||
} | ||
if (isNullOrUndefined(_val)) { | ||
_val = " "; | ||
} | ||
if (isNullOrUndefined(_times) || | ||
isAlpha(_times)) | ||
_times = 0; | ||
return multiply(_val, _times) + _string + multiply(_val, _times); | ||
} | ||
if (isNullOrUndefined(_val)) | ||
_val = " "; | ||
return multiply(_val, _times) + _string + multiply(_val, _times); | ||
}; | ||
@@ -1106,16 +1101,13 @@ exports.center = center; | ||
var lJust = function(_string, _times, _val) { | ||
if (isNullOrUndefined(_string)) { | ||
if (isNullOrUndefined(_string)) | ||
return ""; | ||
} else { | ||
if (isNullOrUndefined(_times) || | ||
isAlpha(_times)) { | ||
_times = 0; | ||
} | ||
if (isNullOrUndefined(_val)) { | ||
_val = " "; | ||
} | ||
if (isNullOrUndefined(_times) || | ||
isAlpha(_times)) | ||
_times = 0; | ||
return multiply(_val, _times) + _string; | ||
} | ||
if (isNullOrUndefined(_val)) | ||
_val = " "; | ||
return multiply(_val, _times) + _string; | ||
}; | ||
@@ -1137,17 +1129,14 @@ exports.lJust = lJust; | ||
var rJust = function(_string, _times, _val) { | ||
if (isNullOrUndefined(_string)) { | ||
if (isNullOrUndefined(_string)) | ||
return ""; | ||
} else { | ||
if (isNullOrUndefined(_times) || | ||
isAlpha(_times)) { | ||
_times = 0; | ||
} | ||
if (isNullOrUndefined(_val)) { | ||
_val = " "; | ||
} | ||
if (isNullOrUndefined(_times) || | ||
isAlpha(_times)) | ||
_times = 0; | ||
return _string + multiply(_val, _times); | ||
} | ||
if (isNullOrUndefined(_val)) | ||
_val = " "; | ||
return _string + multiply(_val, _times); | ||
}; | ||
exports.rJust = rJust; |
@@ -38,3 +38,4 @@ #!/usr/bin/env node | ||
insert = string.insert, | ||
toCharArray = string.toCharArray; | ||
toCharArray = string.toCharArray, | ||
smartCount = string.smartCount; | ||
@@ -94,2 +95,6 @@ var html = require("./_html/_lhtml"), | ||
String.prototype.smartCount = function(_subString, _startCount, _endCount) { | ||
return smartCount(this, _subString, _startCount, _endCount); | ||
}; | ||
String.prototype.capitalize = function() { | ||
@@ -96,0 +101,0 @@ return capitalize(this); |
{ | ||
"name": "l-string", | ||
"version": "1.0.40", | ||
"version": "1.0.41", | ||
"description": "this is a module that you can use to manipulate strings ... ", | ||
@@ -5,0 +5,0 @@ "main": "./l-string.js", |
@@ -111,2 +111,10 @@ **l-string** :thumbsup: :trollface: [](https://travis-ci.org/leoxnidas/l-string) [](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=BQKLKSBKH4DPE) | ||
Version 1.0.41. | ||
--------------- | ||
- new function added smartCount. | ||
- new function isSubString changed. | ||
- new file added, utils.js. | ||
- old name _parse_tag, new name _parse_char (renamed), private function. | ||
- addstyle2tag improved the function. | ||
Version 1.0.40. | ||
@@ -113,0 +121,0 @@ --------------- |
53296
0.3%14
7.69%208
4%1467
-5.05%