Apply a partial patch to a ProviderState, merging fields that are `Some`.
(state: &mut ProviderState, patch: ProviderPatch)
| 1767 | |
| 1768 | /// Apply a partial patch to a ProviderState, merging fields that are `Some`. |
| 1769 | fn apply_patch(state: &mut ProviderState, patch: ProviderPatch) { |
| 1770 | if let Some(source) = patch.source { |
| 1771 | state.source = source; |
| 1772 | } |
| 1773 | if let Some(name) = patch.name { |
| 1774 | state.name = name; |
| 1775 | } |
| 1776 | if let Some(env) = patch.env { |
| 1777 | state.env = env; |
| 1778 | } |
| 1779 | if let Some(key) = patch.key { |
| 1780 | state.key = Some(key); |
| 1781 | } |
| 1782 | if let Some(options) = patch.options { |
| 1783 | for (k, v) in options { |
| 1784 | state.options.insert(k, v); |
| 1785 | } |
| 1786 | } |
| 1787 | } |
| 1788 | |
| 1789 | /// Merge two JSON option maps, with `overlay` values taking precedence. |
| 1790 | fn merge_json_maps( |