From 7d8aad4a00b89e0208ee1563293c24025e6604ce Mon Sep 17 00:00:00 2001
From: Samim Pezeshki
Date: Mon, 6 May 2024 20:00:31 +0200
Subject: [PATCH] Create a new object for console to have a prototype with
toString method (#11834)
* Create a new object to have a prototype
Objects possibly can have null prototypes. This causes them not to have
toString() method leading to an error when doing substitution with
console.warn().
---
.changeset/rich-geese-complain.md | 5 +++++
src/cache/inmemory/writeToStore.ts | 4 ++--
2 files changed, 7 insertions(+), 2 deletions(-)
create mode 100644 .changeset/rich-geese-complain.md
diff --git a/.changeset/rich-geese-complain.md b/.changeset/rich-geese-complain.md
new file mode 100644
index 00000000000..f60df47d644
--- /dev/null
+++ b/.changeset/rich-geese-complain.md
@@ -0,0 +1,5 @@
+---
+"@apollo/client": patch
+---
+
+Fix error "Cannot convert object to primitive value"
diff --git a/src/cache/inmemory/writeToStore.ts b/src/cache/inmemory/writeToStore.ts
index a88c875e268..9e7daeb7ebe 100644
--- a/src/cache/inmemory/writeToStore.ts
+++ b/src/cache/inmemory/writeToStore.ts
@@ -873,7 +873,7 @@ For more information about these options, please refer to the documentation:
" have an ID or a custom merge function, or "
: "",
typeDotName,
- existing,
- incoming
+ { ...existing },
+ { ...incoming }
);
}