From 0a0e580f8f58a7ee599cacece7183774d6495c52 Mon Sep 17 00:00:00 2001 From: Koen Kanters Date: Tue, 25 Feb 2025 22:23:42 +0100 Subject: [PATCH] feedback --- src/index.ts | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/src/index.ts b/src/index.ts index 17503ab269adb..9e058a7b7bb19 100644 --- a/src/index.ts +++ b/src/index.ts @@ -509,10 +509,21 @@ export async function findDefinition(device: Zh.Device, generateForUnknown = fal } // hot path when no external converters present - const candidates = - externalDefinitionsCount > 0 - ? [].concat(getFromExternalDefinitionsLookup(device.modelID) ?? [], (await getFromIndex(device.modelID)) ?? []) - : await getFromIndex(device.modelID); + let candidates: DefinitionWithExtend[]; + if (externalDefinitionsCount > 0) { + candidates = getFromExternalDefinitionsLookup(device.modelID); + + if (candidates) { + const builtins = await getFromIndex(device.modelID); + if (builtins) { + candidates.push(...builtins); + } + } else { + candidates = await getFromIndex(device.modelID); + } + } else { + candidates = await getFromIndex(device.modelID); + } if (!candidates) { if (!generateForUnknown || device.type === "Coordinator") {