func canVariableBeCompacted()

in dev/import-beats/variables_compact.go [56:86]


func canVariableBeCompacted(dataStreams dataStreamContentArray, aVar packages.Variable, inputType string) (bool, error) {
	for _, dataStream := range dataStreams {
		var varUsed bool

		for _, stream := range dataStream.manifest.Streams {
			if stream.Input != inputType {
				break // input is not related with this var
			}

			for _, streamVar := range stream.Vars {
				if isNonCompactableVariable(aVar) {
					continue
				}

				equal, err := areVariablesEqual(streamVar, aVar)
				if err != nil {
					return false, errors.Wrap(err, "comparing variables failed")
				}
				if equal {
					varUsed = true
					break
				}
			}
		}

		if !varUsed {
			return false, nil // variable not present in this dataStream
		}
	}
	return true, nil
}