All files / src/shared/lib/engineFields engineFieldVisible.ts

42.85% Statements 3/7
0% Branches 0/10
0% Functions 0/2
33.33% Lines 2/6

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20  1x     1x                              
import type { EngineFieldSchema } from "store/features/engine/engineState";
import { evaluateConditions } from "shared/lib/conditionsFilter";
import { EngineFieldValue } from "shared/lib/resources/types";
 
export const isEngineFieldVisible = (
  field: EngineFieldSchema,
  args: Record<string, EngineFieldValue>,
  defaultValues: Record<string, number | string | boolean | undefined>,
  ignoreConditions?: string[],
) => {
  if (!field.conditions) {
    return true;
  }
  return evaluateConditions(
    field.conditions,
    (key) => args[key]?.value ?? defaultValues[key],
    ignoreConditions,
  );
};