interface ValuedGraphBase.Context<UN,Tp>
undocumented
Extends: ValuedGraphBase.Factory<Tp,UN>
Implemented by: ArrowValuedGraphBase.Context<UN,Tp>, EdgeValuedGraphBase.Context<UN,Tp>, ValuedGraphContext<UN,TT,Tp>
Type parameters
| Name | Constraints | Default | Description |
|---|---|---|---|
| UN | undocumented | ||
| Tp | ValuedGraphBase.Types | ValuedGraphBase.Types | undocumented |
Properties
isDirected
Returns true if the graphs created by this context are arrow (directed) graphs.
isDirectedDefinition
readonly isDirected: boolean;
linkConnectionsContext
The context instance used to create internal connection maps
linkConnectionsContextcontext instance used to create internal connection mapsDefinition
readonly linkConnectionsContext: WithGraphValues<Tp, UN, unknown>['linkConnectionsContext'];
linkMapContext
The context instance used to create internal link maps
linkMapContextcontext instance used to create internal link mapsDefinition
readonly linkMapContext: WithGraphValues<Tp, UN, unknown>['linkMapContext'];
typeTag
A string tag defining the specific collection type
typeTagDefinition
readonly typeTag: string;
ArrowValuedGraphHashed.defaultContext().typeTag // => 'ArrowValuedGraphHashed'
Methods
builder
Returns an empty builder instance.
builderDefinition
builder<N extends UN, V>(): WithGraphValues<Tp, N, V>['builder'];
Type parameters
| Name | Constraints | Description |
|---|---|---|
| N | UN | |
| V |
ArrowValuedGraphHashed.builder<number, string>() // => ArrowValuedGraphHashed.Builder<number, string>
Overrides
empty
Returns the (singleton) empty instance of this type and context with given key and value types.
emptyDefinition
empty<N extends UN, V>(): WithGraphValues<Tp, N, V>['normal'];
Type parameters
| Name | Constraints | Description |
|---|---|---|
| N | UN | |
| V |
ArrowValuedGraphHashed.empty<number, string>() // => ArrowValuedGraphHashed<number, string>
ArrowValuedGraphHashed.empty<string, boolean>() // => ArrowValuedGraphHashed<string, boolean>
Overrides
from
Returns an immutable valued Graph, containing the graph elements from each of the given sources.
fromsources.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
| Name | Constraints | Description |
|---|---|---|
| N | UN | |
| V |
Parameters
| Name | Type | Description |
|---|---|---|
sources | ArrayNonEmpty<StreamSource.NonEmpty<ValuedGraphElement<N, V>>> | an array of StreamSource instances containing graph elements to add |
ArrowValuedGraphHashed.from([[1], [2]], [[3, 4, 'c']]) // => ArrowValuedGraphHashed.NonEmpty<number, string>
Overrides
of
Returns an immutable valued Graph instance containing the graph elements from the given graphElements.
ofgraphElements.Definition
of<N extends UN, V>(...graphElements: ArrayNonEmpty<ValuedGraphElement<N, V>>): WithGraphValues<Tp, N, V>['nonEmpty'];
Type parameters
| Name | Constraints | Description |
|---|---|---|
| N | UN | |
| V |
Parameters
| Name | Type | Description |
|---|---|---|
graphElements | ArrayNonEmpty<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. |
ArrowValuedGraphHashed.of([1], [2], [3, 4, 'a']) // => ArrowValuedGraphHashed.NonEmpty<number, string>
Overrides
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.
reducerReducer 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
| Name | Constraints | Description |
|---|---|---|
| N | UN | |
| V |
Parameters
| Name | Type | Description |
|---|---|---|
source | StreamSource.NonEmpty<ValuedGraphElement<N, V>> | (optional) an initial source of graph elements to add to |
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]]
uses a builder under the hood. If the given source is a ValuedGraph in the same context, it will directly call .toBuilder().