sparkling/format/registry

Types

Format handler for a specific ClickHouse format. encode: List(Dict) → serialized string decode: serialized string → List(Dict)

pub type FormatHandler {
  FormatHandler(
    name: String,
    encode: fn(List(dict.Dict(String, json.Json))) -> Result(
      String,
      String,
    ),
    decode: fn(String) -> Result(
      List(dict.Dict(String, json.Json)),
      String,
    ),
  )
}

Constructors

  • FormatHandler(
      name: String,
      encode: fn(List(dict.Dict(String, json.Json))) -> Result(
        String,
        String,
      ),
      decode: fn(String) -> Result(
        List(dict.Dict(String, json.Json)),
        String,
      ),
    )

Registry of format handlers (opaque).

pub opaque type FormatRegistry

Values

pub fn decode(
  registry: FormatRegistry,
  format_name: String,
  data: String,
) -> Result(List(dict.Dict(String, json.Json)), String)

Decode data using the specified format handler.

pub fn encode(
  registry: FormatRegistry,
  format_name: String,
  data: List(dict.Dict(String, json.Json)),
) -> Result(String, String)

Encode data using the specified format handler.

pub fn get_handler(
  registry: FormatRegistry,
  format_name: String,
) -> Result(FormatHandler, String)

Get a format handler by name. Returns an error string if not found.

pub fn list_formats(registry: FormatRegistry) -> List(String)

List all registered format names.

pub fn new() -> FormatRegistry

Create a new empty format registry.

pub fn register(
  registry: FormatRegistry,
  handler: FormatHandler,
) -> FormatRegistry

Register a format handler. Overwrites any existing handler with the same name.

Search Document