export type Nullable = T | null; export type Nullish = T | null | undefined; export type PrefixFieldObject = { [K in keyof T as K extends `${P}${string}` ? K : never]: T[K]; }; export type JSXElement = JSX.Element | JSX.Element[] | string | number | null | undefined | JSXElement[]; export type JSXElementRender = T extends [] ? () => JSX.Element : (...params: T) => JSXElement; export interface PlainObject { [field: string]: any; } export type FormatterType = | 'date' | 'dateMonth' | 'dateTime' | 'number' | 'integar' | 'exchangeRate' | 'percent' | 'rangeDate' | 'rangeMonth' | 'rangeYear'; export type BasicValueType = boolean | number | string | Record | Map | Set; export type ValueType = BasicValueType | BasicValueType[] | null | undefined;