Coverage for src/lexigram/graphql/cli/contributor.py: 100%
9 statements
« prev ^ index » next coverage.py v7.15.4, created at 2026-08-25 04:37 +0800
« prev ^ index » next coverage.py v7.15.4, created at 2026-08-25 04:37 +0800
1"""GraphQL package CLI contributor."""
3from __future__ import annotations
5from lexigram.contracts.cli.types import GeneratorDefinition
8class GraphQLCliContributor:
9 """CLI contributor for the lexigram-graphql package."""
11 @property
12 def contributor_id(self) -> str:
13 """Return the contributor identifier."""
14 return "graphql"
16 def get_generators(self) -> list[GeneratorDefinition]:
17 """Return generator definitions for GraphQL."""
18 return [
19 GeneratorDefinition(
20 name="dataloader",
21 title="Generate Dataloader",
22 description="Generate a GraphQL DataLoaderProtocol to solve N+1 problems",
23 contributor="graphql",
24 generator_path="lexigram.graphql.cli.generators.dataloader:DataLoaderGenerator",
25 default_output_dir="src/graphql/dataloaders",
26 )
27 ]
30__all__ = ["GraphQLCliContributor"]