* feat(list): add `unique` function * Update lists.bzl * Update lists.bzl * Update lists.bzl * Update lists.bzl --------- Co-authored-by: Alex Eagle <alex@aspect.dev>
4.2 KiB
Generated
Functions for lists
every
every(f, arr)
Check if every item of arr
passes function f
.
Example:
every(lambda i: i.endswith(".js"), ["app.js", "lib.js"]) // True
PARAMETERS
Name | Description | Default Value |
---|---|---|
f | Function to execute on every item | none |
arr | List to iterate over | none |
RETURNS
True or False
filter
filter(f, arr)
Filter a list arr
by applying a function f
to each item.
Example:
filter(lambda i: i.endswith(".js"), ["app.ts", "app.js", "lib.ts", "lib.js"]) // ["app.js", "lib.js"]
PARAMETERS
Name | Description | Default Value |
---|---|---|
f | Function to execute on every item | none |
arr | List to iterate over | none |
RETURNS
A new list containing items that passed the filter function.
find
find(f, arr)
Find a particular item from list arr
by a given function f
.
Unlike pick
, the find
method returns a tuple of the index and the value of first item passing by f
.
Furhermore find
does not fail if no item passes f
.
In this case (-1, None)
is returned.
PARAMETERS
Name | Description | Default Value |
---|---|---|
f | Function to execute on every item | none |
arr | List to iterate over | none |
RETURNS
Tuple (index, item)
map
map(f, arr)
Apply a function f
with each item of arr
and return a new list.
Example:
map(lambda i: i*2, [1, 2, 3]) // [2, 4, 6]
PARAMETERS
Name | Description | Default Value |
---|---|---|
f | Function to execute on every item | none |
arr | List to iterate over | none |
RETURNS
A new list with all mapped items.
once
once(f, arr)
Check if exactly one item in list arr
passes the given function f
.
PARAMETERS
Name | Description | Default Value |
---|---|---|
f | Function to execute on every item | none |
arr | List to iterate over | none |
RETURNS
True or False
pick
pick(f, arr)
Pick a particular item in list arr
by a given function f
.
Unlike filter
, the pick
method returns the first item found by f
.
If no item has passed f
, the function will fail.
PARAMETERS
Name | Description | Default Value |
---|---|---|
f | Function to execute on every item | none |
arr | List to iterate over | none |
RETURNS
item
some
some(f, arr)
Check if at least one item of arr
passes function f
.
Example:
some(lambda i: i.endswith(".js"), ["app.js", "lib.ts"]) // True
PARAMETERS
Name | Description | Default Value |
---|---|---|
f | Function to execute on every item | none |
arr | List to iterate over | none |
RETURNS
True or False
unique
unique(arr)
Return a new list with unique items in it.
Example:
unique(["foo", "bar", "foo", "baz"]) // ["foo", "bar", "baz"]
PARAMETERS
Name | Description | Default Value |
---|---|---|
arr | List to iterate over | none |
RETURNS
A new list with unique items