diff --git a/x-pack/plugins/integration_assistant/server/graphs/ecs/validate.ts b/x-pack/plugins/integration_assistant/server/graphs/ecs/validate.ts index 6c3fe06699aa3..0a22ef4bc0fda 100644 --- a/x-pack/plugins/integration_assistant/server/graphs/ecs/validate.ts +++ b/x-pack/plugins/integration_assistant/server/graphs/ecs/validate.ts @@ -6,8 +6,8 @@ */ /* eslint-disable @typescript-eslint/no-explicit-any */ import { ECS_FULL } from '../../../common/ecs'; -import type { EcsBaseNodeParams } from './types'; import { ECS_RESERVED } from './constants'; +import type { EcsBaseNodeParams } from './types'; const valueFieldKeys = new Set(['target', 'confidence', 'date_formats', 'type']); type AnyObject = Record; @@ -22,15 +22,10 @@ function extractKeys(data: AnyObject, prefix: string = ''): Set { // Directly add the key for arrays without iterating over elements keys.add(fullKey); } else if (typeof value === 'object' && value !== null) { - const valueKeys = new Set(Object.keys(value)); - - if ([...valueFieldKeys].every((k) => valueKeys.has(k))) { - keys.add(fullKey); - } else { - // Recursively extract keys if the current value is a nested object - for (const nestedKey of extractKeys(value, fullKey)) { - keys.add(nestedKey); - } + keys.add(fullKey); + // Recursively extract keys if the current value is a nested object + for (const nestedKey of extractKeys(value, fullKey)) { + keys.add(nestedKey); } } else { // Add the key if the value is not an object or is null