Documentation ¶
Index ¶
- Variables
- func Clear[K comparable, V any](mm ...map[K]V)
- func DNSToMap(msg *dns.Msg, format string) (m map[string]interface{})
- func Difference[K comparable, V any](m map[K]V, keys ...K) map[K]V
- func Flatten(m map[string]any, separator string) map[string]any
- func GetKeys[K comparable, V any](maps ...map[K]V) []K
- func GetSortedKeys[K constraints.Ordered, V any](maps ...map[K]V) []K
- func GetValues[K comparable, V any](maps ...map[K]V) []V
- func HTTPRequestToMap(req *http.Request) (map[string]interface{}, error)
- func HTTPResponseToMap(resp *http.Response) (map[string]interface{}, error)
- func HTTPToMap(resp *http.Response, body, headers string, duration time.Duration, ...) (m map[string]interface{})
- func IsEmpty[K comparable, V any](m map[K]V) bool
- func Merge[K comparable, V any](maps ...map[K]V) (result map[K]V)
- func SliceToMap[T comparable](s []T, dflt T) map[T]T
- func Walk(m map[string]any, callback func(k string, v any))
- type Map
- func (m Map[K, V]) Clear() bool
- func (m Map[K, V]) Clone() Map[K, V]
- func (m Map[K, V]) Get(key K) (V, bool)
- func (m Map[K, V]) GetKeyWithValue(value V) (K, bool)
- func (m Map[K, V]) GetKeys(keys ...K) []V
- func (m Map[K, V]) GetOrDefault(key K, defaultValue V) V
- func (m Map[K, V]) Has(key K) bool
- func (m Map[K, V]) IsEmpty() bool
- func (m Map[K, V]) Merge(n map[K]V)
- func (m Map[K, V]) Set(key K, value V)
- type OrderedMap
- func (o *OrderedMap[k, v]) Clone() OrderedMap[k, v]
- func (o *OrderedMap[k, v]) Delete(key k)
- func (o *OrderedMap[k, v]) Get(key k) (v, bool)
- func (o *OrderedMap[k, v]) GetByIndex(index int) (v, bool)
- func (o *OrderedMap[k, v]) GetKeys() []k
- func (o *OrderedMap[k, v]) Has(key k) bool
- func (o *OrderedMap[k, v]) IsEmpty() bool
- func (o *OrderedMap[k, v]) Iterate(f func(key k, value v) bool)
- func (o *OrderedMap[k, v]) Len() int
- func (o *OrderedMap[k, v]) Set(key k, value v)
- type SyncLockMap
- func (s *SyncLockMap[K, V]) Clear() bool
- func (s *SyncLockMap[K, V]) Clone() *SyncLockMap[K, V]
- func (s *SyncLockMap[K, V]) Delete(k K)
- func (s *SyncLockMap[K, V]) Get(k K) (V, bool)
- func (s *SyncLockMap[K, V]) GetAll() Map[K, V]
- func (s *SyncLockMap[K, V]) GetKeyWithValue(value V) (K, bool)
- func (s *SyncLockMap[K, V]) Has(key K) bool
- func (s *SyncLockMap[K, V]) IsEmpty() bool
- func (s *SyncLockMap[K, V]) Iterate(f func(k K, v V) error) error
- func (s *SyncLockMap[K, V]) Lock()
- func (s *SyncLockMap[K, V]) Merge(n map[K]V) error
- func (s *SyncLockMap[K, V]) Set(k K, v V) error
- func (s *SyncLockMap[K, V]) Unlock()
Constants ¶
This section is empty.
Variables ¶
var (
ErrReadOnly = errorutil.New("map is currently in read-only mode").WithTag("syncLockMap")
)
Functions ¶
func Difference ¶
func Difference[K comparable, V any](m map[K]V, keys ...K) map[K]V
Difference returns the inputted map without the keys specified as input.
func Flatten ¶
Flatten takes a map and returns a new one where nested maps are replaced by dot-delimited keys.
func GetKeys ¶
func GetKeys[K comparable, V any](maps ...map[K]V) []K
GetKeys returns the map's keys.
func GetSortedKeys ¶
func GetSortedKeys[K constraints.Ordered, V any](maps ...map[K]V) []K
GetSortedKeys returns the map's keys sorted.
func GetValues ¶
func GetValues[K comparable, V any](maps ...map[K]V) []V
GetValues returns the map's values.
func HTTPRequestToMap ¶
HTTPRequestToMap Converts HTTP Request to Matcher Map
func HTTPResponseToMap ¶
HTTPResponseToMap Converts HTTP Response to Matcher Map
func HTTPToMap ¶
func HTTPToMap(resp *http.Response, body, headers string, duration time.Duration, format string) (m map[string]interface{})
HTTPToMap Converts HTTP to Matcher Map
func Merge ¶
func Merge[K comparable, V any](maps ...map[K]V) (result map[K]V)
Merge merges the inputted maps into a new one. Be aware: In case of duplicated keys in multiple maps, the one ending in the result is unknown a priori.
func SliceToMap ¶
func SliceToMap[T comparable](s []T, dflt T) map[T]T
SliceToMap returns a map having as keys the elements in even positions and as values the elements in odd positions. If the number of elements is odd the default value applies.
Types ¶
type Map ¶
type Map[K, V comparable] map[K]V
Map wraps a generic map type
func (Map[K, V]) GetKeyWithValue ¶
GetKeyWithValue returns the first key having value
func (Map[K, V]) GetKeys ¶
func (m Map[K, V]) GetKeys(keys ...K) []V
GetKeys from the map as a slice
func (Map[K, V]) GetOrDefault ¶
func (m Map[K, V]) GetOrDefault(key K, defaultValue V) V
GetOrDefault the provided key or default to the provided value
type OrderedMap ¶
type OrderedMap[k comparable, v any] struct { // contains filtered or unexported fields }
OrderedMap is a map that preserves the order of elements
func NewOrderedMap ¶
func NewOrderedMap[k comparable, v any]() OrderedMap[k, v]
NewOrderedMap creates a new OrderedMap
func (*OrderedMap[k, v]) Clone ¶
func (o *OrderedMap[k, v]) Clone() OrderedMap[k, v]
Clone returns clone of OrderedMap
func (*OrderedMap[k, v]) Delete ¶
func (o *OrderedMap[k, v]) Delete(key k)
Delete deletes a value from the OrderedMap
func (*OrderedMap[k, v]) Get ¶
func (o *OrderedMap[k, v]) Get(key k) (v, bool)
Get gets a value from the OrderedMap
func (*OrderedMap[k, v]) GetByIndex ¶
func (o *OrderedMap[k, v]) GetByIndex(index int) (v, bool)
GetByIndex gets a value from the OrderedMap by index
func (*OrderedMap[k, v]) GetKeys ¶
func (o *OrderedMap[k, v]) GetKeys() []k
GetKeys returns the keys of the OrderedMap
func (*OrderedMap[k, v]) Has ¶
func (o *OrderedMap[k, v]) Has(key k) bool
Has checks if the OrderedMap has the provided key
func (*OrderedMap[k, v]) IsEmpty ¶
func (o *OrderedMap[k, v]) IsEmpty() bool
IsEmpty checks if the OrderedMap is empty
func (*OrderedMap[k, v]) Iterate ¶
func (o *OrderedMap[k, v]) Iterate(f func(key k, value v) bool)
Iterate iterates over the OrderedMap
func (*OrderedMap[k, v]) Len ¶
func (o *OrderedMap[k, v]) Len() int
Len returns the length of the OrderedMap
func (*OrderedMap[k, v]) Set ¶
func (o *OrderedMap[k, v]) Set(key k, value v)
Set sets a value in the OrderedMap (if the key already exists, it will be overwritten)
type SyncLockMap ¶
type SyncLockMap[K, V comparable] struct { ReadOnly atomic.Bool Map Map[K, V] // contains filtered or unexported fields }
SyncLock adds sync and lock capabilities to generic map
func (*SyncLockMap[K, V]) Clear ¶
func (s *SyncLockMap[K, V]) Clear() bool
IsEmpty checks if the current map is empty
func (*SyncLockMap[K, V]) Clone ¶
func (s *SyncLockMap[K, V]) Clone() *SyncLockMap[K, V]
Clone creates a new SyncLockMap with the same values
func (*SyncLockMap[K, V]) Delete ¶
func (s *SyncLockMap[K, V]) Delete(k K)
Get an item with syncronous access
func (*SyncLockMap[K, V]) Get ¶
func (s *SyncLockMap[K, V]) Get(k K) (V, bool)
Get an item with syncronous access
func (*SyncLockMap[K, V]) GetAll ¶
func (s *SyncLockMap[K, V]) GetAll() Map[K, V]
GetAll returns Copy of the current map
func (*SyncLockMap[K, V]) GetKeyWithValue ¶
func (s *SyncLockMap[K, V]) GetKeyWithValue(value V) (K, bool)
GetKeywithValue returns the first key having value
func (*SyncLockMap[K, V]) Has ¶
func (s *SyncLockMap[K, V]) Has(key K) bool
Has checks if the current map has the provided key
func (*SyncLockMap[K, V]) IsEmpty ¶
func (s *SyncLockMap[K, V]) IsEmpty() bool
IsEmpty checks if the current map is empty
func (*SyncLockMap[K, V]) Iterate ¶
func (s *SyncLockMap[K, V]) Iterate(f func(k K, v V) error) error
Iterate with a callback function synchronously
func (*SyncLockMap[K, V]) Lock ¶
func (s *SyncLockMap[K, V]) Lock()
Lock the current map to read-only mode
func (*SyncLockMap[K, V]) Merge ¶
func (s *SyncLockMap[K, V]) Merge(n map[K]V) error
Merge the current map with the provided one
func (*SyncLockMap[K, V]) Set ¶
func (s *SyncLockMap[K, V]) Set(k K, v V) error
Set an item with syncronous access