mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-05-04 13:12:10 +00:00
fix: add explicit type annotations to extension callback parameters (#8966)
Fixes #8882 Adds explicit type annotations to all extension callback parameters (`nodeCreated`, `beforeRegisterNodeDef`, `addCustomNodeDefs`) across 14 core extension files. While the types were already inferred from the `ComfyExtension` interface, explicit annotations improve readability and make the code self-documenting. ## Changes - Annotate `node` parameter as `LGraphNode` in all `nodeCreated` callbacks - Annotate `nodeType` as `typeof LGraphNode` and `nodeData` as `ComfyNodeDef` in all `beforeRegisterNodeDef` callbacks - Annotate `defs` as `Record<string, ComfyNodeDef>` in `addCustomNodeDefs` - Add necessary type imports where missing ┆Issue is synchronized with this [Notion page](https://www.notion.so/PR-8966-fix-add-explicit-type-annotations-to-extension-callback-parameters-30b6d73d36508125b074f509aa38145f) by [Unito](https://www.unito.io)
This commit is contained in:
@@ -17,6 +17,7 @@ import type { IContextMenuValue } from '@/lib/litegraph/src/interfaces'
|
||||
import type { IStringWidget } from '@/lib/litegraph/src/types/widgets'
|
||||
import { useToastStore } from '@/platform/updates/common/toastStore'
|
||||
import type { NodeOutputWith } from '@/schemas/apiSchema'
|
||||
import type { ComfyNodeDef } from '@/schemas/nodeDefSchema'
|
||||
|
||||
type Load3dPreviewOutput = NodeOutputWith<{
|
||||
result?: [string?, CameraState?, string?]
|
||||
@@ -327,7 +328,7 @@ useExtensionService().registerExtension({
|
||||
return createExportMenuItems(load3d)
|
||||
},
|
||||
|
||||
async nodeCreated(node) {
|
||||
async nodeCreated(node: LGraphNode) {
|
||||
if (node.constructor.comfyClass !== 'Load3D') return
|
||||
|
||||
const [oldWidth, oldHeight] = node.size
|
||||
@@ -423,7 +424,10 @@ useExtensionService().registerExtension({
|
||||
useExtensionService().registerExtension({
|
||||
name: 'Comfy.Preview3D',
|
||||
|
||||
async beforeRegisterNodeDef(_nodeType, nodeData) {
|
||||
async beforeRegisterNodeDef(
|
||||
_nodeType: typeof LGraphNode,
|
||||
nodeData: ComfyNodeDef
|
||||
) {
|
||||
if ('Preview3D' === nodeData.name) {
|
||||
// @ts-expect-error InputSpec is not typed correctly
|
||||
nodeData.input.required.image = ['PREVIEW_3D']
|
||||
@@ -462,7 +466,7 @@ useExtensionService().registerExtension({
|
||||
}
|
||||
},
|
||||
|
||||
async nodeCreated(node) {
|
||||
async nodeCreated(node: LGraphNode) {
|
||||
if (node.constructor.comfyClass !== 'Preview3D') return
|
||||
|
||||
const [oldWidth, oldHeight] = node.size
|
||||
|
||||
Reference in New Issue
Block a user