# info/props Get the metadata map for a value, namespace, or type. Passing a `deftype` name returns its reflection map. ## Syntax
[info/props arg1]
## Parameters - `arg1` — a namespace name, a variable name, or a type name (string; for types the bare name, e.g. `"Server"`) ## Examples
deftype Server %{
    :name %{:type :string :required true}
    :port %{:type :number :coerce true :min 1}
}

set p [info/props "Server"]
[keys $p]                                # => :name :fields :schema ...
[get $p :fields]                         # => @{ "name" "port" }
[get [get $p :effective-schema] :port]   # => %{:type :number :coerce true :min 1}
## Returns For a type: `%{ :name :fields :schema :effective-schema :defaults` :parent :variants :methods :method-docs }` (keys with no data are` omitted). - `:fields` — ordered field names, parent fields included - `:schema` — the type's own raw field→spec map (as declared) - `:effective-schema` — the field→spec map merged across the `<<` parent chain, child keys overriding (what validators read) - `:defaults` — merged field→default map For a value or namespace, the attributes attached via decorators/`@meta`. ## See Also `schema/validate`, `schema/from-value`, `info/types`, `deftype`