Figler.Render.Options (figler v0.1.0-beta.1)

Copy Markdown View Source

Validation and types for the public rendering option contract.

Unknown options and malformed values return {:error, {:invalid_render_options, errors}}, where each error contains the option name, a stable code, and the rejected value.

Summary

Functions

Validates public rendering options.

Types

error()

@type error() :: Figler.OptionError.t()

option()

@type option() ::
  {:root, String.t() | non_neg_integer()}
  | {:page, String.t() | non_neg_integer()}
  | {:graph, keyword()}
  | {:scale, number()}
  | {:background,
     :black
     | :white
     | :red
     | :green
     | :blue
     | :transparent
     | String.t()
     | {0..255, 0..255, 0..255}
     | {0..255, 0..255, 0..255, 0..255}}
  | {:format, :png | :jpeg | :webp | :raw}
  | {:quality, 0..100}
  | {:strict, boolean()}
  | {:fallback_font_paths, [String.t()]}
  | {:fallback_typefaces, [term()]}
  | {:font_languages, [String.t()]}
  | {:system_font_fallback, boolean()}

Functions

validate(opts)

@spec validate(keyword()) :: :ok | {:error, {:invalid_render_options, [error()]}}

Validates public rendering options.