ivue-material-plus
Version:
A high quality UI components Library with Vue.js
33 lines (27 loc) • 747 B
text/typescript
import type { Awaitable } from '@antfu/utils';
export interface ImportInfo {
as?: string;
name?: string;
from: string;
}
export type SideEffectsInfo =
| (ImportInfo | string)[]
| ImportInfo
| string
| undefined;
export interface ComponentInfo extends ImportInfo {
sideEffects?: SideEffectsInfo;
}
export type ComponentResolveResult = Awaitable<
string | ComponentInfo | null | undefined | void
>;
export type ComponentResolverFunction = (
name: string
) => ComponentResolveResult;
export interface ComponentResolverObject {
type: 'component' | 'directive';
resolve: ComponentResolverFunction;
}
export type ComponentResolver =
| ComponentResolverFunction
| ComponentResolverObject;