diff --git a/.changeset/tender-spoons-burn.md b/.changeset/tender-spoons-burn.md new file mode 100644 index 000000000..2347ef7bc --- /dev/null +++ b/.changeset/tender-spoons-burn.md @@ -0,0 +1,5 @@ +--- +'graphql-scalars': patch +--- + +Fix BigInt handling diff --git a/src/scalars/BigInt.ts b/src/scalars/BigInt.ts index 4a7ec325f..802034ef4 100644 --- a/src/scalars/BigInt.ts +++ b/src/scalars/BigInt.ts @@ -80,7 +80,7 @@ export const GraphQLBigIntConfig: GraphQLScalarTypeConfig< if (inputValue.toString() !== bigint.toString()) { throw createGraphQLError(`BigInt cannot represent value: ${inputValue}`); } - if (!isSafeInteger(bigint) && !isBigIntSerializable()) { + if (isSafeInteger(bigint) && !isBigIntSerializable()) { return Number(bigint.toString()); } return bigint; @@ -96,7 +96,7 @@ export const GraphQLBigIntConfig: GraphQLScalarTypeConfig< if (strOrBooleanValue.toString() !== bigint.toString()) { throw createGraphQLError(`BigInt cannot represent value: ${strOrBooleanValue}`); } - if (!isSafeInteger(bigint) && !isBigIntSerializable()) { + if (isSafeInteger(bigint) && !isBigIntSerializable()) { return Number(bigint.toString()); } return bigint;