mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
data.Frame (that can be series) are converted to as tsdb.TimeSeriesSlice - so new backend plugins can be shimmed into existing alerting use sdk v0.31.0
127 lines
4.7 KiB
Go
127 lines
4.7 KiB
Go
// Copyright © 2019-2020 Vasiliy Vasilyuk. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
// Package pointer contains helper routines for simplifying the creation
|
|
// of optional fields of basic type.
|
|
package pointer
|
|
|
|
import (
|
|
"reflect"
|
|
"time"
|
|
)
|
|
|
|
// Any is a helper routine that allocates a new interface value
|
|
// to store v and returns a pointer to it.
|
|
//
|
|
// // Usage: var _ *Type = pointer.Any(Type(value) | value).(*Type)
|
|
//
|
|
// var _ *bool = pointer.Any(true).(*bool)
|
|
// var _ *byte = pointer.Any(byte(1)).(*byte)
|
|
// var _ *complex64 = pointer.Any(complex64(1.1)).(*complex64)
|
|
// var _ *complex128 = pointer.Any(complex128(1.1)).(*complex128)
|
|
// var _ *float32 = pointer.Any(float32(1.1)).(*float32)
|
|
// var _ *float64 = pointer.Any(float64(1.1)).(*float64)
|
|
// var _ *int = pointer.Any(int(1)).(*int)
|
|
// var _ *int8 = pointer.Any(int8(8)).(*int8)
|
|
// var _ *int16 = pointer.Any(int16(16)).(*int16)
|
|
// var _ *int32 = pointer.Any(int32(32)).(*int32)
|
|
// var _ *int64 = pointer.Any(int64(64)).(*int64)
|
|
// var _ *rune = pointer.Any(rune(1)).(*rune)
|
|
// var _ *string = pointer.Any("ptr").(*string)
|
|
// var _ *uint = pointer.Any(uint(1)).(*uint)
|
|
// var _ *uint8 = pointer.Any(uint8(8)).(*uint8)
|
|
// var _ *uint16 = pointer.Any(uint16(16)).(*uint16)
|
|
// var _ *uint32 = pointer.Any(uint32(32)).(*uint32)
|
|
// var _ *uint64 = pointer.Any(uint64(64)).(*uint64)
|
|
// var _ *uintptr = pointer.Any(uintptr(64)).(*uintptr)
|
|
func Any(v interface{}) interface{} {
|
|
r := reflect.New(reflect.TypeOf(v))
|
|
reflect.ValueOf(r.Interface()).Elem().Set(reflect.ValueOf(v))
|
|
return r.Interface()
|
|
}
|
|
|
|
// Bool is a helper routine that allocates a new bool value
|
|
// to store v and returns a pointer to it.
|
|
func Bool(v bool) *bool { return &v }
|
|
|
|
// Byte is a helper routine that allocates a new byte value
|
|
// to store v and returns a pointer to it.
|
|
func Byte(v byte) *byte { return &v }
|
|
|
|
// Complex64 is a helper routine that allocates a new complex64 value
|
|
// to store v and returns a pointer to it.
|
|
func Complex64(v complex64) *complex64 { return &v }
|
|
|
|
// Complex128 is a helper routine that allocates a new complex128 value
|
|
// to store v and returns a pointer to it.
|
|
func Complex128(v complex128) *complex128 { return &v }
|
|
|
|
// Float32 is a helper routine that allocates a new float32 value
|
|
// to store v and returns a pointer to it.
|
|
func Float32(v float32) *float32 { return &v }
|
|
|
|
// Float64 is a helper routine that allocates a new float64 value
|
|
// to store v and returns a pointer to it.
|
|
func Float64(v float64) *float64 { return &v }
|
|
|
|
// Int is a helper routine that allocates a new int value
|
|
// to store v and returns a pointer to it.
|
|
func Int(v int) *int { return &v }
|
|
|
|
// Int8 is a helper routine that allocates a new int8 value
|
|
// to store v and returns a pointer to it.
|
|
func Int8(v int8) *int8 { return &v }
|
|
|
|
// Int16 is a helper routine that allocates a new int16 value
|
|
// to store v and returns a pointer to it.
|
|
func Int16(v int16) *int16 { return &v }
|
|
|
|
// Int32 is a helper routine that allocates a new int32 value
|
|
// to store v and returns a pointer to it.
|
|
func Int32(v int32) *int32 { return &v }
|
|
|
|
// Int64 is a helper routine that allocates a new int64 value
|
|
// to store v and returns a pointer to it.
|
|
func Int64(v int64) *int64 { return &v }
|
|
|
|
// Rune is a helper routine that allocates a new rune value
|
|
// to store v and returns a pointer to it.
|
|
func Rune(v rune) *rune { return &v }
|
|
|
|
// String is a helper routine that allocates a new string value
|
|
// to store v and returns a pointer to it.
|
|
func String(v string) *string { return &v }
|
|
|
|
// Uint is a helper routine that allocates a new uint value
|
|
// to store v and returns a pointer to it.
|
|
func Uint(v uint) *uint { return &v }
|
|
|
|
// Uint8 is a helper routine that allocates a new uint8 value
|
|
// to store v and returns a pointer to it.
|
|
func Uint8(v uint8) *uint8 { return &v }
|
|
|
|
// Uint16 is a helper routine that allocates a new uint16 value
|
|
// to store v and returns a pointer to it.
|
|
func Uint16(v uint16) *uint16 { return &v }
|
|
|
|
// Uint32 is a helper routine that allocates a new uint32 value
|
|
// to store v and returns a pointer to it.
|
|
func Uint32(v uint32) *uint32 { return &v }
|
|
|
|
// Uint64 is a helper routine that allocates a new uint64 value
|
|
// to store v and returns a pointer to it.
|
|
func Uint64(v uint64) *uint64 { return &v }
|
|
|
|
// Uintptr is a helper routine that allocates a new uintptr value
|
|
// to store v and returns a pointer to it.
|
|
func Uintptr(v uintptr) *uintptr { return &v }
|
|
|
|
// Time is a helper routine that allocates a new time.Time value
|
|
// to store v and returns a pointer to it.
|
|
func Time(v time.Time) *time.Time { return &v }
|
|
|
|
// Duration is a helper routine that allocates a new time.Duration value
|
|
// to store v and returns a pointer to it.
|
|
func Duration(v time.Duration) *time.Duration { return &v }
|