func Map()

in pkg/mem/deps.go [20:39]


func Map(raws []MemModel) map[string][]MemModel {
	result := make(map[string][]MemModel)
	result[GatewayKind] = make([]MemModel, 0)
	result[RouteKind] = make([]MemModel, 0)
	result[UpstreamKind] = make([]MemModel, 0)
	result[PluginKind] = make([]MemModel, 0)
	for _, r := range raws {
		switch v := r.(type) {
		case *Gateway:
			result[*v.Kind] = append(result[*v.Kind], v)
		case *Route:
			result[*v.Kind] = append(result[*v.Kind], v)
		case *Upstream:
			result[*v.Kind] = append(result[*v.Kind], v)
		case *Plugin:
			result[*v.Kind] = append(result[*v.Kind], v)
		}
	}
	return result
}