#!/usr/bin/env sh

# Usage: doc/api.md#join-file

alias join-file="join_file"

join_file(){
    A=""
    B=""
    SUDO=""
    TARGET="${1}"

    if [ -z "${1}" ]; then
        echo "join-file: arguments are missing"
        return 127

    fi

    if [ "${1}" = "-a" ] || [ "${1}" = "--auth" ]; then
        SUDO="sudo "
        shift $(( $# > 0 ? 1 : 0 ))

    fi

    if [ -f "${1}" ] && [ -f "${2}" ]; then
        A=$(awk '1' "${1}")
        B=$(awk '1' "${2}")

    elif [ -f "${1}" ] && [ -n "${2}" ]; then
        A=$(awk '1' "${1}")
        B="${2}"

    elif [ -f "${2}" ] && [ -n "${1}" ]; then
        A="${1}"
        B=$(awk '1' "${2}")
        TARGET="${2}"

    else
        echo "Cannot find target - no such file"
        return 127

    fi

	echo "${A}${B}" | "${SUDO}"tee "${TARGET}" >/dev/null 2>&1
}
