View Source Drops.Types.List (drops v0.2.1)

Drops.Types.List is a struct that represents a list type with a member type and optional constraints.

Examples

iex> Drops.Type.Compiler.visit({:type, {:list, []}}, [])
%Drops.Types.Primitive{primitive: :list, constraints: [predicate: {:type?, :list}]}

iex> Drops.Type.Compiler.visit({:type, {:list, {:type, {:integer, []}}}}, [])
%Drops.Types.List{
  primitive: :list,
  constraints: [predicate: {:type?, :list}],
  member_type: %Drops.Types.Primitive{
    primitive: :integer,
    constraints: [predicate: {:type?, :integer}]
  }
}

Summary

Types

@type t() :: %Drops.Types.List{
  constraints: term(),
  member_type: term(),
  opts: term(),
  primitive: term()
}

Functions

Link to this function

new(member_type, constraints \\ [])

View Source