require "graphql"
require "graphql-preview/version"
require "graphql-preview/schema_modification"
require "graphql-preview/mask"
require "graphql-preview/extensions/enabled_previews"

module GraphQLPreview

end

module GraphQL
  Schema.class_eval do
    # To support `graphql-ruby`'s `.define` based API
    include GraphQLPreview::Extensions::EnabledPreviews

    accepts_definitions \
      enabled_previews: -> (schema, previews = nil) { schema.enabled_previews(previews) }

    # To support `graphql-ruby`'s class-based API
    extend GraphQLPreview::Extensions::EnabledPreviews
  end
end