internal static ProgramStateModel InitializeProgramState(ProgramStateModel.ProgramModeType mode, FileInfo sourceFile, FileInfo targetFile) { if (!sourceFile.Exists) { throw new ArgumentNullException("Source file does not exists"); } return(ProgramStateModel.Of(sourceFile, targetFile, mode)); }
internal static ProgramStateModel OpenStreams(this ProgramStateModel model) => FileReader.OpenFiles(model);
internal static Result <ExitCode> ProcessFilesOperation(this ProgramStateModel model) { using var worker = model switch { { ProgramMode : ProgramStateModel.ProgramModeType.Compress, InputOutputStreams : var(inputStream, outputStream) }