From 78bf729513c7d9464d93304835c7dfdd1f8ea729 Mon Sep 17 00:00:00 2001 From: justin-park Date: Fri, 20 Jan 2023 13:38:30 -0800 Subject: [PATCH 1/2] fix(sqllab): type error on renderBigIntStr --- superset-frontend/src/components/FilterableTable/index.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/superset-frontend/src/components/FilterableTable/index.tsx b/superset-frontend/src/components/FilterableTable/index.tsx index 4d9098b2c2a4..1e16cad92827 100644 --- a/superset-frontend/src/components/FilterableTable/index.tsx +++ b/superset-frontend/src/components/FilterableTable/index.tsx @@ -63,11 +63,11 @@ function safeJsonObjectParse( } } -export function renderBigIntStrToNumber(value: string) { +export function renderBigIntStrToNumber(value: string | number) { if (typeof value === 'string' && /^"-?\d+"$/.test(value)) { - return value.substring(1, value.length - 1); + return <>{value.substring(1, value.length - 1)}; } - return value; + return <>{value}; } const GRID_POSITION_ADJUSTMENT = 4; From 7434d3b151f860bb97c4ffba6a4fdddce9bf2fbd Mon Sep 17 00:00:00 2001 From: justin-park Date: Mon, 23 Jan 2023 10:12:01 -0800 Subject: [PATCH 2/2] fix return type for renderBigIntStrToNumber --- .../FilterableTable/FilterableTable.test.tsx | 14 +++++++------- .../src/components/FilterableTable/index.tsx | 10 +++++++--- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/superset-frontend/src/components/FilterableTable/FilterableTable.test.tsx b/superset-frontend/src/components/FilterableTable/FilterableTable.test.tsx index 3135377cf7c2..8cef35078dd0 100644 --- a/superset-frontend/src/components/FilterableTable/FilterableTable.test.tsx +++ b/superset-frontend/src/components/FilterableTable/FilterableTable.test.tsx @@ -21,7 +21,7 @@ import { ReactWrapper } from 'enzyme'; import { styledMount as mount } from 'spec/helpers/theming'; import FilterableTable, { MAX_COLUMNS_FOR_TABLE, - renderBigIntStrToNumber, + convertBigIntStrToNumber, } from 'src/components/FilterableTable'; import { render, screen } from 'spec/helpers/testing-library'; import userEvent from '@testing-library/user-event'; @@ -334,17 +334,17 @@ describe('FilterableTable sorting - RTL', () => { }); test('renders bigInt value in a number format', () => { - expect(renderBigIntStrToNumber('123')).toBe('123'); - expect(renderBigIntStrToNumber('some string value')).toBe( + expect(convertBigIntStrToNumber('123')).toBe('123'); + expect(convertBigIntStrToNumber('some string value')).toBe( 'some string value', ); - expect(renderBigIntStrToNumber('{ a: 123 }')).toBe('{ a: 123 }'); - expect(renderBigIntStrToNumber('"Not a Number"')).toBe('"Not a Number"'); + expect(convertBigIntStrToNumber('{ a: 123 }')).toBe('{ a: 123 }'); + expect(convertBigIntStrToNumber('"Not a Number"')).toBe('"Not a Number"'); // trim quotes for bigint string format - expect(renderBigIntStrToNumber('"-12345678901234567890"')).toBe( + expect(convertBigIntStrToNumber('"-12345678901234567890"')).toBe( '-12345678901234567890', ); - expect(renderBigIntStrToNumber('"12345678901234567890"')).toBe( + expect(convertBigIntStrToNumber('"12345678901234567890"')).toBe( '12345678901234567890', ); }); diff --git a/superset-frontend/src/components/FilterableTable/index.tsx b/superset-frontend/src/components/FilterableTable/index.tsx index 1e16cad92827..e7e8f3ebf4c6 100644 --- a/superset-frontend/src/components/FilterableTable/index.tsx +++ b/superset-frontend/src/components/FilterableTable/index.tsx @@ -63,11 +63,15 @@ function safeJsonObjectParse( } } -export function renderBigIntStrToNumber(value: string | number) { +export function convertBigIntStrToNumber(value: string | number) { if (typeof value === 'string' && /^"-?\d+"$/.test(value)) { - return <>{value.substring(1, value.length - 1)}; + return value.substring(1, value.length - 1); } - return <>{value}; + return value; +} + +function renderBigIntStrToNumber(value: string | number) { + return <>{convertBigIntStrToNumber(value)}; } const GRID_POSITION_ADJUSTMENT = 4;