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()
- type SyncLockMapOption
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 ¶ added in v1.0.4
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 ¶ added in v1.0.4
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 ¶ added in v1.0.4
type OrderedMap[k comparable, v any] struct { // contains filtered or unexported fields }
OrderedMap is a map that preserves the order of elements
func NewOrderedMap ¶ added in v1.0.4
func NewOrderedMap[k comparable, v any]() OrderedMap[k, v]
NewOrderedMap creates a new OrderedMap
func (*OrderedMap[k, v]) Clone ¶ added in v1.0.4
func (o *OrderedMap[k, v]) Clone() OrderedMap[k, v]
Clone returns clone of OrderedMap
func (*OrderedMap[k, v]) Delete ¶ added in v1.0.4
func (o *OrderedMap[k, v]) Delete(key k)
Delete deletes a value from the OrderedMap
func (*OrderedMap[k, v]) Get ¶ added in v1.0.4
func (o *OrderedMap[k, v]) Get(key k) (v, bool)
Get gets a value from the OrderedMap
func (*OrderedMap[k, v]) GetByIndex ¶ added in v1.0.4
func (o *OrderedMap[k, v]) GetByIndex(index int) (v, bool)
GetByIndex gets a value from the OrderedMap by index
func (*OrderedMap[k, v]) GetKeys ¶ added in v1.0.4
func (o *OrderedMap[k, v]) GetKeys() []k
GetKeys returns the keys of the OrderedMap
func (*OrderedMap[k, v]) Has ¶ added in v1.0.4
func (o *OrderedMap[k, v]) Has(key k) bool
Has checks if the OrderedMap has the provided key
func (*OrderedMap[k, v]) IsEmpty ¶ added in v1.0.4
func (o *OrderedMap[k, v]) IsEmpty() bool
IsEmpty checks if the OrderedMap is empty
func (*OrderedMap[k, v]) Iterate ¶ added in v1.0.4
func (o *OrderedMap[k, v]) Iterate(f func(key k, value v) bool)
Iterate iterates over the OrderedMap
func (*OrderedMap[k, v]) Len ¶ added in v1.0.4
func (o *OrderedMap[k, v]) Len() int
Len returns the length of the OrderedMap
func (*OrderedMap[k, v]) Set ¶ added in v1.0.4
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 NewSyncLockMap ¶ added in v1.0.4
func NewSyncLockMap[K, V comparable](options ...SyncLockMapOption[K, V]) *SyncLockMap[K, V]
NewSyncLockMap creates a new SyncLockMap. If an existing map is provided, it is used; otherwise, a new map is created.
func (*SyncLockMap[K, V]) Clear ¶ added in v1.0.4
func (s *SyncLockMap[K, V]) Clear() bool
IsEmpty checks if the current map is empty
func (*SyncLockMap[K, V]) Clone ¶ added in v1.0.4
func (s *SyncLockMap[K, V]) Clone() *SyncLockMap[K, V]
Clone creates a new SyncLockMap with the same values
func (*SyncLockMap[K, V]) Delete ¶ added in v1.0.4
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 ¶ added in v1.0.4
func (s *SyncLockMap[K, V]) GetAll() Map[K, V]
GetAll returns Copy of the current map
func (*SyncLockMap[K, V]) GetKeyWithValue ¶ added in v1.0.4
func (s *SyncLockMap[K, V]) GetKeyWithValue(value V) (K, bool)
GetKeywithValue returns the first key having value
func (*SyncLockMap[K, V]) Has ¶ added in v1.0.4
func (s *SyncLockMap[K, V]) Has(key K) bool
Has checks if the current map has the provided key
func (*SyncLockMap[K, V]) IsEmpty ¶ added in v1.0.4
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 ¶ added in v1.0.4
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
type SyncLockMapOption ¶ added in v1.0.4
type SyncLockMapOption[K, V comparable] func(slm *SyncLockMap[K, V])
func WithMap ¶ added in v1.0.4
func WithMap[K, V comparable](m Map[K, V]) SyncLockMapOption[K, V]