typescript-string-operations
Advanced tools
Comparing version
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
var StringBuilder = (function () { | ||
exports.__esModule = true; | ||
var StringBuilder = /** @class */ (function () { | ||
function StringBuilder(value) { | ||
@@ -15,3 +15,3 @@ if (value === void 0) { value = String.Empty; } | ||
}; | ||
StringBuilder.prototype.AppendFormat = function (value) { | ||
StringBuilder.prototype.AppendFormat = function (format) { | ||
var args = []; | ||
@@ -21,3 +21,3 @@ for (var _i = 1; _i < arguments.length; _i++) { | ||
} | ||
this.Values.push(String.Format.apply(String, [value].concat(args))); | ||
this.Values.push(String.Format.apply(String, [format].concat(args))); | ||
}; | ||
@@ -30,3 +30,3 @@ StringBuilder.prototype.Clear = function () { | ||
exports.StringBuilder = StringBuilder; | ||
var String = (function () { | ||
var String = /** @class */ (function () { | ||
function String() { | ||
@@ -67,5 +67,5 @@ } | ||
var objectArg_1 = firstArg; | ||
var keys = Object.keys(firstArg); | ||
var keys = Object.keys(firstArg); //get all Properties of the Object as Array | ||
keys.forEach(function (element) { tempString_1 += objectArg_1[element] + delimiter; }); | ||
tempString_1 = tempString_1.slice(0, tempString_1.length - delimiter.length); | ||
tempString_1 = tempString_1.slice(0, tempString_1.length - delimiter.length); //remove last delimiter | ||
return tempString_1; | ||
@@ -91,5 +91,8 @@ } | ||
i = i[0]; | ||
match = s[1].replace('}', ''); | ||
match = s[1].replace('}', ''); //U | ||
} | ||
var arg = String.parsePattern(match, args[i]); | ||
var arg = args[i]; | ||
if (arg == null || arg == undefined || match.match(/{d+}/)) | ||
return arg; | ||
arg = String.parsePattern(match, arg); | ||
return typeof arg != 'undefined' && arg != null ? arg : String.Empty; | ||
@@ -104,4 +107,2 @@ }); | ||
String.parsePattern = function (match, arg) { | ||
if (arg == null || arg == undefined) | ||
return arg; | ||
switch (match) { | ||
@@ -116,13 +117,3 @@ case 'L': | ||
if (typeof (arg) === 'string') { | ||
var splitted = void 0; | ||
splitted = arg.split('-'); | ||
if (splitted.length <= 1) | ||
return arg; | ||
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]; | ||
arg = day + '.' + month + '.' + year; | ||
return arg; | ||
return String.getDisplayDateFromString(arg); | ||
} | ||
@@ -135,18 +126,3 @@ else if (arg instanceof Date) { | ||
if (typeof (arg) === 'string') { | ||
var splitted = arg.replace(',', '').split('.'); | ||
if (splitted.length <= 1) | ||
return arg; | ||
var times = splitted[splitted.length - 1].split(' '); | ||
var time = splitted[0]; | ||
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]; | ||
arg = year + "-" + month + "-" + day; | ||
if (time.length > 1) | ||
arg += "T" + time; | ||
else | ||
arg += "T" + "00:00:00"; | ||
return arg; | ||
return String.getSortableDateFromString(arg); | ||
} | ||
@@ -157,15 +133,18 @@ else if (arg instanceof Date) { | ||
break; | ||
case 'n': | ||
if (isNaN(parseInt(arg)) || arg.length <= 3) | ||
case 'n'://Tausender Trennzeichen | ||
var replacedString = arg.replace(/,/g, '.'); | ||
if (isNaN(parseFloat(replacedString)) || replacedString.length <= 3) | ||
break; | ||
arg = arg.toString(); | ||
var mod = arg.length % 3; | ||
var output = (mod > 0 ? (arg.substring(0, mod)) : String.Empty); | ||
for (var i = 0; i < Math.floor(arg.length / 3); i++) { | ||
if ((mod == 0) && (i == 0)) | ||
output += arg.substring(mod + 3 * i, mod + 3 * i + 3); | ||
else | ||
output += '.' + arg.substring(mod + 3 * i, mod + 3 * i + 3); | ||
var numberparts = replacedString.split(/[^0-9]+/g); | ||
var parts = numberparts; | ||
if (numberparts.length > 1) { | ||
parts = [String.join.apply(String, [''].concat((numberparts.splice(0, numberparts.length - 1)))), numberparts[numberparts.length - 1]]; | ||
} | ||
arg = output; | ||
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; | ||
@@ -175,6 +154,36 @@ default: | ||
} | ||
if (typeof (arg) === 'number') | ||
if (typeof (arg) === 'number' || !isNaN(arg)) | ||
return String.formatNumber(arg, match); | ||
return arg; | ||
}; | ||
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 = splitted[0]; | ||
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 (time.length > 1) | ||
result += "T" + time; | ||
else | ||
result += "T" + "00:00:00"; | ||
return result; | ||
}; | ||
String.formatNumber = function (input, formatTemplate) { | ||
@@ -186,3 +195,3 @@ var count = formatTemplate.length; | ||
var remainingCount = count - stringValue.length; | ||
remainingCount += 1; | ||
remainingCount += 1; //Das Array muss einen Eintrag mehr als die benötigten Nullen besitzen | ||
return new Array(remainingCount).join('0') + stringValue; | ||
@@ -189,0 +198,0 @@ }; |
{ | ||
"name": "typescript-string-operations", | ||
"version": "1.1.3", | ||
"version": "1.1.4", | ||
"description": "Simple lightweight string operation library for Typescript", | ||
@@ -21,3 +21,3 @@ "main": "source.ts", | ||
], | ||
"author": "Sven Ulrich <sven_ulrich@gmx.net> (holdmybeer.de)", | ||
"author": "Sven Ulrich <mail@sven-ulrich.net> (sven-ulrich.net)", | ||
"license": "MIT", | ||
@@ -24,0 +24,0 @@ "bugs": { |
[](https://www.npmjs.com/package/typescript-string-operations) | ||
# Simple lightweight string operation library for Typescript. | ||
#### No jQuery required. Unit tested. | ||
@@ -4,0 +5,0 @@ |
29064
1.83%558
1.64%109
0.93%