utils

package
v0.4.2 Latest Latest
Warning

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

Go to latest
Published: Jul 23, 2024 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CapitalizeFirstLetter

func CapitalizeFirstLetter(s string) string

Proper unicode aware capitalization function. If something is wrong – just returns string as is.

func Contains

func Contains[K comparable, V any](m map[K]V, key K) bool

func EvalContextByFunc added in v0.4.2

func EvalContextByFunc(ctx *hcl.EvalContext, name string) *hcl.EvalContext

func EvalContextByVar added in v0.4.2

func EvalContextByVar(ctx *hcl.EvalContext, name string) *hcl.EvalContext

func FnMap added in v0.4.1

func FnMap[I, O any](s []I, fn func(I) O) []O

Produce a new slice by applying function fn to items of the slice s.

func FnMapErr added in v0.4.2

func FnMapErr[I, O any](s []I, fn func(I) (O, error)) (out []O, err error)

Produce a new slice by applying (possibly erroring) function fn to items of the slice s. Returns on the first error with nil slice.

func IsNil

func IsNil(val any) bool

Correct version of nil check, works on nil interfaces as well as any other value.

func JoinSurround

func JoinSurround(sep, surround string, elems ...string) string

func MapMap added in v0.4.2

func MapMap[K comparable, VIn, VOut any](m map[K]VIn, fn func(VIn) VOut) map[K]VOut

Produce a new map by applying function fn to the values of the map m.

func MapMapErr added in v0.4.2

func MapMapErr[K comparable, VIn, VOut any](m map[K]VIn, fn func(VIn) (VOut, error)) (map[K]VOut, error)

Produce a new map by applying (possibly erroring) function fn to the values of the map m. Returns on the first error with nil map.

func MemoizedKeys

func MemoizedKeys[M ~map[string]V, V any](m *M) func() string

func Must added in v0.4.2

func Must[T any](val T, err error) T

Unwraps the value, panics if err is not nil.

func OnceVal added in v0.4.2

func OnceVal[V any](fn func() (V, diagnostics.Diag)) func() (V, diagnostics.Diag)

OnceVal returns a function that calls fn only once and caches the result. If fn returns diagnostics with errors, the function will return it only once, on subsequent calls it will return RepeatedError.

func Pop

func Pop[K comparable, V any](m map[K]V, key K) (val V, found bool)

If key in map - return corresponding value and delete it from map

func SetAt added in v0.4.1

func SetAt[T any](slice []T, idx int, val T) []T

Sets slice[idx] = val, growing the slice if needed, and returns the updated slice.

func SliceToSet

func SliceToSet[K comparable](slice []K) map[K]struct{}

func ToHclsyntaxBody

func ToHclsyntaxBody(body hcl.Body) *hclsyntax.Body

func TrimDedent added in v0.4.2

func TrimDedent(text string) (lines []string)

Strip common whitespace from the beginnings of the lines, trim the end whitespace Tab is assumed to be equal to 4 spaces

func TrimDedentTabsize added in v0.4.2

func TrimDedentTabsize(text string, tabSize int) (lines []string)

Strip common whitespace from the beginnings of the lines, trim the end whitespace

Types

This section is empty.

Jump to

Keyboard shortcuts

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