UNPKG

cheetah-grid

Version:

Cheetah Grid is a high performance grid engine that works on canvas

37 lines (34 loc) 989 B
import type { BaseStyleOption, CheckHeaderStyleOption, HeaderStyleOption, SortHeaderStyleOption, } from "../ts-types"; import { BaseStyle } from "./style/BaseStyle"; import { CheckHeaderStyle } from "./style/CheckHeaderStyle"; import { MultilineTextHeaderStyle } from "./style/MultilineTextHeaderStyle"; import { SortHeaderStyle } from "./style/SortHeaderStyle"; import { Style } from "./style/Style"; export { BaseStyle, Style, SortHeaderStyle, CheckHeaderStyle, MultilineTextHeaderStyle, }; export type { BaseStyleOption, CheckHeaderStyleOption, SortHeaderStyleOption }; export function of( headerStyle: HeaderStyleOption | null | undefined, StyleClass: typeof BaseStyle ): BaseStyle { if (headerStyle) { if (headerStyle instanceof Style) { return headerStyle; } else if (typeof headerStyle === "function") { return of(headerStyle(), StyleClass); } return new StyleClass(headerStyle); } else { return StyleClass.DEFAULT; } }