Stat (get object metadata)¶
function Stat(remoteObj: string) StatObject
StatObject = {
  Valid:  boolean
  Exists: boolean
  Stat:   DirListItem
}
Every client object has a method called Stat which tries to retrieve information about
a remote object (file or directory) and, in doing so, checks whether such object exists or not.
A call to the Stat method will always return a StatObject JSON object, which - in turn -
contains the file/directory information (metadata) in the form of a DirListItem sub-object (if the
file/directory exists, of course).
So, for example, if we invoke Stat on a file, and such file exists, we will receive in return
an object that more or less looks like this:
{
  Valid: true,
  Exists: true,
  Stat: {
    Name: "/docs/budget.xlsx",
    Type: "FILE",
    Size: 526546,
    TimeStamp: 1576095950
  }
}
Whereas, if the file does not exist, we will receive an object that looks like this:
{
  Valid: true,
  Exists: false,
  Stat: {}
}
Attention
Valid is true when the Stat command has returned valid information. This does not mean that the
file/directory exists, only that the Stat command was accepted by the remote side and executed without issues.
Example:
{
  var cli = new SftpClient();
  cli.Host = 'your.sftpserver.com:22';
  cli.User = 'someusername';
  cli.KeyFile = './my_id.rsa';
  if (cli.Connect()) {
    // ...
    var res = cli.Stat('/docs/budget.xlsx');
    if ((res.Valid) && (res.Exists)) {
      Log('The file exists and its size is ' + res.Stat.Size);
    }
    // ...
    cli.Close();
  }
  cli = null
}