Documentation
¶
Index ¶
Constants ¶
View Source
const ( // Breaking causes existing clients to error Breaking = ChangeSeverityLevel("BREAKING") // Dangerous may in some cases cause existing clients to error Dangerous = ChangeSeverityLevel("DANGEROUS") // NonBreaking keeps schema backward compatible NonBreaking = ChangeSeverityLevel("NON_BREAKING") )
View Source
const ( DirectiveAdded = ChangeType("DIRECTIVE_ADDED") DirectiveRemoved = ChangeType("DIRECTIVE_REMOVED") DirectiveDescriptionChanged = ChangeType("DIRECTIVE_DESCRIPTION_CHANGED") DirectiveLocationAdded = ChangeType("DIRECTIVE_LOCATION_ADDED") DirectiveLocationRemoved = ChangeType("DIRECTIVE_LOCATION_REMOVED") DirectiveArgumentAdded = ChangeType("DIRECTIVE_ARGUMENT_ADDED") DirectiveArgumentRemoved = ChangeType("DIRECTIVE_ARGUMENT_REMOVED") DirectiveArgumentDescriptionChanged = ChangeType("DIRECTIVE_ARGUMENT_DESCRIPTION_CHANGED") DirectiveArgumentDefaultValueChanged = ChangeType("DIRECTIVE_ARGUMENT_DEFAULT_VALUE_CHANGED") DirectiveArgumentTypeChanged = ChangeType("DIRECTIVE_ARGUMENT_TYPE_CHANGED") )
View Source
const ( EnumValueAdded = ChangeType("ENUM_VALUE_ADDED") EnumValueRemoved = ChangeType("ENUM_VALUE_REMOVED") )
View Source
const ( InputFieldAdded = ChangeType("INPUT_FIELD_ADDED") InputFieldRemoved = ChangeType("INPUT_FIELD_REMOVED") InputFieldDescriptionChanged = ChangeType("INPUT_FIELD_DESCRIPTION_CHANGED") InputFieldDefaultValueChanged = ChangeType("INPUT_FIELD_DEFAULT_VALUE_CHANGED") InputFieldTypeChanged = ChangeType("INPUT_FIELD_TYPE_CHANGED") )
View Source
const ( InterfaceTypeFieldAdded = ChangeType("INTERFACE_TYPE_FIELD_ADDED") InterfaceTypeFieldRemoved = ChangeType("INTERFACE_TYPE_FIELD_REMOVED") InterfaceTypeFieldDescriptionChanged = ChangeType("INTERFACE_TYPE_FIELD_DESCRIPTION_CHANGED") InterfaceTypeFieldTypeChanged = ChangeType("INTERFACE_TYPE_FIELD_TYPE_CHANGED") InterfaceTypeFieldArgumentAdded = ChangeType("INTERFACE_TYPE_FIELD_ARGUMENT_ADDED") InterfaceTypeFieldArgumentRemoved = ChangeType("INTERFACE_TYPE_FIELD_ARGUMENT_REMOVED") InterfaceTypeFieldArgumentDescriptionChanged = ChangeType("INTERFACE_TYPE_FIELD_ARGUMENT_DESCRIPTION_CHANGED") InterfaceTypeFieldArgumentDefaultValueChanged = ChangeType("INTERFACE_TYPE_FIELD_ARGUMENT_DEFAULT_VALUE_CHANGED") InterfaceTypeFieldArgumentTypeChanged = ChangeType("INTERFACE_TYPE_FIELD_ARGUMENT_TYPE_CHANGED") )
View Source
const ( ObjectTypeInterfaceAdded = ChangeType("OBJECT_TYPE_INTERFACE_ADDED") ObjectTypeInterfaceRemoved = ChangeType("OBJECT_TYPE_INTERFACE_REMOVED") ObjectTypeFieldAdded = ChangeType("OBJECT_TYPE_FIELD_ADDED") ObjectTypeFieldRemoved = ChangeType("OBJECT_TYPE_FIELD_REMOVED") ObjectTypeFieldDescriptionChanged = ChangeType("OBJECT_TYPE_FIELD_DESCRIPTION_CHANGED") ObjectTypeFieldTypeChanged = ChangeType("OBJECT_TYPE_FIELD_TYPE_CHANGED") ObjectTypeFieldArgumentAdded = ChangeType("OBJECT_TYPE_FIELD_ARGUMENT_ADDED") ObjectTypeFieldArgumentRemoved = ChangeType("OBJECT_TYPE_FIELD_ARGUMENT_REMOVED") ObjectTypeFieldArgumentDescriptionChanged = ChangeType("OBJECT_TYPE_FIELD_ARGUMENT_DESCRIPTION_CHANGED") ObjectTypeFieldArgumentDefaultValueChanged = ChangeType("OBJECT_TYPE_FIELD_ARGUMENT_DEFAULT_VALUE_CHANGED") ObjectTypeFieldArgumentTypeChanged = ChangeType("OBJECT_TYPE_FIELD_ARGUMENT_TYPE_CHANGED") )
View Source
const ( SchemaQueryTypeChanged = ChangeType("SCHEMA_QUERY_TYPE_CHANGED") SchemaMutationTypeChanged = ChangeType("SCHEMA_MUTATION_TYPE_CHANGED") SchemaMutationTypeRemoved = ChangeType("SCHEMA_MUTATION_TYPE_REMOVED") SchemaSubscriptionTypeChanged = ChangeType("SCHEMA_SUBSCRIPTION_TYPE_CHANGED") SchemaSubscriptionTypeRemoved = ChangeType("SCHEMA_SUBSCRIPTION_TYPE_REMOVED") )
View Source
const ( TypeAdded = ChangeType("TYPE_ADDED") TypeRemoved = ChangeType("TYPE_REMOVED") TypeKindChanged = ChangeType("TYPE_KIND_CHANGED") TypeDescriptionChanged = ChangeType("TYPE_DESCRIPTION_CHANGED") )
View Source
const ( UnionMemberRemoved = ChangeType("UNION_MEMBER_REMOVED") UnionMemberAdded = ChangeType("UNION_MEMBER_ADDED") )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Change ¶
type Change struct {
// Severity of the change
Severity ChangeSeverity
// Type of the change
Type ChangeType
// Message provides human-readable explanation of the change
Message string
// Path to the changed item
Path string
}
Change materialize a schema modification.
type ChangeSeverity ¶
type ChangeSeverity struct {
// Level indicates backward compatibility
Level ChangeSeverityLevel
// Reason provides human-readable explanation of why the severity is chosen
Reason string
}
ChangeSeverity defined how serious a change is.
type Result ¶
type Result struct {
// contains filtered or unexported fields
}
Result stores the detected changes.
func Schema ¶
Compare compares two GraphQL schemas and returns a set of detected changes. Each change has a severity and reason assigned to be able to further evaluate its impact. Schemas must be encoded using SDL, no other form is accepted.
func (Result) Dangerous ¶
Dangerous returns list of changes which in some cases may be considered breaking.
func (Result) NonBreaking ¶
NonBreaking returns list of changes which are backward compatible.
Source Files
¶
- compare.go
- directive_changes.go
- directive_compare.go
- enum_changes.go
- enum_compare.go
- input_changes.go
- input_compare.go
- interface_changes.go
- interface_compare.go
- object_changes.go
- object_compare.go
- parse.go
- scalar_compare.go
- schema_changes.go
- schema_compare.go
- type_changes.go
- type_compare.go
- union_changes.go
- union_compare.go
- util.go
Click to show internal directories.
Click to hide internal directories.