FSST.Table (FSST v0.1.2)

Copy Markdown View Source

Opaque FSST symbol table.

Build tables with FSST.train/2 or FSST.Table.from_symbols/1 and pass them to FSST.compress/3 and FSST.decompress/3.

Summary

Functions

Builds a pure Elixir table from an existing serialized FSST symbol table.

Builds a pure Elixir table from existing serialized symbols or raises.

Types

t()

@type t() :: %FSST.Table{
  backend: module(),
  codes: %{required(binary()) => byte()} | nil,
  lengths: [pos_integer()] | nil,
  native: term(),
  pattern: tuple() | nil,
  symbols: tuple() | nil
}

Functions

from_symbols(symbols)

@spec from_symbols([binary()]) :: {:ok, t()} | {:error, term()}

Builds a pure Elixir table from an existing serialized FSST symbol table.

Symbols must be provided in code order. Each symbol must be a binary from one to eight bytes. Code 255 is reserved for escaped raw bytes, so at most 255 symbols are allowed.

from_symbols!(symbols)

@spec from_symbols!([binary()]) :: t()

Builds a pure Elixir table from existing serialized symbols or raises.