diff options
| author | Dave Henderson <dhenderson@gmail.com> | 2019-01-29 22:00:57 -0500 |
|---|---|---|
| committer | Dave Henderson <dhenderson@gmail.com> | 2019-01-29 22:29:22 -0500 |
| commit | 8a50b114e18069b1be388102a128869a9861555b (patch) | |
| tree | ead9d88ba23658da8515c5b494971060b6effbfd /docs-src/content | |
| parent | 8695b4f6d86bfa3c241f65bf362e36600da97495 (diff) | |
New coll.Merge function
Signed-off-by: Dave Henderson <dhenderson@gmail.com>
Diffstat (limited to 'docs-src/content')
| -rw-r--r-- | docs-src/content/functions/coll.yml | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/docs-src/content/functions/coll.yml b/docs-src/content/functions/coll.yml index c4d61dce..158df4b2 100644 --- a/docs-src/content/functions/coll.yml +++ b/docs-src/content/functions/coll.yml @@ -195,3 +195,34 @@ funcs: - | $ gomplate -i '{{ slice 4 3 2 1 | reverse }}' [1 2 3 4] + - name: coll.Merge + alias: merge + description: | + Merge maps together by overriding src with dst. + + In other words, the src map can be configured the "default" map, whereas the dst + map can be configured the "overrides". + + Many source maps can be provided. Precedence is in left-to-right order. + + Note that this function _changes_ the destination map. + pipeline: true + arguments: + - name: dst + required: true + description: the map to merge _into_ + - name: srcs... + required: true + description: the map (or maps) to merge _from_ + examples: + - | + $ gomplate -i '{{ $default := dict "foo" 1 "bar" 2}} + {{ $config := dict "foo" 8 }} + {{ merge $config $default }}' + map[bar:2 foo:8] + - | + $ gomplate -i '{{ $dst := dict "foo" 1 "bar" 2 }} + {{ $src1 := dict "foo" 8 "baz" 4 }} + {{ $src2 := dict "foo" 3 "bar" 5 }} + {{ coll.Merge $dst $src1 $src2 }}' + map[foo:1 bar:5 baz:4] |
