From 2cfa923093c10ef5b7938de74b1369696868b169 Mon Sep 17 00:00:00 2001 From: Ean Milligan Date: Wed, 6 Aug 2025 14:50:20 -0400 Subject: [PATCH] -6 loops overall by only incrementing loop count when regex/str.replace is being called --- src/artigen/utils/escape.ts | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/artigen/utils/escape.ts b/src/artigen/utils/escape.ts index 245ca14..2489e76 100644 --- a/src/artigen/utils/escape.ts +++ b/src/artigen/utils/escape.ts @@ -11,12 +11,14 @@ import { loggingEnabled } from 'artigen/utils/logFlag.ts'; export const escapeCharacters = (str: string, esc: string): string => { // Loop thru each esc char one at a time for (const e of esc) { - loopCountCheck(`escape.ts - escaping character ${e}`); - loggingEnabled && log(LT.LOG, `Escaping character ${e} | ${str}, ${esc}`); - // Create a new regex to look for that char that needs replaced and escape it - const tempRgx = new RegExp(`[${e}]`, 'g'); - str = str.replace(tempRgx, `\\${e}`); + if (str.includes(e)) { + loopCountCheck(`escape.ts - escaping character ${e}`); + + // Create a new regex to look for that char that needs replaced and escape it + const tempRgx = new RegExp(`[${e}]`, 'g'); + str = str.replace(tempRgx, `\\${e}`); + } } return str; };