| 119 | } |
| 120 | |
| 121 | function usage (methodName, definition) { |
| 122 | let usage = '' |
| 123 | const out = str => { |
| 124 | usage += str + '\n' |
| 125 | } |
| 126 | |
| 127 | out(`USAGE`) |
| 128 | out(`${methodName} - ${definition.brief}`) |
| 129 | |
| 130 | out('\nPARAMETERS') |
| 131 | if (definition.params) { |
| 132 | out(JSON.stringify(definition.params, null, 2)) |
| 133 | } else { |
| 134 | out('none') |
| 135 | } |
| 136 | |
| 137 | out('\nRETURNS') |
| 138 | if (definition.results) { |
| 139 | out(`${JSON.stringify(definition.results, null, 2)}`) |
| 140 | } else { |
| 141 | out(`no data`) |
| 142 | } |
| 143 | |
| 144 | out('\nERRORS') |
| 145 | if (definition.errors) { |
| 146 | for (const error in definition.errors) { |
| 147 | const errorDesc = definition.errors[error] |
| 148 | out(`${error}${errorDesc ? ` - ${errorDesc}` : ''}`) |
| 149 | } |
| 150 | } else { |
| 151 | out(`nothing special`) |
| 152 | } |
| 153 | |
| 154 | return usage |
| 155 | } |