Hologram.Typespecs (hologram v0.1.0)

Link to this section Summary

Types

e.g. MapSet.new([{Hologram.Compiler.Processor, :compile}])

e.g. %{Hologram.Typespecs => %ModuleDefinition{}}

e.g. [:Hologram, :Typespecs]

Link to this section Types

Link to this type

function_name()

Specs

function_name() :: atom()
Link to this type

function_set()

Specs

function_set() :: MapSet.t({module(), function_name()})

e.g. MapSet.new([{Hologram.Compiler.Processor, :compile}])

Link to this type

module_definitions_map()

Specs

module_definitions_map() :: %{
  required(module()) => %Hologram.Compiler.IR.ModuleDefinition{
    aliases: term(),
    attributes: term(),
    component?: term(),
    functions: term(),
    imports: term(),
    layout?: term(),
    macros: term(),
    module: term(),
    page?: term(),
    requires: term(),
    templatable?: term(),
    uses: term()
  }
}

e.g. %{Hologram.Typespecs => %ModuleDefinition{}}

Link to this type

module_name_segments()

Specs

module_name_segments() :: [atom()]

e.g. [:Hologram, :Typespecs]

Specs

vdom_node() ::
  %Hologram.Template.VDOM.Component{
    children: term(),
    module: term(),
    module_def: term(),
    props: term()
  }
  | %Hologram.Template.VDOM.ElementNode{
      attrs: term(),
      children: term(),
      tag: term()
    }
  | %Hologram.Template.VDOM.Expression{ir: term()}
  | %Hologram.Template.VDOM.TextNode{content: term()}