lib/influx_ex/csv_library.ex
defmodule InfluxEx.CSVLibrary do
@moduledoc """
Behaviour for a CSV library to implement
By default InfluxEx will try to use `InfluxEx.CSV` which using `:nimble_csv`
under the hood. If you want to use a different CSV library you can implement
this behaviour for your library and pass the implementation module to the
`:csv_library` option in `InfluxEx.Client.new/2`.
"""
@typedoc """
A modules that implements this behaviour
"""
@type t() :: module()
@doc """
Parse a CSV string into a list of rows (lists)
"""
@callback parse_string(binary()) :: [[binary()]]
end