View Source Surface.AST.Attribute (Surface v0.12.0)

An AST node representing an attribute or property

Properties

* `:type` - an atom representing the type of attribute. See Surface.API for the list of supported types
* `:type_opts` - a keyword list of options for the type
* `:name` - the name of the attribute (e.g. `:class`)
* `:root` - true if the attribute was defined using root notation `{ ... }`. Root attributes won't have `name`.
* `:value` - a list of nodes that can be concatenated to form the value for this attribute. Potentially contains dynamic data
* `:meta` - compilation meta data

Summary

Types

@type t() :: %Surface.AST.Attribute{
  meta: Surface.AST.Meta.t(),
  name: atom() | nil,
  root: boolean() | nil,
  type: atom() | nil,
  type_opts: keyword() | nil,
  value: Surface.AST.Literal.t() | Surface.AST.AttributeExpr.t()
}