package swagger // Copyright 2015 Ernest Micklei. All rights reserved. // Use of this source code is governed by a license // that can be found in the LICENSE file. import "github.com/emicklei/go-restful" type orderedRouteMap struct { elements map[string][]restful.Route keys []string } func newOrderedRouteMap() *orderedRouteMap { return &orderedRouteMap{ elements: map[string][]restful.Route{}, keys: []string{}, } } func (o *orderedRouteMap) Add(key string, route restful.Route) { routes, ok := o.elements[key] if ok { routes = append(routes, route) o.elements[key] = routes return } o.elements[key] = []restful.Route{route} o.keys = append(o.keys, key) } func (o *orderedRouteMap) Do(block func(key string, routes []restful.Route)) { for _, k := range o.keys { block(k, o.elements[k]) } }