From ecc5bed87d3238a598b479038431a0bfa055aee2 Mon Sep 17 00:00:00 2001 From: Benjamin Lu Date: Thu, 25 Sep 2025 19:17:19 -0700 Subject: [PATCH] type --- .../composables/useSlotLinkInteraction.ts | 43 +++++-------------- 1 file changed, 10 insertions(+), 33 deletions(-) diff --git a/src/renderer/extensions/vueNodes/composables/useSlotLinkInteraction.ts b/src/renderer/extensions/vueNodes/composables/useSlotLinkInteraction.ts index 4eabdf609..57f6fa21f 100644 --- a/src/renderer/extensions/vueNodes/composables/useSlotLinkInteraction.ts +++ b/src/renderer/extensions/vueNodes/composables/useSlotLinkInteraction.ts @@ -140,35 +140,12 @@ export function useSlotLinkInteraction({ return 'canConnectToReroute' in link } - type InputConnectableLink = RenderLink & { - toType: 'input' - canConnectToInput: (node: LGraphNode, input: INodeInputSlot) => boolean - } - - type OutputConnectableLink = RenderLink & { - toType: 'output' - canConnectToOutput: (node: LGraphNode, output: INodeOutputSlot) => boolean - } - - function isInputConnectableLink( - link: RenderLink - ): link is InputConnectableLink { - return ( - link.toType === 'input' && - typeof (link as { canConnectToInput?: unknown }).canConnectToInput === - 'function' - ) - } - - function isOutputConnectableLink( - link: RenderLink - ): link is OutputConnectableLink { - return ( - link.toType === 'output' && - typeof (link as { canConnectToOutput?: unknown }).canConnectToOutput === - 'function' - ) - } + type ToInputLink = RenderLink & { toType: 'input' } + type ToOutputLink = RenderLink & { toType: 'output' } + const isToInputLink = (link: RenderLink): link is ToInputLink => + link.toType === 'input' + const isToOutputLink = (link: RenderLink): link is ToOutputLink => + link.toType === 'output' function connectLinksToInput( links: ReadonlyArray, @@ -176,7 +153,7 @@ export function useSlotLinkInteraction({ inputSlot: INodeInputSlot ): boolean { const validCandidates = links - .filter(isInputConnectableLink) + .filter(isToInputLink) .filter((link) => link.canConnectToInput(node, inputSlot)) for (const link of validCandidates) { @@ -192,7 +169,7 @@ export function useSlotLinkInteraction({ outputSlot: INodeOutputSlot ): boolean { const validCandidates = links - .filter(isOutputConnectableLink) + .filter(isToOutputLink) .filter((link) => link.canConnectToOutput(node, outputSlot)) for (const link of validCandidates) { @@ -353,7 +330,7 @@ export function useSlotLinkInteraction({ if (results.length && maybeReroutes !== null) { const originalReroutes = maybeReroutes.slice(0, -1).reverse() for (const link of adapter.renderLinks) { - if (!isInputConnectableLink(link)) continue + if (!isToInputLink(link)) continue for (const result of results) { link.connectToRerouteInput( reroute, @@ -370,7 +347,7 @@ export function useSlotLinkInteraction({ if (sourceOutput) { const { node, output } = sourceOutput for (const link of adapter.renderLinks) { - if (!isOutputConnectableLink(link)) continue + if (!isToOutputLink(link)) continue if (hasCanConnectToReroute(link) && !link.canConnectToReroute(reroute)) continue link.connectToRerouteOutput(