@graphql-eslint/eslint-plugin
Version:
GraphQL plugin for ESLint
28 lines (27 loc) • 1.29 kB
text/typescript
import { RuleTester } from 'eslint';
import { ASTKindToNode } from 'graphql';
import { GraphQLESTreeNode } from './estree-converter/index.cjs';
import { GraphQLESLintRule, ParserOptions } from './types.cjs';
export type GraphQLESLintRuleListener<WithTypeInfo extends boolean = false> = {
[K in keyof ASTKindToNode]?: (node: GraphQLESTreeNode<ASTKindToNode[K], WithTypeInfo>) => void;
} & Record<string, any>;
export type GraphQLValidTestCase<Options> = Omit<RuleTester.ValidTestCase, 'options' | 'parserOptions'> & {
options?: Options;
parserOptions?: Omit<ParserOptions, 'filePath'>;
};
export type GraphQLInvalidTestCase<T> = GraphQLValidTestCase<T> & {
errors: number | (RuleTester.TestCaseError | string)[];
output?: string | null;
};
export declare class GraphQLRuleTester extends RuleTester {
config: {
parser: string;
parserOptions: Omit<ParserOptions, 'filePath'>;
};
constructor(parserOptions?: Omit<ParserOptions, 'filePath'>);
fromMockFile(path: string): string;
runGraphQLTests<Options, WithTypeInfo extends boolean = false>(ruleId: string, rule: GraphQLESLintRule<Options, WithTypeInfo>, tests: {
valid: (string | GraphQLValidTestCase<Options>)[];
invalid: GraphQLInvalidTestCase<Options>[];
}): void;
}