docs: function add(archive, files, switches, progress) {
      return externals_1.Promise.try(function () {
          if (!archive) {
              throw new Error("Archive path must be defined");
          }
          else if (!files) {
              throw new Error("Files path must be defined");
          }
          else if (!exports_1.Helpers.pathIsAbsoluteOrHome(archive)) {
              throw new Error("Archive path must be absolute");
          }
          var params = [exports_1.Helpers.pathResolveHome(externals_1.Path.normalize(archive)), exports_1.Helpers.pathResolveHome(externals_1.Path.normalize(files))];
          switches = externals_1._.extend([], switches);
          return SevenZip.run("a", params, switches, progress);
      });
  }