polen
Version:
A framework for delightful GraphQL developer portals
44 lines • 1.56 kB
TypeScript
import { type DocumentNode, type GraphQLError, type GraphQLSchema } from 'graphql';
import type { AnalysisConfig, AnalysisResult, GraphQLAnalyzer, IdentifierMap } from './types.js';
/**
* Default GraphQL document analyzer implementation
*/
export declare class DefaultGraphQLAnalyzer implements GraphQLAnalyzer {
/**
* Parse a GraphQL document string into an AST
*/
parse(source: string): DocumentNode;
/**
* Validate a GraphQL document against a schema
*/
validateAgainstSchema(ast: DocumentNode, schema: GraphQLSchema): GraphQLError[];
/**
* Extract all identifiers from a GraphQL AST
*/
extractIdentifiers(ast: DocumentNode, config?: AnalysisConfig): IdentifierMap;
/**
* Perform complete analysis of a GraphQL document
*/
analyze(source: string, config?: AnalysisConfig): AnalysisResult;
private addIdentifier;
private getPosition;
private getTypePosition;
private extractTypeName;
private isObjectField;
private inferReturnType;
private createContext;
private createIdentifierMap;
}
/**
* Default analyzer instance
*/
export declare const analyzer: DefaultGraphQLAnalyzer;
/**
* Convenience function to analyze a GraphQL document
*/
export declare const analyze: (source: string, config?: AnalysisConfig) => AnalysisResult;
/**
* Convenience function to extract identifiers from a GraphQL document
*/
export declare const extractIdentifiers: (source: string, config?: AnalysisConfig) => IdentifierMap;
//# sourceMappingURL=analysis.d.ts.map