Slices
The Slices registry provides utilities for working with slice data structures, including functions for filtering, sorting, and transforming slices in a flexible manner.
list
The function creates a list from the provided elements, collecting them into a single array-like structure.
Signature
{{ list 1 2 3 }} // Output: [1 2 3]append
The function adds an element to the end of an existing list, extending the list by one item.
Signature
{{ list "a" "b" | append "c" }} // Output: [a b c]
{{ nil | append "c" }} // ErrorThe list you pass in is never modified, a new one is returned. To accumulate in a range, assign the result back:
{{- $stages := list -}}
{{- range .Stages -}}
{{- $stages = $stages | append .Name -}}
{{- end -}}Without the =, the list stays empty and each intermediate result is printed into the output.
prepend
The function adds an element to the beginning of an existing list, placing the new item before all others.
Signature
Like append, the list you pass in is never modified: assign the result back to accumulate it.
concat
The function merges multiple lists into a single, unified list, combining all elements from the provided lists.
Signature
chunk
The function divides a list into smaller, equally sized chunks based on the specified size, breaking the original list into manageable sub-lists.
Signature
uniq
The function removes duplicate elements from a list, ensuring that each element appears only once in the resulting list.
Signature
compact
The function removes nil and zero-value elements from a list, leaving only non-empty and meaningful values.
Signature
flatten
The function flattens a list into a single-dimensional array, removing nested lists and combining all elements into a single list.
Signature
flattenDepth
The function flattens a list into a single-dimensional array up to a specified depth, removing nested lists and combining all elements into a single list up to the specified depth.
Signature
slice
The function extracts a portion of a list, creating a new slice based on the specified start and end indices.
Signature
has
The function checks if a specified element is present within a collection, returning true if the element is found.
Signature
without
The function returns a new list that excludes the specified elements, effectively filtering out unwanted items from the original list.
Signature
rest
The function returns all elements of a list except for the first one, effectively giving you the "rest" of the list.
Signature
initial
The function returns all elements of a list except the last one, effectively providing the "initial" portion of the list.
Signature
first
The function returns the first element of a list.
Signature
last
The function returns the last element of a list.
Signature
reverse
The function returns a new list with the elements in reverse order, flipping the sequence of the original list.
Signature
sortAlpha
The function sorts a list of strings in alphabetical order.
Signature
splitList
The function splits a string into a slice of substrings based on the specified separator.
This function may be renamed in the future to better reflect its purpose.
Signature
strSlice
The function converts a given value into a slice of strings, handling various input types including []string, []any, and other slice types, ensuring flexible type conversion to a string slice.
Signature
until
The function generates a slice of integers starting from 0 up to, but not including, the specified count. If count is negative, it produces a descending slice from 0 down to count, inclusive, stepping by -1. The function utilizes UntilStep to dynamically determine the range and step size.
Signature
untilStep
The function generates a slice of integers from start to stop (exclusive), incrementing by the specified step. If step is positive, the sequence ascends; if negative, it descends. The function returns an empty slice if the sequence is logically invalid, such as when a positive step is used but start is greater than stop, or vice versa.
Signature
Last updated