Ttou 74e2b10b74
feat(markdown-vetur): 支持生成 attributes.json 的 options 属性 (#8545)
* feat(markdown-vetur): 支持生成 attributes.json 的 options 属性

* fix(markdown-vetur): 没有可选值不添加 options 属性
2021-04-16 17:18:01 +08:00

37 lines
887 B
TypeScript

import { VueTag, VeturTags, VeturAttributes, VeturAttribute } from './type';
export function genVeturTags(tags: VueTag[]) {
const veturTags: VeturTags = {};
tags.forEach(tag => {
veturTags[tag.name] = {
attributes: tag.attributes ? tag.attributes.map(item => item.name) : [],
};
});
return veturTags;
}
export function genVeturAttributes(tags: VueTag[]) {
const veturAttributes: VeturAttributes = {};
tags.forEach(tag => {
if (tag.attributes) {
tag.attributes.forEach(attr => {
let attribute: VeturAttribute = {
type: attr.value.type,
description: `${attr.description}, 默认值: ${attr.default}`
}
if (attr.options.length > 0) {
attribute.options = attr.options
}
veturAttributes[`${tag.name}/${attr.name}`] = attribute;
});
}
});
return veturAttributes;
}