graphql-composition 0.12.2

An implementation of GraphQL federated schema composition
Documentation
"""
The Tofu type represents various properties of tofu.
"""
type Tofu @shareable {
  """
  The unique ID of the tofu.
  """
  id: ID!

  """
  The name of the tofu.
  """
  name: String!

  """
  The type of tofu (e.g., silken, firm).
  """
  type: TofuType

  """
  Nutritional information about the tofu.
  """
  nutrition: Nutrition

  """
  List of recipes that include this tofu.
  """
  recipes(filter: RecipeFilter): [Recipe]

  """
  The texture profile of the tofu, expressed through a custom scalar.
  """
  texture: TextureProfile
}

"""
Nutritional information for tofu.
"""
type Nutrition {
  """
  The amount of calories per serving.
  """
  calories: Int

  """
  The amount of protein per serving.
  """
  protein: Float

  """
  Total fat content per serving.
  """
  fat: Float
}

"""
Defines different types of tofu.
"""
enum TofuType {
  """
  Silken tofu - soft and smooth, often used in soups and sauces.
  """
  SILKEN

  """
  Firm tofu - holds its shape well, good for grilling and frying.
  """
  FIRM

  """
  Extra firm tofu - very dense and solid, ideal for stir-fries.
  """
  EXTRA_FIRM
}

"""
Filter criteria for tofu recipes.
"""
input RecipeFilter {
  """
  Minimum required protein content.
  """
  minProtein: Float

  """
  Maximum allowed calorie count.
  """
  maxCalories: Int
}

"""
A recipe that includes tofu as an ingredient.
"""
type Recipe @shareable {
  """
  The unique ID of the recipe.
  """
  id: ID!

  """
  The name of the recipe.
  """
  name: String!

  """
  Description of the recipe.
  """
  description: String

  """
  The main type of tofu used in this recipe.
  """
  tofuType: TofuType

  """
  The ingredients used in the recipe, including tofu.
  """
  ingredients: [FoodItem]
}

"""
Custom scalar to represent the texture profile of tofu.
"""
scalar TextureProfile

"""
Union representing different food items that can be part of a recipe.
"""
union FoodItem = Tofu | Vegetable | Spice

"""
Vegetable type used in tofu recipes.
"""
type Vegetable {
  """
  Name of the vegetable.
  """
  name: String

  """
  Nutritional information of the vegetable.
  """
  nutrition: Nutrition
}

"""
Spice type used in tofu recipes.
"""
type Spice {
  """
  Name of the spice.
  """
  name: String

  """
  Description of the spice's flavor.
  """
  flavorDescription: String
}

"""
Directives provide an extendable way to modify the execution behavior in GraphQL.
"""
directive @include(
  """
  Included if the argument is true.
  """
  if: Boolean!
) on FIELD | FRAGMENT_SPREAD | INLINE_FRAGMENT

directive @skip(
  """
  Skipped if the argument is true.
  """
  if: Boolean!
) on FIELD | FRAGMENT_SPREAD | INLINE_FRAGMENT


type Query {
  allTheTofus: [Tofu]
}