UNPKG

@aplus-frontend/ui

Version:

35 lines (34 loc) 1.22 kB
import { CSSProperties, VNode } from 'vue'; export type StyleValue = string | CSSProperties | Array<StyleValue>; export type Nullable<T> = T | null; export type Recordable<T = any> = Record<string, T>; export type ElRef<T extends HTMLElement = HTMLDivElement> = Nullable<T>; /** * 任意类型的异步函数 */ type AnyPromiseFunction = (...arg: any[]) => PromiseLike<any>; /** * 任意类型的普通函数 */ type AnyNormalFunction = (...arg: any[]) => any; /** * 任意类型的函数 */ export type AnyFunction = AnyNormalFunction | AnyPromiseFunction; export interface Fn<T = any, R = T> { (...arg: T[]): R; } export interface ComponentElRef<T extends HTMLElement = HTMLDivElement> { $el: T; } export type ComponentRef<T extends HTMLElement = HTMLDivElement> = ComponentElRef<T> | null; export type EmitType = ReturnType<typeof defineEmits>; type VNodeChildAtom = VNode | string | number | boolean | null | undefined | void; export type VueNode = VNodeChildAtom | VNodeChildAtom[] | VNode; export type LiteralUnion<T extends U, U> = T | (U & { zz_IGNORE_ME?: never; }); export type RecursivePartial<T> = { [P in keyof T]?: T[P] extends object ? RecursivePartial<T[P]> : T[P]; }; export {};