-
Notifications
You must be signed in to change notification settings - Fork 60
/
merge-documents.story
55 lines (45 loc) · 1.04 KB
/
merge-documents.story
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
Merge YAML documents:
docs: howto/merge-yaml-documents
based on: strictyaml
description: |
Loaded YAML can be combined and dumped with the comments intact.
given:
yaml_snippet_1: |
# Some comment
a: â # value comment
# Another comment
b:
x: 4
y: 5
c:
- a: 1
- b: 2
yaml_snippet_2: |
x: 8
# y is now 9
y: 9
setup: |
from strictyaml import Map, MapPattern, Str, Seq, Int, load
schema_1 = Map({
"a": Str(),
"b": Map({"x": Int(), "y": Int()}),
"c": Seq(MapPattern(Str(), Str())),
})
schema_2 = Map({"x": Int(), "y": Int()})
yaml_1 = load(yaml_snippet_1, schema_1)
yaml_2 = load(yaml_snippet_2, schema_2)
yaml_1['b'] = yaml_2
steps:
- Run:
code: print(yaml_1.as_yaml())
will output: |-
# Some comment
a: â # value comment
# Another comment
b:
x: 8
# y is now 9
y: 9
c:
- a: 1
- b: 2