UNPKG

savory

Version:

A command-line interface for operating your Codefresh account

36 lines (33 loc) 1.25 kB
const fp = require('lodash/fp'), jsYaml = require('js-yaml'), { middleware: httpClientMiddleware } = require('../../lib/api_client'), { jsonFormatter, tableFormatter } = require('../style'); const DEFAULT_API_RESULT_LIMIT = 25; module.exports = { command: ["list [id..]", "ls"], describe: "List your compositions.\nList specific composition(s) by specifying their IDs", builder: (yargs)=> { return yargs .option('output', { choices: ["summary", "yaml", "json"], default: "summary", describe: "Choose a output format for the returned data" }); }, handler: fp.pipe(httpClientMiddleware, ({ _httpClient, output, id })=> { (id ? Promise.all(id.map((id)=> _httpClient(`compositions/${id}`))) : _httpClient(`compositions`)) .then( fp.pipe( { "summary": tableFormatter({ title: ["Id", "Name"], column: ["_id", "name"] }), "json": jsonFormatter, "yaml": jsYaml.safeDump }[output], console.log ) ) .catch(fp.pipe(jsonFormatter, console.warn)); }) };