in packages/rulesets/src/native/utilities/swagger-workspace.ts [116:131]
export function getAttribute(schema: EnhancedSchema, attributeName: string, inventory: ISwaggerInventory): EnhancedSchema | undefined {
let source = schema
const visited = new Set<any>()
while (source.value && source.value.$ref && !visited.has(source.value)) {
visited.add(source.value)
source = resolveRef(source, inventory)!
}
if (!source) {
return undefined
}
const attribute = source.value[attributeName]
if (attribute) {
return createEnhancedSchema(attribute, source.file)
}
return undefined
}