Documentation
¶
Index ¶
- func CapitalizeFirstLetter(s string) string
- func Contains[K comparable, V any](m map[K]V, key K) bool
- func EvalContextByFunc(ctx *hcl.EvalContext, name string) *hcl.EvalContext
- func EvalContextByVar(ctx *hcl.EvalContext, name string) *hcl.EvalContext
- func FnMap[I, O any](s []I, fn func(I) O) []O
- func FnMapErr[I, O any](s []I, fn func(I) (O, error)) (out []O, err error)
- func IsNil(val any) bool
- func JoinSurround(sep, surround string, elems ...string) string
- func MapMap[K comparable, VIn, VOut any](m map[K]VIn, fn func(VIn) VOut) map[K]VOut
- func MapMapErr[K comparable, VIn, VOut any](m map[K]VIn, fn func(VIn) (VOut, error)) (map[K]VOut, error)
- func MemoizedKeys[M ~map[string]V, V any](m *M) func() string
- func Must[T any](val T, err error) T
- func OnceVal[V any](fn func() (V, diagnostics.Diag)) func() (V, diagnostics.Diag)
- func Pop[K comparable, V any](m map[K]V, key K) (val V, found bool)
- func SetAt[T any](slice []T, idx int, val T) []T
- func SliceToSet[K comparable](slice []K) map[K]struct{}
- func ToHclsyntaxBody(body hcl.Body) *hclsyntax.Body
- func TrimDedent(text string) (lines []string)
- func TrimDedentTabsize(text string, tabSize int) (lines []string)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CapitalizeFirstLetter ¶
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
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 JoinSurround ¶
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 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
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 TrimDedent ¶ added in v0.4.2
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
Strip common whitespace from the beginnings of the lines, trim the end whitespace
Types ¶
This section is empty.