From 8d7d2473d749746e38931e27c8044889b0ce3394 Mon Sep 17 00:00:00 2001 From: Peter Somogyvari Date: Mon, 18 Oct 2021 23:48:37 -0700 Subject: [PATCH] feat(common): add Strings#isNonBlank() Signed-off-by: Peter Somogyvari --- packages/cactus-common/src/main/typescript/strings.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/cactus-common/src/main/typescript/strings.ts b/packages/cactus-common/src/main/typescript/strings.ts index 5493392572..51b74a0cc0 100644 --- a/packages/cactus-common/src/main/typescript/strings.ts +++ b/packages/cactus-common/src/main/typescript/strings.ts @@ -9,10 +9,17 @@ export class Strings { return source.replace(new RegExp(searchValue, "gm"), replaceValue); } - public static isString(val: any): boolean { + public static isString(val: any): val is string { return typeof val === "string" || val instanceof String; } + public static isNonBlank(val: unknown): val is string { + if (!Strings.isString(val)) { + return false; + } + return val.trim().length > 0; + } + public static dropNonPrintable(val: string): string { const fnTag = "Strings#dropNonPrintable()"; Checks.truthy(Strings.isString(val), `${fnTag} Strings.isString(val)`);