Skip to main content
Module

x/rimbu/mod.ts

Rimbu is a TypeScript library focused on immutable, performant, and type-safe collections and other tools.
Go to Latest
import * as rimbu from "https://deno.land/x/rimbu@0.10.0/mod.ts";

Namespaces

Classes

A base class that can be used to easily create AsyncReducer instances.

A custom error instance.

A base class that can be used to easily create Reducer instances.

Variables

Indicates, when returned from a collect function, to skip the vale.

An Eq instance that uses Object.is to determine if two objects are equal.

Returns a Reducer that takes boolean values and outputs true if all input values are true, and false otherwise.

A Reducer that calculates the average of all given numberic input values.

Returns a Reducer that remembers the amount of input items provided.

Returns a Reducer that remembers the first input value.

Returns a Reducer that remembers the first input value for which the given pred function returns true.

Returns a Reducer that outputs true if no input values are received, false otherwise.

Returns a Reducer that remembers the last input value.

Returns a Reducer that remembers the last input value for which the given pred function returns true.

Returns a Reducer that remembers the maximum value of the numberic inputs.

Returns a Reducer that remembers the maximum value of the inputs using the given compFun to compare input values

Returns a Reducer that remembers the minimum value of the numberic inputs.

Returns a Reducer that remembers the minimum value of the inputs using the given compFun to compare input values

Returns a Reducer that outputs true if one or more input values are received, false otherwise.

Returns a Reducer that takes boolean values and outputs true if one or more input values are true, and false otherwise.

A Reducer that calculates the product of all given numeric input values.

A Reducer that sums all given numeric input values.

Functions

Returns the value or promised value contained in an AsyncOptLazy instance of type T.

Returns the value contained in an AsyncOptLazy instance of type T as a promise.

Returns an AsyncReducer with the given options:

Returns an AsyncReducer of which the input, state, and output types are the same.

Returns an AsyncReducer of which the state and output types are the same.

Returns a Comp instance that compares any value using default comparison functions. For Iterables and objects, their elements are compared recursively.

Returns a Comp instance that compares any value using default comparison functions, but never recursively compares Iterables or objects. In those cases, it will use the stringComp instance.

Returns a Comp instance that compares any value using default comparison functions. For Iterables and objects, their elements are compared only one level deep for performance and to avoid infinite recursion.

Returns a Comp instance converts values to string with JSON.stringify, and orders the resulting string naturally.

Returns a any Comp instance that orders any according to their toString values.

Returns a default bigint Comp instance that orders bigint numbers naturally.

Returns a default boolean Comp instance that orders booleans according to false < true.

Returns a Comp instance that orders objects with a valueOf method according to the given valueComp instance for the valueOf values.

Returns a Date Comp instance that orders Dates according to their .valueOf value.

Returns the default Comp instance, which is the Comp.anyDeepComp() instance.

Returns a Comp instance the reverses the order of the given comp instance.

Returns a Comp instance for Iterable objects that orders the Iterables by comparing the elements with the given itemComp Comp instance.

Returns a default number Comp instance that orders numbers naturally.

Returns a Comp instance for objects that orders the object keys according to the given keyComp, and then compares the corresponding values using the given valueComp. Objects are then compared as follows: starting with the smallest key of either object:

  • if only one of the objects has the key, the object with the key is considered to be larger than the other
  • if both objects have the key, the values are compared with valueComp. If the values are not equal, this result is returned.

Returns a Comp instance that compares strings in a case-insensitive way.

Returns a string Comp instance that orders strings according to their indexed char codes.

Returns a Comp instance that compares strings based on the string's localeCompare method.

Returns an Eq equality instance thet will return true when the given comp comparable instance returns 0.

Returns a Comp instance that extends the given comp instance with the capability to handle null values, where null is considered to be smaller than any other value, and equal to another null.

Returns a Comp instance that extends the given comp instance with the capability to handle undefined values, where undefined is considered to be smaller than any other value, and equal to another undefined.

Returns an Eq instance that checks equality of any values. For composed values (objects and iterables) it will recursively compare the contained values.

Returns an Eq instance that checks equality of any values. For composed values (objects and iterables) it will compare with Object.is.

Returns an Eq instance that considers values equal their JSON.stringify values are equal.

Returns an Eq instance that checks equality of any values. For composed values (objects and iterables) it will enter 1 level, and if again compound values are found, they are compared with Object.is.

Returns an Eq instance that considers strings equal taking the given or default locale into account.

Returns an Eq instance that compares Date objects according to their valueOf value.

Returns the default Eq instance, which is the Eq.anyDeepEq() instance.

Returns an Eq instance that compares Iterables by comparing their elements with the given itemEq Eq instance.

Returns an Eq instance that checks equality of objects containing property values of type V by iteratively applying given valueEq to each of the object's property values.

Returns an Eq instance that considers strings equal regardless of their case.

Returns an Eq instance that considers strings equal when all their charcodes are equal.

Returns an Eq instance for tuples that considers two tuples [A, B] and [C, D] equal if [A, B] equals [C, D], or if [A, B] equals [D, C]

Returns an Eq instance for objects that have a valueOf method. It returns true if the .valueOf values of both given objects are equal.

Throws an Err.ForcedError error when called.

Returns a function that, when called, throws an Err.ForcedError with the given message string.

Returns a Hasher instance that hashes any value, and traverses into an object or array to hash its elements.

Returns a Hasher instance that hashes any value, but never traverses into an object or array to hash its elements. In those cases it will use toString.

Returns a Hasher instance that hashes any value by hashing the string resulting from applying JSON.stringify to the value.

Returns a Hasher instance that hashes any value, but only traverses into an object or array to hash its elements one level deep. After one level, it will use toString.

Returns a Hasher instance that hashes the string representation of any value

Returns a Hasher that hashes arrays of elements by sampling the array and using the given itemHasher to hash the sampled elements.

Returns a Hasher instance that hashes bigints.

Returns a Hasher instance that hashes booleans.

Returns a Hasher instance that hashes the .valueOf value of the given object using the given valueHasher for instances of given cls class.

Returns a Hasher instance that hashes Dates.

Returns a Hasher instance that hashes numbers, including 'special' values like NaN and infinities.

Returns a Hasher instance that hashes objects of key type K and value type V. If a value if an object or array, it will recursively hash its values.

Returns a Hasher instance that hashes objects of key type K and value type V.

Returns a Hasher instance that hashes objects of key type K and value type V. If a value if an object or array, it will convert those values to a string.

Returns a Hasher instance that hashes any StreamSource limited to a certain amount of elements to prevent haning on infinite streams.

Returns a Hasher instance for string values.

Returns a Hasher that will return equal hash values for values in a tuple regardless of their order, and uses the given hasher function to hash the tuple elements.

Returns the same value wrapped in the Immutable type

Returns, given the range IndexRange, a normalized tuple containing the start index, and optionally an end index.

Returns, given the range IndexRange, and a target maximum length, the actual index range. This can be one of three options:

  • 'empty': there are no elements within the range
  • 'all': all elements are within the range
  • [start: number, end: number]: an inclusive range of element indices within the given range

Returns the value embedded in a Literal instance

Returns true if the given obj value is a Literal instance.

Returns true if the given obj is a plain JS object

Returns a Literal value embedding the given value.

Returns true if the given value matches all of the given objects in the matchers array.

Returns true if the given value matches any of the given objects in the matchers array.

Returns a function that takes a value of type T, and returns true if the value matches all the given matches array of Match instances.

Returns a function that takes a value of type T, and returns true if the value matches any of the given matches array of Match instances.

Returns the value contained in an OptLazy instance of type T.

Returns the value contained in an OptLazyOr instance of type T, or the given otherValue if the lazy function returns it.

Returns an updated version of given value, without modifying the value, where the contents are updated according to the given patches Patch array.

Returns a function that patches a given object of type T with the given patches Patch array.

Returns the value resulting from selecting the given path in the given source object.

Patches the value at the given path in the source to the given value using the given patches.

Sets the value at the given path in the source to the given value.

Simplifies a given range Range input for easier processing, by returning optional start and end ranges including whether they are inclusive or exclusive

Returns a Reducer that combines multiple input reducers by providing input values to all of them and collecting the outputs in an array.

Returns a Reducer that outputs false as long as the given elem has not been encountered in the input values, true otherwise.

Returns a Reducer with the given options:

Returns a Reducer of which the input, state, and output types are the same.

Returns a Reducer of which the state and output types are the same.

Returns a Reducer that ouputs true as long as all input values satisfy the given pred, false otherwise.

Returns the contained value for an Init instance.

Returns a yaReducer that joins the given input values into a string using the given options.

Returns a Reducer that ouputs false as long as no input value satisfies given pred, true otherwise.

Returns a Reducer that collects received input values in an array, and returns a copy of that array as an output value when requested.

Returns a Reducer that collects received input tuples into a mutable JS Map, and returns a copy of that map when output is requested.

Returns a Reducer that collects received input values into a mutable JS Set, and returns a copy of that map when output is requested.

Returns a stream of connections that can be reached in the given graph starting at the given startNode, and using breadth-first traversal. It can avoid loops if needed in a custom way by supplying the addVisitedNode function.

Returns a stream of connections that can be reached in the given graph starting at the given startNode, and using breadth-first traversal. It avoids loops by internally placing the visited nodes in a HashSet builder.

Returns a stream of connections that can be reached in the given graph starting at the given startNode, and using breadth-first traversal. It avoids loops by internally placing the visited nodes in a SortedSet builder.

Returns a stream of connections that can be reached in the given graph starting at the given startNode, and using depth-first traversal. It can avoid loops if needed in a custom way by supplying the addVisitedNode function.

Returns a stream of connections that can be reached in the given graph starting at the given startNode, and using depth-first traversal. It avoids loops by internally placing the visited nodes in a HashSet builder.

Returns a stream of connections that can be reached in the given graph starting at the given startNode, and using depth-first traversal. It avoids loops by internally placing the visited nodes in a SortedSet builder.

Returns a new TraverseState instance, using optionally given startIndex as a start index value.

Returns the given tuple with the given values appended.

Returns a Tuple containing the elements of given tuple1 followed by the elements of given tuple2.

Returns the first element of a Tuple.

Returns the item at the given index in the givn tuple.

Returns a Tuple containing all but the last element of the given tuple.

Returns the last element of a Tuple.

Convenience method to type Tuple types

Returns the second element of a Tuple.

Returns a Tuple containing all but the first element of the given tuple.

Returns a copy of the given tuple where the element at given index is updated with the given updater.

Returns the result of given update parameter, where it can either directly give a new value, or it is a function receiving the given value, and returns a new value.

Interfaces

An type-invariant immutable arrow (directed) graph. See the Graph documentation and the ArrowGraph API documentation

A mutable ArrowGraph builder used to efficiently create new immutable instances. See the Graph documentation and the ArrowGraph.Builder API documentation

The ArrowGraph's Context instance that serves as a factory for all related immutable instances and builders.

A non-empty type-invariant immutable arrow (directed) graph. See the Graph documentation and the ArrowGraph API documentation

Utility interface that provides higher-kinded types for this collection.

An type-invariant immutable valued arrow (directed) graph. The connections are internally maintained using hashed collections See the Graph documentation and the ArrowGraphHashed API documentation

A mutable ArrowGraphHashed builder used to efficiently create new immutable instances. See the Graph documentation and the ArrowGraphHashed.Builder API documentation

The ArrowGraphHashed's Context instance that serves as a factory for all related immutable instances and builders.

A non-empty type-invariant immutable valued arrow (directed) graph. The connections are internally maintained using hashed collections See the Graph documentation and the ArrowGraphHashed API documentation

Utility interface that provides higher-kinded types for this collection.

An type-invariant immutable valued arrow (directed) graph. The connections are internally maintained using sorted collections See the Graph documentation and the ArrowGraphSorted API documentation

A mutable ArrowGraphSorted builder used to efficiently create new immutable instances. See the Graph documentation and the ArrowGraphSorted.Builder API documentation

The ArrowGraphSorted's Context instance that serves as a factory for all related immutable instances and builders.

A non-empty type-invariant immutable valued arrow (directed) graph. The connections are internally maintained using sorted collections See the Graph documentation and the ArrowGraphSorted API documentation

Utility interface that provides higher-kinded types for this collection.

An type-invariant immutable valued arrow (directed) graph. See the Graph documentation and the ArrowValuedGraph API documentation

A mutable ArrowValuedGraph builder used to efficiently create new immutable instances. See the Graph documentation and the ArrowValuedGraph.Builder API documentation

The ArrowValuedGraph's Context instance that serves as a factory for all related immutable instances and builders.

A non-empty type-invariant immutable valued arrow (directed) graph. See the Graph documentation and the ArrowValuedGraph API documentation

Utility interface that provides higher-kinded types for this collection.

An type-invariant immutable valued arrow (directed) graph. The nodes are internally maintained using HashMaps See the Graph documentation and the ArrowValuedGraphHashed API documentation

A mutable ArrowValuedGraphHashed builder used to efficiently create new immutable instances. See the Graph documentation and the ArrowValuedGraphHashed.BuilderAPI documentation

The ArrowValuedGraphHashed's Context instance that serves as a factory for all related immutable instances and builders.

A non-empty type-invariant immutable valued arrow (directed) graph. The nodes are internally maintained using HashMaps See the Graph documentation and the ArrowValuedGraphHashed API documentation

Utility interface that provides higher-kinded types for this collection.

An type-invariant immutable valued arrow (directed) graph. The nodes are internally maintained using SortedMaps See the Graph documentation and the ArrowValuedGraphSorted API documentation

A mutable ArrowValuedGraphSorted builder used to efficiently create new immutable instances. See the Graph documentation and the ArrowValuedGraphSorted.Builder API documentation

The ArrowValuedGraphSorted's Context instance that serves as a factory for all related immutable instances and builders.

A non-empty type-invariant immutable valued arrow (directed) graph. The nodes are internally maintained using SortedMaps See the Graph documentation and the ArrowValuedGraphSorted API documentation

Utility interface that provides higher-kinded types for this collection.

A possibly infinite asynchronous sequence of elements of type T. See the Stream documentation and the AsyncStream API documentation

A non-empty and possibly infinite asynchronous sequence of elements of type T. See the Stream documentation and the AsyncStream API documentation

A type-invariant immutable bi-directional Map where keys and values have a one-to-one mapping. See the BiMap documentation and the BiMap API documentation

A mutable BiMap builder used to efficiently create new immutable instances. See the BiMap documentation and the BiMap.Builder API documentation

The BiMap's Context instance that serves as a factory for all related immutable instances and builders.

A non-empty type-invariant immutable bi-directional Map where keys and values have a one-to-one mapping. See the BiMap documentation and the BiMap API documentation * @typeparam K - the key type

Utility interface that provides higher-kinded types for this collection.

A type-invariant immutable bi-directional MultiMap where keys and values have a many-to-many mapping. See the BiMultiMap documentation and the BiMultiMap API documentation

A mutable BiMultiMap builder used to efficiently create new immutable instances. See the BiMultiMap documentation and the BiMultiMap.Builder API documentation

The BiMultiMap's Context instance that serves as a factory for all related immutable instances and builders.

A non-empty type-invariant immutable bi-directional MultiMap where keys and values have a many-to-many mapping. See the BiMultiMap documentation and the BiMultiMap API documentation

Utility interface that provides higher-kinded types for this collection.

An object providing methods to compare two values of type K.

An type-invariant immutable edge (undirected) graph. See the Graph documentation and the EdgeGraph API documentation

A mutable EdgeGraph builder used to efficiently create new immutable instances. See the Graph documentation and the EdgeGraph.Builder API documentation

The EdgeGraph's Context instance that serves as a factory for all related immutable instances and builders.

A non-empty type-invariant immutable edge (undirected) graph.

Utility interface that provides higher-kinded types for this collection.

An type-invariant immutable valued edge (undirected) graph. The connections are internally maintained using hashed collections See the Graph documentation and the EdgeGraphHashed API documentation

A mutable EdgeGraphHashed builder used to efficiently create new immutable instances. See the Graph documentation and the EdgeGraphHashed.Builder API documentation

The EdgeGraphHashed's Context instance that serves as a factory for all related immutable instances and builders.

A non-empty type-invariant immutable valued edge (undirected) graph. The connections are internally maintained using hashed collections See the Graph documentation and the EdgeGraphHashed API documentation

Utility interface that provides higher-kinded types for this collection.

An type-invariant immutable valued edge (undirected) graph. The connections are internally maintained using sorted collections See the Graph documentation and the EdgeGraphSorted API documentation

A mutable EdgeGraphSorted builder used to efficiently create new immutable instances. See the Graph documentation and the EdgeGraphSorted.Builder API documentation

The EdgeGraphSorted's Context instance that serves as a factory for all related immutable instances and builders.

A non-empty type-invariant immutable valued edge (undirected) graph. The connections are internally maintained using sorted collections See the Graph documentation and the EdgeGraphSorted API documentation

Utility interface that provides higher-kinded types for this collection.

An type-invariant immutable valued edge (undirected) graph. See the Graph documentation and the EdgeValuedGraph API documentation

A mutable EdgeValuedGraph builder used to efficiently create new immutable instances. See the Graph documentation and the EdgeValuedGraph.Builder API documentation

The EdgeValuedGraph's Context instance that serves as a factory for all related immutable instances and builders.

A non-empty type-invariant immutable valued edge (undirected) graph. See the Graph documentation and the EdgeValuedGraph API documentation

Utility interface that provides higher-kinded types for this collection.

An type-invariant immutable valued edge (undirected) graph. The nodes are internally maintained using HashMaps See the Graph documentation and the EdgeValuedGraphHashed API documentation

A mutable EdgeValuedGraphHashed builder used to efficiently create new immutable instances. See the Graph documentation and the EdgeValuedGraphHashed.Builder API documentation

The EdgeValuedGraphHashed's Context instance that serves as a factory for all related immutable instances and builders.

A non-empty type-invariant immutable valued edge (undirected) graph. The nodes are internally maintained using HashMaps See the Graph documentation and the EdgeValuedGraphHashed API documentation

Utility interface that provides higher-kinded types for this collection.

An type-invariant immutable valued edge (undirected) graph. The nodes are internally maintained using SortedMaps See the Graph documentation and the EdgeValuedGraphSorted API documentation

A mutable EdgeValuedGraphSorted builder used to efficiently create new immutable instances. See the Graph documentation and the EdgeValuedGraphSorted.Builder API documentation

The EdgeValuedGraphSorted's Context instance that serves as a factory for all related immutable instances and builders.

A non-empty type-invariant immutable valued edge (undirected) graph. The nodes are internally maintained using SortedMaps See the Graph documentation and the EdgeValuedGraphSorted API documentation

Utility interface that provides higher-kinded types for this collection.

An interface that extends the standard Iterable interface to return a FastIterator instead of a normal Iterator.

An iterator that extends the default Iterator interface with methods that give more performance.

An type-invariant immutable graph. See the Graph documentation and the Graph API documentation

A mutable Graph builder used to efficiently create new immutable instances. See the Graph documentation and the Graph.Builder API documentation

The EdgeValuedGraGraphphSorted's Context instance that serves as a factory for all related immutable instances and builders.

A non-empty type-invariant immutable graph. See the Graph documentation and the Graph API documentation

Utility interface that provides higher-kinded types for this collection.

A type-invariant immutable bi-directional MultiMap where keys and values have a many-to-many mapping. Its keys and values are hashed. See the BiMultiMap documentation and the HashBiMultiMap API documentation

A mutable HashBiMultiMap builder used to efficiently create new immutable instances. See the BiMultiMap documentation and the HashBiMultiMap.Builder API documentation

The HashBiMultiMap's Context instance that serves as a factory for all related immutable instances and builders.

A non-empty type-invariant immutable bi-directional MultiMap where keys and values have a many-to-many mapping. Its keys and values are hashed. See the BiMultiMap documentation and the HashBiMultiMap API documentation

Utility interface that provides higher-kinded types for this collection.

Interface used to hash objects for hashed collections.

A type-invariant immutable Map of key type K, and value type V. In the Map, each key has exactly one value, and the Map cannot contain duplicate keys.

  • The HashMap uses the context's hasher instance to hash keys for performance.
  • The HashMap uses the context's eq function to determine equivalence between keys.

A mutable HashMap builder used to efficiently create new immutable instances. See the Map documentation and the HashMap.Builder API documentation

A context instance for a HashMap that acts as a factory for every instance of this type of collection.

A non-empty type-invariant immutable Map of key type K, and value type V. In the Map, each key has exactly one value, and the Map cannot contain duplicate keys.

  • The HashMap uses the context's hasher instance to hash keys for performance.
  • The HashMap uses the context's eq function to determine equivalence between keys.

Utility interface that provides higher-kinded types for this collection.

A type-invariant immutable MultiMap of key type K, and value type V. In the MultiMap, each key has at least one value. See the MultiMap documentation and the HashMultiMapHashValue API documentation

A mutable HashMultiMapHashValue builder used to efficiently create new immutable instances. See the MultiMap documentation and the HashMultiMapHashValue.Builder API documentation

A context instance for an HashMultiMapHashValue that acts as a factory for every instance of this type of collection.

A non-empty type-invariant immutable MultiMap of key type K, and value type V. In the MultiMap, each key has at least one value. See the MultiMap documentation and the HashMultiMapHashValue API documentation

Utility interface that provides higher-kinded types for this collection.

A type-invariant immutable MultiMap of key type K, and value type V. In the MultiMap, each key has at least one value. See the MultiMap documentation and the HashMultiMapSortedValue API documentation

A mutable HashMultiMapSortedValue builder used to efficiently create new immutable instances. See the MultiMap documentation and the HashMultiMapSortedValue.Builder API documentation

A context instance for an HashMultiMapSortedValue that acts as a factory for every instance of this type of collection.

A non-empty type-invariant immutable MultiMap of key type K, and value type V. In the MultiMap, each key has at least one value. See the MultiMap documentation and the HashMultiMapSortedValue API documentation

Utility interface that provides higher-kinded types for this collection.

A type-invariant immutable MultiSet of value type T. In the MultiSet, each value can occur multiple times. See the MultiSet documentation and the HashMultiSet API documentation

A mutable HashMultiSet builder used to efficiently create new immutable instances. See the MultiSet documentation and the HashMultiSet.Builder API documentation

A context instance for an HashMultiSet that acts as a factory for every instance of this type of collection.

A type-invariant immutable MultiSet of value type T. In the MultiSet, each value can occur multiple times. See the MultiSet documentation and the HashMultiSet API documentation

Utility interface that provides higher-kinded types for this collection.

A type-invariant immutable Set of value type T. In the Set, there are no duplicate values. See the Set documentation and the HashSet API documentation

A mutable HashSet builder used to efficiently create new immutable instances. See the Set documentation and the HashSet.Builder API documentation

A context instance for a HashSet that acts as a factory for every instance of this type of collection.

A non-empty type-invariant immutable Set of value type T. In the Set, there are no duplicate values. See the Set documentation and the HashSet API documentation

Utility interface that provides higher-kinded types for this collection.

A type-invariant immutable Table of row key type R, column key type C, and value type V. In the Table, a combination of a row and column key has exactly one value. See the Table documentation and the HashTableHashColumn API documentation

A non-empty type-invariant immutable Table of row key type R, column key type C, and value type V. In the Table, a combination of a row and column key has exactly one value. See the Table documentation and the HashTableHashColumn API documentation

Utility interface that provides higher-kinded types for this collection.

A type-invariant immutable Table of row key type R, column key type C, and value type V. In the Table, a combination of a row and column key has exactly one value. See the Table documentation and the HashTableSortedColumn API documentation

A non-empty type-invariant immutable Table of row key type R, column key type C, and value type V. In the Table, a combination of a row and column key has exactly one value. See the Table documentation and the HashTableSortedColumn API documentation

Utility interface that provides higher-kinded types for this collection.

A random accessible immutable sequence of values of type T. See the List documentation and the List API documentation

A mutable builder to create immutable List instances in a more efficient way. See the List documentation and the List.Builder API documentation

A context instance for List that acts as a factory for every instance of this type of collection.

A non-empty random accessible immutable sequence of values of type T. See the List documentation and the List API documentation

A utility interface to extract related List types.

Type to represent Literal values for the match and patch functions.

Excludes Iterable types

A type-invariant immutable MultiMap of key type K, and value type V. In the Map, each key has at least one value. See the MultiMap documentation and the MultiMap API documentation

A mutable MultiMap builder used to efficiently create new immutable instances. See the MultiMap documentation and the MultiMap.Builder API documentation

A context instance for MultiMap implementations that acts as a factory for every instance of this type of collection.

A non-empty type-invariant immutable MultiMap of key type K, and value type V. In the Map, each key has at least one value. See the MultiMap documentation and the MultiMap API documentation

Utility interface that provides higher-kinded types for this collection.

A type-invariant immutable MultiSet of value type T. In the MultiSet, each value can occur multiple times. See the MultiSet documentation and the MultiSet API documentation

A mutable MultiSet builder used to efficiently create new immutable instances. See the MultiSet documentation and the MultiSet.Builder API documentation

A context instance for MultiSet implementations that acts as a factory for every instance of this type of collection.

A non-empty type-invariant immutable MultiSet of value type T. In the MultiSet, each value can occur multiple times. See the MultiSet documentation and the MultiSet API documentation

Utility interface that provides higher-kinded types for this collection.

A type-invariant immutable Ordered HashMap of key type K, and value type V. In the Map, each key has exactly one value, and the Map cannot contain duplicate keys. See the Map documentation and the OrderedHashMap API documentation

A mutable OrderedHashMap builder used to efficiently create new immutable instances. See the Map documentation and the OrderedHashMap.Builder API documentation

A context instance for an OrderedHashMap that acts as a factory for every instance of this type of collection.

A non-empty type-invariant immutable Ordered HashMap of key type K, and value type V. In the Map, each key has exactly one value, and the Map cannot contain duplicate keys. See the Map documentation and the OrderedHashMap API documentation

Utility interface that provides higher-kinded types for this collection.

A type-invariant immutable Ordered HashSet of value type T. In the Set, there are no duplicate values. See the Set documentation and the OrderedHashSet API documentation

A mutable OrderedHashSet builder used to efficiently create new immutable instances. See the Set documentation and the OrderedHashSet.Builder API documentation

A context instance for an OrderedHashSet that acts as a factory for every instance of this type of collection.

A non-empty type-invariant immutable Ordered HashSet of value type T. In the Set, there are no duplicate values. See the Set documentation and the OrderedHashSet API documentation

Utility interface that provides higher-kinded types for this collection.

A type-invariant immutable Ordered Map of key type K, and value type V. In the Map, each key has exactly one value, and the Map cannot contain duplicate keys. See the Map documentation and the OrderedMap API documentation

A mutable OrderedMap builder used to efficiently create new immutable instances. See the Map documentation and the OrderedMap.Builder API documentation

A context instance for an OrderedMap that acts as a factory for every instance of this type of collection.

A non-empty type-invariant immutable Ordered Map of key type K, and value type V. In the Map, each key has exactly one value, and the Map cannot contain duplicate keys. See the Map documentation and the OrderedMap API documentation

Utility interface that provides higher-kinded types for this collection.

A type-invariant immutable Ordered Set of value type T. In the Set, there are no duplicate values. See the Set documentation and the OrderedSet API documentation

A mutable OrderedSet builder used to efficiently create new immutable instances. See the Set documentation and the OrderedSet.Builder API documentation

A non-empty type-invariant immutable Ordered SortedSet of value type T. In the Set, there are no duplicate values. See the Set documentation and the OrderedSet API documentation

Utility interface that provides higher-kinded types for this collection.

A type-invariant immutable Ordered SortedMap of key type K, and value type V. In the Map, each key has exactly one value, and the Map cannot contain duplicate keys. See the Map documentation and the OrderedSortedMap API documentation

A mutable OrderedSortedMap builder used to efficiently create new immutable instances. See the Map documentation and the OrderedSortedMap.Builder API documentation

A context instance for an OrderedSortedMap that acts as a factory for every instance of this type of collection.

A non-empty type-invariant immutable Ordered SortedMap of key type K, and value type V. In the Map, each key has exactly one value, and the Map cannot contain duplicate keys. See the Map documentation and the OrderedSortedMap API documentation

Utility interface that provides higher-kinded types for this collection.

A type-invariant immutable Ordered SortedSet of value type T. In the Set, there are no duplicate values. See the Set documentation and the OrderedSortedSet API documentation

A mutable OrderedSortedSet builder used to efficiently create new immutable instances. See the Set documentation and the OrderedSortedSet.Builder API documentation

A context instance for an OrderedSortedSet that acts as a factory for every instance of this type of collection.

A non-empty type-invariant immutable Ordered SortedSet of value type T. In the Set, there are no duplicate values. See the Set documentation and the OrderedSortedSet API documentation

Utility interface that provides higher-kinded types for this collection.

The Implementation interface for a Reducer, which also exposes the internal state type.

A type-invariant immutable Map of key type K, and value type V. In the Map, each key has exactly one value, and the Map cannot contain duplicate keys. See the Map documentation and the RMap API documentation

A mutable RMap builder used to efficiently create new immutable instances. See the Map documentation and the RMap.Builder API documentation

A context instance for RMap implementations that acts as a factory for every instance of this type of collection.

A non-empty type-invariant immutable Map of key type K, and value type V. In the Map, each key has exactly one value, and the Map cannot contain duplicate keys. See the Map documentation and the RMap API documentation

Utility interface that provides higher-kinded types for this collection.

A type-invariant immutable Set of value type T. In the Set, there are no duplicate values. See the Set documentation and the RSet API documentation

A mutable Set builder used to efficiently create new immutable instances. See the Set documentation and the RSet.Builder API documentation

A context instance for Map implementations that acts as a factory for every instance of this type of collection.

A non-empty type-invariant immutable Set of value type T. In the Set, there are no duplicate values. See the Set documentation and the RSet API documentation

Utility interface that provides higher-kinded types for this collection.

A type-invariant immutable bi-directional MultiMap where keys and values have a many-to-many mapping. Its keys and values are sorted. See the BiMultiMap documentation and the HashBiMultiMap API documentation

A mutable SortedBiMultiMap builder used to efficiently create new immutable instances. See the BiMultiMap documentation and the HashBiMultiMap.Builder API documentation

The SortedBiMultiMap's Context instance that serves as a factory for all related immutable instances and builders.

A non-empty type-invariant immutable bi-directional MultiMap where keys and values have a many-to-many mapping. Its keys and values are sorted. See the BiMultiMap documentation and the HashBiMultiMap API documentation

Utility interface that provides higher-kinded types for this collection.

A type-invariant immutable Map of key type K, and value type V. In the Map, each key has exactly one value, and the Map cannot contain duplicate keys. See the Map documentation and the SortedMap API documentation

A mutable SortedMap builder used to efficiently create new immutable instances. See the Map documentation and the SortedMap.Builder API documentation

A context instance for a HashMap that acts as a factory for every instance of this type of collection.

A non-empty type-invariant immutable Map of key type K, and value type V. In the Map, each key has exactly one value, and the Map cannot contain duplicate keys. See the Map documentation and the SortedMap API documentation

Utility interface that provides higher-kinded types for this collection.

A type-invariant immutable MultiMap of key type K, and value type V. In the MultiMap, each key has at least one value. See the MultiMap documentation and the SortedMultiMapHashValue API documentation

A mutable SortedMultiMapHashValue builder used to efficiently create new immutable instances. See the MultiMap documentation and the SortedMultiMapHashValue.Builder API documentation

A context instance for an SortedMultiMapHashValue that acts as a factory for every instance of this type of collection.

A non-empty type-invariant immutable MultiMap of key type K, and value type V. In the MultiMap, each key has at least one value. See the MultiMap documentation and the SortedMultiMapHashValue API documentation

Utility interface that provides higher-kinded types for this collection.

A type-invariant immutable MultiMap of key type K, and value type V. In the MultiMap, each key has at least one value. See the MultiMap documentation and the SortedMultiMapSortedValue API documentation

A mutable SortedMultiMapSortedValue builder used to efficiently create new immutable instances. See the MultiMap documentation and the SortedMultiMapSortedValue.Builder API documentation

A context instance for an SortedMultiMapSortedValue that acts as a factory for every instance of this type of collection.

A non-empty type-invariant immutable MultiMap of key type K, and value type V. In the MultiMap, each key has at least one value. See the MultiMap documentation and the SortedMultiMapSortedValue API documentation

Utility interface that provides higher-kinded types for this collection.

A type-invariant immutable MultiSet of value type T. In the MultiSet, each value can occur multiple times. See the MultiSet documentation and the SortedMultiSet API documentation

A mutable SortedMultiSet builder used to efficiently create new immutable instances. See the MultiSet documentation and the SortedMultiSet.Builder API documentation

A context instance for an SortedMultiSet that acts as a factory for every instance of this type of collection.

A type-invariant immutable MultiSet of value type T. In the MultiSet, each value can occur multiple times. See the MultiSet documentation and the SortedMultiSet API documentation

Utility interface that provides higher-kinded types for this collection.

A type-invariant immutable Set of value type T. In the Set, there are no duplicate values. See the Set documentation and the SortedSet API documentation

A mutable SortedSet builder used to efficiently create new immutable instances. See the Set documentation and the SortedSet.Builder API documentation

A context instance for a SortedSet that acts as a factory for every instance of this type of collection.

A non-empty type-invariant immutable Set of value type T. In the Set, there are no duplicate values. See the Set documentation and the SortedSet API documentation

Utility interface that provides higher-kinded types for this collection.

A type-invariant immutable Table of row key type R, column key type C, and value type V. In the Table, a combination of a row and column key has exactly one value. See the Table documentation and the SortedTableHashColumn API documentation

A non-empty type-invariant immutable Table of row key type R, column key type C, and value type V. In the Table, a combination of a row and column key has exactly one value.

Utility interface that provides higher-kinded types for this collection.

A type-invariant immutable Table of row key type R, column key type C, and value type V. In the Table, a combination of a row and column key has exactly one value. See the Table documentation and the SortedTableSortedColumn API documentation

A non-empty type-invariant immutable Table of row key type R, column key type C, and value type V. In the Table, a combination of a row and column key has exactly one value. See the Table documentation and the SortedTableSortedColumn API documentation

Utility interface that provides higher-kinded types for this collection.

A possibly infinite sequence of elements of type T. See the Stream documentation and the Stream API documentation

A non-empty and possibly infinite sequence of elements of type T. See the Stream documentation and the Stream API documentation

An object that can create a Stream of elements of type T.

An object that can create a non-empty Stream of elements of type T.

A type-invariant immutable Table of row key type R, column key type C, and value type V. In the Table, a combination of a row and column key has exactly one value. See the Table documentation and the Table API documentation

A mutable Table builder used to efficiently create new immutable instances. See the Table documentation and the Table.Builder API documentation

A context instance for Table implementations that acts as a factory for every instance of this type of collection.

A non-empty type-invariant immutable Table of row key type R, column key type C, and value type V. In the Table, a combination of a row and column key has exactly one value. See the Table documentation and the Table API documentation

Utility interface that provides higher-kinded types for this collection.

Utility type to convert some object to a JSON serializable format.

An object used to track the state of a traversal, e.g. a forEach.

An type-invariant immutable valued graph. See the Graph documentation and the ValuedGraph API documentation

A mutable ValuedGraph builder used to efficiently create new immutable instances. See the Graph documentation and the ValuedGraph.Builder API documentation

The ValuedGraph's Context instance that serves as a factory for all related immutable instances and builders.

A non-empty type-invariant immutable valued graph. See the Graph documentation and the ValuedGraph API documentation

Utility interface that provides higher-kinded types for this collection.

An type-variant immutable graph. See the Graph documentation and the VariantGraph API documentation

A non-empty type-variant immutable graph. See the Graph documentation and the VariantGraph API documentation

Utility interface that provides higher-kinded types for this collection.

A type-variant immutable Map of key type K, and value type V. In the Map, each key has exactly one value, and the Map cannot contain duplicate keys. See the Map documentation and the VariantMap API documentation

A non-empty type-variant Map of key type K, and value type V. In the Map, each key has exactly one value, and the Map cannot contain duplicate keys. See the Map documentation and the VariantMap API documentation

Utility interface that provides higher-kinded types for this collection.

A type-variant immutable MultiMap of key type K, and value type V. In the Map, each key has at least one value. See the MultiMap documentation and the VariantMultiMap API documentation

A non-empty type-variant immutable MultiMap of key type K, and value type V. In the Map, each key has at least one value. See the MultiMap documentation and the VariantMultiMap API documentation

Utility interface that provides higher-kinded types for this collection.

A type-variant immutable MultiSet of value type T. In the MultiSet, each value can occur multiple times. See the MultiSet documentation and the VariantMultiSet API documentation

A non-empty type-variant immutable MultiSet of value type T. In the MultiSet, each value can occur multiple times. See the MultiSet documentation and the VariantMultiSet API documentation

Utility interface that provides higher-kinded types for this collection.

A type-variant immutable Set of value type T. In the Set, there are no duplicate values. See the Set documentation and the VariantSet API documentation

A non-empty type-variant immutable Set of value type T. In the Set, there are no duplicate values. See the Set documentation and the VariantSet API documentation

Utility interface that provides higher-kinded types for this collection.

A type-variant immutable Table of row key type R, column key type C, and value type V. In the Table, a combination of a row and column key has exactly one value. See the Table documentation and the VariantTable API documentation

A non-empty type-variant immutable Table of row key type R, column key type C, and value type V. In the Table, a combination of a row and column key has exactly one value. See the Table documentation and the VariantTable API documentation

Utility interface that provides higher-kinded types for this collection.

An type-variant immutable valued graph. See the Graph documentation and the VariantValuedGraph API documentation

A non-empty type-variant immutable valued graph. See the Graph documentation and the VariantValuedGraph API documentation

Utility interface that provides higher-kinded types for this collection.

Type Aliases

Accepts all arrays with at least one element.

A potentially asynchronous function used in collect methods to collect values from a collection. This is basically a single-pass map and filter.

A potentially lazy and/or asynchronous value of type T.

An AsyncReducer is a stand-alone asynchronous calculation that takes input values of type I, and, when requested, produces an output value of type O.

A function used in collect methods to collect values from a collection. This is basically a single-pass map and filter.

Indicates, when returned from a collect function, to skip the vale.

A function returning true if given v1 and v2 should be considered equal.

An immutably typed version of given type T. Makes all properties or elements read only.

A flexible range specification for numeric indices. If a start or end is defined, a tuple can be used where the second item is a boolean indicating whether that end is inclusive or exclusive. An IndexRange can have one of the following forms:

  • { amount: number }
  • { start: number }
  • { start: number, amount: number }
  • { start: number, end: number }
  • { start: number, end: [number, boolean] }
  • { start: [number, boolean] }
  • { start: [number, boolean], amount: number }
  • { start: [number, boolean], end: number }
  • { start: [number, boolean], end: [number, boolean] }
  • { end: number }
  • { end: [number, boolean] }

A plain object that is not iterable

Type to determine whether a value needs to be a Literal instance or may be a Literal instance.

Type to determine the allowed input type for the match functions.

Type representing matchers for values that are not objects or arrays

Type representing allowed matchers for arrays

Type to determine the allowed input type for match functions given an object type T.

Type representing at least one Match object for type T

A type that is either a value T or a promise yielding a value of type T.

A potentially lazy value of type T.

A potentially lazy value that, in case of a lazy function, received a default value that it can return.

Type to determine the allowed input type for the patch function.

Type representing at least one Patch object for type T

Type representing allowed patches for arrays

Type to determine the allowed input type for the patch function given an object type T.

Type representing patches for values that are not objects or arrays

A string representing a path into an (nested) object of type T.

The result type when selecting from object type T a path with type P.

A range definition for any type of (orderable) value. If a start or end is defined, a tuple can be used where the second item is a boolean indicating whether that end is inclusive (true) or exclusive (false). A Range of type T can have one of the following forms:

  • { end: T }
  • { end: [T, boolean] }
  • { start: T }
  • { start: T, end: T }
  • { start: T, end: [T, boolean] }
  • { start: [T, boolean] }
  • { start: [T, boolean], end: T }
  • { start: [T, boolean], end: [T, boolean] }

A Reducer is a stand-alone calculation that takes input values of type I, and, when requested, produces an output value of type O.

Ensures that all non-primitive type use lazy initialization to prevent accidental instance sharing.

Accepts all types of T and U where T extends U or U extends T.

Any object that is Iterable, a Stream, or can produce a Stream.

Any object that is a non-empty Stream, can produce a non-empty Stream, or is a non-empty array.

Accepts all strings with at least one character.

Accepts all types of T and S where S extends T, and results in the lower bound S.

Accepts all types of T and U where T extends U, and result in the upper bound U.

Utility type to determine if a graph has valued or unvalued links

A readonly array of fixed length and types.

A non-empty readonly array that can serve as a source for a Tuple.

A readonly array that can serve as a source for a Tuple.

A value of type T, or a function taking a value of type T and returning a new value of type T.