UNPKG

vue-inbrowser-compiler-independent-utils

Version:

the part of vue-inbrowser-compiler-utils that contains no vue dependency

117 lines (98 loc) 2.19 kB
export type BlockTag = ParamTag | Tag export interface Module { name: string path: string } export interface EvaluableComponent { script: string template?: string style?: string setup: boolean scopeId?: string } /** * Universal model to display origin */ export interface Descriptor { extends?: Module mixin?: Module } export interface ParamType { name: string elements?: ParamType[] } export interface UnnamedParam { type?: ParamType description?: string | boolean } export interface Param extends UnnamedParam { name?: string } interface RootTag { title: string } export interface Tag extends RootTag { content: string | boolean } export interface ParamTag extends RootTag, Param {} export interface DocBlockTags { description?: string tags?: (ParamTag | Tag)[] } interface EventType { names: string[] elements?: ParamType[] } interface EventProperty { type: EventType name?: string description?: string | boolean } export interface EventDescriptor extends DocBlockTags, Descriptor { name: string type?: EventType properties?: EventProperty[] } export interface ExposeDescriptor extends DocBlockTags, Descriptor { name: string } export interface PropDescriptor extends Descriptor { type?: { name: string; func?: boolean } description?: string required?: boolean defaultValue?: { value: string; func?: boolean } tags?: { [title: string]: BlockTag[] } values?: string[] name: string } export interface MethodDescriptor extends Descriptor { name: string description?: string returns?: UnnamedParam throws?: UnnamedParam tags?: { [key: string]: BlockTag[] } params?: Param[] modifiers?: string[] [key: string]: any } export interface SlotDescriptor extends Descriptor { name: string description?: string bindings?: ParamTag[] scoped?: boolean tags?: { [key: string]: BlockTag[] } } export interface ComponentDoc { displayName: string exportName: string description?: string props?: PropDescriptor[] methods?: MethodDescriptor[] slots?: SlotDescriptor[] events?: EventDescriptor[] expose?: ExposeDescriptor[] tags: { [key: string]: BlockTag[] } docsBlocks?: string[] sourceFiles?: string[] [key: string]: any }