// Copyright 2017 The Prometheus Authors // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package promql // Value is a generic interface for values resulting from a query evaluation. type Value interface { Type() ValueType String() string } // ValueType describes a type of a value. type ValueType string // The valid value types. const ( ValueTypeNone = "none" ValueTypeVector = "vector" ValueTypeScalar = "scalar" ValueTypeMatrix = "matrix" ValueTypeString = "string" ) // documentedType returns the internal type to the equivalent // user facing terminology as defined in the documentation. func documentedType(t ValueType) string { switch t { case "vector": return "instant vector" case "matrix": return "range vector" default: return string(t) } }