ExShopifySchema.Types (ExShopifySchema v2025.1.7)
View SourceThis module provides utility functions for defining types.
Summary
Functions
Make sum type from a list of modules.
defmodule Foo do
@type t() :: :foo
end
defmodule Bar do
@type t() :: :bar
end
defmodule Baz do
@type t() :: :baz
end
iex> ExShopifySchema.Types.make_module_sum_type([Foo, Bar, Baz], :t)
quote do: Foo.t() | Bar.t() | Baz.t()
Make sum type.
Example
iex> ExShopifySchema.Types.make_sum_type([:foo, :bar, :baz])
quote do: :foo | :bar | :bazUsage
defmodule MyApp.MyType do
@type t() :: unquote(ExShopifySchema.Types.make_sum_type([:foo, :bar, :baz]))
# equals to
@type t_equivalent() :: :foo | :bar | :baz
end