interface GraphBase.Factory<Tp,UN>
undocumented
Implemented by: EdgeGraphHashedCreators, ArrowGraphSortedCreators, EdgeGraphSortedCreators, GraphBase.Context<UN,Tp>, ArrowGraphHashedCreators
Type parameters
| Name | Constraints | Default | Description |
|---|---|---|---|
| Tp | GraphBase.Types | undocumented | |
| UN | unknown | undocumented |
Methods
builder
Returns an empty builder instance.
builderDefinition
builder<N extends UN>(): WithGraphValues<Tp, N, unknown>['builder'];
Type parameters
| Name | Constraints | Description |
|---|---|---|
| N | UN |
ArrowValuedGraphHashed.builder<number, string>() // => ArrowValuedGraphHashed.Builder<number, string>
empty
Returns the (singleton) empty instance of this type and context with given key and value types.
emptyDefinition
empty<N extends UN>(): WithGraphValues<Tp, N, unknown>['normal'];
Type parameters
| Name | Constraints | Description |
|---|---|---|
| N | UN |
ArrowGraphHashed.empty<number>() // => ArrowGraphHashed<number>
ArrowGraphHashed.empty<string>() // => ArrowGraphHashed<string>
from
Returns an immutable valued Graph, containing the graph elements from each of the given sources.
fromsources.Definitions
from<N extends UN>(...sources: ArrayNonEmpty<StreamSource.NonEmpty<GraphElement<N>>>): WithGraphValues<Tp, N, unknown>['nonEmpty'];
from<N extends UN>(...sources: ArrayNonEmpty<StreamSource<GraphElement<N>>>): WithGraphValues<Tp, N, unknown>['normal'];
Type parameters
| Name | Constraints | Description |
|---|---|---|
| N | UN |
Parameters
| Name | Type | Description |
|---|---|---|
sources | ArrayNonEmpty<StreamSource.NonEmpty<GraphElement<N>>> | an array of StreamSource instances containing graph elements to add |
ArrowGraphHashed.from([[1], [2]], [[3, 4]]) // => ArrowGraphHashed.NonEmpty<number>
of
Returns an immutable valued Graph instance containing the graph elements from the given graphElements.
ofgraphElements.Definition
of<N extends UN>(...graphElements: ArrayNonEmpty<GraphElement<N>>): WithGraphValues<Tp, N, unknown>['nonEmpty'];
Type parameters
| Name | Constraints | Description |
|---|---|---|
| N | UN |
Parameters
| Name | Type | Description |
|---|---|---|
graphElements | ArrayNonEmpty<GraphElement<N>> | 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. |
ArrowGraphHashed.of([1], [2], [3, 4]) // => ArrowGraphHashed.NonEmpty<number>
reducer
Returns a Reducer that adds received graph elements to a Graph and returns the Graph 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 received graph elements to a Graph and returns the Graph 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>(source?: StreamSource.NonEmpty<GraphElement<N>>): Reducer<GraphElement<N>, WithGraphValues<Tp, N, unknown>['normal']>;
Type parameters
| Name | Constraints | Description |
|---|---|---|
| N | UN |
Parameters
| Name | Type | Description |
|---|---|---|
source | StreamSource.NonEmpty<GraphElement<N>> | (optional) an initial source of graph elements to add to |
const someSource: GraphElement<number>[] = [[1, 2], [3], [5]];
const result = Stream.of([1, 3], [4, 3]).reduce(ArrowGraphSorted.reducer(someSource))
result.toArray() // => [[1, 2], [1, 3], [4, 3], [5]]
uses a builder under the hood. If the given source is a Graph in the same context, it will directly call .toBuilder().