View Source ColorPalette.DataConverter (ColorPalette v0.1.4)

The functions in ColorPalette.DataConverter are all pure functions for testability (as opposed to those in ColorPalette which reference statically compiled data).

Summary

Functions

Link to this function

add_ansi_color_codes_to_colors(color_data, ansi_color_codes)

View Source
@spec add_ansi_color_codes_to_colors([ColorPalette.Color.t()], [
  ColorPalette.ANSIColorCode.t()
]) :: [
  ColorPalette.Color.t()
]
Link to this function

annotate_same_as_field(colors)

View Source
@spec annotate_same_as_field([ColorPalette.Color.t()]) :: [ColorPalette.Color.t()]
Link to this function

annotate_same_as_field_for_codes_with_same_hex(colors, ansi_codes_with_same_hex)

View Source
@spec annotate_same_as_field_for_codes_with_same_hex([ColorPalette.Color.t()], %{
  required(ColorPalette.ANSIColorCode.hex()) => [
    ColorPalette.ANSIColorCode.code()
  ]
}) :: [ColorPalette.Color.t()]
Link to this function

annotate_same_as_field_for_duplicate_code_hexes(colors, ansi_codes_with_same_hex_value)

View Source
@spec annotate_same_as_field_for_duplicate_code_hexes(
  %{required(ColorPalette.Color.name()) => ColorPalette.Color.t()},
  %{
    required(ColorPalette.ANSIColorCode.hex()) => [
      ColorPalette.ANSIColorCode.code()
    ]
  }
) :: %{required(ColorPalette.Color.name()) => ColorPalette.Color.t()}
Link to this function

ansi_color_codes_to_color_names(ansi_color_codes, colors, ansi_codes_with_same_hex_value)

View Source
@spec ansi_color_codes_to_color_names(
  [ColorPalette.ANSIColorCode.t()],
  %{required(ColorPalette.Color.name()) => ColorPalette.Color.t()},
  %{
    required(ColorPalette.ANSIColorCode.hex()) => [
      ColorPalette.ANSIColorCode.code()
    ]
  }
) :: %{required(ColorPalette.ANSIColorCode.t()) => [ColorPalette.Color.name()]}
Link to this function

collate_colors_with_same_name_for_code(colors)

View Source
@spec collate_colors_with_same_name_for_code([[ColorPalette.Color.t()]]) :: [
  [ColorPalette.Color.t()]
]
Link to this function

color_groups_to_ansi_color_codes(ansi_color_codes, color_groups)

View Source
@spec color_groups_to_ansi_color_codes([ColorPalette.ANSIColorCode.t()], [
  ColorPalette.ColorGroup.t()
]) ::
  %{required(ColorPalette.ColorGroup.t()) => [ColorPalette.ANSIColorCode.t()]}
Link to this function

color_name_to_atom(name)

View Source
@spec color_name_to_atom(String.t()) :: [ColorPalette.Color.name()]
Link to this function

color_names_to_colors(colors)

View Source
@spec color_names_to_colors([ColorPalette.Color.t()]) :: %{
  required(ColorPalette.Color.name()) => [ColorPalette.Color.t()]
}
Link to this function

convert_raw_color_data_to_colors(raw_color_data, source)

View Source
@spec convert_raw_color_data_to_colors([map()], ColorPalette.Color.source()) :: [
  ColorPalette.Color.t()
]
Link to this function

create_names_for_missing_colors(all_colors, color_codes_missing_names)

View Source
@spec create_names_for_missing_colors(
  %{required(ColorPalette.Color.name()) => ColorPalette.Color.t()},
  [ColorPalette.ANSIColorCode.code()]
) :: %{required(ColorPalette.Color.name()) => ColorPalette.Color.t()}
Link to this function

find_by_code(colors, code)

View Source
Link to this function

find_by_hex(color_names, hex)

View Source
Link to this function

group_by_name_frequency(ansi_colors)

View Source
@spec group_by_name_frequency([[ColorPalette.Color.t()]]) :: %{
  required(ColorPalette.Color.name()) => ColorPalette.Color.t()
}
@spec multi_zip([[ColorPalette.Color.t()]]) :: [[ColorPalette.Color.t()]]
Link to this function

normalize_data(color_data_api)

View Source
@spec normalize_data(map()) :: map()
Link to this function

purge_orphaned_same_as_entries(color_map)

View Source
@spec purge_orphaned_same_as_entries(%{
  required(ColorPalette.Color.name()) => ColorPalette.Color.t()
}) ::
  %{required(ColorPalette.Color.name()) => ColorPalette.Color.t()}
Link to this function

unnamed_ansi_color_codes(color_map)

View Source
@spec unnamed_ansi_color_codes(%{
  required(ColorPalette.Color.name()) => ColorPalette.Color.t()
}) :: [
  ColorPalette.ANSIColorCode.code()
]