# shellcheck    shell=dash
___x_cmd_assert_ypart(){
    case "$#" in
        1)
            local data="$(___x_cmd_cmds_cat)"
            local part="$1"
            ___x_cmd_assert___ypart "$data" "$part" || M="Expect $data equal to $part"     _assert:return 1
            ;;
        2)
            local data="${1}"
            local part="${2}"
            ___x_cmd_assert___ypart "$data" "$part" || M="Expect $data equal to $part"     _assert:return 1
            ;;
        *)
            M="Expect data to be not empty" _assert:return 64
    esac
}
___x_cmd_assert___ypart(){

    [ -n "$1" ] || M="Expect data to be not empty" _assert:return 1
    [ -n "$2" ] || M="Expect part to be not empty" _assert:return 1

    data="$1" part="$2" \
    x cawk \
    -f "$___X_CMD_ROOT_MOD/awk/lib/re.awk"      \
    -f "$___X_CMD_ROOT_MOD/awk/lib/j/json.awk"  \
    -f "$___X_CMD_ROOT_MOD/awk/lib/j/jiter.awk" \
    -f "$___X_CMD_ROOT_MOD/yml/lib/yutil.awk"   \
    -f "$___X_CMD_ROOT_MOD/yml/lib/ystr.awk"    \
    -f "$___X_CMD_ROOT_MOD/yml/lib/yparse.value.awk"  \
    -f "$___X_CMD_ROOT_MOD/yml/lib/yparse.json.awk"  \
    -f "$___X_CMD_ROOT_MOD/yml/lib/yparse.awk"  \
    -f "$___X_CMD_ROOT_MOD/yml/lib/y2j.awk"      \
    -f "${___X_CMD_ROOT_MOD}/assert/lib/ypart.awk" \
    </dev/null;
}

# ___x_cmd_assert___ypart(){
#     if [ "$#" -ge 1 ]; then
#         ___x_cmd_assert___ypart "$@" || M="Expect $1 equal to $2"     _assert:return 1
#     else
#         ___x_cmd_assert___ypart "$@" || M="Expect $1 equal to $2"      _assert:return 1
#     fi
# }
