# `Ash.TypedStruct.Info`
[🔗](https://github.com/ash-project/ash/blob/v3.27.8/lib/ash/typed_struct/info.ex#L5)

Introspection for typed structs

# `extensions`

```elixir
@spec extensions(typed_struct :: Ash.Type.NewType.t()) :: [module()]
```

Returns a list of extensions in use by the typed struct

# `field`

```elixir
@spec field(Spark.Dsl.t() | Ash.Type.NewType.t(), String.t() | atom()) ::
  Ash.TypedStruct.Field.t() | nil
```

Get a field by name from the typed struct

# `field_names`

```elixir
@spec field_names(Spark.Dsl.t() | Ash.Type.NewType.t()) :: [atom()]
```

# `fields`

```elixir
@spec fields(Spark.Dsl.t() | Ash.Type.NewType.t()) :: [Ash.TypedStruct.Field.t()]
```

Returns all fields of a typed struct

---

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