provider.ex (985B)
1 defmodule Absinthe.Schema.Provider do 2 @moduledoc """ 3 Experimental: Behaviour for providing schema data 4 5 This behaviour is experimental and may change significantly in patch releases. 6 """ 7 8 @type schema_identifier :: term 9 @type type_group :: :all | :referenced 10 11 @callback pipeline(Absinthe.Pipeline.t()) :: Absinthe.Pipeline.t() 12 13 @callback __absinthe_type__(schema_identifier, Absinthe.Type.identifier_t()) :: 14 Absinthe.Type.custom_t() 15 16 @callback __absinthe_directive__(schema_identifier, Absinthe.Type.identifier_t()) :: 17 Absinthe.Type.custom_t() 18 19 @callback __absinthe_types__(schema_identifier) :: [{atom, binary}] 20 21 @callback __absinthe_types__(schema_identifier, type_group) :: [ 22 {Absinthe.Type.identifier_t(), Absinthe.Type.identifier_t()} 23 ] 24 25 @callback __absinthe_directives__(schema_identifier) :: Absinthe.Type.Directive.t() 26 27 @callback __absinthe_interface_implementors__(schema_identifier) :: term 28 end