From 792b4389434b0b9462aa9add19d8615e7cd55d7b Mon Sep 17 00:00:00 2001 From: Maximiliano Alberdi Date: Tue, 5 Nov 2024 16:34:11 -0300 Subject: [PATCH] fix shared references on Entry constructor --- src/entry/Entry.ts | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/entry/Entry.ts b/src/entry/Entry.ts index ea4eb11..fbc65b4 100644 --- a/src/entry/Entry.ts +++ b/src/entry/Entry.ts @@ -28,10 +28,13 @@ export default class Entry { constructor(options: EntryOptions, autoValidate: boolean = true, debug: boolean = false) { this.debug = debug; - if (options.fields){ - this.fields = deepMerge(EntryFieldDefaults, options.fields) as EntryFields; + // Create a new object for fields to avoid shared references + const defaultFields = JSON.parse(JSON.stringify(EntryFieldDefaults)); + + if (options.fields) { + this.fields = deepMerge(defaultFields, options.fields) as EntryFields; } else { - this.fields = deepMerge({}, EntryFieldDefaults) as EntryFields; + this.fields = defaultFields; } highLevelFieldOverrides.forEach((field) => {