Packages

Compare if two types have the same constructor in Gleam

Current section

Files

Jump to
comparator src comparator.erl
Raw

src/comparator.erl

-module(comparator).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/comparator.gleam").
-export([is_same_kind/2]).
-if(?OTP_RELEASE >= 27).
-define(MODULEDOC(Str), -moduledoc(Str)).
-define(DOC(Str), -doc(Str)).
-else.
-define(MODULEDOC(Str), -compile([])).
-define(DOC(Str), -compile([])).
-endif.
-file("src/comparator.gleam", 12).
?DOC(
" Compare if two types have the same constructor\n"
" \n"
" ```gleam\n"
" assert is_same_kind(Size(Medium), Size(Small)) == True\n"
" assert is_same_kind(Size(Medium), Variant(Primary)) == False\n"
" assert is_same_kind(Variant(Primary), Variant(Primary)) == True\n"
" assert is_same_kind(Variant(Primary), Variant(Secondary)) == True\n"
" ```\n"
).
-spec is_same_kind(DTX, DTX) -> boolean().
is_same_kind(A, B) ->
comparator_ffi:is_same_kind(A, B).