@lcap/asl
Version:
NetEase Application Specific Language
111 lines (110 loc) • 2.17 kB
TypeScript
export interface OptionAPI {
name: string;
type: string;
default?: any;
description?: string;
}
export interface AttrAPI {
name: string;
title: string;
group?: string;
sync?: boolean;
model?: boolean;
type: string;
'designer-value': string;
options?: Array<any>;
default?: any;
description?: string;
compType?: string;
}
export interface ComputedAPI {
name: string;
type: string;
description?: string;
}
export interface DataAPI {
name: string;
type: string;
default?: any;
description?: string;
}
export interface SlotAPI {
name: string;
title: string;
type: string;
default?: any;
'empty-background': 'add-sub' | 'add-sub-large' | 'image' | 'drag-entity-here' | 'add-any';
description?: string;
props?: Array<{
name: string;
type: string;
description?: string;
}>;
support: Array<{
name: string;
title: string;
snippet: string;
}>;
}
export interface EventAPI {
name: string;
description?: string;
params?: Array<{
name: string;
type: string;
description?: string;
}>;
}
export interface MethodAPI {
name: string;
type: string;
default?: any;
description?: string;
params?: Array<{
name: string;
type: string;
default?: string;
description?: string;
}>;
}
export interface AriaAPI {
key: string;
description?: string;
}
/**
* 组件 api.yaml
*/
export default interface ComponentAPI {
/**
* 组件名称
*/
name: string;
/**
* 组件标题
*/
title: string;
/**
* 组件图标
*/
icon: string;
/**
* 组件标签
*/
labels: Array<string>;
/**
* 组件分类
*/
category?: string;
description?: string;
docs?: {
[name: string]: string;
};
options?: Array<OptionAPI>;
data?: Array<DataAPI>;
attrs?: Array<AttrAPI>;
slots?: Array<SlotAPI>;
computed?: Array<ComputedAPI>;
events?: Array<EventAPI>;
methods?: Array<MethodAPI>;
aria?: Array<AriaAPI>;
}