
# Code reference tables for dynamic alias resolution.
# Remote: https://codeberg.org/x-cmd/data/raw/branch/main/codefile/
# Local:  $___X_CMD_ROOT_DATA/data/codefile/

___X_CMD_DBNOMICS_CODEFILE_BASE_URL="https://codeberg.org/x-cmd/data/raw/branch/main/codefile"
___X_CMD_DBNOMICS_CODEFILE_DIR="${___X_CMD_ROOT_DATA}/data/codefile"

___x_cmd_dbnomics_code(){
    case "$1" in
        -h|--help) ___x_cmd help -m dbnomics code "$@"; return ;;
    esac
    local table="${1:-}"
    [ -n "$table" ] || { M='Specify a table: region2, currency, weoseries, cbpol' N=dbnomics log:ret:1; }
    local cache="${___X_CMD_DBNOMICS_CODEFILE_DIR}/${table}.tsv"
    if [ ! -f "$cache" ]; then
        mkdir -p "${___X_CMD_DBNOMICS_CODEFILE_DIR}"
        ___x_cmd curl -sS -L -f "${___X_CMD_DBNOMICS_CODEFILE_BASE_URL}/${table}.tsv" > "$cache" 2>/dev/null || {
            rm -f "$cache"
            M="Failed to download ${table}.tsv from remote" N=dbnomics log:ret:1
        }
    fi
    [ -f "$cache" ] && [ -s "$cache" ] || { M="Table not found: ${table}.tsv" N=dbnomics log:ret:1; }
    cat "$cache"
}
