From 113a4f1728b8fa04f521e45043fde350b4dbbe0a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Germ=C3=A1n=20Jablo=C3=B1ski?= <43938777+GermanJablo@users.noreply.github.com> Date: Fri, 31 Jan 2025 14:29:36 -0300 Subject: [PATCH] create a new object in setState --- packages/lexical/src/LexicalNode.ts | 3 ++- packages/lexical/src/__tests__/unit/LexicalNode.test.ts | 9 ++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/lexical/src/LexicalNode.ts b/packages/lexical/src/LexicalNode.ts index f3239c5b74b..30b9be1e441 100644 --- a/packages/lexical/src/LexicalNode.ts +++ b/packages/lexical/src/LexicalNode.ts @@ -243,7 +243,7 @@ export class LexicalNode { setState(k: T, v: T['value']) { const self = this.getWritable(); - (self.__state as State)[k.key] = v; + self.__state = {...self.__state, [k.key]: v}; } // Flow doesn't support abstract classes unfortunately, so we can't _force_ @@ -333,6 +333,7 @@ export class LexicalNode { this.__parent = prevNode.__parent; this.__next = prevNode.__next; this.__prev = prevNode.__prev; + this.__state = prevNode.__state || {}; } // eslint-disable-next-line @typescript-eslint/no-explicit-any diff --git a/packages/lexical/src/__tests__/unit/LexicalNode.test.ts b/packages/lexical/src/__tests__/unit/LexicalNode.test.ts index 466538c9712..43ad84a40cf 100644 --- a/packages/lexical/src/__tests__/unit/LexicalNode.test.ts +++ b/packages/lexical/src/__tests__/unit/LexicalNode.test.ts @@ -1618,11 +1618,10 @@ describe('LexicalNode state', () => { type _Test = Expect< Equal< typeof paragraphObject, - | { - readonly bar: number; - readonly foo: string; - } - | undefined + { + readonly bar: number; + readonly foo: string; + } > >;