1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//! Interfaces for RDF formatters.
//!
//! The main types are [`TriplesFormatter`] for triples parsing and [`QuadsFormatter`] for quads parsing.

use crate::model::{Quad, Triple};
use std::error::Error;

/// A formatter for [`Triple`](super::model::Triple).
pub trait TriplesFormatter {
    type Error: Error;

    /// Writes a triple
    fn format(&mut self, triple: &Triple<'_>) -> Result<(), Self::Error>;
}

/// A formatter for [`Quad`](super::model::Quad).
pub trait QuadsFormatter {
    type Error: Error;

    /// Writes a quad
    fn format(&mut self, quad: &Quad<'_>) -> Result<(), Self::Error>;
}