UNPKG

@servable/tools

Version:

Servable tools is a utility that builds a protocol's manifest and documents it.

69 lines (57 loc) 1.37 kB
export default async props => { const { path, extraction, mainPackage, index } = props const payload = [] if (!mainPackage || !mainPackage.usage) { return { payload, name: 'Usage', id: 'usage', } } const { howTo, template, parameters } = mainPackage.usage payload.push({ h2: 'Usage' }) payload.push({ h3: 'Template' }) payload.push({ p: "Add this template to your class' protocols.json file. Fill the values to fit your needs with the right parameters." }) payload.push({ code: { "language": "json", "content": JSON.stringify(template, null, 2) } }) payload.push({ h3: 'Parameters' }) // payload.push({ // code: { // "language": "json", // "content": JSON.stringify(parameters) // } // }) if (parameters && parameters.length) { const rows = [] parameters.forEach(param => { const { type = "", name: id = "", message = "", defaultValue = "", validators } = param rows.push([ type, id, message, defaultValue, ]) }) if (rows && rows.length) { payload.push({ table: { headers: ["type", "id", "Message", "Default value"], rows } }) } } else { payload.push({ p: 'No parameters' }) } return { payload, name: 'Usage', id: 'usage', } }