mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-19 02:51:14 +00:00
fix(core): make deepCopy backward compatible (#4505)
* fix(core): make `deepCopy` backward compatible `JSON.parse(JSON.stringify())` uses `.toJSON` when available. so should `deepCopy` * fix(core): prevent double quotes on luxon datetimes (#4508) * 🐛 Prevent double quotes on luxon datetimes * ⚡ Generalize solution * update the types in packages/workflow/src/utils.ts * add `toJSON` check to NodeErrors.isTraversableObject as well * move the toJSON check before the cyclic dependency check * fix(core): keep backward compatibility in deepCopy by calling `toJSON` on objects that have it * fix(core): updating deepCopy typings * Revert "fix(core): updating deepCopy typings" This reverts commit 100a0f1f3d7ddac5425ccc8498381324f418d7a2. * fix(core): temporarily removing Date cloning from deepCopy * fix(core): updating deepCopy types * fix(core): updating deepCopy * fix(core): updating deepCopy get prototype of object Co-authored-by: Iván Ovejero <ivov.src@gmail.com> Co-authored-by: Csaba Tuncsik <csaba@n8n.io>
This commit is contained in:
committed by
GitHub
parent
721ef26d5f
commit
b282c7e5d9
@@ -176,8 +176,12 @@ abstract class NodeError extends ExecutionBaseError {
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
protected isTraversableObject(value: any): value is JsonObject {
|
||||
return (
|
||||
value &&
|
||||
typeof value === 'object' &&
|
||||
!Array.isArray(value) &&
|
||||
typeof value.toJSON !== 'function' &&
|
||||
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
||||
value && typeof value === 'object' && !Array.isArray(value) && !!Object.keys(value).length
|
||||
!!Object.keys(value).length
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user