Skip to main content

namespace ArrowValuedGraphHashed

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

Companion interface: ArrowValuedGraphHashed<N,V>

Interfaces

NameDescription
ArrowValuedGraphHashed.Builder<N,V>A mutable ArrowValuedGraphHashed builder used to efficiently create new immutable instances. See the Graph documentation and the ArrowValuedGraphHashed.BuilderAPI documentation
ArrowValuedGraphHashed.Context<UN>The ArrowValuedGraphHashed's Context instance that serves as a factory for all related immutable instances and builders.
ArrowValuedGraphHashed.NonEmpty<N,V>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
ArrowValuedGraphHashed.TypesUtility interface that provides higher-kinded types for this collection.

Static Methods

builder

Returns an empty builder instance.

Definition

builder<N extends UN, V>(): WithGraphValues<Tp, N, V>['builder'];

Type parameters

NameConstraintsDescription
NUN
V
example
ArrowValuedGraphHashed.builder<number, string>()    // => ArrowValuedGraphHashed.Builder<number, string>

Overrides

Factory.builder

createContext

Returns a new ArrowValuedGraphHashed context instance based on the given options.

Definition

createContext<UN>(options?: {
    linkMapContext?: HashMap.Context<UN>;
    linkConnectionsContext?: HashMap.Context<UN>;
  }): ArrowValuedGraphHashed.Context<UN>;

Type parameters

NameDescription
UNthe upper node type for which the context can create instances

Parameters

NameTypeDescription
options{
    linkMapContext?: HashMap.Context<UN>;
    linkConnectionsContext?: HashMap.Context<UN>;
  }
(optional) an object containing the following properties:
- linkMapContext: (optional) the map context to use to maintain link maps
- linkConnectionsContext: (optional) the map context to use to maintain link connection maps

defaultContext

Returns the default context for this type of graph.

Definition

defaultContext<UN>(): ArrowValuedGraphHashed.Context<UN>;

Type parameters

NameDescription
UNthe upper node type that the context should accept

empty

Returns the (singleton) empty instance of this type and context with given key and value types.

Definition

empty<N extends UN, V>(): WithGraphValues<Tp, N, V>['normal'];

Type parameters

NameConstraintsDescription
NUN
V
example
ArrowValuedGraphHashed.empty<number, string>()    // => ArrowValuedGraphHashed<number, string>
ArrowValuedGraphHashed.empty<string, boolean>() // => ArrowValuedGraphHashed<string, boolean>

Overrides

Factory.empty

from

Returns an immutable valued Graph, containing the graph elements from each of the given sources.

Definitions

from<N extends UN, V>(...sources: ArrayNonEmpty<StreamSource.NonEmpty<ValuedGraphElement<N, V>>>): WithGraphValues<Tp, N, V>['nonEmpty'];

from<N extends UN, V>(...sources: ArrayNonEmpty<StreamSource<ValuedGraphElement<N, V>>>): WithGraphValues<Tp, N, V>['normal'];

Type parameters

NameConstraintsDescription
NUN
V

Parameters

NameTypeDescription
sourcesArrayNonEmpty<StreamSource.NonEmpty<ValuedGraphElement<N, V>>>an array of StreamSource instances containing graph elements to add
example
ArrowValuedGraphHashed.from([[1], [2]], [[3, 4, 'c']])  // => ArrowValuedGraphHashed.NonEmpty<number, string>

Overrides

Factory.from

of

Returns an immutable valued Graph instance containing the graph elements from the given graphElements.

Definition

of<N extends UN, V>(...graphElements: ArrayNonEmpty<ValuedGraphElement<N, V>>): WithGraphValues<Tp, N, V>['nonEmpty'];

Type parameters

NameConstraintsDescription
NUN
V

Parameters

NameTypeDescription
graphElementsArrayNonEmpty<ValuedGraphElement<N, V>>a non-empty array of graph elements that are either a single tuple containing a node, or a triplet containing two connection nodes and the connection value.
example
ArrowValuedGraphHashed.of([1], [2], [3, 4, 'a']) // => ArrowValuedGraphHashed.NonEmpty<number, string>

Overrides

Factory.of

reducer

Returns a Reducer that adds valued received graph elements to a ValuedGraph and returns the ValuedGraph as a result. When a source is given, the reducer will first create a graph from the source, and then add graph elements to it.

Definition

reducer<N extends UN, V>(source?: StreamSource.NonEmpty<ValuedGraphElement<N, V>>): Reducer<ValuedGraphElement<N, V>, WithGraphValues<Tp, N, V>['normal']>;

Type parameters

NameConstraintsDescription
NUN
V

Parameters

NameTypeDescription
sourceStreamSource.NonEmpty<ValuedGraphElement<N, V>>(optional) an initial source of graph elements to add to
example
const someSource: ValuedGraphElement<number, string>[] = [[1, 2, 'a'], [3], [5]];
const result = Stream.of([1, 3, 'b'], [4, 3, 'c']).reduce(ArrowGraphSorted.reducer(someSource))
result.toArray() // => [[1, 2, 'a'], [1, 3, 'b'], [4, 3, 'c'], [5]]
note

uses a builder under the hood. If the given source is a ValuedGraph in the same context, it will directly call .toBuilder().

Overrides

Factory.reducer