From ac1e175e7ae705055fd2512288706205b4df8608 Mon Sep 17 00:00:00 2001 From: leszek-vechain Date: Thu, 12 Dec 2024 20:12:43 +0000 Subject: [PATCH] fix(1557): fix for big int serialization - changed serialization of bigint - cleaned up tests and added new one --- packages/errors/src/helpers/helpers.ts | 3 + .../errors/tests/helpers/helpers.unit.test.ts | 55 ++----------------- 2 files changed, 7 insertions(+), 51 deletions(-) diff --git a/packages/errors/src/helpers/helpers.ts b/packages/errors/src/helpers/helpers.ts index d1d99d3a8..039b35324 100644 --- a/packages/errors/src/helpers/helpers.ts +++ b/packages/errors/src/helpers/helpers.ts @@ -22,6 +22,9 @@ const stringifyData = (data: unknown): string => { } seen.add(value); } + if (typeof value === 'bigint') { + return value.toString() + 'n'; + } return value; }; }; diff --git a/packages/errors/tests/helpers/helpers.unit.test.ts b/packages/errors/tests/helpers/helpers.unit.test.ts index ea71323c2..712e99183 100644 --- a/packages/errors/tests/helpers/helpers.unit.test.ts +++ b/packages/errors/tests/helpers/helpers.unit.test.ts @@ -73,65 +73,18 @@ describe('Error package helpers unit tests', () => { }); /** - * Error message builder function + * An error message is built with big int data */ - test('Should be able to build an error message', () => { + test('Should be able to build an error message - bigint', () => { const errorMessage = createErrorMessage( 'simpleMethod', 'Error message', { - data: 'test' - }, - new Error('Internal error') - ); - expect(errorMessage).toBeDefined(); - }); - - /** - * An error message is built with inner error undefined - */ - test('Should be able to build an error message - inner error undefined', () => { - const errorMessage = createErrorMessage( - 'simpleMethod', - 'Error message', - { - data: 'test' - } - ); - expect(errorMessage).toBeDefined(); - }); - - /** - * An error message is built with circular dependency on data - */ - test('Should be able to build an error message - circular dependency', () => { - // Simple circular dependency object - const circularDependencyObject: { - prop1: string; - prop2: { - prop3: string; - prop4?: unknown; - }; - } = { - prop1: 'value1', - prop2: { - prop3: 'value3' + data: 10n } - }; - - // Introduce circular reference - circularDependencyObject.prop2.prop4 = circularDependencyObject; - - const errorMessage = createErrorMessage( - 'simpleMethod', - 'Error message', - { - params: [-1], - data: circularDependencyObject - }, - new Error('Internal error') ); expect(errorMessage).toBeDefined(); + expect(errorMessage).toContain('10n'); }); });