improve code for debuggin and changee template rendering of dev functions

pull/3542/head
Defi Boy 5 years ago committed by Joseph Izang
parent 9a511f4894
commit f51d015db0
  1. 21
      src/utils/template.ts
  2. 28
      src/utils/utils.test.ts
  3. 28
      src/utils/utils.ts

@ -62,12 +62,13 @@ export const template = (
${functions
.map(
(item) => `
<h6>${item.name} - ${item.type}</h6>
<hr>
${renderParameterDocumentation(item.inputs)}
<h6>${item.name} - ${item.type} </h6>
${getMethodDetails(item.devdoc)}
${renderParameterDocumentation(item.inputs)}
<p>Returns:</p>
${renderParameterDocumentation(item.outputs)}
@ -93,7 +94,7 @@ export const renderHeader = (
) => `
<h3>${name} ${
contractDoc.title ? `<small>: ${contractDoc.title}</small>` : ""
}</h3>
}</h3>
${contractDoc.notice ? `<p class="lead">${contractDoc.notice}</p>` : ""}
@ -131,12 +132,22 @@ export const renderParameterDocumentation = (
}`;
export const getMethodDetails = (devMethod?: Partial<MethodDoc>) => {
return !devMethod
const finalResult = !devMethod
? "<p><strong>**Add Documentation for the method here**</strong></p>"
: Object.keys(devMethod)
.filter((key) => key !== "params")
.map((key) => {
return (devMethodDocTemplate as any)[key]((devMethod as any)[key]);
const funcToGetTemplate = (devMethodDocTemplate as any)[key];
if (!funcToGetTemplate) {
return ''
}
const funcParameter = (devMethod as any)[key]
const result = funcToGetTemplate(funcParameter)
return result
})
.join("\n");
console.log('finalResult', finalResult)
return finalResult
};

File diff suppressed because one or more lines are too long

@ -65,25 +65,23 @@ export const getContractDoc = (name: string, contract: CompiledContract) => {
}
});
return template(name, contractDoc, functionsDocumentation);
};
// console.log("contractDoc", contractDoc)
// console.log("functionsDocumentation", functionsDocumentation)
export const getContractDocumentation = (contract: CompiledContract) => {
const methods: MethodsDocumentation = {};
try {
const finalResult = template(name, contractDoc, functionsDocumentation);
return finalResult
Object.keys(contract.userdoc.methods).forEach((item) => {
if (contract.devdoc.methods[item]) {
const finalResult = {
...contract.userdoc.methods[item],
...contract.devdoc.methods[item],
};
methods[item] = finalResult;
} else {
methods[item] = contract.userdoc.methods[item];
} catch (error) {
console.log("ERROR", error)
return ''
}
});
const contractDoc = { ...contract.userdoc, ...contract.devdoc, methods };
};
export const getContractDocumentation = (contract: CompiledContract) => {
const methods = { ...contract.userdoc.methods, ...contract.devdoc.methods }
const contractDoc = { ...contract.userdoc, ...contract.devdoc, ...methods };
return contractDoc;
};

Loading…
Cancel
Save