From 3a62bfb151db6cd3c4c39023fe1faa7c40a90c8a Mon Sep 17 00:00:00 2001 From: Unarray <48868686+Unarray@users.noreply.github.com> Date: Wed, 23 Aug 2023 15:37:28 +0200 Subject: [PATCH] Refactor `regex` utils --- src/utils/regex/index.ts | 3 ++- src/utils/regex/regex.ts | 7 +++++-- src/utils/regex/regex.util.ts | 3 +++ 3 files changed, 10 insertions(+), 3 deletions(-) create mode 100644 src/utils/regex/regex.util.ts diff --git a/src/utils/regex/index.ts b/src/utils/regex/index.ts index 0588dec..58a2d52 100644 --- a/src/utils/regex/index.ts +++ b/src/utils/regex/index.ts @@ -1 +1,2 @@ -export * from "./regex"; \ No newline at end of file +export * from "./regex"; +export * from "./regex.util"; \ No newline at end of file diff --git a/src/utils/regex/regex.ts b/src/utils/regex/regex.ts index d092309..cfa0fab 100644 --- a/src/utils/regex/regex.ts +++ b/src/utils/regex/regex.ts @@ -1,3 +1,6 @@ -export const escapeString = (string: string): string => { - return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string +import { escapeString } from "./regex.util"; + + +export const beginningString = (string: string): RegExp => { + return new RegExp(`^${escapeString(string)}`); }; \ No newline at end of file diff --git a/src/utils/regex/regex.util.ts b/src/utils/regex/regex.util.ts new file mode 100644 index 0000000..d092309 --- /dev/null +++ b/src/utils/regex/regex.util.ts @@ -0,0 +1,3 @@ +export const escapeString = (string: string): string => { + return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string +}; \ No newline at end of file