Add explicit lifetime for SerializationOptions
This commit is contained in:
@@ -100,12 +100,12 @@ impl<D> RdfSource<D> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// Holds options related to serialization.
|
/// Holds options related to serialization.
|
||||||
pub struct SerializationOptions {
|
pub struct SerializationOptions<'a> {
|
||||||
format: RdfFormat,
|
format: RdfFormat,
|
||||||
filter: Box<dyn Fn(TripleRef<'_>) -> bool>,
|
filter: Box<dyn Fn(TripleRef<'a>) -> bool>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl SerializationOptions {
|
impl<'a> SerializationOptions<'a> {
|
||||||
/// Create a new set of serialization options with the provided format.
|
/// Create a new set of serialization options with the provided format.
|
||||||
pub fn from_format(format: RdfFormat) -> Self {
|
pub fn from_format(format: RdfFormat) -> Self {
|
||||||
Self {
|
Self {
|
||||||
@@ -120,7 +120,7 @@ impl SerializationOptions {
|
|||||||
#[must_use]
|
#[must_use]
|
||||||
pub fn with_filter<F>(self, filter: F) -> Self
|
pub fn with_filter<F>(self, filter: F) -> Self
|
||||||
where
|
where
|
||||||
F: Fn(TripleRef<'_>) -> bool + 'static,
|
F: Fn(TripleRef<'a>) -> bool + 'static,
|
||||||
{
|
{
|
||||||
Self {
|
Self {
|
||||||
format: self.format,
|
format: self.format,
|
||||||
@@ -134,7 +134,7 @@ where
|
|||||||
&'a D: IntoIterator<Item = QuadRef<'a>>,
|
&'a D: IntoIterator<Item = QuadRef<'a>>,
|
||||||
{
|
{
|
||||||
/// Serializes the dataset in to the provided format.
|
/// Serializes the dataset in to the provided format.
|
||||||
pub fn serialize(&'a self, options: SerializationOptions) -> crate::Result<bytes::Bytes> {
|
pub fn serialize(&'a self, options: SerializationOptions<'a>) -> crate::Result<bytes::Bytes> {
|
||||||
let writer = bytes::BytesMut::new().writer();
|
let writer = bytes::BytesMut::new().writer();
|
||||||
let mut serializer = RdfSerializer::from_format(options.format).for_writer(writer);
|
let mut serializer = RdfSerializer::from_format(options.format).for_writer(writer);
|
||||||
|
|
||||||
@@ -159,7 +159,7 @@ where
|
|||||||
/// Prepare an update request.
|
/// Prepare an update request.
|
||||||
pub fn to_update(
|
pub fn to_update(
|
||||||
&'a self,
|
&'a self,
|
||||||
options: SerializationOptions,
|
options: SerializationOptions<'a>,
|
||||||
) -> crate::Result<RdfSourceUpdateRequest> {
|
) -> crate::Result<RdfSourceUpdateRequest> {
|
||||||
let url = self.described_by.clone().unwrap_or(self.origin.clone());
|
let url = self.described_by.clone().unwrap_or(self.origin.clone());
|
||||||
let media_type = options.format.media_type().to_string();
|
let media_type = options.format.media_type().to_string();
|
||||||
|
|||||||
Reference in New Issue
Block a user