Apidoc services completed

This commit is contained in:
Bahadır Sofuoğlu 2023-03-07 16:37:45 +03:00
parent 1ddebd977c
commit e2747c5ae8
13 changed files with 394 additions and 246 deletions

View file

@ -48,18 +48,29 @@ export default {
docName: docName
};
const values = APIDocs[moduleName].interfaces.values;
const values = APIDocs[moduleName]?.interfaces?.values;
const componentValues = APIDocs[moduleName]?.components;
const modelValues = APIDocs[moduleName]?.model;
let props = null;
let emits = null;
let slots = null;
let events = null;
let options = null;
let interfaces = null;
if (values) {
props = values[`${docName}Props`];
emits = values[`${docName}Emits`];
slots = values[`${docName}Slots`];
events = this.findEvents(values);
options = this.findOptions(values, docName); // MenuItem && ConfirmationOptions
interfaces = this.findOtherInterfaces(values, docName);
}
const props = values[`${docName}Props`];
const emits = values[`${docName}Emits`];
const slots = values[`${docName}Slots`];
const methods = componentValues ? componentValues['default'].methods : null;
const types = APIDocs[moduleName]['types'];
let events = this.findEvents(values);
const interfaces = this.findOtherInterfaces(values, docName);
const options = this.findOptions(values, docName); // Only for MenuItem
const services = modelValues; // (TerminalService && ConfirmationService && ToastService)
if (props && props.props.length) {
newDoc.children.push({
@ -101,7 +112,7 @@ export default {
});
}
if (events && events.length) {
if (events && events.length > 0) {
newDoc.children.push({
id: `api.${moduleName}.events`,
label: 'Events',
@ -144,6 +155,17 @@ export default {
});
}
if (services) {
console.log(services);
newDoc.children.push({
id: `api.${moduleName}.services`,
label: 'Services',
component: DocApiTable,
data: this.setServicesData(moduleName, services),
description: Object.values(services)[0].description || null
});
}
newDocs.push(newDoc);
}
@ -257,6 +279,27 @@ export default {
return data;
},
setServicesData(moduleName, services) {
const data = [];
for (const key of Object.keys(services)) {
const value = services[key];
value?.methods.values.forEach((method) => {
data.push({
name: method.name,
parameters: {
name: method.parameters[0]?.name,
type: method.parameters[0]?.type
},
returnType: method.returnType,
description: method.description
});
});
}
return data;
},
findEvents(values) {
const events = [];