@graphql-inspector/core
Version:
Tooling for GraphQL. Compare GraphQL Schemas, check documents, find breaking changes, find similar types.
59 lines (58 loc) • 1.5 kB
text/typescript
import { GraphQLError, GraphQLNamedType, GraphQLSchema, Source } from 'graphql';
export interface Location {
start: number;
end: number;
}
export interface ArgumentCoverage {
hits: number;
fieldsCount: number;
fieldsCountCovered: number;
locations: {
[name: string]: Array<Location>;
};
}
export interface TypeChildCoverage {
hits: number;
fieldsCount: number;
fieldsCountCovered: number;
locations: {
[name: string]: Array<Location>;
};
children: {
[name: string]: ArgumentCoverage;
};
}
export interface TypeCoverage {
hits: number;
fieldsCount: number;
fieldsCountCovered: number;
type: GraphQLNamedType;
children: {
[name: string]: TypeChildCoverage;
};
}
export interface SchemaCoverage {
sources: Source[];
types: {
[typename: string]: TypeCoverage;
};
stats: {
numTypes: number;
numTypesCoveredFully: number;
numTypesCovered: number;
numFields: number;
numQueries: number;
numCoveredQueries: number;
numMutations: number;
numCoveredMutations: number;
numSubscriptions: number;
numCoveredSubscriptions: number;
numFieldsCovered: number;
numFiledsCovered: number;
};
}
export interface InvalidDocument {
source: Source;
errors: ReadonlyArray<GraphQLError>;
}
export declare function coverage(schema: GraphQLSchema, sources: Source[]): SchemaCoverage;