const chalk = require('chalk');

exports.command = ['list'];
exports.aliases = ['l'];
exports.describe = 'Lists all available packages';

const msg_format = {
    color: p =>
        `${chalk[p.installed ? 'green' : 'red']('•')} ${p.language} ${
            p.language_version
        }`,
    monochrome: p =>
        `${p.language} ${p.language_version} ${
            p.installed ? '(INSTALLED)' : ''
        }`,
    json: JSON.stringify,
};

exports.handler = async ({ axios }) => {
    const packages = await axios.get('/api/v2/packages');

    const pkg_msg = packages.data.map(msg_format.color).join('\n');

    console.log(pkg_msg);
};