Skip to content

Commit 0332cee

Browse files
committed
feat(visualizer): display field not_null marker
Display not_null marker for not_null fields
1 parent d872d32 commit 0332cee

File tree

3 files changed

+15
-2
lines changed

3 files changed

+15
-2
lines changed

packages/json-table-schema-visualizer/src/components/Table.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import { tableCoordsStore } from "@/stores/tableCoords";
2626
import { useTableDetailLevel } from "@/hooks/tableDetailLevel";
2727
import { TableDetailLevel } from "@/types/tableDetailLevel";
2828
import { filterByDetailLevel } from "@/utils/filterByDetailLevel";
29+
import computeFieldDisplayTypeName from "@/utils/getFieldType";
2930

3031
interface TableProps extends JSONTableTable {}
3132

@@ -110,7 +111,7 @@ const Table = ({ fields, name }: TableProps) => {
110111
colName={field.name}
111112
tableName={name}
112113
isEnum={field.type.is_enum}
113-
type={field.type.type_name}
114+
type={computeFieldDisplayTypeName(field)}
114115
isPrimaryKey={field.pk}
115116
offsetY={index * COLUMN_HEIGHT}
116117
relationalTables={field.relational_tables}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import type { JSONTableField } from "shared/types/tableSchema";
2+
3+
const computeFieldDisplayTypeName = (field: JSONTableField): string => {
4+
if (field.not_null === true) {
5+
return `${field.type.type_name} (!)`;
6+
}
7+
return field.type.type_name;
8+
};
9+
10+
export default computeFieldDisplayTypeName;

packages/json-table-schema-visualizer/src/utils/tableWComputation/getTableLinesText.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
import { type JSONTableTable } from "shared/types/tableSchema";
22

3+
import computeFieldDisplayTypeName from "../getFieldType";
4+
35
export const getTableLinesText = (
46
fields: JSONTableTable["fields"],
57
): string[] => {
68
const stringColsNames = fields.map(
7-
(field) => `${field.name} ${field.type.type_name}`,
9+
(field) => `${field.name} ${computeFieldDisplayTypeName(field)}`,
810
);
911

1012
return stringColsNames;

0 commit comments

Comments
 (0)