
# It should be replaced or renamed as ___x_cmd_lazy
# Or we simply redesign all of this module.
___x_cmd_definelazyloader(){
    local funcname="${1:?Provide function name}"
    local respath="${2:?Provide resource path}"
    eval "$funcname(){
        if [ \"\$___X_CMD_DEFINELAZYLOADER\" = \"$funcname\" ]; then
            printf \"No such function [%s] in [%s]\\n\" \"$funcname\" \"$respath\"
            return 1
        fi

        if ! xrc:mod $respath; then
            printf \"Fail to xrc: %s\\n\" \"$respath\"
            return 1
        fi

        local ___X_CMD_DEFINELAZYLOADER=$funcname
        $funcname \"\$@\"
    }"
}

