> ## Documentation Index
> Fetch the complete documentation index at: https://bazel-pr-29840.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# 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)
* [add\_joined](#add_joined)

## add

```
TemplateDict TemplateDict.add(key, value)
```

Add a String value

### Parameters

| Parameter | Description                                        |
| --------- | -------------------------------------------------- |
| `key`     | [string](../core/string); required  A String key   |
| `value`   | [string](../core/string); required  A String value |

## add\_joined

```
TemplateDict TemplateDict.add_joined(key, values, *, join_with, map_each, uniquify=False, format_joined=None, allow_closure=False)
```

Add depset of values

### Parameters

| Parameter       | Description                                                                                                                                                                                                                                                                                                                |
| --------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `key`           | [string](../core/string); required  A String key                                                                                                                                                                                                                                                                           |
| `values`        | [depset](../builtins/depset); required  The depset whose items will be joined.                                                                                                                                                                                                                                             |
| `join_with`     | [string](../core/string); required  A delimiter string used to join together the strings obtained from applying `map_each`, in the same manner as [`string.join()`](../core/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`      | [bool](../core/bool); default is `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. |
| `format_joined` | [string](../core/string); or `None`; default is `None`  An optional format string pattern applied to the joined string. The format string must have exactly one '%s' placeholder.                                                                                                                                          |
| `allow_closure` | [bool](../core/bool); default is `False`  If true, allows the use of closures in function parameters like `map_each`. Usually this isn't necessary and it risks retaining large analysis-phase data structures into the execution phase.                                                                                   |
