lowlevel

object lowlevel

Low level pipes for CSV handling. All pipes only perform one step in a CSV (de)serialization pipeline, so use these if you want to customise. All standard use cases should be covered by the higher level pipes directly on the csv package which are composed of the lower level ones here.

class Object
trait Matchable
class Any

Value members

Concrete methods

def attemptDecode[F[_], R](implicit R: RowDecoder[R]): (F, Row) => DecoderResult[R]

Decodes simple rows (without headers) into a specified type using a suitable RowDecoder, but signal errors as values.

Decodes simple rows (without headers) into a specified type using a suitable RowDecoder, but signal errors as values.

def attemptDecodeRow[F[_], Header, R](implicit R: CsvRowDecoder[R, Header]): (F, CsvRow[Header]) => DecoderResult[R]

Decodes CsvRows (with headers) into a specified type using a suitable CsvRowDecoder, but signal errors as values.

Decodes CsvRows (with headers) into a specified type using a suitable CsvRowDecoder, but signal errors as values.

def decode[F[_], R](implicit F: RaiseThrowable[F], R: RowDecoder[R]): (F, Row) => R

Decodes simple rows (without headers) into a specified type using a suitable RowDecoder.

Decodes simple rows (without headers) into a specified type using a suitable RowDecoder.

def decodeRow[F[_], Header, R](implicit F: RaiseThrowable[F], R: CsvRowDecoder[R, Header]): (F, CsvRow[Header]) => R

Decodes CsvRows (with headers) into a specified type using a suitable CsvRowDecoder.

Decodes CsvRows (with headers) into a specified type using a suitable CsvRowDecoder.

def encode[F[_], R](implicit R: RowEncoder[R]): (F, R) => Row

Encode a given type into simple CSV rows without headers.

Encode a given type into simple CSV rows without headers.

def encodeRow[F[_], Header, R](implicit R: CsvRowEncoder[R, Header]): (F, R) => CsvRow[Header]

Encode a given type into CSV rows with headers.

Encode a given type into CSV rows with headers.

def encodeRowWithFirstHeaders[F[_], Header](implicit H: WriteableHeader[Header]): (F, CsvRow[Header]) => NonEmptyList[String]

Encode a given type into CSV row with headers taken from the first element. If the input stream is empty, the output is as well.

Encode a given type into CSV row with headers taken from the first element. If the input stream is empty, the output is as well.

def headers[F[_], Header](implicit F: RaiseThrowable[F], Header: ParseableHeader[Header]): (F, Row) => CsvRow[Header]

Transforms a stream of raw CSV rows into parsed CSV rows with headers.

Transforms a stream of raw CSV rows into parsed CSV rows with headers.

def headersAttempt[F[_], Header](implicit F: RaiseThrowable[F], Header: ParseableHeader[Header]): (F, Row) => Either[Throwable, CsvRow[Header]]

Transforms a stream of raw CSV rows into parsed CSV rows with headers, with failures at the element level instead of failing the stream

Transforms a stream of raw CSV rows into parsed CSV rows with headers, with failures at the element level instead of failing the stream

def noHeaders[F[_]]: (F, Row) => Row

Transforms a stream of raw CSV rows into rows.

Transforms a stream of raw CSV rows into rows.

def rows[F[_], T](separator: Char, quoteHandling: QuoteHandling)(implicit F: RaiseThrowable[F], T: CharLikeChunks[F, T]): (F, T) => Row

Transforms a stream of characters into a stream of CSV rows.

Transforms a stream of characters into a stream of CSV rows.

Value parameters:
quoteHandling

use QuoteHandling.RFCCompliant for RFC-4180 handling of quotation marks (optionally quoted if the value begins with a quotation mark; the default) or QuoteHandling.Literal if quotation marks should be treated literally

separator

character to use to separate fields in the CSV

def skipHeaders[F[_]]: (F, Row) => Row

Transforms a stream of raw CSV rows into rows, skipping the first row to ignore the headers.

Transforms a stream of raw CSV rows into rows, skipping the first row to ignore the headers.

def toRowStrings[F[_]](separator: Char, newline: String, escape: EscapeMode): (F, NonEmptyList[String]) => String

Serialize a CSV row to Strings. Guaranteed to emit one String per CSV row (= one line if no quoted newlines are contained in the value).

Serialize a CSV row to Strings. Guaranteed to emit one String per CSV row (= one line if no quoted newlines are contained in the value).

def toStrings[F[_]](separator: Char, newline: String, escape: EscapeMode): (F, NonEmptyList[String]) => String

Serialize a CSV row to Strings. No guarantees are given on how the resulting Strings are cut.

Serialize a CSV row to Strings. No guarantees are given on how the resulting Strings are cut.

def withHeaders[F[_], Header](headers: NonEmptyList[Header])(implicit F: RaiseThrowable[F]): (F, Row) => CsvRow[Header]

Transforms a stream of raw CSV rows into parsed CSV rows with given headers.

Transforms a stream of raw CSV rows into parsed CSV rows with given headers.

def writeWithHeaders[F[_], Header](headers: NonEmptyList[Header])(implicit H: WriteableHeader[Header]): (F, Row) => NonEmptyList[String]

Encode a given type into CSV rows using a set of explicitly given headers.

Encode a given type into CSV rows using a set of explicitly given headers.

def writeWithoutHeaders[F[_]]: (F, Row) => NonEmptyList[String]

Encode a given type into CSV rows without headers.

Encode a given type into CSV rows without headers.