# shellcheck shell=dash

___x_cmd_meta(){
    if [ 0 -eq "$#" ]; then
        ___x_cmd_meta_mod
        return 0
    fi

    local op="$1"; shift
    case "$op" in
        mod|pkg|hasmod)
            ___x_cmd_meta_"$op" "$@"
    esac
}

___x_cmd_meta_hasmod(){
    local m="${1:?Provide mod name}"
    [ -n "${___X_CMD_META_MODALL}" ] || ___x_cmd_meta_mod_
    [ "${___X_CMD_META_MODALL}" != "${___X_CMD_META_MODALL#*
"${m}"
}" ]
}

___x_cmd_meta_mod_(){
    if [ -z "${___X_CMD_META_MODALL}" ]; then
        ___X_CMD_META_MODALL="
"
        local mod; while read -r mod; do
        ___X_CMD_META_MODALL="${___X_CMD_META_MODALL}${mod#* }
"
        done <"${___X_CMD_ROOT_METADATA}/mod.sha512.txt"
    fi
}

___x_cmd_meta_mod(){
    ___x_cmd_meta_mod_
    printf "%s\n" "${___X_CMD_META_MODALL}"
}

___x_cmd_meta_pkg(){
    :
}

