X-Git-Url: https://git.josue.xyz/?a=blobdiff_plain;f=.config%2Fcoc%2Fextensions%2Fcoc-go-data%2Ftools%2Fpkg%2Fmod%2Fmvdan.cc%2Fgofumpt%40v0.0.0-20200802201014-ab5a8192947d%2Fgofumports%2Finternal%2Ftelemetry%2Fevent%2Fkey.go;fp=.config%2Fcoc%2Fextensions%2Fcoc-go-data%2Ftools%2Fpkg%2Fmod%2Fmvdan.cc%2Fgofumpt%40v0.0.0-20200802201014-ab5a8192947d%2Fgofumports%2Finternal%2Ftelemetry%2Fevent%2Fkey.go;h=acde7511e39bf3eb4d8bf900e95c38dd60782a2b;hb=4d07c77cf4d78cab8639e13ddc3c22495e585b0b;hp=0000000000000000000000000000000000000000;hpb=b3950616b54221c40a7dab9099bda675007e5b6e;p=dotfiles%2F.git diff --git a/.config/coc/extensions/coc-go-data/tools/pkg/mod/mvdan.cc/gofumpt@v0.0.0-20200802201014-ab5a8192947d/gofumports/internal/telemetry/event/key.go b/.config/coc/extensions/coc-go-data/tools/pkg/mod/mvdan.cc/gofumpt@v0.0.0-20200802201014-ab5a8192947d/gofumports/internal/telemetry/event/key.go new file mode 100644 index 00000000..acde7511 --- /dev/null +++ b/.config/coc/extensions/coc-go-data/tools/pkg/mod/mvdan.cc/gofumpt@v0.0.0-20200802201014-ab5a8192947d/gofumports/internal/telemetry/event/key.go @@ -0,0 +1,565 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package event + +import ( + "fmt" + "io" + "math" + "strconv" +) + +var ( + // Msg is a key used to add message strings to tag lists. + Msg = NewStringKey("message", "a readable message") + // Name is used for things like traces that have a name. + Name = NewStringKey("name", "an entity name") + // Err is a key used to add error values to tag lists. + Err = NewErrorKey("error", "an error that occurred") +) + +// Key is used as the identity of a Tag. +// Keys are intended to be compared by pointer only, the name should be unique +// for communicating with external systems, but it is not required or enforced. +type Key interface { + // Name returns the key name. + Name() string + // Description returns a string that can be used to describe the value. + Description() string + + // Format is used in formatting to append the value of the tag to the + // supplied buffer. + // The formatter may use the supplied buf as a scratch area to avoid + // allocations. + Format(w io.Writer, buf []byte, tag Tag) +} + +// ValueKey represents a key for untyped values. +type ValueKey struct { + name string + description string +} + +// NewKey creates a new Key for untyped values. +func NewKey(name, description string) *ValueKey { + return &ValueKey{name: name, description: description} +} + +func (k *ValueKey) Name() string { return k.name } +func (k *ValueKey) Description() string { return k.description } + +func (k *ValueKey) Format(w io.Writer, buf []byte, tag Tag) { + fmt.Fprint(w, k.From(tag)) +} + +// Get can be used to get a tag for the key from a TagMap. +func (k *ValueKey) Get(tags TagMap) interface{} { + if t := tags.Find(k); t.Valid() { + return k.From(t) + } + return nil +} + +// From can be used to get a value from a Tag. +func (k *ValueKey) From(t Tag) interface{} { return t.UnpackValue() } + +// Of creates a new Tag with this key and the supplied value. +func (k *ValueKey) Of(value interface{}) Tag { return TagOfValue(k, value) } + +// IntKey represents a key +type IntKey struct { + name string + description string +} + +// NewIntKey creates a new Key for int values. +func NewIntKey(name, description string) *IntKey { + return &IntKey{name: name, description: description} +} + +func (k *IntKey) Name() string { return k.name } +func (k *IntKey) Description() string { return k.description } + +func (k *IntKey) Format(w io.Writer, buf []byte, tag Tag) { + w.Write(strconv.AppendInt(buf, int64(k.From(tag)), 10)) +} + +// Of creates a new Tag with this key and the supplied value. +func (k *IntKey) Of(v int) Tag { return TagOf64(k, uint64(v)) } + +// Get can be used to get a tag for the key from a TagMap. +func (k *IntKey) Get(tags TagMap) int { + if t := tags.Find(k); t.Valid() { + return k.From(t) + } + return 0 +} + +// From can be used to get a value from a Tag. +func (k *IntKey) From(t Tag) int { return int(t.Unpack64()) } + +// Int8Key represents a key +type Int8Key struct { + name string + description string +} + +// NewInt8Key creates a new Key for int8 values. +func NewInt8Key(name, description string) *Int8Key { + return &Int8Key{name: name, description: description} +} + +func (k *Int8Key) Name() string { return k.name } +func (k *Int8Key) Description() string { return k.description } + +func (k *Int8Key) Format(w io.Writer, buf []byte, tag Tag) { + w.Write(strconv.AppendInt(buf, int64(k.From(tag)), 10)) +} + +// Of creates a new Tag with this key and the supplied value. +func (k *Int8Key) Of(v int8) Tag { return TagOf64(k, uint64(v)) } + +// Get can be used to get a tag for the key from a TagMap. +func (k *Int8Key) Get(tags TagMap) int8 { + if t := tags.Find(k); t.Valid() { + return k.From(t) + } + return 0 +} + +// From can be used to get a value from a Tag. +func (k *Int8Key) From(t Tag) int8 { return int8(t.Unpack64()) } + +// Int16Key represents a key +type Int16Key struct { + name string + description string +} + +// NewInt16Key creates a new Key for int16 values. +func NewInt16Key(name, description string) *Int16Key { + return &Int16Key{name: name, description: description} +} + +func (k *Int16Key) Name() string { return k.name } +func (k *Int16Key) Description() string { return k.description } + +func (k *Int16Key) Format(w io.Writer, buf []byte, tag Tag) { + w.Write(strconv.AppendInt(buf, int64(k.From(tag)), 10)) +} + +// Of creates a new Tag with this key and the supplied value. +func (k *Int16Key) Of(v int16) Tag { return TagOf64(k, uint64(v)) } + +// Get can be used to get a tag for the key from a TagMap. +func (k *Int16Key) Get(tags TagMap) int16 { + if t := tags.Find(k); t.Valid() { + return k.From(t) + } + return 0 +} + +// From can be used to get a value from a Tag. +func (k *Int16Key) From(t Tag) int16 { return int16(t.Unpack64()) } + +// Int32Key represents a key +type Int32Key struct { + name string + description string +} + +// NewInt32Key creates a new Key for int32 values. +func NewInt32Key(name, description string) *Int32Key { + return &Int32Key{name: name, description: description} +} + +func (k *Int32Key) Name() string { return k.name } +func (k *Int32Key) Description() string { return k.description } + +func (k *Int32Key) Format(w io.Writer, buf []byte, tag Tag) { + w.Write(strconv.AppendInt(buf, int64(k.From(tag)), 10)) +} + +// Of creates a new Tag with this key and the supplied value. +func (k *Int32Key) Of(v int32) Tag { return TagOf64(k, uint64(v)) } + +// Get can be used to get a tag for the key from a TagMap. +func (k *Int32Key) Get(tags TagMap) int32 { + if t := tags.Find(k); t.Valid() { + return k.From(t) + } + return 0 +} + +// From can be used to get a value from a Tag. +func (k *Int32Key) From(t Tag) int32 { return int32(t.Unpack64()) } + +// Int64Key represents a key +type Int64Key struct { + name string + description string +} + +// NewInt64Key creates a new Key for int64 values. +func NewInt64Key(name, description string) *Int64Key { + return &Int64Key{name: name, description: description} +} + +func (k *Int64Key) Name() string { return k.name } +func (k *Int64Key) Description() string { return k.description } + +func (k *Int64Key) Format(w io.Writer, buf []byte, tag Tag) { + w.Write(strconv.AppendInt(buf, k.From(tag), 10)) +} + +// Of creates a new Tag with this key and the supplied value. +func (k *Int64Key) Of(v int64) Tag { return TagOf64(k, uint64(v)) } + +// Get can be used to get a tag for the key from a TagMap. +func (k *Int64Key) Get(tags TagMap) int64 { + if t := tags.Find(k); t.Valid() { + return k.From(t) + } + return 0 +} + +// From can be used to get a value from a Tag. +func (k *Int64Key) From(t Tag) int64 { return int64(t.Unpack64()) } + +// UIntKey represents a key +type UIntKey struct { + name string + description string +} + +// NewUIntKey creates a new Key for uint values. +func NewUIntKey(name, description string) *UIntKey { + return &UIntKey{name: name, description: description} +} + +func (k *UIntKey) Name() string { return k.name } +func (k *UIntKey) Description() string { return k.description } + +func (k *UIntKey) Format(w io.Writer, buf []byte, tag Tag) { + w.Write(strconv.AppendUint(buf, uint64(k.From(tag)), 10)) +} + +// Of creates a new Tag with this key and the supplied value. +func (k *UIntKey) Of(v uint) Tag { return TagOf64(k, uint64(v)) } + +// Get can be used to get a tag for the key from a TagMap. +func (k *UIntKey) Get(tags TagMap) uint { + if t := tags.Find(k); t.Valid() { + return k.From(t) + } + return 0 +} + +// From can be used to get a value from a Tag. +func (k *UIntKey) From(t Tag) uint { return uint(t.Unpack64()) } + +// UInt8Key represents a key +type UInt8Key struct { + name string + description string +} + +// NewUInt8Key creates a new Key for uint8 values. +func NewUInt8Key(name, description string) *UInt8Key { + return &UInt8Key{name: name, description: description} +} + +func (k *UInt8Key) Name() string { return k.name } +func (k *UInt8Key) Description() string { return k.description } + +func (k *UInt8Key) Format(w io.Writer, buf []byte, tag Tag) { + w.Write(strconv.AppendUint(buf, uint64(k.From(tag)), 10)) +} + +// Of creates a new Tag with this key and the supplied value. +func (k *UInt8Key) Of(v uint8) Tag { return TagOf64(k, uint64(v)) } + +// Get can be used to get a tag for the key from a TagMap. +func (k *UInt8Key) Get(tags TagMap) uint8 { + if t := tags.Find(k); t.Valid() { + return k.From(t) + } + return 0 +} + +// From can be used to get a value from a Tag. +func (k *UInt8Key) From(t Tag) uint8 { return uint8(t.Unpack64()) } + +// UInt16Key represents a key +type UInt16Key struct { + name string + description string +} + +// NewUInt16Key creates a new Key for uint16 values. +func NewUInt16Key(name, description string) *UInt16Key { + return &UInt16Key{name: name, description: description} +} + +func (k *UInt16Key) Name() string { return k.name } +func (k *UInt16Key) Description() string { return k.description } + +func (k *UInt16Key) Format(w io.Writer, buf []byte, tag Tag) { + w.Write(strconv.AppendUint(buf, uint64(k.From(tag)), 10)) +} + +// Of creates a new Tag with this key and the supplied value. +func (k *UInt16Key) Of(v uint16) Tag { return TagOf64(k, uint64(v)) } + +// Get can be used to get a tag for the key from a TagMap. +func (k *UInt16Key) Get(tags TagMap) uint16 { + if t := tags.Find(k); t.Valid() { + return k.From(t) + } + return 0 +} + +// From can be used to get a value from a Tag. +func (k *UInt16Key) From(t Tag) uint16 { return uint16(t.Unpack64()) } + +// UInt32Key represents a key +type UInt32Key struct { + name string + description string +} + +// NewUInt32Key creates a new Key for uint32 values. +func NewUInt32Key(name, description string) *UInt32Key { + return &UInt32Key{name: name, description: description} +} + +func (k *UInt32Key) Name() string { return k.name } +func (k *UInt32Key) Description() string { return k.description } + +func (k *UInt32Key) Format(w io.Writer, buf []byte, tag Tag) { + w.Write(strconv.AppendUint(buf, uint64(k.From(tag)), 10)) +} + +// Of creates a new Tag with this key and the supplied value. +func (k *UInt32Key) Of(v uint32) Tag { return TagOf64(k, uint64(v)) } + +// Get can be used to get a tag for the key from a TagMap. +func (k *UInt32Key) Get(tags TagMap) uint32 { + if t := tags.Find(k); t.Valid() { + return k.From(t) + } + return 0 +} + +// From can be used to get a value from a Tag. +func (k *UInt32Key) From(t Tag) uint32 { return uint32(t.Unpack64()) } + +// UInt64Key represents a key +type UInt64Key struct { + name string + description string +} + +// NewUInt64Key creates a new Key for uint64 values. +func NewUInt64Key(name, description string) *UInt64Key { + return &UInt64Key{name: name, description: description} +} + +func (k *UInt64Key) Name() string { return k.name } +func (k *UInt64Key) Description() string { return k.description } + +func (k *UInt64Key) Format(w io.Writer, buf []byte, tag Tag) { + w.Write(strconv.AppendUint(buf, k.From(tag), 10)) +} + +// Of creates a new Tag with this key and the supplied value. +func (k *UInt64Key) Of(v uint64) Tag { return TagOf64(k, v) } + +// Get can be used to get a tag for the key from a TagMap. +func (k *UInt64Key) Get(tags TagMap) uint64 { + if t := tags.Find(k); t.Valid() { + return k.From(t) + } + return 0 +} + +// From can be used to get a value from a Tag. +func (k *UInt64Key) From(t Tag) uint64 { return t.Unpack64() } + +// Float32Key represents a key +type Float32Key struct { + name string + description string +} + +// NewFloat32Key creates a new Key for float32 values. +func NewFloat32Key(name, description string) *Float32Key { + return &Float32Key{name: name, description: description} +} + +func (k *Float32Key) Name() string { return k.name } +func (k *Float32Key) Description() string { return k.description } + +func (k *Float32Key) Format(w io.Writer, buf []byte, tag Tag) { + w.Write(strconv.AppendFloat(buf, float64(k.From(tag)), 'E', -1, 32)) +} + +// Of creates a new Tag with this key and the supplied value. +func (k *Float32Key) Of(v float32) Tag { + return TagOf64(k, uint64(math.Float32bits(v))) +} + +// Get can be used to get a tag for the key from a TagMap. +func (k *Float32Key) Get(tags TagMap) float32 { + if t := tags.Find(k); t.Valid() { + return k.From(t) + } + return 0 +} + +// From can be used to get a value from a Tag. +func (k *Float32Key) From(t Tag) float32 { + return math.Float32frombits(uint32(t.Unpack64())) +} + +// Float64Key represents a key +type Float64Key struct { + name string + description string +} + +// NewFloat64Key creates a new Key for int64 values. +func NewFloat64Key(name, description string) *Float64Key { + return &Float64Key{name: name, description: description} +} + +func (k *Float64Key) Name() string { return k.name } +func (k *Float64Key) Description() string { return k.description } + +func (k *Float64Key) Format(w io.Writer, buf []byte, tag Tag) { + w.Write(strconv.AppendFloat(buf, k.From(tag), 'E', -1, 64)) +} + +// Of creates a new Tag with this key and the supplied value. +func (k *Float64Key) Of(v float64) Tag { + return TagOf64(k, math.Float64bits(v)) +} + +// Get can be used to get a tag for the key from a TagMap. +func (k *Float64Key) Get(tags TagMap) float64 { + if t := tags.Find(k); t.Valid() { + return k.From(t) + } + return 0 +} + +// From can be used to get a value from a Tag. +func (k *Float64Key) From(t Tag) float64 { + return math.Float64frombits(t.Unpack64()) +} + +// StringKey represents a key +type StringKey struct { + name string + description string +} + +// NewStringKey creates a new Key for int64 values. +func NewStringKey(name, description string) *StringKey { + return &StringKey{name: name, description: description} +} + +func (k *StringKey) Name() string { return k.name } +func (k *StringKey) Description() string { return k.description } + +func (k *StringKey) Format(w io.Writer, buf []byte, tag Tag) { + w.Write(strconv.AppendQuote(buf, k.From(tag))) +} + +// Of creates a new Tag with this key and the supplied value. +func (k *StringKey) Of(v string) Tag { return TagOfString(k, v) } + +// Get can be used to get a tag for the key from a TagMap. +func (k *StringKey) Get(tags TagMap) string { + if t := tags.Find(k); t.Valid() { + return k.From(t) + } + return "" +} + +// From can be used to get a value from a Tag. +func (k *StringKey) From(t Tag) string { return t.UnpackString() } + +// BooleanKey represents a key +type BooleanKey struct { + name string + description string +} + +// NewBooleanKey creates a new Key for bool values. +func NewBooleanKey(name, description string) *BooleanKey { + return &BooleanKey{name: name, description: description} +} + +func (k *BooleanKey) Name() string { return k.name } +func (k *BooleanKey) Description() string { return k.description } + +func (k *BooleanKey) Format(w io.Writer, buf []byte, tag Tag) { + w.Write(strconv.AppendBool(buf, k.From(tag))) +} + +// Of creates a new Tag with this key and the supplied value. +func (k *BooleanKey) Of(v bool) Tag { + if v { + return TagOf64(k, 1) + } + return TagOf64(k, 0) +} + +// Get can be used to get a tag for the key from a TagMap. +func (k *BooleanKey) Get(tags TagMap) bool { + if t := tags.Find(k); t.Valid() { + return k.From(t) + } + return false +} + +// From can be used to get a value from a Tag. +func (k *BooleanKey) From(t Tag) bool { return t.Unpack64() > 0 } + +// ErrorKey represents a key +type ErrorKey struct { + name string + description string +} + +// NewErrorKey creates a new Key for int64 values. +func NewErrorKey(name, description string) *ErrorKey { + return &ErrorKey{name: name, description: description} +} + +func (k *ErrorKey) Name() string { return k.name } +func (k *ErrorKey) Description() string { return k.description } + +func (k *ErrorKey) Format(w io.Writer, buf []byte, tag Tag) { + io.WriteString(w, k.From(tag).Error()) +} + +// Of creates a new Tag with this key and the supplied value. +func (k *ErrorKey) Of(v error) Tag { return TagOfValue(k, v) } + +// Get can be used to get a tag for the key from a TagMap. +func (k *ErrorKey) Get(tags TagMap) error { + if t := tags.Find(k); t.Valid() { + return k.From(t) + } + return nil +} + +// From can be used to get a value from a Tag. +func (k *ErrorKey) From(t Tag) error { + err, _ := t.UnpackValue().(error) + return err +}