@lcap/asl
Version:
NetEase Application Specific Language
104 lines (95 loc) • 2.07 kB
text/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>;
}