Documentation
¶
Index ¶
- func GroupChanges(changes []*Change) map[Criticality][]*Change
- func ReportBreakingChanges(changes []*Change, withFilepath bool) int
- func ReportDangerousChanges(changes []*Change, withFilepath bool) int
- func ReportNonBreakingChanges(changes []*Change, withFilepath bool) int
- type Change
- type ChangeType
- type Criticality
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GroupChanges ¶
func GroupChanges(changes []*Change) map[Criticality][]*Change
GroupChanges group all changes on their criticality level
func ReportBreakingChanges ¶
ReportBreakingChanges print only breaking changes in output
func ReportDangerousChanges ¶
ReportDangerousChanges print only breaking changes in output
func ReportNonBreakingChanges ¶
ReportNonBreakingChanges print only breaking changes in output
Types ¶
type Change ¶
type Change struct {
// contains filtered or unexported fields
}
Change defines a change in schema
func FindChangesInSchemas ¶
func FindChangesInSchemas(oldSchema *ast.SchemaDocument, newSchema *ast.SchemaDocument) []*Change
FindChangesInSchemas compares two schemas, returns the list of all changes made in the second schema
func (*Change) GetChangeCriticalityLevel ¶ added in v0.3.0
func (c *Change) GetChangeCriticalityLevel() Criticality
GetChangeCriticalityLevel get change criticality level
func (*Change) GetChangeType ¶ added in v0.3.0
func (c *Change) GetChangeType() ChangeType
GetChangeType get change type
func (*Change) GetMessage ¶ added in v0.3.0
GetMessage get change message
func (*Change) GetPosition ¶ added in v0.3.0
GetPosition get change position
type ChangeType ¶
type ChangeType string
ChangeType enum to list all type of breaking/non-breaking/dangerous changes
const ( // FieldArgumentDescriptionChanged Field Argument Description Changed FieldArgumentDescriptionChanged ChangeType = "FIELD_ARGUMENT_DESCRIPTION_CHANGED" // FieldArgumentDefaultChanged Field Argument Default Changed FieldArgumentDefaultChanged ChangeType = "FIELD_ARGUMENT_DEFAULT_CHANGED" // FieldArgumentTypeChanged Field Argument Type Changed FieldArgumentTypeChanged ChangeType = "FIELD_ARGUMENT_TYPE_CHANGED" // DirectiveRemoved Directive Removed DirectiveRemoved ChangeType = "DIRECTIVE_REMOVED" // DirectiveChanged Directive changed DirectiveChanged ChangeType = "DIRECTIVE_CHANGED" // DirectiveAdded Directive Added DirectiveAdded ChangeType = "DIRECTIVE_ADDED" // DirectiveDescriptionChanged Directive Description Changed DirectiveDescriptionChanged ChangeType = "DIRECTIVE_DESCRIPTION_CHANGED" // DirectiveLocationAdded Directive Location Added DirectiveLocationAdded ChangeType = "DIRECTIVE_LOCATION_ADDED" // DirectiveLocationRemoved Directive Location Removed DirectiveLocationRemoved ChangeType = "DIRECTIVE_LOCATION_REMOVED" // DirectiveArgumentAdded Directive Argument Added DirectiveArgumentAdded ChangeType = "DIRECTIVE_ARGUMENT_ADDED" // DirectiveArgumentRemoved Directive Argument Removed DirectiveArgumentRemoved ChangeType = "DIRECTIVE_ARGUMENT_REMOVED" // DirectiveArgumentDescriptionChanged Directive Argument Description Changed DirectiveArgumentDescriptionChanged ChangeType = "DIRECTIVE_ARGUMENT_DESCRIPTION_CHANGED" // DirectiveArgumentDefaultValueChanged Directive Argument Default Value Changed DirectiveArgumentDefaultValueChanged ChangeType = "DIRECTIVE_ARGUMENT_DEFAULT_VALUE_CHANGED" // DirectiveArgumentTypeChanged Directive Argument Type Changed DirectiveArgumentTypeChanged ChangeType = "DIRECTIVE_ARGUMENT_TYPE_CHANGED" // DirectiveRepeatableRemoved Directive Repeatable Removed DirectiveRepeatableRemoved ChangeType = "DIRECTIVE_REPEATABLE_REMOVED" // DirectiveRepeatableAdded Directive Repeatable Added DirectiveRepeatableAdded ChangeType = "DIRECTIVE_REPEATABLE_ADDED" // DirectiveArgumentValueChanged Directive Argument Value Changed DirectiveArgumentValueChanged ChangeType = "DIRECTIVE_ARGUMENT_VALUE_CHANGED" // EnumValueRemoved Enum Value Removed EnumValueRemoved ChangeType = "ENUM_VALUE_REMOVED" // EnumValueAdded Enum Value Added EnumValueAdded ChangeType = "ENUM_VALUE_ADDED" // EnumValueDescriptionChanged Enum Value Description Changed EnumValueDescriptionChanged ChangeType = "ENUM_VALUE_DESCRIPTION_CHANGED" // EnumValueDeprecationReasonChanged Enum Value Deprecation Reason Changed EnumValueDeprecationReasonChanged ChangeType = "ENUM_VALUE_DEPRECATION_REASON_CHANGED" // EnumValueDeprecationAdded Enum Value Deprecation Added EnumValueDeprecationAdded ChangeType = "ENUM_VALUE_DEPRECATION_ADDED" // FieldRemoved Field Removed FieldRemoved ChangeType = "FIELD_REMOVED" // FieldAdded Field Added FieldAdded ChangeType = "FIELD_ADDED" // FieldDescriptionChanged Field Description Changed FieldDescriptionChanged ChangeType = "FIELD_DESCRIPTION_CHANGED" // FieldDeprecationAdded Field Deprecation Added FieldDeprecationAdded ChangeType = "FIELD_DEPRECATION_ADDED" // FieldDeprecationRemoved Field Deprecation Removed FieldDeprecationRemoved ChangeType = "FIELD_DEPRECATION_REMOVED" // FieldDeprecationReasonChanged Field Deprecation Reason Changed FieldDeprecationReasonChanged ChangeType = "FIELD_DEPRECATION_REASON_CHANGED" // FieldTypeChanged Field Type Changed FieldTypeChanged ChangeType = "FIELD_TYPE_CHANGED" // FieldArgumentAdded Field Argument Added FieldArgumentAdded ChangeType = "FIELD_ARGUMENT_ADDED" // FieldArgumentRemoved Field Argument Removed FieldArgumentRemoved ChangeType = "FIELD_ARGUMENT_REMOVED" // InputFieldRemoved Input Field Removed InputFieldRemoved ChangeType = "INPUT_FIELD_REMOVED" // InputFieldAdded Input Field Added InputFieldAdded ChangeType = "INPUT_FIELD_ADDED" // InputFieldDescriptionChanged Input Field Description Changed InputFieldDescriptionChanged ChangeType = "INPUT_FIELD_DESCRIPTION_CHANGED" // InputFieldDefaultValueChanged Input Field Default Value Changed InputFieldDefaultValueChanged ChangeType = "INPUT_FIELD_DEFAULT_VALUE_CHANGED" // InputFieldTypeChanged Input Field Type Changed InputFieldTypeChanged ChangeType = "INPUT_FIELD_TYPE_CHANGED" // ObjectTypeInterfaceAdded Object Type Interface Added ObjectTypeInterfaceAdded ChangeType = "OBJECT_TYPE_INTERFACE_ADDED" // InputFieldDeprecationAdded Field Deprecation Added InputFieldDeprecationAdded ChangeType = "INPUT_FIELD_DEPRECATION_ADDED" // InputFieldDeprecationRemoved Field Deprecation Removed InputFieldDeprecationRemoved ChangeType = "INPUT_FIELD_DEPRECATION_REMOVED" // InputFieldDeprecationReasonChanged Field Deprecation Reason Changed InputFieldDeprecationReasonChanged ChangeType = "INPUT_FIELD_DEPRECATION_REASON_CHANGED" // ObjectTypeInterfaceRemoved Object Type Interface Removed ObjectTypeInterfaceRemoved ChangeType = "OBJECT_TYPE_INTERFACE_REMOVED" // SchemaQueryTypeChanged Schema Query Type Changed SchemaQueryTypeChanged ChangeType = "SCHEMA_QUERY_TYPE_CHANGED" // SchemaMutationTypeChanged Schema Mutation Type Changed SchemaMutationTypeChanged ChangeType = "SCHEMA_MUTATION_TYPE_CHANGED" // SchemaSubscriptionTypeChanged Schema Subscription Type Changed SchemaSubscriptionTypeChanged ChangeType = "SCHEMA_SUBSCRIPTION_TYPE_CHANGED" // TypeRemoved Type Removed TypeRemoved ChangeType = "TYPE_REMOVED" // TypeAdded Type Added TypeAdded ChangeType = "TYPE_ADDED" // TypeKindChanged Type Kind Changed TypeKindChanged ChangeType = "TYPE_KIND_CHANGED" // TypeDescriptionChanged Type Description Changed TypeDescriptionChanged ChangeType = "TYPE_DESCRIPTION_CHANGED" // UnionMemberRemoved Union Member Removed UnionMemberRemoved ChangeType = "UNION_MEMBER_REMOVED" // UnionMemberAdded Union Member Added UnionMemberAdded ChangeType = "UNION_MEMBER_ADDED" )
type Criticality ¶
type Criticality int
Criticality severity of a change in schema
const ( // NonBreaking Change is compatible with previous version NonBreaking Criticality = 0 // Dangerous Change is compatible with previous version but can result in unexpected behavior for consumer Dangerous Criticality = 1 // Breaking Change is incompatible with previous version Breaking Criticality = 2 )
func (Criticality) String ¶ added in v0.3.0
func (c Criticality) String() string
string get change criticality level string