diff --git a/packages/runtime/src/enhancements/node/utils.ts b/packages/runtime/src/enhancements/node/utils.ts index 347447618..05d906046 100644 --- a/packages/runtime/src/enhancements/node/utils.ts +++ b/packages/runtime/src/enhancements/node/utils.ts @@ -7,7 +7,7 @@ import type { DbClientContract } from '../../types'; */ // eslint-disable-next-line @typescript-eslint/no-explicit-any export function formatObject(value: any, multiLine = true) { - return multiLine ? safeJsonStringify(value, undefined, 2) : safeJsonStringify(value); + return safeJsonStringify(value, (_, v) => (typeof v === 'bigint' ? v.toString() : v), multiLine ? 2 : undefined); } // eslint-disable-next-line @typescript-eslint/no-explicit-any diff --git a/tests/regression/tests/issue-2106.test.ts b/tests/regression/tests/issue-2106.test.ts new file mode 100644 index 000000000..c81347918 --- /dev/null +++ b/tests/regression/tests/issue-2106.test.ts @@ -0,0 +1,19 @@ +import { loadSchema } from '@zenstackhq/testtools'; + +describe('issue 2106', () => { + it('regression', async () => { + const { enhance } = await loadSchema( + ` + model User { + id Int @id + age BigInt + @@allow('all', true) + } + `, + { logPrismaQuery: true } + ); + + const db = enhance(); + await expect(db.user.create({ data: { id: 1, age: 1n } })).toResolveTruthy(); + }); +});