# TemplateDict

An Args-like structure for use in ctx.actions.expand_template(), which allows for deferring evaluation of values till the execution phase.

## Members

- add
- add_joined

## add

    TemplateDict TemplateDict.add(key, value)

Add a String value

### Parameters

Parameter | Description
--- | ---
`key` | required A String key
`value` | required A String value

## add_joined

    TemplateDict TemplateDict.add_joined(key, values, *, join_with, map_each, uniquify=False)

Add depset of values

### Parameters

Parameter | Description
--- | ---
`key` | required A String key
`values` | `depset`; required The depset whose items will be joined.
`join_with` | required A delimiter string used to join together the strings obtained from applying `map_each`, in the same manner as `string.join()`.
`map_each` | `callable`; required A Starlark function accepting a single argument and returning either a string, `None`, or a list of strings. This function is applied to each item of the depset specified in the `values` parameter
`uniquify` | default = False If true, duplicate strings derived from `values` will be omitted. Only the first occurrence of each string will remain. Usually this feature is not needed because depsets already omit duplicates, but it can be useful if `map_each` emits the same string for multiple items.