lib/absinthe/federation.ex

defmodule Absinthe.Federation do
  @moduledoc """
  [Apollo Federation](https://www.apollographql.com/docs/federation/federation-spec/) support for [Absinthe](https://github.com/absinthe-graphql/absinthe).

  ## Examples

  Schemas should `use Absinthe.Federation.Schema`

      defmodule MyApp.MySchema do
        use Absinthe.Schema
      + use Absinthe.Federation.Schema

        query do
          ...
        end
      end

  For a type module, use `Absinthe.Federation.Notation` instead:

      defmodule MyApp.MySchema.Types do
        use Absinthe.Schema.Notation
      + use Absinthe.Federation.Notation

      end
  """

  @spec remove_federated_types_pipeline(schema :: Absinthe.Schema.t()) :: Absinthe.Pipeline.t()
  defdelegate remove_federated_types_pipeline(schema), to: Absinthe.Federation.Schema

  @spec to_federated_sdl(schema :: Absinthe.Schema.t()) :: String.t()
  defdelegate to_federated_sdl(schema), to: Absinthe.Federation.Schema
end