From 6f9c193f27b0b04d5ed9c58421987122c21f66b9 Mon Sep 17 00:00:00 2001 From: Max Mykal Date: Thu, 2 Oct 2025 16:05:38 -0700 Subject: [PATCH] adjust types --- web/common/src/components/Lineage/help.ts | 4 +++- web/common/src/components/Lineage/index.ts | 1 + .../components/Lineage/stories/ModelNode.tsx | 4 ++-- .../Lineage/stories/dagreLayout.worker.ts | 24 +++++++++++++++---- 4 files changed, 25 insertions(+), 8 deletions(-) diff --git a/web/common/src/components/Lineage/help.ts b/web/common/src/components/Lineage/help.ts index a052ff707b..1e5d5a9d6b 100644 --- a/web/common/src/components/Lineage/help.ts +++ b/web/common/src/components/Lineage/help.ts @@ -23,7 +23,9 @@ export function getOnlySelectedNodes< TNodeData extends LineageNodeData = LineageNodeData, TNodeID extends string = NodeId, >(nodeMaps: LineageNodesMap, selectedNodes: Set) { - return (Object.values(nodeMaps) as LineageNode[]).reduce( + return ( + Object.values(nodeMaps) satisfies LineageNode[] + ).reduce( (acc, node) => selectedNodes.has(node.id) ? { ...acc, [node.id]: node } : acc, {} as LineageNodesMap, diff --git a/web/common/src/components/Lineage/index.ts b/web/common/src/components/Lineage/index.ts index 0fbc17047c..4a0b6eccc7 100644 --- a/web/common/src/components/Lineage/index.ts +++ b/web/common/src/components/Lineage/index.ts @@ -21,6 +21,7 @@ export * from './node/useNodeMetadata' export * from './edge/EdgeWithGradient' export * from './edge/FactoryEdgeWithGradient' export * from './layout/dagreLayout' +export * from './layout/help' export * from './LineageColumnLevel/ColumnLevelLineageContext' export * from './LineageColumnLevel/FactoryColumn' export * from './LineageColumnLevel/useColumns' diff --git a/web/common/src/components/Lineage/stories/ModelNode.tsx b/web/common/src/components/Lineage/stories/ModelNode.tsx index 2f4705f1c1..b0bd2f7867 100644 --- a/web/common/src/components/Lineage/stories/ModelNode.tsx +++ b/web/common/src/components/Lineage/stories/ModelNode.tsx @@ -254,7 +254,7 @@ export const ModelNode = React.memo(function ModelNode({ className="p-1 first:border-t-0 h-6" columnLineageData={ ( - column as Column & { + column satisfies Column & { columnLineageData?: ColumnLevelLineageAdjacencyList< ModelNameType, ColumnName @@ -287,7 +287,7 @@ export const ModelNode = React.memo(function ModelNode({ className="p-1 border-t border-lineage-divider first:border-t-0 h-6" columnLineageData={ ( - column as Column & { + column satisfies Column & { columnLineageData?: ColumnLevelLineageAdjacencyList< ModelNameType, ColumnName diff --git a/web/common/src/components/Lineage/stories/dagreLayout.worker.ts b/web/common/src/components/Lineage/stories/dagreLayout.worker.ts index 1a6a9d3fe7..ce452f4808 100644 --- a/web/common/src/components/Lineage/stories/dagreLayout.worker.ts +++ b/web/common/src/components/Lineage/stories/dagreLayout.worker.ts @@ -2,23 +2,37 @@ import { type LayoutedGraph, type LineageEdgeData, type LineageNodeData, + type EdgeId, + type NodeId, + type PortId, } from '../utils' import { buildLayout } from '../layout/dagreLayout' self.onmessage = < TNodeData extends LineageNodeData = LineageNodeData, TEdgeData extends LineageEdgeData = LineageEdgeData, + TNodeID extends string = NodeId, + TEdgeID extends string = EdgeId, + TPortID extends string = PortId, >( - event: MessageEvent>, + event: MessageEvent< + LayoutedGraph + >, ) => { try { - const { edges, nodesMap } = buildLayout(event.data) + const { edges, nodesMap } = buildLayout< + TNodeData, + TEdgeData, + TNodeID, + TEdgeID, + TPortID + >(event.data) self.postMessage({ edges, nodesMap, - } as LayoutedGraph) - } catch (outerError) { - self.postMessage({ error: outerError } as { error: ErrorEvent }) + } satisfies LayoutedGraph) + } catch (error) { + self.postMessage({ error }) } }