fix: fix ApplicationProtocolVersion type definition
[e-mobility-charging-stations-simulator.git] / ui / web / src / composables / Utils.ts
index 8db8851ad646819e43a6fa4dbb53bf245d06badd..b1bebc92582b5ae64c82b6839ab244a05c0c6075 100644 (file)
@@ -27,7 +27,7 @@ export const convertToInt = (value: unknown): number => {
   }
   let changedValue: number = value as number
   if (typeof value === 'string') {
-    changedValue = parseInt(value)
+    changedValue = Number.parseInt(value)
   }
   if (isNaN(changedValue)) {
     throw new Error(`Cannot convert to integer: '${String(value)}'`)
@@ -35,15 +35,15 @@ export const convertToInt = (value: unknown): number => {
   return changedValue
 }
 
-export const setToLocalStorage = <T>(key: string, value: T): void => {
-  localStorage.setItem(key, JSON.stringify(value))
-}
-
 export const getFromLocalStorage = <T>(key: string, defaultValue: T): T => {
   const item = localStorage.getItem(key)
   return item != null ? (JSON.parse(item) as T) : defaultValue
 }
 
+export const setToLocalStorage = <T>(key: string, value: T): void => {
+  localStorage.setItem(key, JSON.stringify(value))
+}
+
 export const deleteFromLocalStorage = (key: string): void => {
   localStorage.removeItem(key)
 }
@@ -56,6 +56,12 @@ export const randomUUID = (): `${string}-${string}-${string}-${string}-${string}
   return crypto.randomUUID()
 }
 
+export const validateUUID = (
+  uuid: `${string}-${string}-${string}-${string}-${string}`
+): uuid is `${string}-${string}-${string}-${string}-${string}` => {
+  return /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/.test(uuid)
+}
+
 export const useUIClient = (): UIClient => {
   return UIClient.getInstance()
 }