func breakingVariables()

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
}