UNPKG

element-plus-jsx

Version:

基于 Element Plus 扩展 JSX 语法的组件库

27 lines (26 loc) 916 B
import type { Ref, Plugin, Component } from 'vue'; export type Fn<T = any> = (...args: any[]) => T; export type FnAble<T> = T | ((...args: any[]) => T); export type ArrayAble<T> = T | T[]; export type RefAble<T> = Ref<T> | T; export type FnRefAble<T, R = any> = T | Ref<T> | ((args: R) => T); export type LooseRequired<T> = { [P in keyof T & Required<T>]: T[P]; }; export type LooseValueOf<T> = T extends ArrayAble<infer U> ? U : T; export type Mutable<T> = { -readonly [P in keyof T]: T[P]; }; export type Options<T = any, E = any> = { prefix?: string; tablePlugins?: T[]; formPlugins?: E[]; }; export type WithInstall<T> = T & Plugin; export type InstallCustomType<T> = Partial<Mutable<T>> & { slots?: Record<string, Fn<Component | null>>; [key: string]: any; }; export type Merge<T, U> = { [K in keyof T | keyof U]?: K extends keyof U ? U[K] : K extends keyof T ? T[K] : never; };