utils

package
v0.16.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 23, 2026 License: Apache-2.0 Imports: 10 Imported by: 17

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func All added in v0.6.0

func All[T any](slice []T, f func(T) bool) bool

All returns true if all elements match the given predicate

func AnyOf added in v0.12.0

func AnyOf[T comparable](e T, values ...T) bool

func DerefSlice added in v0.8.0

func DerefSlice[T any](v *[]T) []T

func FeltArrToString added in v0.13.0

func FeltArrToString(arr []*felt.Felt) string

func Filter added in v0.6.0

func Filter[T any](slice []T, f func(T) bool) []T

func Gzip64Decode added in v0.4.0

func Gzip64Decode(data string) ([]byte, error)

func Gzip64Encode added in v0.4.0

func Gzip64Encode(data []byte) (string, error)

func IsNil added in v0.13.0

func IsNil(i any) bool

IsNil checks if the underlying value of the interface is nil.

In Golang, an interface is boxed by an underlying type and value; both of them need to be nil for the interface to be nil. See the following examples:

var i any
fmt.Println(i == nil) // true

var p *int
var i any = p
fmt.Println(i == nil) // false!

A solution for this is to use i == nil || reflect.ValueOf(i).IsNil()), however, this can cause a panic as not all reflect.Value has IsNil() defined. Therefore, default is to return false. For example, reflect.Array cannot be nil, hence calling IsNil() will cause a panic.

func Map added in v0.6.0

func Map[T1, T2 any](slice []T1, f func(T1) T2) []T2

func NonNilSlice added in v0.8.0

func NonNilSlice[T any](sl []T) []T

func Set added in v0.13.0

func Set[T comparable](slice []T) []T

Unique returns a new slice with duplicates removed. Panics if the slice contains pointer types.

func ToMap added in v0.10.0

func ToMap[T any, K comparable, V any](sl []T, f func(T) (K, V)) map[K]V

func ToPtrSlice added in v0.16.1

func ToPtrSlice[T any](s []T) []*T

ToPtrSlice returns a slice of pointers, where each pointer refers to a copy of the corresponding input element.

func ToSlice added in v0.10.0

func ToSlice[K comparable, V any, T any](m map[K]V, f func(K, V) T) []T

Types

type OrderedSet added in v0.13.0

type OrderedSet[K comparable, V any] struct {
	// contains filtered or unexported fields
}

OrderedSet is a thread-safe data structure that maintains both uniqueness and insertion order of elements. It combines the benefits of both maps and slices: - Uses a map for O(1) lookups and to ensure element uniqueness - Uses a slice to maintain insertion order and enable ordered iteration The data structure is safe for concurrent access through the use of a read-write mutex.

func NewOrderedSet added in v0.13.0

func NewOrderedSet[K comparable, V any]() *OrderedSet[K, V]

func (*OrderedSet[K, V]) Clear added in v0.14.5

func (o *OrderedSet[K, V]) Clear()

func (*OrderedSet[K, V]) Get added in v0.13.0

func (o *OrderedSet[K, V]) Get(key K) (V, bool)

func (*OrderedSet[K, V]) Keys added in v0.13.0

func (o *OrderedSet[K, V]) Keys() []K

Keys returns a slice of keys in their insertion order

func (*OrderedSet[K, V]) List added in v0.13.0

func (o *OrderedSet[K, V]) List() []V

List returns a shallow copy of the proof set's value list.

func (*OrderedSet[K, V]) Put added in v0.13.0

func (o *OrderedSet[K, V]) Put(key K, value V)

func (*OrderedSet[K, V]) Size added in v0.13.0

func (o *OrderedSet[K, V]) Size() int

Directories

Path Synopsis
Package broadcast implements a fan-out event stream with overwrite-on-full semantics.
Package broadcast implements a fan-out event stream with overwrite-on-full semantics.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL