tpgtools/file_utils.go (38 lines of code) (raw):
package main
import (
"io/ioutil"
"os"
"gopkg.in/yaml.v2"
)
func mergeYaml(fileA, fileB string) ([]byte, error) {
var objA map[string]interface{}
bs, err := ioutil.ReadFile(fileA)
if err != nil {
return nil, err
}
if err := yaml.Unmarshal(bs, &objA); err != nil {
return nil, err
}
var objB map[string]interface{}
bs, err = ioutil.ReadFile(fileB)
if err != nil {
return nil, err
}
if err := yaml.Unmarshal(bs, &objB); err != nil {
return nil, err
}
for k, v := range objB {
objA[k] = v
}
out, err := yaml.Marshal(objA)
if err != nil {
return nil, err
}
return out, nil
}
func pathExists(filePath string) bool {
if _, err := os.Stat(filePath); os.IsNotExist(err) {
return false
}
return true
}