typescript-string-operations
Advanced tools
Comparing version
@@ -1,284 +0,1 @@ | ||
"use strict"; | ||
var __spreadArrays = (this && this.__spreadArrays) || function () { | ||
for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; | ||
for (var r = Array(s), k = 0, i = 0; i < il; i++) | ||
for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) | ||
r[k] = a[j]; | ||
return r; | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.StringBuilder = exports.String = void 0; | ||
var String = (function () { | ||
function String() { | ||
} | ||
String.IsNullOrWhiteSpace = function (value) { | ||
try { | ||
if (value == null || value == 'undefined') { | ||
return true; | ||
} | ||
return value.toString().replace(/\s/g, '').length < 1; | ||
} | ||
catch (e) { | ||
console.log(e); | ||
return false; | ||
} | ||
}; | ||
String.Join = function (delimiter) { | ||
var args = []; | ||
for (var _i = 1; _i < arguments.length; _i++) { | ||
args[_i - 1] = arguments[_i]; | ||
} | ||
try { | ||
var firstArg = args[0]; | ||
if (Array.isArray(firstArg) || firstArg instanceof Array) { | ||
var tempString = String.Empty; | ||
var count = 0; | ||
for (var i = 0; i < firstArg.length; i++) { | ||
var current = firstArg[i]; | ||
if (i < firstArg.length - 1) { | ||
tempString += current + delimiter; | ||
} | ||
else { | ||
tempString += current; | ||
} | ||
} | ||
return tempString; | ||
} | ||
else if (typeof firstArg === 'object') { | ||
var tempString_1 = String.Empty; | ||
var objectArg_1 = firstArg; | ||
var keys = Object.keys(firstArg); | ||
keys.forEach(function (element) { tempString_1 += objectArg_1[element] + delimiter; }); | ||
tempString_1 = tempString_1.slice(0, tempString_1.length - delimiter.length); | ||
return tempString_1; | ||
} | ||
var stringArray = args; | ||
return String.join.apply(String, __spreadArrays([delimiter], stringArray)); | ||
} | ||
catch (e) { | ||
console.log(e); | ||
return String.Empty; | ||
} | ||
}; | ||
String.Format = function (format) { | ||
var args = []; | ||
for (var _i = 1; _i < arguments.length; _i++) { | ||
args[_i - 1] = arguments[_i]; | ||
} | ||
try { | ||
if (format.match(String.regexNumber)) { | ||
return String.format(String.regexNumber, format, args); | ||
} | ||
if (format.match(String.regexObject)) { | ||
return String.format(String.regexObject, format, args, true); | ||
} | ||
return format; | ||
} | ||
catch (e) { | ||
console.log(e); | ||
return String.Empty; | ||
} | ||
}; | ||
String.format = function (regex, format, args, parseByObject) { | ||
if (parseByObject === void 0) { parseByObject = false; } | ||
return format.replace(regex, function (match, x) { | ||
var s = match.split(':'); | ||
if (s.length > 1) { | ||
x = s[0].replace('{', ''); | ||
match = s[1].replace('}', ''); | ||
} | ||
var arg; | ||
if (parseByObject) { | ||
arg = args[0][x]; | ||
} | ||
else { | ||
arg = args[x]; | ||
} | ||
if (arg == null || arg == undefined || match.match(/{\d+}/)) { | ||
return arg; | ||
} | ||
arg = String.parsePattern(match, arg); | ||
return typeof arg != 'undefined' && arg != null ? arg : String.Empty; | ||
}); | ||
}; | ||
String.parsePattern = function (match, arg) { | ||
switch (match) { | ||
case 'L': { | ||
arg = arg.toLocaleLowerCase(); | ||
return arg; | ||
} | ||
case 'U': { | ||
arg = arg.toLocaleUpperCase(); | ||
return arg; | ||
} | ||
case 'd': { | ||
if (typeof (arg) === 'string') { | ||
return String.getDisplayDateFromString(arg); | ||
} | ||
else if (arg instanceof Date) { | ||
return String.Format('{0:00}.{1:00}.{2:0000}', arg.getDate(), arg.getMonth(), arg.getFullYear()); | ||
} | ||
break; | ||
} | ||
case 's': { | ||
if (typeof (arg) === 'string') { | ||
return String.getSortableDateFromString(arg); | ||
} | ||
else if (arg instanceof Date) { | ||
return String.Format('{0:0000}-{1:00}-{2:00}', arg.getFullYear(), arg.getMonth(), arg.getDate()); | ||
} | ||
break; | ||
} | ||
case 'n': { | ||
if (typeof (arg) !== "string") | ||
arg = arg.toString(); | ||
var replacedString = arg.replace(/,/g, '.'); | ||
if (isNaN(parseFloat(replacedString)) || replacedString.length <= 3) { | ||
break; | ||
} | ||
var numberparts = replacedString.split(/[^0-9]+/g); | ||
var parts = numberparts; | ||
if (numberparts.length > 1) { | ||
parts = [String.join.apply(String, __spreadArrays([''], (numberparts.splice(0, numberparts.length - 1)))), numberparts[numberparts.length - 1]]; | ||
} | ||
var integer = parts[0]; | ||
var mod = integer.length % 3; | ||
var output = (mod > 0 ? (integer.substring(0, mod)) : String.Empty); | ||
var firstGroup = output; | ||
var remainingGroups = integer.substring(mod).match(/.{3}/g); | ||
output = output + '.' + String.Join('.', remainingGroups); | ||
arg = output + (parts.length > 1 ? ',' + parts[1] : ''); | ||
return arg; | ||
} | ||
case 'x': { | ||
return this.decimalToHexString(arg); | ||
} | ||
case 'X': { | ||
return this.decimalToHexString(arg, true); | ||
} | ||
default: { | ||
break; | ||
} | ||
} | ||
if ((typeof (arg) === 'number' || !isNaN(arg)) && !isNaN(+match) && !String.IsNullOrWhiteSpace(arg)) { | ||
return String.formatNumber(arg, match); | ||
} | ||
return arg; | ||
}; | ||
String.decimalToHexString = function (value, upperCase) { | ||
if (upperCase === void 0) { upperCase = false; } | ||
var parsed = parseFloat(value); | ||
var hexNumber = parsed.toString(16); | ||
return upperCase ? hexNumber.toLocaleUpperCase() : hexNumber; | ||
}; | ||
String.getDisplayDateFromString = function (input) { | ||
var splitted; | ||
splitted = input.split('-'); | ||
if (splitted.length <= 1) { | ||
return input; | ||
} | ||
var day = splitted[splitted.length - 1]; | ||
var month = splitted[splitted.length - 2]; | ||
var year = splitted[splitted.length - 3]; | ||
day = day.split('T')[0]; | ||
day = day.split(' ')[0]; | ||
return day + "." + month + "." + year; | ||
}; | ||
String.getSortableDateFromString = function (input) { | ||
var splitted = input.replace(',', '').split('.'); | ||
if (splitted.length <= 1) { | ||
return input; | ||
} | ||
var times = splitted[splitted.length - 1].split(' '); | ||
var time = String.Empty; | ||
if (times.length > 1) { | ||
time = times[times.length - 1]; | ||
} | ||
var year = splitted[splitted.length - 1].split(' ')[0]; | ||
var month = splitted[splitted.length - 2]; | ||
var day = splitted[splitted.length - 3]; | ||
var result = year + "-" + month + "-" + day; | ||
if (!String.IsNullOrWhiteSpace(time) && time.length > 1) { | ||
result += "T" + time; | ||
} | ||
else { | ||
result += "T00:00:00"; | ||
} | ||
return result; | ||
}; | ||
String.formatNumber = function (input, formatTemplate) { | ||
var count = formatTemplate.length; | ||
var stringValue = input.toString(); | ||
if (count <= stringValue.length) { | ||
return stringValue; | ||
} | ||
var remainingCount = count - stringValue.length; | ||
remainingCount += 1; | ||
return new Array(remainingCount).join('0') + stringValue; | ||
}; | ||
String.join = function (delimiter) { | ||
var args = []; | ||
for (var _i = 1; _i < arguments.length; _i++) { | ||
args[_i - 1] = arguments[_i]; | ||
} | ||
var temp = String.Empty; | ||
for (var i = 0; i < args.length; i++) { | ||
if ((typeof args[i] == 'string' && String.IsNullOrWhiteSpace(args[i])) | ||
|| (typeof args[i] != "number" && typeof args[i] != "string")) { | ||
continue; | ||
} | ||
var arg = "" + args[i]; | ||
temp += arg; | ||
for (var i2 = i + 1; i2 < args.length; i2++) { | ||
if (String.IsNullOrWhiteSpace(args[i2])) { | ||
continue; | ||
} | ||
temp += delimiter; | ||
i = i2 - 1; | ||
break; | ||
} | ||
} | ||
return temp; | ||
}; | ||
String.regexNumber = /{(\d+(:\w*)?)}/g; | ||
String.regexObject = /{(\w+(:\w*)?)}/g; | ||
String.Empty = ''; | ||
return String; | ||
}()); | ||
exports.String = String; | ||
var StringBuilder = (function () { | ||
function StringBuilder(value) { | ||
this.Values = []; | ||
if (!String.IsNullOrWhiteSpace(value)) { | ||
this.Values = new Array(value); | ||
} | ||
} | ||
StringBuilder.prototype.ToString = function () { | ||
return this.Values.join(''); | ||
}; | ||
StringBuilder.prototype.Append = function (value) { | ||
this.Values.push(value); | ||
}; | ||
StringBuilder.prototype.AppendLine = function (value) { | ||
this.Values.push('\r\n' + value); | ||
}; | ||
StringBuilder.prototype.AppendFormat = function (format) { | ||
var args = []; | ||
for (var _i = 1; _i < arguments.length; _i++) { | ||
args[_i - 1] = arguments[_i]; | ||
} | ||
this.Values.push(String.Format.apply(String, __spreadArrays([format], args))); | ||
}; | ||
StringBuilder.prototype.AppendLineFormat = function (format) { | ||
var args = []; | ||
for (var _i = 1; _i < arguments.length; _i++) { | ||
args[_i - 1] = arguments[_i]; | ||
} | ||
this.Values.push("\r\n" + String.Format.apply(String, __spreadArrays([format], args))); | ||
}; | ||
StringBuilder.prototype.Clear = function () { | ||
this.Values = []; | ||
}; | ||
return StringBuilder; | ||
}()); | ||
exports.StringBuilder = StringBuilder; | ||
"use strict";var __spreadArray=this&&this.__spreadArray||function(to,from,pack){if(pack||2===arguments.length)for(var ar,i=0,l=from.length;i<l;i++)!ar&&i in from||((ar=ar||Array.prototype.slice.call(from,0,i))[i]=from[i]);return to.concat(ar||Array.prototype.slice.call(from))},String=(Object.defineProperty(exports,"__esModule",{value:!0}),exports.StringBuilder=exports.String=void 0,function(){function String(){}return String.IsNullOrWhiteSpace=function(value){try{return null==value||"undefined"==value?!0:value.toString().replace(/\s/g,"").length<1}catch(e){return console.log(e),!1}},String.Join=function(delimiter){for(var args=[],_i=1;_i<arguments.length;_i++)args[_i-1]=arguments[_i];try{var tempString_1,objectArg_1,firstArg=args[0];if(Array.isArray(firstArg)||firstArg instanceof Array){for(var tempString=String.Empty,i=0;i<firstArg.length;i++){var current=firstArg[i];i<firstArg.length-1?tempString+=current+delimiter:tempString+=current}return tempString}return"object"==typeof firstArg?(tempString_1=String.Empty,objectArg_1=firstArg,Object.keys(firstArg).forEach(function(element){tempString_1+=objectArg_1[element]+delimiter}),tempString_1=tempString_1.slice(0,tempString_1.length-delimiter.length)):String.join.apply(String,__spreadArray([delimiter],args,!1))}catch(e){return console.log(e),String.Empty}},String.Format=function(format){for(var args=[],_i=1;_i<arguments.length;_i++)args[_i-1]=arguments[_i];try{return format.match(String.regexNumber)?String.format(String.regexNumber,format,args):format.match(String.regexObject)?String.format(String.regexObject,format,args,!0):format}catch(e){return console.log(e),String.Empty}},String.format=function(regex,format,args,parseByObject){return void 0===parseByObject&&(parseByObject=!1),format.replace(regex,function(match,x){var s=match.split(":");return 1<s.length&&(x=s[0].replace("{",""),match=s[1].replace("}","")),null==(s=(parseByObject?args[0]:args)[x])||match.match(/{\d+}/)||void 0!==(s=String.parsePattern(match,s))&&null!=s?s:String.Empty})},String.parsePattern=function(match,arg){switch(match){case"L":return arg=arg.toLocaleLowerCase();case"U":return arg=arg.toLocaleUpperCase();case"d":if("string"==typeof arg)return String.getDisplayDateFromString(arg);if(arg instanceof Date)return String.Format("{0:00}.{1:00}.{2:0000}",arg.getDate(),arg.getMonth(),arg.getFullYear());break;case"s":if("string"==typeof arg)return String.getSortableDateFromString(arg);if(arg instanceof Date)return String.Format("{0:0000}-{1:00}-{2:00}",arg.getFullYear(),arg.getMonth(),arg.getDate());break;case"n":var replacedString=(arg="string"!=typeof arg?arg.toString():arg).replace(/,/g,".");if(isNaN(parseFloat(replacedString))||replacedString.length<=3)break;var replacedString=replacedString.split(/[^0-9]+/g),parts=replacedString,replacedString=(parts=1<replacedString.length?[String.join.apply(String,__spreadArray([""],replacedString.splice(0,replacedString.length-1),!1)),replacedString[replacedString.length-1]]:parts)[0],mod=replacedString.length%3,output=0<mod?replacedString.substring(0,mod):String.Empty,replacedString=replacedString.substring(mod).match(/.{3}/g);return arg=output+"."+String.Join(".",replacedString)+(1<parts.length?","+parts[1]:"");case"x":return this.decimalToHexString(arg);case"X":return this.decimalToHexString(arg,!0)}return"number"!=typeof arg&&isNaN(arg)||isNaN(+match)||String.IsNullOrWhiteSpace(arg)?arg:String.formatNumber(arg,match)},String.decimalToHexString=function(value,upperCase){void 0===upperCase&&(upperCase=!1);value=parseFloat(value).toString(16);return upperCase?value.toLocaleUpperCase():value},String.getDisplayDateFromString=function(input){var month,splitted=input.split("-");return splitted.length<=1?input:(input=splitted[splitted.length-1],month=splitted[splitted.length-2],splitted=splitted[splitted.length-3],input=(input=input.split("T")[0]).split(" ")[0],"".concat(input,".").concat(month,".").concat(splitted))},String.getSortableDateFromString=function(input){var time,month,splitted=input.replace(",","").split(".");return splitted.length<=1||(input=splitted[splitted.length-1].split(" "),time=String.Empty,1<input.length&&(time=input[input.length-1]),input=splitted[splitted.length-1].split(" ")[0],month=splitted[splitted.length-2],splitted=splitted[splitted.length-3],input="".concat(input,"-").concat(month,"-").concat(splitted),!String.IsNullOrWhiteSpace(time)&&1<time.length?input+="T".concat(time):input+="T00:00:00"),input},String.formatNumber=function(input,formatTemplate){var formatTemplate=formatTemplate.length,input=input.toString();return formatTemplate<=input.length?input:(formatTemplate=formatTemplate-input.length,++formatTemplate,new Array(formatTemplate).join("0")+input)},String.join=function(delimiter){for(var args=[],_i=1;_i<arguments.length;_i++)args[_i-1]=arguments[_i];for(var temp=String.Empty,i=0;i<args.length;i++)if(!("string"==typeof args[i]&&String.IsNullOrWhiteSpace(args[i])||"number"!=typeof args[i]&&"string"!=typeof args[i])){temp+=""+args[i];for(var i2=i+1;i2<args.length;i2++)if(!String.IsNullOrWhiteSpace(args[i2])){temp+=delimiter,i=i2-1;break}}return temp},String.regexNumber=/{(\d+(:\w*)?)}/g,String.regexObject=/{(\w+(:\w*)?)}/g,String.Empty="",String}()),StringBuilder=(exports.String=String,function(){function StringBuilder(value){this.Values=[],String.IsNullOrWhiteSpace(value)||(this.Values=new Array(value))}return StringBuilder.prototype.ToString=function(){return this.Values.join("")},StringBuilder.prototype.Append=function(value){this.Values.push(value)},StringBuilder.prototype.AppendLine=function(value){this.Values.push("\r\n"+value)},StringBuilder.prototype.AppendFormat=function(format){for(var args=[],_i=1;_i<arguments.length;_i++)args[_i-1]=arguments[_i];this.Values.push(String.Format.apply(String,__spreadArray([format],args,!1)))},StringBuilder.prototype.AppendLineFormat=function(format){for(var args=[],_i=1;_i<arguments.length;_i++)args[_i-1]=arguments[_i];this.Values.push("\r\n"+String.Format.apply(String,__spreadArray([format],args,!1)))},StringBuilder.prototype.Clear=function(){this.Values=[]},StringBuilder}());exports.StringBuilder=StringBuilder; |
@@ -1,3 +0,3 @@ | ||
import { String } from "./dist/string"; | ||
import { StringBuilder } from "./dist/stringbuilder"; | ||
import { String } from "./string"; | ||
import { StringBuilder } from "./stringbuilder"; | ||
export { String, StringBuilder }; |
{ | ||
"name": "typescript-string-operations", | ||
"version": "1.4.1", | ||
"version": "1.5.0-beta", | ||
"description": "Simple lightweight string operation library for Typescript, works with Angular", | ||
@@ -12,8 +12,6 @@ "main": "dist/index.min.js", | ||
"test": "mocha -r ts-node/register tests/**/tests.ts", | ||
"build": "gulp default && gulp compress" | ||
"build": "tsc; uglifyjs ./dist/index.js --compress -o ./dist/index.min.js; rm ./dist/index.js", | ||
"lint": "eslint ." | ||
}, | ||
"repository": { | ||
"type": "git", | ||
"url": "https://github.com/sevensc/typescript-string-operations.git" | ||
}, | ||
"repository": "https://github.com/sevensc/typescript-string-operations.git", | ||
"keywords": [ | ||
@@ -33,15 +31,18 @@ "typescript", | ||
"homepage": "https://github.com/sevensc/typescript-string-operations#readme", | ||
"dependencies": {}, | ||
"devDependencies": { | ||
"@types/chai": "^4.2.7", | ||
"@types/mocha": "^2.2.48", | ||
"@types/mocha": "^9.1.1", | ||
"@typescript-eslint/eslint-plugin": "^5.34.0", | ||
"@typescript-eslint/parser": "^5.34.0", | ||
"chai": "^4.2.0", | ||
"eslint": "^8.22.0", | ||
"gulp": "^4.0.2", | ||
"gulp-rename": "^1.4.0", | ||
"gulp-typescript": "^3.2.4", | ||
"gulp-rename": "^2.0.0", | ||
"gulp-typescript": "^6.0.0-alpha.1", | ||
"gulp-uglify": "^3.0.2", | ||
"mocha": "^5.2.0", | ||
"pump": "^2.0.1", | ||
"ts-node": "^3.2.0", | ||
"typescript": "^2.9.2" | ||
"mocha": "^10.0.0", | ||
"pump": "^3.0.0", | ||
"ts-node": "^10.9.1", | ||
"typescript": "^4.7.4", | ||
"uglify-js": "^3.17.0" | ||
}, | ||
@@ -48,0 +49,0 @@ "directories": { |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
No repository
Supply chain riskPackage does not have a linked source code repository. Without this field, a package will have no reference to the location of the source code use to generate the package.
Found 1 instance in 1 package
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
10
11.11%14761
-49.23%15
36.36%36
-93.86%1
Infinity%1
Infinity%1
Infinity%