function writeAndLogSequence()

in src/file-logged-sequence-write-utils.ts [200:231]


function writeAndLogSequence(
  parsedArgs: CommandLine.Arguments,
  evaluatedSequence: LazySequence.Sequence<
    Promise.Future<
      Logging.Context<Either.Either<Error.Error[], ObjectGenerationSuccess>>
    >
  >,
): Promise.Future<ConsoleOutputResults> {
  const outputResults: Promise.Future<
    Promise.Future<Logging.Context<ConsoleOutputResults>>
  > = LazySequence.foldl(
    trackConsoleOutput,
    Promise.resolved(
      Logging.munit<ConsoleOutputResults>({errorCount: 0, successCount: 0}),
    ).getFuture(),
    evaluatedSequence,
  );
  const resultingLoggingContext: Promise.Future<ConsoleOutputResults> =
    Promise.mbind(function (
      future: Promise.Future<Logging.Context<ConsoleOutputResults>>,
    ) {
      return Promise.map(function (
        lcResults: Logging.Context<ConsoleOutputResults>,
      ) {
        return lcResults.value;
      },
      future);
    },
    outputResults);

  return resultingLoggingContext;
}