Files
ionic-framework/core/scripts/api-spec-generator.js
Manu MA e8cec60faf fix(fab-button): adding size prop instead of [mini] (#16692)
- Consistency with rest of API
- Auto docs
- Helps react

fixes #16680
2018-12-14 23:16:20 +01:00

37 lines
1.0 KiB
JavaScript

const fs = require('fs');
function apiSpecGenerator(opts) {
return (docsData) => {
const content = [];
docsData.components.forEach(cmp => generateComponent(cmp, content));
const contentStr = content.join('\n');
return new Promise(resolve => {
fs.writeFile(opts.file, contentStr, () => {
resolve();
});
});
};
}
function generateComponent(component, content) {
content.push('');
content.push(component.tag);
component.props.forEach(prop => {
content.push(`${component.tag},prop,${prop.name},${prop.type},${prop.default},${prop.required},${prop.reflectToAttr}`);
});
component.methods.forEach(prop => {
content.push(`${component.tag},method,${prop.name},${prop.signature}`);
});
component.events.forEach(prop => {
content.push(`${component.tag},event,${prop.event},${prop.detail},${prop.bubbles}`);
});
component.styles.forEach(prop => {
content.push(`${component.tag},css-prop,${prop.name}`);
});
}
exports.apiSpecGenerator = apiSpecGenerator;