From cb080c9d7f5775f6302935e281218451927baddb Mon Sep 17 00:00:00 2001 From: luizstacio Date: Sun, 18 Feb 2024 22:12:55 -0300 Subject: [PATCH] feat: add support for compare states with bigint --- .changeset/thirty-hairs-trade.md | 5 +++++ packages/react-xstore/src/utils/deepCompare.ts | 9 ++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 .changeset/thirty-hairs-trade.md diff --git a/.changeset/thirty-hairs-trade.md b/.changeset/thirty-hairs-trade.md new file mode 100644 index 0000000..fbdd547 --- /dev/null +++ b/.changeset/thirty-hairs-trade.md @@ -0,0 +1,5 @@ +--- +'@fuels/react-xstore': patch +--- + +feat: add stringify support for bigint diff --git a/packages/react-xstore/src/utils/deepCompare.ts b/packages/react-xstore/src/utils/deepCompare.ts index 220b0ce..9825ad6 100644 --- a/packages/react-xstore/src/utils/deepCompare.ts +++ b/packages/react-xstore/src/utils/deepCompare.ts @@ -18,7 +18,14 @@ */ export function deepCompare(a: unknown, b: unknown) { if (typeof a === 'object') { - return JSON.stringify(a) === JSON.stringify(b); + return JSON.stringify(a, stringifyBigInts) === JSON.stringify(b, stringifyBigInts); } return a === b; } + +export function stringifyBigInts(key: string, value: unknown) { + if (typeof value === 'bigint') { + return value.toString(); + } + return value; +} \ No newline at end of file