From 8aad271ffe1e3c28fa4de0942088bc468a7dcb87 Mon Sep 17 00:00:00 2001 From: Carlos Valente Date: Sun, 18 Jan 2026 10:29:22 +0100 Subject: [PATCH] refactor: create utility for enums --- packages/utils/index.ts | 2 +- packages/utils/src/common/objectUtils.ts | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/utils/index.ts b/packages/utils/index.ts index c2fdac5c8..285d67923 100644 --- a/packages/utils/index.ts +++ b/packages/utils/index.ts @@ -62,7 +62,7 @@ export { deepmerge } from './src/externals/deepmerge.js'; // array utils export { deleteAtIndex, insertAtIndex, mergeAtIndex, reorderArray } from './src/common/arrayUtils.js'; // object utils -export { getPropertyFromPath, isObjectEmpty } from './src/common/objectUtils.js'; +export { getPropertyFromPath, isObjectEmpty, withoutUndefinedValues, isValueOfEnum } from './src/common/objectUtils.js'; // generic utilities export { getErrorMessage } from './src/generic/generic.js'; diff --git a/packages/utils/src/common/objectUtils.ts b/packages/utils/src/common/objectUtils.ts index e646a8e02..96bcf541b 100644 --- a/packages/utils/src/common/objectUtils.ts +++ b/packages/utils/src/common/objectUtils.ts @@ -33,3 +33,10 @@ export function withoutUndefinedValues>( Object.keys(obj).forEach((key) => obj[key] === undefined && delete obj[key]); return obj as { [K in keyof T]: Exclude }; } + +/** + * Checks whether a value is part of an enum + */ +export function isValueOfEnum(enumObj: T, value: unknown): value is T[keyof T] { + return Object.values(enumObj).includes(value); +}