[API] Add improved slot locator functions (#716)

- Returns object with slot, index, and pos
- Locate-by-type returns object with slot & index
- Uses standard `undefined` return for concise chaining & validation
- Free 10x perf increase over getConnectionPos (used basic random data
to test, out of curiosity)
This commit is contained in:
filtered
2025-03-08 00:18:06 +11:00
committed by GitHub
parent 84fad5b8a5
commit 3e44f6a0c1
6 changed files with 221 additions and 69 deletions

View File

@@ -1,3 +1,5 @@
import type { ISlotType } from "./litegraph"
/**
* Uses the standard String() function to coerce to string, unless the value is null or undefined - then null.
* @param value The value to convert
@@ -15,3 +17,7 @@ export function stringOrNull(value: unknown): string | null {
export function stringOrEmpty(value: unknown): string {
return value == null ? "" : String(value)
}
export function parseSlotTypes(type: ISlotType): string[] {
return type == "" || type == "0" ? ["*"] : String(type).toLowerCase().split(",")
}