in breakingchange.go [178:198]
func breakingVariables(variables linq.Query) []Change {
var r []Change
newVariables := variables.Where(isNewVariable)
requiredNewVariables := groupByName(newVariables).Where(noDefaultValue)
deletedVariables := variables.Where(isDeletedVariable)
typeChangedVariables := variables.Where(typeChanged)
defaultValueBreakingChangeVariables := variables.Where(newDefaultValue)
nullableChangeVariables := variables.Where(nullableChanged)
sensitiveBrokenVariables := variables.Where(func(i interface{}) bool {
c := i.(Change)
return c.Type == "update" && c.Attribute != nil && *c.Attribute == "Sensitive" && c.From == "true" && (c.To == "" || c.To == "false")
})
requiredNewVariables.Select(recordForName).
Concat(deletedVariables).
Concat(typeChangedVariables).
Concat(defaultValueBreakingChangeVariables).
Concat(nullableChangeVariables).
Concat(sensitiveBrokenVariables).
ToSlice(&r)
return r
}