INNER CODE UNIT · TypeScript
getDeclaringTypeNames
babyfish-ct/graphql-ts-client · api/src/DependencyManager.ts:250
function getDeclaringTypeNames(fieldName: string, fetcher: Fetcher<string, object, object>): Set<string> {
const declaringTypeNames = new Set<string>();
if (fieldName !== '' && fieldName !== '...') {
collectDeclaringTypeNames(fieldName, fetcher.fetchableType, declaringTypeNames);
}
return declaringTypeNames;
}
function collectDeclaringTypeNames(fieldName: string, fetchableType: FetchableType<string>, output: Set<string>) {
if (fetchableType.declaredFields.has(fieldName)) {
output.add(fetchableType.name);
} else {
for (const superType of fetchableType.superTypes) {
collectDeclaringTypeNames(fieldName, superType, output);
}
}
}