From 270d9d2006947634e28850eec7b82fbd79864b26 Mon Sep 17 00:00:00 2001 From: Tobias Punke Date: Mon, 23 Jul 2018 06:19:43 +0200 Subject: [PATCH 1/2] Add String.Contains() and StringComparison enum --- dist/index.ts | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/dist/index.ts b/dist/index.ts index a948ad0..a508e5f 100644 --- a/dist/index.ts +++ b/dist/index.ts @@ -17,6 +17,21 @@ export class String { } } + public static Contains(value: string, search: string, comparison: StringComparison = StringComparison.Ordinal): boolean + { + try { + if (value == null || value == 'undefined' || search == null || search == 'undefined') + return false; + const seachIn = comparison == StringComparison.Ordinal ? value.toString() : value.toString().toLocaleLowerCase(); + const seachTerm = comparison == StringComparison.Ordinal ? search.toString() : search.toString().toLocaleLowerCase(); + return seachIn.indexOf(seachTerm) !== -1; + } + catch (e) { + console.log(e); + return false; + } + } + public static Join(delimiter: string, ...args: (string | object | Array)[]): string { try { let firstArg = args[0]; @@ -236,4 +251,9 @@ export class StringBuilder { public Clear() { this.Values = []; } -} \ No newline at end of file +} + +export enum StringComparison { + Ordinal, + OrdinalIgnoreCase, +} From 0742ab9050e3a2e3a7530cfe32c5e2e77ece678a Mon Sep 17 00:00:00 2001 From: Tobias Punke Date: Tue, 24 Jul 2018 08:56:14 +0200 Subject: [PATCH 2/2] Add more string functions --- dist/index.ts | 70 +++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 68 insertions(+), 2 deletions(-) diff --git a/dist/index.ts b/dist/index.ts index a508e5f..fc771b0 100644 --- a/dist/index.ts +++ b/dist/index.ts @@ -17,8 +17,7 @@ export class String { } } - public static Contains(value: string, search: string, comparison: StringComparison = StringComparison.Ordinal): boolean - { + public static Contains(value: string, search: string, comparison: StringComparison = StringComparison.Ordinal): boolean { try { if (value == null || value == 'undefined' || search == null || search == 'undefined') return false; @@ -32,6 +31,73 @@ export class String { } } + public static Equals(value: string, compareTo: string, comparison: StringComparison = StringComparison.Ordinal): boolean { + try { + if (value == null || value == 'undefined') { + return compareTo == null || compareTo == 'undefined'; + } + if (compareTo == null || compareTo == 'undefined') { + return false; + } + const compareValue = comparison == StringComparison.Ordinal ? value.toString() : value.toString().toLocaleLowerCase(); + const compareToValue = comparison == StringComparison.Ordinal ? compareTo.toString() : compareTo.toString().toLocaleLowerCase(); + return compareValue == compareToValue; + } + catch (e) { + console.log(e); + return false; + } + } + + public static Compare(value: string, compareTo: string, comparison: StringComparison = StringComparison.Ordinal): number { + try { + if (value == null || value == 'undefined') { + return (compareTo == null || compareTo == 'undefined') ? 0 : -1; + } + if (compareTo == null || compareTo == 'undefined') { + return 1; + } + const compareValue = comparison == StringComparison.Ordinal ? value.toString() : value.toString().toLocaleLowerCase(); + const compareToValue = comparison == StringComparison.Ordinal ? compareTo.toString() : compareTo.toString().toLocaleLowerCase(); + if (compareValue == compareToValue) { + return 0; + } + return compareValue > compareToValue ? 1 : -1; + } + catch (e) { + console.log(e); + return 0; + } + } + + public static ToLower(value: string): string + { + try { + if (value == null || value == 'undefined') { + return String.Empty; + } + return value.toLocaleLowerCase(); + } + catch (e) { + console.log(e); + return String.Empty; + } + } + + public static ToUpper(value: string): string + { + try { + if (value == null || value == 'undefined') { + return String.Empty; + } + return value.toLocaleUpperCase(); + } + catch (e) { + console.log(e); + return String.Empty; + } + } + public static Join(delimiter: string, ...args: (string | object | Array)[]): string { try { let firstArg = args[0];