Class KobbySchemaAnalyzeExtension

  • All Implemented Interfaces:

    
    public class KobbySchemaAnalyzeExtension
    
                        

    kobbySchemaAnalyze task configuration.

    This task prints a report to the console with all GraphQL types and fields that match the query.

    • Constructor Detail

      • KobbySchemaAnalyzeExtension

        KobbySchemaAnalyzeExtension()
    • Method Detail

      • getTruncatedSchema

         final Boolean getTruncatedSchema()
        • true - use a truncated GraphQL schema for analysis.

        • false - use the original GraphQL schema for analysis.

        Default: true

      • setTruncatedSchema

         final Unit setTruncatedSchema(Boolean truncatedSchema)
        • true - use a truncated GraphQL schema for analysis.

        • false - use the original GraphQL schema for analysis.

        Default: true

      • getDepth

         final Integer getDepth()

        GraphQL schema analysis depth. Use -1 to analyse a schema with unlimited depth.

        Default: 1

      • setDepth

         final Unit setDepth(Integer depth)

        GraphQL schema analysis depth. Use -1 to analyse a schema with unlimited depth.

        Default: 1

      • getReportLengthLimit

         final Integer getReportLengthLimit()

        GraphQL schema analysis report length limit. Use -1 to print a report with unlimited length.

        Default: 10000

      • setReportLengthLimit

         final Unit setReportLengthLimit(Integer reportLengthLimit)

        GraphQL schema analysis report length limit. Use -1 to print a report with unlimited length.

        Default: 10000

      • getPrintMinWeight

         final Integer getPrintMinWeight()

        The minimum weight of a GraphQL type that should be printed in the report.

        The GraphQL type weight is the number of GraphQL types (excluding scalars) that are available for querying on a field that returns the given type.

        Default: 2

      • setPrintMinWeight

         final Unit setPrintMinWeight(Integer printMinWeight)

        The minimum weight of a GraphQL type that should be printed in the report.

        The GraphQL type weight is the number of GraphQL types (excluding scalars) that are available for querying on a field that returns the given type.

        Default: 2

      • getPrintOverride

         final Boolean getPrintOverride()

        Print "override sign" (^) in report for overridden GraphQL type fields.

        Default: false

      • setPrintOverride

         final Unit setPrintOverride(Boolean printOverride)

        Print "override sign" (^) in report for overridden GraphQL type fields.

        Default: false

      • getPrintSuperTypes

         final Boolean getPrintSuperTypes()

        Print GraphQL field supertypes in report (<- followed by a list of supertypes).

        Default: false

      • setPrintSuperTypes

         final Unit setPrintSuperTypes(Boolean printSuperTypes)

        Print GraphQL field supertypes in report (<- followed by a list of supertypes).

        Default: false

      • getPrintSubTypes

         final Boolean getPrintSubTypes()

        Print GraphQL field subtypes in report (-> followed by a list of subtypes).

        Default: false

      • setPrintSubTypes

         final Unit setPrintSubTypes(Boolean printSubTypes)

        Print GraphQL field subtypes in report (-> followed by a list of subtypes).

        Default: false

      • getRegexEnabled

         final Boolean getRegexEnabled()

        Is Regex enabled in GraphQL schema analyze query. By default, a simplified Kobby Pattern is used:

        • ? - matches one character.

        • * - matches zero or more characters.

        • | - OR operator.

        • __query - alias for Query type.

        • __mutation - alias for Mutation type.

        • __subscription - alias for Subscription type.

        • __root - alias for Query, Mutation and Subscription types.

        • __any - alias for any type in the GraphQL schema.

        • __anyScalar - alias for any scalar in the GraphQL schema.

        • __anyObject - alias for any object in the GraphQL schema.

        • __anyInterface - alias for any interface in the GraphQL schema.

        • __anyUnion - alias for any union in the GraphQL schema.

        • __anyEnum - alias for any enum in the GraphQL schema.

        • __anyInput - alias for any input object in the GraphQL schema.

        Default: false

      • setRegexEnabled

         final Unit setRegexEnabled(Boolean regexEnabled)

        Is Regex enabled in GraphQL schema analyze query. By default, a simplified Kobby Pattern is used:

        • ? - matches one character.

        • * - matches zero or more characters.

        • | - OR operator.

        • __query - alias for Query type.

        • __mutation - alias for Mutation type.

        • __subscription - alias for Subscription type.

        • __root - alias for Query, Mutation and Subscription types.

        • __any - alias for any type in the GraphQL schema.

        • __anyScalar - alias for any scalar in the GraphQL schema.

        • __anyObject - alias for any object in the GraphQL schema.

        • __anyInterface - alias for any interface in the GraphQL schema.

        • __anyUnion - alias for any union in the GraphQL schema.

        • __anyEnum - alias for any enum in the GraphQL schema.

        • __anyInput - alias for any input object in the GraphQL schema.

        Default: false

      • getCaseSensitive

         final Boolean getCaseSensitive()

        Are patterns used in a GraphQL schema analyze query case sensitive.

        Default: true

      • setCaseSensitive

         final Unit setCaseSensitive(Boolean caseSensitive)

        Are patterns used in a GraphQL schema analyze query case sensitive.

        Default: true

      • byQuery

         final Unit byQuery(Action<KobbySchemaQueryExtension> action)

        A query used to analyze the GraphQL schema.

        The kobbySchemaAnalyze task prints a report to the console with the GraphQL types and fields matches to the given query.

        Default:

        byQuery {
            forRoot {
                include {
                    field("*")
                }
            }
        }