Skip to content

Commit 972ffe7

Browse files
authored
Use ComfyNodeDefImpl on nodeDefStore (#235)
1 parent b4d7735 commit 972ffe7

File tree

2 files changed

+12
-19
lines changed

2 files changed

+12
-19
lines changed

src/scripts/app.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ import { StorageLocation } from '@/types/settingTypes'
3636
import '@comfyorg/litegraph/css/litegraph.css'
3737
import '../assets/css/style.css'
3838
import { ExtensionManager } from '@/types/extensionTypes'
39-
import { useNodeDefStore } from '@/stores/nodeDefStore'
39+
import { SYSTEM_NODE_DEFS, useNodeDefStore } from '@/stores/nodeDefStore'
4040

4141
export const ANIM_PREVIEW_WIDGET = '$$comfy_animation_preview'
4242

@@ -1968,7 +1968,7 @@ export class ComfyApp {
19681968
await this.registerNodesFromDefs(defs)
19691969
if (this.vueAppReady) {
19701970
const nodeDefStore = useNodeDefStore()
1971-
nodeDefStore.addNodeDefs(Object.values(defs))
1971+
nodeDefStore.updateNodeDefs([...Object.values(defs), ...SYSTEM_NODE_DEFS])
19721972
nodeDefStore.updateWidgets(this.widgets)
19731973
}
19741974
await this.#invokeExtensionsAsync('registerCustomNodes')

src/stores/nodeDefStore.ts

Lines changed: 10 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -216,41 +216,34 @@ export const SYSTEM_NODE_DEFS: ComfyNodeDef[] = [
216216
}
217217
]
218218

219-
const SYSTEM_NODE_DEFS_BY_NAME = SYSTEM_NODE_DEFS.reduce((acc, nodeDef) => {
220-
acc[nodeDef.name] = nodeDef
221-
return acc
222-
}, {}) as Record<string, ComfyNodeDef>
223-
224219
interface State {
225-
nodeDefsByName: Record<string, ComfyNodeDef>
220+
nodeDefsByName: Record<string, ComfyNodeDefImpl>
226221
widgets: Record<string, ComfyWidgetConstructor>
227222
}
228223

229224
export const useNodeDefStore = defineStore('nodeDef', {
230225
state: (): State => ({
231-
nodeDefsByName: SYSTEM_NODE_DEFS_BY_NAME,
226+
nodeDefsByName: {},
232227
widgets: {}
233228
}),
234229
getters: {
235230
nodeDefs(state) {
236231
return Object.values(state.nodeDefsByName)
237232
},
238233
nodeSearchService(state) {
239-
return new NodeSearchService(
240-
Object.values(state.nodeDefsByName).map((nodeDef) =>
241-
plainToClass(ComfyNodeDefImpl, nodeDef)
242-
)
243-
)
234+
return new NodeSearchService(Object.values(state.nodeDefsByName))
244235
}
245236
},
246237
actions: {
247-
addNodeDef(nodeDef: ComfyNodeDef) {
248-
this.nodeDefsByName[nodeDef.name] = nodeDef
249-
},
250-
addNodeDefs(nodeDefs: ComfyNodeDef[]) {
238+
updateNodeDefs(nodeDefs: ComfyNodeDef[]) {
239+
const newNodeDefsByName: { [key: string]: ComfyNodeDefImpl } = {}
251240
for (const nodeDef of nodeDefs) {
252-
this.nodeDefsByName[nodeDef.name] = nodeDef
241+
newNodeDefsByName[nodeDef.name] = plainToClass(
242+
ComfyNodeDefImpl,
243+
nodeDef
244+
)
253245
}
246+
this.nodeDefsByName = newNodeDefsByName
254247
},
255248
updateWidgets(widgets: Record<string, ComfyWidgetConstructor>) {
256249
this.widgets = widgets

0 commit comments

Comments
 (0)