Handle metadata array value conversion
Avoid deep merging for arrays to prevent them from being converted into plain objects.
This commit is contained in:
@@ -47,8 +47,15 @@ const convertToNumber = (value: string): number => +value;
|
|||||||
const convertToBoolean = (value: string): boolean => value === 'true';
|
const convertToBoolean = (value: string): boolean => value === 'true';
|
||||||
const convertToStringNullAndUndefined = (value: string) => convertToTypeNullAndUndefined(value, convertToString);
|
const convertToStringNullAndUndefined = (value: string) => convertToTypeNullAndUndefined(value, convertToString);
|
||||||
const convertToBooleanNullAndUndefined = (value: string) => convertToTypeNullAndUndefined(value, convertToBoolean);
|
const convertToBooleanNullAndUndefined = (value: string) => convertToTypeNullAndUndefined(value, convertToBoolean);
|
||||||
const convertToObject = <T>(value: string, defaultValue: T): T =>
|
const convertToObject = <T>(value: string, defaultValue: T): T => {
|
||||||
deepmerge(defaultValue, jsonSaveParse<T>(value) ?? defaultValue);
|
const convertedValue = jsonSaveParse(value) ?? defaultValue;
|
||||||
|
|
||||||
|
if (Array.isArray(defaultValue)) {
|
||||||
|
return convertedValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
return deepmerge(defaultValue, convertedValue);
|
||||||
|
};
|
||||||
|
|
||||||
export const APP_METADATA: Record<
|
export const APP_METADATA: Record<
|
||||||
AppMetadataKeys,
|
AppMetadataKeys,
|
||||||
|
|||||||
Reference in New Issue
Block a user