in src/lib/util/resolveSwagger.ts [354:375]
private dereferenceInner(ref: string, visitedRefs: Set<string>): any {
const model = this.getModelName(ref)
if (model) {
if (visitedRefs.has(ref)) {
throw new Error("Circular reference")
}
if (visitedRefs.size > 40) {
throw new Error("Exceeded max(40) reference count.")
}
visitedRefs.add(ref)
const definitions = (this.innerSwagger as any).definitions
if (definitions[model]) {
if (definitions[model].$ref) {
return this.dereferenceInner(definitions[model].$ref, visitedRefs)
} else {
return definitions[model]
}
} else {
throw new Error("Invalid reference:" + ref)
}
}
}