dbcrossbarlib 0.5.3

Library for copying data between databases (pre-release)
Documentation
use async_trait::async_trait;

use super::DataFormatConverter;
use crate::{common::*, json_to_csv::json_lines_to_csv};

pub(crate) struct JsonLinesConverter;

#[async_trait]
impl DataFormatConverter for JsonLinesConverter {
    async fn data_format_to_csv(
        &self,
        ctx: &Context,
        schema: &Schema,
        data: BoxStream<BytesMut>,
    ) -> Result<BoxStream<BytesMut>> {
        json_lines_to_csv(ctx, schema, data).await
    }

    async fn csv_to_data_format(
        &self,
        _ctx: &Context,
        _schema: &Schema,
        _data: BoxStream<BytesMut>,
    ) -> Result<BoxStream<BytesMut>> {
        Err(format_err!(
            "cannot convert CSV to JSON Lines (not yet implemented)"
        ))
    }
}