comparator

Compare if two types have the same constructor in Gleam

Package Version Hex Docs

gleam add comparator@1
import comparator.{is_same_kind}

type Size {
  Small
  Medium
}

type Variant {
  Primary
  Secondary
}

type Key {
  Size(Size)
  Variant(Variant)
}

pub fn main() -> Nil {
  assert is_same_kind(Size(Medium), Size(Small), True) == True
  assert is_same_kind(Size(Medium), Variant(Primary), False) == False
  assert is_same_kind(Variant(Primary), Variant(Primary), False) == True
  assert is_same_kind(Variant(Primary), Variant(Secondary), False) == True
}

Further documentation can be found at https://hexdocs.pm/comparator.

Development

gleam run   # Run the project
gleam test  # Run the tests
Search Document