# shellcheck shell=dash

___x_cmd_pkg_sphere_sociality(){
    local op="$1"; shift
     case "$op" in
        get|get_)
                ___x_cmd_pkg_sphere_sociality___"${op}"         "$@" ;;
        set)    ___x_cmd_pkg_sphere_sociality___set_form_env    "$@" ;;
        -h|--help)
                x help -m pkg sociality;                      return ;;
         *)     N=pkg M="sociality not support option=$1" log:ret:64 ;;
     esac
}

___x_cmd_pkg_sphere_sociality___get(){
    local x_=; ___x_cmd_pkg_sphere_sociality___get_ "$@" || return $?
    printf "%s\n" "$x_"
}

___x_cmd_pkg_sphere_sociality___get_(){
    pkg:sphere:parse:args
    x_=; ___x_cmd_pkg_sphere_sociality___get_form_env   \
        --sphere "$sphere_name" --sphereroot "$___X_CMD_PKG_ROOT_SPHERE" \
        --osarch "$osarch" "$name" "$version"   || N=pkg M="Not found $name $version sociality" log:ret:1

    [ -n "$x_" ] || ___x_cmd_pkg_sphere_sociality___get_form_metayml "$name" "$version" "$osarch"
}

___x_cmd_pkg_sphere_sociality___get_form_metayml(){
    local name="$1";    local version="$2";     local osarch="$3"
    [ -n "$osarch" ] || { ___x_cmd_pkg_osarch_ || return 1; osarch="$___X_CMD_PKG_OSARCH"; } || N=pkg M="Not found osarch" log:ret:1
    local sociality=; ___x_cmd_pkg___attr "$name" "$version" "$osarch" "sociality" || return $?
    x_="${sociality:-app}"
}

___x_cmd_pkg_sphere_sociality___get_form_env(){
    pkg:sphere:parse:args
    local ___X_CMD_SDICT_GET_=; ___x_cmd sdict get_ ___X_CMD_PKG_SPHERE_SOCIALITY "$___X_CMD_PKG_ROOT_SPHERE/$sphere_name/$osarch/$name/$version"
    x_="$___X_CMD_SDICT_GET_"
}

# ___x_cmd_pkg_sphere_sociality___set_form_env \
#     --sphere X --sphereroot "$___X_CMD_PKG_ROOT_SPHERE"  --osarch "$osarch" \
#     <name> <version> <sociality>

___x_cmd_pkg_sphere_sociality___set_form_env(){
    pkg:sphere:parse:args
    shift 2
    case "$1" in
        app|intrusive|adaptive|dev)  ;;
        *) N=theme M="sociality[$name=$version] expect [app|intrusive|adaptive|dev] but get '$1'" log:ret:64 ;;
    esac
    ___x_cmd sdict put ___X_CMD_PKG_SPHERE_SOCIALITY "$___X_CMD_PKG_ROOT_SPHERE/$sphere_name/$osarch/$name/$version" "$1"
}

# x env sociality  node=version app
# x env sociality  node app
