const gvkKey … // usedDefinitionForSpec returns a map with all used definitions in the provided spec as keys and true as values. func usedDefinitionForSpec(root *spec.Swagger) map[string]bool { … } // FilterSpecByPaths removes unnecessary paths and definitions used by those paths. // i.e. if a Path removed by this function, all definitions used by it and not used // anywhere else will also be removed. func FilterSpecByPaths(sp *spec.Swagger, keepPathPrefixes []string) { … } // FilterSpecByPathsWithoutSideEffects removes unnecessary paths and definitions used by those paths. // i.e. if a Path removed by this function, all definitions used by it and not used // anywhere else will also be removed. // It does not modify the input, but the output shares data structures with the input. func FilterSpecByPathsWithoutSideEffects(sp *spec.Swagger, keepPathPrefixes []string) *spec.Swagger { … } // renameDefinitions renames definition references, without mutating the input. // The output might share data structures with the input. func renameDefinitions(s *spec.Swagger, renames map[string]string) *spec.Swagger { … } // renameParameters renames parameter references, without mutating the input. // The output might share data structures with the input. func renameParameters(s *spec.Swagger, renames map[string]string) *spec.Swagger { … } // MergeSpecsIgnorePathConflictRenamingDefinitionsAndParameters is the same as // MergeSpecs except it will ignore any path conflicts by keeping the paths of // destination. It will rename definition and parameter conflicts. func MergeSpecsIgnorePathConflictRenamingDefinitionsAndParameters(dest, source *spec.Swagger) error { … } // MergeSpecsIgnorePathConflictDeprecated is the same as MergeSpecs except it will ignore any path // conflicts by keeping the paths of destination. It will rename definition and // parameter conflicts. func MergeSpecsIgnorePathConflictDeprecated(dest, source *spec.Swagger) error { … } // MergeSpecsFailOnDefinitionConflict is different from MergeSpecs as it fails if there is // a definition or parameter conflict. func MergeSpecsFailOnDefinitionConflict(dest, source *spec.Swagger) error { … } // MergeSpecs copies paths, definitions and parameters from source to dest, rename // definitions if needed. It will fail on path conflicts. // // The destination is mutated, the source is not. func MergeSpecs(dest, source *spec.Swagger) error { … } // mergeSpecs merges source into dest while resolving conflicts. // The source is not mutated. func mergeSpecs(dest, source *spec.Swagger, renameModelConflicts, renameParameterConflicts, ignorePathConflicts bool) (err error) { … } // deepEqualDefinitionsModuloGVKs compares s1 and s2, but ignores the x-kubernetes-group-version-kind extension. func deepEqualDefinitionsModuloGVKs(s1, s2 *spec.Schema) bool { … } // mergedGVKs merges the x-kubernetes-group-version-kind slices and returns the result, and whether // s1's x-kubernetes-group-version-kind slice was changed at all. func mergedGVKs(s1, s2 *spec.Schema) (interface{ … } type byKeys … func (b byKeys) Len() int { … } func (b byKeys) Less(i, j int) bool { … } func (b byKeys) Swap(i, j int) { … }