diff --git a/noodles-fasta/CHANGELOG.md b/noodles-fasta/CHANGELOG.md index 23e3c53d4..129db16b1 100644 --- a/noodles-fasta/CHANGELOG.md +++ b/noodles-fasta/CHANGELOG.md @@ -6,6 +6,8 @@ * fasta/async/io: Add async writer (`fasta::r#async::io::Writer`). + * fasta/io/writer/builder: Add build from path (`Builder::build_from_path`). + ### Deprecated * fasta: Deprecate async re-export (`AsyncReader`). diff --git a/noodles-fasta/src/io/writer/builder.rs b/noodles-fasta/src/io/writer/builder.rs index b05bc4115..de8be9159 100644 --- a/noodles-fasta/src/io/writer/builder.rs +++ b/noodles-fasta/src/io/writer/builder.rs @@ -1,4 +1,8 @@ -use std::io::Write; +use std::{ + fs::File, + io::{self, Write}, + path::Path, +}; use super::Writer; @@ -25,6 +29,22 @@ impl Builder { self } + /// Builds a FASTA writer from a path. + /// + /// # Examples + /// + /// ```no_run + /// use noodles_fasta as fasta; + /// let writer = fasta::io::writer::Builder::default().build_from_path("out.fa")?; + /// # Ok::<_, std::io::Error>(()) + /// ``` + pub fn build_from_path

(self, dst: P) -> io::Result> + where + P: AsRef, + { + File::create(dst).map(|file| self.build_from_writer(file)) + } + /// Builds a FASTA writer from a writer. /// /// # Examples