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);
        }
    }
}

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…