From 523071906c9ad8185fdbf9fbb8919a91891790f1 Mon Sep 17 00:00:00 2001 From: schroda <50052685+schroda@users.noreply.github.com> Date: Wed, 25 Jun 2025 00:58:35 +0200 Subject: [PATCH] Handle metadata array value conversion Avoid deep merging for arrays to prevent them from being converted into plain objects. --- src/modules/metadata/Metadata.constants.ts | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/modules/metadata/Metadata.constants.ts b/src/modules/metadata/Metadata.constants.ts index b13156b2..20ec0e13 100644 --- a/src/modules/metadata/Metadata.constants.ts +++ b/src/modules/metadata/Metadata.constants.ts @@ -47,8 +47,15 @@ const convertToNumber = (value: string): number => +value; const convertToBoolean = (value: string): boolean => value === 'true'; const convertToStringNullAndUndefined = (value: string) => convertToTypeNullAndUndefined(value, convertToString); const convertToBooleanNullAndUndefined = (value: string) => convertToTypeNullAndUndefined(value, convertToBoolean); -const convertToObject = (value: string, defaultValue: T): T => - deepmerge(defaultValue, jsonSaveParse(value) ?? defaultValue); +const convertToObject = (value: string, defaultValue: T): T => { + const convertedValue = jsonSaveParse(value) ?? defaultValue; + + if (Array.isArray(defaultValue)) { + return convertedValue; + } + + return deepmerge(defaultValue, convertedValue); +}; export const APP_METADATA: Record< AppMetadataKeys,