From 5d641bd12302d95c7bee858edb4b93351a607433 Mon Sep 17 00:00:00 2001 From: Sheldon Guo Date: Sun, 2 Mar 2025 12:23:58 +0800 Subject: [PATCH] fix: correct key handling in revertEscape function for arrays and objects --- packages/core/json-templates/src/escape.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/packages/core/json-templates/src/escape.ts b/packages/core/json-templates/src/escape.ts index 8201911a2b..be7ab5a214 100644 --- a/packages/core/json-templates/src/escape.ts +++ b/packages/core/json-templates/src/escape.ts @@ -47,10 +47,12 @@ export function revertEscape(input) { if (isArray(input)) { const result = []; Object.keys(input).forEach((key) => { - result[escape(key)] = revertEscape(input[key]); + result[revertEscape(key)] = revertEscape(input[key]); }); - return input.map(revertEscape); - } else if (isObject(input)) { + return result; + + // check keys number of object to skip the object like new Date() + } else if (isObject(input && Object.keys(input).length > 0)) { return mapKeys(mapValues(input, revertEscape), (value, key) => revertEscape(key)); } else if (isString(input)) { return revertEscapeSpecialChars(input);