sparkling/format

Types

Error type for format operations

pub type FormatError {
  HandlerNotFound(String)
  EncodeError(String)
  DecodeError(String)
}

Constructors

  • HandlerNotFound(String)
  • EncodeError(String)
  • DecodeError(String)

Format handler that encodes/decodes data in a specific format

pub type FormatHandler {
  FormatHandler(
    name: String,
    encode: fn(String) -> Result(String, String),
    decode: fn(String) -> Result(String, String),
  )
}

Constructors

  • FormatHandler(
      name: String,
      encode: fn(String) -> Result(String, String),
      decode: fn(String) -> Result(String, String),
    )

Registry of format handlers

pub opaque type FormatRegistry

Values

pub fn decode(
  registry: FormatRegistry,
  format_name: String,
  data: String,
) -> Result(String, FormatError)

Decode data using the specified format handler

pub fn default() -> FormatRegistry

Create a default registry with JSONEachRow handler

pub fn encode(
  registry: FormatRegistry,
  format_name: String,
  data: String,
) -> Result(String, FormatError)

Encode data using the specified format handler

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

Get a format handler by name

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 in the registry

Search Document