UNPKG

@rbxts/ui-labs

Version:

Utilities for UI-Labs, a storybook-like plugin for roblox

25 lines (19 loc) 995 B
import { IsDatatype, DatatypeControl, Datatypes } from "./Datatypes"; import { IsPrimitive, PrimitiveControl, Primitives } from "./Primitives"; import { AdvancedTypes } from "./Advanced"; import { ControlGroup } from "./ControlUtils"; interface BaseControl<T, C> { EntryType: "Control"; Type: T; ControlValue: C; Order?: number; } type IsPrimitiveControl = IsPrimitive | PrimitiveControl<keyof Primitives>; type IsDatatypeControl = IsDatatype | PrimitiveControl<keyof Primitives>; type LiteralControls = DatatypeControl<keyof Datatypes> | PrimitiveControl<keyof Primitives>; type ObjectControl = LiteralControls | AdvancedTypes.All[keyof AdvancedTypes.All]; type AllControls = ObjectControl | IsPrimitive | IsDatatype; type ControlsList = Record<string, AllControls>; type ReturnControls = Record<string, AllControls | ControlGroup>; type ConvertedControlList = Record<string, ObjectControl>; type ConvertedControls = Record<string, ObjectControl | ControlGroup<ConvertedControlList>>;