# `Surface.AST.Meta`
[🔗](https://github.com/surface-ui/surface/blob/v0.12.3/lib/surface/ast.ex#L90)

A container for metadata about compilation.

## Properties
    * `:line` - the line from the source code where the parent was extracted
    * `:column` - the column from the source code where the parent was extracted
    * `:module` - the component module (e.g. `Surface.Components.LivePatch`)
    * `:node_alias` - the alias used inside the source code (e.g. `LivePatch`)
    * `:file` - the file from which the source was extracted
    * `:caller` - a Macro.Env struct representing the caller
    * `:style` - the style info of the component, if any
    * `:caller_spec` - the specs of the caller component

# `t`
[🔗](https://github.com/surface-ui/surface/blob/v0.12.3/lib/surface/ast.ex#L120)

```elixir
@type t() :: %Surface.AST.Meta{
  caller: Macro.Env.t(),
  caller_spec: struct(),
  checks: Keyword.t(boolean()),
  column: non_neg_integer(),
  file: binary(),
  line: non_neg_integer(),
  module: atom(),
  node_alias: binary() | nil,
  style:
    %{
      scope_id: binary(),
      css: binary(),
      selectors: [binary()],
      vars: %{required(var :: binary()) =&gt; expr :: binary()}
    }
    | nil
}
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
