mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-02-01 05:49:54 +00:00
## Summary Adds the linter, turns on the recommended and a few extra rules, fixes existing violations. Doesn't prohibit `../../...` imports yet, that'll be it's own PR. ## Changes - **What**: Consistent and fixable imports - **Dependencies**: The plugin and parser ## Review Focus How do you feel about the recommended rules? What about the extra ones? [Any more](https://github.com/un-ts/eslint-plugin-import-x?tab=readme-ov-file#rules) you'd want to turn on? ┆Issue is synchronized with this [Notion page](https://www.notion.so/PR-5955-Lint-Add-eslint-import-plugin-2856d73d3650819985c0fb9ca3fa94b0) by [Unito](https://www.unito.io)
36 lines
1.2 KiB
TypeScript
36 lines
1.2 KiB
TypeScript
import { defineStore } from 'pinia'
|
|
import { computed, ref } from 'vue'
|
|
|
|
import type { InputSpec as InputSpecV2 } from '@/schemas/nodeDef/nodeDefSchemaV2'
|
|
import { getInputSpecType } from '@/schemas/nodeDefSchema'
|
|
import type { InputSpec as InputSpecV1 } from '@/schemas/nodeDefSchema'
|
|
import type { ComfyWidgetConstructor } from '@/scripts/widgets'
|
|
import { ComfyWidgets } from '@/scripts/widgets'
|
|
|
|
export const useWidgetStore = defineStore('widget', () => {
|
|
const coreWidgets = ComfyWidgets
|
|
const customWidgets = ref<Map<string, ComfyWidgetConstructor>>(new Map())
|
|
const widgets = computed<Map<string, ComfyWidgetConstructor>>(
|
|
() => new Map([...customWidgets.value, ...Object.entries(coreWidgets)])
|
|
)
|
|
|
|
function inputIsWidget(spec: InputSpecV2 | InputSpecV1) {
|
|
const type = Array.isArray(spec) ? getInputSpecType(spec) : spec.type
|
|
return widgets.value.has(type)
|
|
}
|
|
|
|
function registerCustomWidgets(
|
|
newWidgets: Record<string, ComfyWidgetConstructor>
|
|
) {
|
|
for (const [type, widget] of Object.entries(newWidgets)) {
|
|
customWidgets.value.set(type, widget)
|
|
}
|
|
}
|
|
|
|
return {
|
|
widgets,
|
|
inputIsWidget,
|
|
registerCustomWidgets
|
|
}
|
|
})
|