bazel-lib/docs/lists.md

4.2 KiB

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. Furthermore 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