View Source Fast.Absinthe.ExtractPossibleTypes (Fast v0.8.1)
Link to this section Summary
Functions
Extract GraphQL possible types to support result validation and accurate fragment matching on unions and interfaces.
Link to this section Functions
Extract GraphQL possible types to support result validation and accurate fragment matching on unions and interfaces.
More info here: https://www.apollographql.com/docs/react/data/fragments/#defining-possibletypes-manually
Example usage in a mix task:
defmodule Mix.Tasks.ExtractPossibleTypes do
use Mix.Task
alias Fast.Absinthe.ExtractPossibleTypes
alias Fast.Application.Schema
require Logger
@shortdoc "Extract GraphQL possible types"
def run([schema_name, output_path]) do
Logger.info("Extracting possible types...")
schema =
case schema_name do
"api" -> Schema.Api
"admin" -> Schema.Admin
end
json =
schema
|> ExtractPossibleTypes.run()
|> Jason.encode!()
File.write!(output_path, json)
Logger.info("Done! (possible types written to " <> output_path <> ")")
end
end