From 55535ddd629dfe06367944accfabb9a95ae172a5 Mon Sep 17 00:00:00 2001 From: FoxxMD Date: Wed, 29 Sep 2021 09:22:40 -0400 Subject: [PATCH] fix(regex): Fix regex generation for simple subreddit strings * Trim value before parsing * If not a valid regex string then when generating regex from simple string add qualifiers for beginning/end of string so any matches must be exact --- src/util.ts | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/util.ts b/src/util.ts index e381d50..965cb8c 100644 --- a/src/util.ts +++ b/src/util.ts @@ -904,17 +904,18 @@ export interface StrongSubredditStateOptions { export const toStrongSubredditState = (s: SubredditState, opts?: StrongSubredditStateOptions): StrongSubredditState => { const {defaultFlags, generateDescription = false} = opts || {}; - const {name: nameVal, stateDescription} = s; + const {name: nameValRaw, stateDescription} = s; let nameReg: RegExp | undefined; - if (nameVal !== undefined) { - if (!(nameVal instanceof RegExp)) { + if (nameValRaw !== undefined) { + if (!(nameValRaw instanceof RegExp)) { + const nameVal = nameValRaw.trim(); nameReg = parseStringToRegex(nameVal, defaultFlags); if (nameReg === undefined) { - nameReg = new RegExp(parseSubredditName(nameVal), defaultFlags); + nameReg = parseStringToRegex(`/^${parseSubredditName(nameVal)}$/`, defaultFlags); } } else { - nameReg = nameVal; + nameReg = nameValRaw; } } const strongState = {