From 7550e96077596bb98cd8a9c8f478aae3f4b9d8cd Mon Sep 17 00:00:00 2001 From: mechanik-daniel Date: Tue, 24 Dec 2024 19:57:05 +0200 Subject: [PATCH] fix: endsWith+startsWith with undefined inputs --- src/helpers/stringFunctions/stringFunctions.ts | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/helpers/stringFunctions/stringFunctions.ts b/src/helpers/stringFunctions/stringFunctions.ts index e29e709..7e0677b 100644 --- a/src/helpers/stringFunctions/stringFunctions.ts +++ b/src/helpers/stringFunctions/stringFunctions.ts @@ -8,9 +8,17 @@ import { randomUUID } from 'crypto'; import { sha256 } from 'js-sha256'; import uuidByString from 'uuid-by-string'; -export const startsWith = (str: string, startStr: string): boolean => str.startsWith(startStr); +export const startsWith = (str: string | undefined, startStr: string): boolean | undefined => { + // undefined inputs always return undefined + if (typeof str === 'undefined') return undefined; + return str.startsWith(startStr); +}; -export const endsWith = (str: string, endStr: string): boolean => str.endsWith(endStr); +export const endsWith = (str: string | undefined, endStr: string): boolean | undefined => { + // undefined inputs always return undefined + if (typeof str === 'undefined') return undefined; + return str.endsWith(endStr); +}; export const initCapOnce = (str: string): string => { // used for polymorhic element names, where all type names need to