mirror of
https://github.com/slimtoolkit/slim.git
synced 2025-06-03 04:00:23 +00:00
![dependabot[bot]](/assets/img/avatar_default.png)
Bumps [github.com/getkin/kin-openapi](https://github.com/getkin/kin-openapi) from 0.76.0 to 0.131.0. - [Release notes](https://github.com/getkin/kin-openapi/releases) - [Commits](https://github.com/getkin/kin-openapi/compare/v0.76.0...v0.131.0) --- updated-dependencies: - dependency-name: github.com/getkin/kin-openapi dependency-version: 0.131.0 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com>
42 lines
947 B
Go
42 lines
947 B
Go
package openapi3
|
|
|
|
func newVisited() visitedComponent {
|
|
return visitedComponent{
|
|
header: make(map[*Header]struct{}),
|
|
schema: make(map[*Schema]struct{}),
|
|
}
|
|
}
|
|
|
|
type visitedComponent struct {
|
|
header map[*Header]struct{}
|
|
schema map[*Schema]struct{}
|
|
}
|
|
|
|
// resetVisited clears visitedComponent map
|
|
// should be called before recursion over doc *T
|
|
func (doc *T) resetVisited() {
|
|
doc.visited = newVisited()
|
|
}
|
|
|
|
// isVisitedHeader returns `true` if the *Header pointer was already visited
|
|
// otherwise it returns `false`
|
|
func (doc *T) isVisitedHeader(h *Header) bool {
|
|
if _, ok := doc.visited.header[h]; ok {
|
|
return true
|
|
}
|
|
|
|
doc.visited.header[h] = struct{}{}
|
|
return false
|
|
}
|
|
|
|
// isVisitedHeader returns `true` if the *Schema pointer was already visited
|
|
// otherwise it returns `false`
|
|
func (doc *T) isVisitedSchema(s *Schema) bool {
|
|
if _, ok := doc.visited.schema[s]; ok {
|
|
return true
|
|
}
|
|
|
|
doc.visited.schema[s] = struct{}{}
|
|
return false
|
|
}
|