From 441ddd5bcd236ea6ac8c89498c29d654944eed2a Mon Sep 17 00:00:00 2001
From: Sergei Zharinov <zharinov@users.noreply.github.com>
Date: Sat, 3 Feb 2024 16:53:56 -0300
Subject: [PATCH] refactor: Move `isUUID()` to string utils (#27044)

---
 lib/modules/platform/bitbucket/index.ts |  3 ++-
 lib/util/regex.spec.ts                  | 10 +---------
 lib/util/regex.ts                       |  8 --------
 lib/util/string.spec.ts                 | 10 +++++++++-
 lib/util/string.ts                      |  8 ++++++++
 5 files changed, 20 insertions(+), 19 deletions(-)

diff --git a/lib/modules/platform/bitbucket/index.ts b/lib/modules/platform/bitbucket/index.ts
index 165a09d446..e0a3118588 100644
--- a/lib/modules/platform/bitbucket/index.ts
+++ b/lib/modules/platform/bitbucket/index.ts
@@ -8,8 +8,9 @@ import * as git from '../../../util/git';
 import * as hostRules from '../../../util/host-rules';
 import { BitbucketHttp, setBaseUrl } from '../../../util/http/bitbucket';
 import type { HttpOptions } from '../../../util/http/types';
-import { isUUID, regEx } from '../../../util/regex';
+import { regEx } from '../../../util/regex';
 import { sanitize } from '../../../util/sanitize';
+import { isUUID } from '../../../util/string';
 import type {
   BranchStatusConfig,
   CreatePRConfig,
diff --git a/lib/util/regex.spec.ts b/lib/util/regex.spec.ts
index c2b0265e28..923e5769fd 100644
--- a/lib/util/regex.spec.ts
+++ b/lib/util/regex.spec.ts
@@ -1,6 +1,6 @@
 import RE2 from 're2';
 import { CONFIG_VALIDATION } from '../constants/error-messages';
-import { configRegexPredicate, isUUID, regEx } from './regex';
+import { configRegexPredicate, regEx } from './regex';
 
 describe('util/regex', () => {
   beforeEach(() => {
@@ -38,14 +38,6 @@ describe('util/regex', () => {
     expect(regex.regEx('foo')).toBeInstanceOf(RegExp);
   });
 
-  describe('isUUID', () => {
-    it('proper checks valid and invalid UUID strings', () => {
-      expect(isUUID('{90b6646d-1724-4a64-9fd9-539515fe94e9}')).toBe(true);
-      expect(isUUID('{90B6646D-1724-4A64-9FD9-539515FE94E9}')).toBe(true);
-      expect(isUUID('not-a-uuid')).toBe(false);
-    });
-  });
-
   describe('configRegexPredicate', () => {
     it('allows valid regex pattern', () => {
       expect(configRegexPredicate('/hello/')).not.toBeNull();
diff --git a/lib/util/regex.ts b/lib/util/regex.ts
index 138915e008..719dfce054 100644
--- a/lib/util/regex.ts
+++ b/lib/util/regex.ts
@@ -111,11 +111,3 @@ export function configRegexPredicate(
   }
   return null;
 }
-
-const UUIDRegex = regEx(
-  /^\{[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}\}$/i,
-);
-
-export function isUUID(input: string): boolean {
-  return UUIDRegex.test(input);
-}
diff --git a/lib/util/string.spec.ts b/lib/util/string.spec.ts
index 9df3c52ac2..3afa60e9f2 100644
--- a/lib/util/string.spec.ts
+++ b/lib/util/string.spec.ts
@@ -1,4 +1,4 @@
-import { coerceString, looseEquals, replaceAt } from './string';
+import { coerceString, isUUID, looseEquals, replaceAt } from './string';
 
 describe('util/string', () => {
   describe('replaceAt', () => {
@@ -40,4 +40,12 @@ describe('util/string', () => {
     expect(coerceString(null)).toBe('');
     expect(coerceString(null, 'foo')).toBe('foo');
   });
+
+  describe('isUUID', () => {
+    it('proper checks valid and invalid UUID strings', () => {
+      expect(isUUID('{90b6646d-1724-4a64-9fd9-539515fe94e9}')).toBe(true);
+      expect(isUUID('{90B6646D-1724-4A64-9FD9-539515FE94E9}')).toBe(true);
+      expect(isUUID('not-a-uuid')).toBe(false);
+    });
+  });
 });
diff --git a/lib/util/string.ts b/lib/util/string.ts
index f5fdf6086f..3944412038 100644
--- a/lib/util/string.ts
+++ b/lib/util/string.ts
@@ -117,3 +117,11 @@ export function anyMatchRegexOrMinimatch(
 ): boolean | null {
   return patterns.some((pattern) => matchRegexOrMinimatch(input, pattern));
 }
+
+const UUIDRegex = regEx(
+  /^\{[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}\}$/i,
+);
+
+export function isUUID(input: string): boolean {
+  return UUIDRegex.test(input);
+}
-- 
GitLab