func funcAbsent(vals []Value, args Expressions, enh *EvalNodeHelper) Vector {
	if len(vals[0].(Vector)) > 0 {
		return enh.out
	}
	m := []labels.Label{}

	if vs, ok := args[0].(*VectorSelector); ok {
		for _, ma := range vs.LabelMatchers {
			if ma.Type == labels.MatchEqual && ma.Name != labels.MetricName {
				m = append(m, labels.Label{Name: ma.Name, Value: ma.Value})
			}
		}
	}
	return append(enh.out,
		Sample{
			Metric: labels.New(m...),
			Point:  Point{V: 1},
		})
}
func funcAbsent(vals []Value, args Expressions, enh *EvalNodeHelper) Vector {
	if len(vals[0].(Vector)) > 0 {
		return enh.out
	}
	m := []labels.Label{}

	if vs, ok := args[0].(*VectorSelector); ok {
		for _, ma := range vs.LabelMatchers {
			if ma.Type == labels.MatchEqual && ma.Name != labels.MetricName {
				m = append(m, labels.Label{Name: ma.Name, Value: ma.Value})
			}
		}
	}
	return append(enh.out,
		Sample{
			Metric: labels.New(m...),
			Point:  Point{V: 1},
		})
}
func funcAbsent ( vals [ ] Value , args Expressions , enh * EvalNodeHelper ) Vector { if len ( vals [ 0 ] . ( Vector ) ) > 0 { return enh . out } m := [ ] labels . Label { } if vs , ok := args [ 0 ] . ( * VectorSelector ) ; ok { for _ , ma := range vs . LabelMatchers { if ma . Type == labels . MatchEqual && ma . Name != labels . MetricName { m = append ( m , labels . Label { Name : ma . Name , Value : ma . Value } ) } } } return append ( enh . out , Sample { Metric : labels . New ( m ... ) , Point : Point { V : 1 } , } ) }
// === absent(Vector ValueTypeVector) Vector ===
=== absent ( Vector ValueTypeVector ) Vector ===