# `PtcRunner.SubAgent.Signature.ParserHelpers`
[🔗](https://github.com/andreasronge/ptc_runner/blob/main/lib/ptc_runner/sub_agent/signature/parser_helpers.ex#L1)

Helper functions for signature parser AST building.

# `build_full_signature`

Build full signature from parameters and return type.

When optional(parsec(:parameters_list)) doesn't match,
we get just [return_type]. When it does match, we get [params, return_type].

# `build_map_field`

Build a map field (key :type).

# `build_map_type`

Build a map type wrapper.

# `build_parameter`

Build a parameter (name :type).

# `build_shorthand_signature`

Build shorthand signature (no input, just output).

# `build_type`

Build a type from primitive type keyword and optional suffix.

# `concat_identifier`

Concatenate identifier parts (first char + optional rest).

# `flatten_list`

Flatten lists from repeat parsing.

When parsing with repeat(), we get [first_result, [rest_result_1, rest_result_2, ...]]
This returns [first_result, rest_result_1, rest_result_2, ...]

# `wrap_list`

Build a list type wrapper.

---

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