Refactor widget switch statement (#491)

This commit is contained in:
Chenlei Hu
2025-02-08 19:28:38 -05:00
committed by GitHub
parent 64365acf7d
commit 4d36369cd8
4 changed files with 45 additions and 153 deletions

23
src/widgets/widgetMap.ts Normal file
View File

@@ -0,0 +1,23 @@
// @ts-strict-ignore
import type { IBaseWidget } from "@/types/widgets"
import { BooleanWidget } from "./BooleanWidget"
import { ButtonWidget } from "./ButtonWidget"
import { ComboWidget } from "./ComboWidget"
import { NumberWidget } from "./NumberWidget"
import { SliderWidget } from "./SliderWidget"
import { TextWidget } from "./TextWidget"
import { BaseWidget } from "./BaseWidget"
type WidgetConstructor = {
new (plain: IBaseWidget): BaseWidget
}
export const WIDGET_TYPE_MAP: Record<string, WidgetConstructor> = {
button: ButtonWidget,
toggle: BooleanWidget,
slider: SliderWidget,
combo: ComboWidget,
number: NumberWidget,
string: TextWidget,
text: TextWidget,
}