diff --git a/src/core/immerClass.ts b/src/core/immerClass.ts index 2922f612..240a493b 100644 --- a/src/core/immerClass.ts +++ b/src/core/immerClass.ts @@ -208,6 +208,7 @@ export class Immer implements ProducersFns { let i: number for (i = patches.length - 1; i >= 0; i--) { const patch = patches[i] + if (!patch) continue if (patch.path.length === 0 && patch.op === "replace") { base = patch.value break diff --git a/src/utils/common.ts b/src/utils/common.ts index 513c153e..d047a1d5 100644 --- a/src/utils/common.ts +++ b/src/utils/common.ts @@ -216,6 +216,7 @@ export function shallowCopy(base: any, strict: StrictMode) { for (let i = 0; i < keys.length; i++) { const key: any = keys[i] const desc = descriptors[key] + if (!desc) continue if (desc[WRITABLE] === false) { desc[WRITABLE] = true desc[CONFIGURABLE] = true