Better reference code examples (#920)

* Updated documentation genertation script to build small code snippets

* Updated docs reference

* Removed slm doc

* Add commas and remove empty objects
This commit is contained in:
Tomas Della Vedova
2019-07-25 11:08:18 +02:00
committed by GitHub
parent 032ec73dbd
commit dd8491d723
2 changed files with 2386 additions and 847 deletions

View File

@ -14,7 +14,9 @@ function generateDocs (common, spec) {
////////
This documentation is generated by running:
node scripts/run.js --tag v7.0.0-beta
node scripts/run.js --tag tagName
or
node scripts/run.js --branch branchName
////////\n\n`
doc += commonParameters(common)
@ -94,11 +96,23 @@ function generateApiDoc (spec) {
})
}
const codeParameters = params
.reduce((acc, val) => {
var code = `${val.name}: ${val.type},`
acc += acc === ''
? code
: '\n ' + code
return acc
}, '')
// remove last comma
.slice(0, -1)
var doc = dedent`
=== ${camelify(name)}
[source,js]
[source,ts]
----
client.${camelify(name)}([params] [, options] [, callback])
client.${camelify(name)}(${codeParameters.length > 0 ? `{\n ${codeParameters}\n}` : ''})
----\n`
if (documentationUrl) {
doc += `link:${documentationUrl}[Reference]\n`
@ -113,7 +127,7 @@ function generateApiDoc (spec) {
: '`' + val.name + '`'
acc += dedent`
|${name}
|${'`' + val.type + '`'} - ${val.description}`
|${'`' + val.type.replace(/\|/g, '\\|') + '`'} - ${val.description}`
if (val.default) {
acc += ` +\n_Default:_ ${'`' + val.default + '`'}`
}
@ -165,13 +179,13 @@ function fixLink (name, str) {
function getType (type, options) {
switch (type) {
case 'list':
return 'string, string[]'
return 'string | string[]'
case 'date':
case 'time':
case 'timeout':
return 'string'
case 'enum':
return options.map(k => `'${k}'`).join(', ')
return options.map(k => `'${k}'`).join(' | ')
case 'int':
case 'double':
case 'long':