mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-02-27 02:04:09 +00:00
fix: replace as-unknown-as casts with safer patterns (#9107)
## Summary - Replace 83 `as unknown as` double casts with safer alternatives across 33 files - Use `as Partial<X> as X` pattern where TypeScript allows it - Create/reuse factory functions from `litegraphTestUtils.ts` for mock objects - Widen `getWorkflowDataFromFile` return type to include `ComfyMetadata` directly - Reduce total `as unknown as` count from ~153 to 71 The remaining 71 occurrences are genuinely necessary due to cross-schema casts, generic variance, missing index signatures, Float64Array-to-tuple conversions, and DOM type incompatibilities. ## Test plan - [x] `pnpm typecheck` passes - [x] `pnpm lint` passes - [x] All affected unit tests pass ┆Issue is synchronized with this [Notion page](https://www.notion.so/PR-9107-fix-replace-as-unknown-as-casts-with-safer-patterns-3106d73d3650815cb5bcd613ad635bd7) by [Unito](https://www.unito.io)
This commit is contained in:
committed by
GitHub
parent
8998d92e1b
commit
02e926471f
@@ -82,14 +82,14 @@ export function createMockSubgraphNode(
|
||||
* Creates a mock LGraphCanvas with minimal required properties for testing
|
||||
*/
|
||||
export function createMockCanvas(
|
||||
overrides: Partial<LGraphCanvas> = {}
|
||||
overrides: Partial<LGraphCanvas> | Record<string, unknown> = {}
|
||||
): LGraphCanvas {
|
||||
return {
|
||||
setDirty: vi.fn(),
|
||||
state: {
|
||||
selectionChanged: false
|
||||
},
|
||||
...overrides
|
||||
...(overrides as Partial<LGraphCanvas>)
|
||||
} as LGraphCanvas
|
||||
}
|
||||
|
||||
|
||||
@@ -40,7 +40,7 @@ function createMockCanvas(overrides: Partial<LGraphCanvas> = {}): LGraphCanvas {
|
||||
const mockGraph = {
|
||||
add: vi.fn((node) => node),
|
||||
change: vi.fn()
|
||||
} satisfies Partial<LGraph> as unknown as LGraph
|
||||
} as Partial<LGraph> as LGraph
|
||||
const mockCanvas: Partial<LGraphCanvas> = {
|
||||
graph_mouse: [100, 200],
|
||||
graph: mockGraph,
|
||||
|
||||
Reference in New Issue
Block a user