Document barectf 3
[barectf.git] / docs / modules / yaml / partials / patching-rules-table.adoc
1 For a given property of __**A**__, the patching rules are:
2
3 [%autowidth.stretch, cols="d,a,a"]
4 |===
5 |__**A**__'s property type |<em>A</em>'s property exists in&#160;<em>B</em> |<em>A</em>'s property doesn't exist in&#160;<em>B</em>
6
7 |Null, boolean, integer, and string
8 |Replace __**B**__'s property with __**A**__'s property.
9 |Keep __**A**__'s property.
10
11 |Sequence
12 |
13 __**B**__'s property is also a sequence::
14 Append the items of __**A**__'s property to __**B**__'s
15 property.
16 +
17 A structure field type object's
18 xref:struct-ft-obj.adoc#members-prop[`members` property] is an
19 exception: __**A**__'s property is considered to be an _ordered
20 mapping_, therefore apply the mapping patching rules.
21
22 __**B**__'s property is _not_ a sequence::
23 Replace __**B**__'s property with __**A**__'s property.
24 |Keep __**A**__'s property.
25
26 |Mapping
27 |
28 __**B**__'s property is also a mapping::
29 Patch __**A**__'s property over __**B**__'s property according to
30 those rules.
31
32 __**B**__'s property is _not_ a mapping::
33 Replace __**B**__'s property with __**A**__'s property.
34 |Keep __**A**__'s property.
35 |===
36
37 NOTE: When __**A**__'s property replaces __**B**__'s property and the
38 value of __**A**__'s property is null, this effectively "`resets`" the
39 property to its default value.
This page took 0.030785 seconds and 4 git commands to generate.