diff --git a/apps/web/process/calculate/reactions/validation.ts b/apps/web/process/calculate/reactions/validation.ts index 4592fbf..0249015 100644 --- a/apps/web/process/calculate/reactions/validation.ts +++ b/apps/web/process/calculate/reactions/validation.ts @@ -5,8 +5,7 @@ import type { ProcessContext } from '@/process/types'; import ValidationHelper from '@/stores/validation/helper'; import { disposableReaction } from '@/utils/mobx'; import { reaction } from 'mobx'; -import { uid } from 'radash'; -import { filterObject } from 'tools'; +import { shake, uid } from 'radash'; import type { BaseOption } from 'ui/elements/types'; function hasInvalidValueOrOptions(value: unknown, options: Array>) { @@ -108,7 +107,7 @@ export default function reactions({ store }: ProcessContext) { ); } - const optionsTypes = filterObject(types, (type) => type().typeName === 'Options'); + const optionsTypes = shake(types, (type) => type().typeName !== 'Options'); (Object.keys(optionsTypes) as Values.Elements[]).forEach((elementName) => validateOptionsElement(elementName) diff --git a/packages/tools/object.ts b/packages/tools/object.ts index eaacfd8..7d79028 100644 --- a/packages/tools/object.ts +++ b/packages/tools/object.ts @@ -1,18 +1,3 @@ export function flatten(obj: object) { return Object.values(obj).flat(); } - -export function filterObject( - obj: T, - filter: (value: T[keyof T]) => boolean -): Omit { - const keys = Object.keys(obj) as Array; - - return keys.reduce((acc, objKey) => { - if (filter(obj[objKey])) { - acc[objKey] = obj[objKey]; - } - - return acc; - }, {} as T); -}