# shellcheck shell=dash

___x_cmd_coin___main(){
    local fmt=auto
    while [ $# -gt 0 ]; do
        case "$1" in
            -h|--help)      ___x_cmd help -m coin; return 0 ;;
            -c|--csv)       fmt=csv         ;;
            # -t|--tsv)       fmt=tsv         ;;
            -r|--raw)       fmt=raw;        ;;
            --auto|--app)   fmt="${1#--}"   ;;
            *)              break
        esac
        shift
    done
    ___x_cmd_coin___"${fmt}"

}

___x_cmd_coin___raw(){
    ___x_cmd ccmd 60s -- ___x_cmd curl -s https://api.coincap.io/v2/assets
}

# TODO: one awk
___x_cmd_coin___csv(){
    ___x_cmd_coin___raw    | \
        ___x_cmd jo .data       | \
        ___x_cmd jo 2c .priceUsd .marketCapUsd .vwap24Hr .supply .volumeUsd24Hr .changePercent24Hr .name
}

___x_cmd_coin___auto(){
    if      ___x_cmd_is_stdout2tty; then        ___x_cmd_coin___app
    else                                        ___x_cmd_coin___csv
    fi
}

___x_cmd_coin___app(){
    ___x_cmd_coin___csv \
        | ___x_cmd_cmds awk -F ',' -f "$___X_CMD_ROOT_MOD/coin/lib/coin_parse.awk" \
        | ___x_cmd csv app --clear

}
