The collection module

The collection module is the common super-metatable for all collection types, such as list, string, and bytes. It contains the common operations for all collections.

Member functions

all(self, predicate: callable[any → boolean]): boolean

Returns true if all elements in the collection return true when passed to predicate.

any(self, predicate: callable[any → boolean]): boolean

Returns true if any element in the collection returns true when passed to predicate. predicate must accept one argument and return a boolean.

filter(self, predicate: callable[any → boolean]): any

Returns a new collection containing only the elements in the collection that return true when passed to predicate.

first(self, f: callable[any → boolean] | null = null): any

Returns the first element in the collection that returns true when passed to f. If f is null, returns the first element in the collection.

getOrDefault(self, i: number, default: any): any

Returns the value at i if it exists, otherwise returns default.

isEmpty(self): boolean

Returns true if the collection is empty.

last(self, f: callable[any → boolean] | null = null): any

Returns the last element in the collection that returns true when passed to f. If f is null, returns the last element in the collection.

map(self, mapper: callable[any → any]): any

Returns a new collection containing the results of calling mapper on each element in the collection. mapper must accept one argument and return a value.

reduce(self, reducer: callable[any, any → any], initial: any): any

Returns the result of calling reducer on each element in the collection, passing the result of the previous call as the first argument and the current element as the second argument. The first call to reducer will receive initial as the first argument and the first element as the second argument. reducer must accept two arguments and return a value.

sum(self): any

Semantically equivalent to reduce(fn(a, b) = a + b, 0).