using InnovEnergy.Lib.SysTools.Remote;

namespace InnovEnergy.Lib.SysTools.Edges;

public static class RemotePathToRemoteCommand
{
    public static RemoteCommand ToCommand(this RemotePath remotePath) => new RemoteCommand(remotePath);

    public static RemoteCommand Opt1(this RemotePath remotePath, String option)
    {
        return remotePath
            .ToCommand()
            .Opt1(option);
    }

    public static RemoteCommand Opt1(this RemotePath remotePath, String option, Object value, String separator = " ")
    {
        return remotePath
            .ToCommand()
            .Opt1(option, value, separator);
    }

    public static RemoteCommand Opt2(this RemotePath remotePath, String option)
    {
        return remotePath
            .ToCommand()
            .Opt2(option);
    }

    public static RemoteCommand Opt2(this RemotePath remotePath, String option, Object value, String separator = "=")
    {
        return remotePath
            .ToCommand()
            .Opt2(option, value, separator);
    }

    public static RemoteCommand Opt(this RemotePath remotePath, String option)
    {
        return remotePath
            .ToCommand()
            .Opt(option);
    }

    public static RemoteCommand Opt(this RemotePath remotePath, String option, Object value)
    {
        return remotePath
            .ToCommand()
            .Opt(option, value);
    }

    public static RemoteCommand Arg(this RemotePath remotePath, Object argument)
    {
        return remotePath
            .ToCommand()
            .Arg(argument);
    }
}