package main

import (
	"fmt"
	"os"
)

func mergeApis(apis *map[string]map[Part]*ApiPart, partialApis *map[string]map[Part]*ApiPart) {
	for key, val := range *partialApis {
		if _, ok := (*apis)[key]; !ok {
			(*apis)[key] = make(map[Part]*ApiPart)
		}
		for pt, apiPart := range val {
			if _, ok := (*apis)[key][pt]; !ok {
				(*apis)[key][pt] = apiPart
			} else {
				fmt.Fprintf(os.Stderr, "duplicate api part definition for: %s %d\n", key, pt)
			}
		}
	}
}

func mergeSegments(segments *map[string]*Segment, partialSegments *map[string]*Segment) {
	for key, val := range *partialSegments {
		if _, ok := (*segments)[key]; !ok {
			(*segments)[key] = val
		}
	}
}
