supply_chain library

Classes

ButterFlyExample
Provides a deeply configured node sructure
Disposed
Manages the disposal of resources.
ExampleChildScBuilderBluePrint
An example builder
ExampleChildScope
An example child scope
ExampleGrandChildScope
An example child scope
ExampleScBuilderAddingNodes
An example node adder for test purposes
ExampleScBuilderAddingScopes
An example node adder for test purposes
ExampleScBuilderBluePrint
An example builder
ExampleScBuilderReplacingIntNodes
An example builder replacing a node
ExampleScopeBluePrint
An example scope blue print.
ExampleScopeBluePrintSimple
A very simple derived scope blue print. It adds one node and one scope using the override mechanism.
ExampleScopeRoot
An example root scope
Graph
Creates a dot graph with certain configuration
GraphNodeItem
An item representing a node in the graph
GraphScopeItem
An item representing a scope in the graph
GraphToDot
Converts a graph to the DOT format.
GraphToMermaid
Converts a graph to the Mermaid format.
Insert<T>
A node that can be used as a insert node.
Node<T>
A node in a scope
NodeBluePrint<T>
The blue print of a node
Owner<T>
A class that holds two functions that will be called when a scope or a node is disposed
ScBuilder
Realizes a builder
ScBuilderBluePrint
A builder changes various aspects of a scope and its children
ScBuilderInserts
Manages the inserts of a builder
ScBuilderNodeAdder
Manages the nodes added by a builder
ScBuilderNodeReplacer
Manages the nodes added by a builder
ScBuilderScopeAdder
Manages the scopes added by a builder
Scm
SCM - Supply Chain Manager: Controls the data flow in the supply chain.
Scope
A supply scope is a container for connected nodes
ScopeBluePrint
A scope blue print is a collection of related node blue prints. that can form or build a scope.
ScopeBluePrintFactory
A node producing scope blue prints depending on components provided by suppliers
TriangleExample
Creates a house with walls

Enums

MarkdownFormat
The markdown export format
Priority
Nodes can have different update priorities

Extensions

IsCamelCaseExtension on String
Extension for lower camel case

Constants

keys → const List<String>
A list of default keys used for nodes
nodeSeparation → const double
The separation between nodes
rankSeparation → const double
The separation between ranks

Properties

nextKey String
Returns the next key from the list of keys
no setter

Functions

doNothing<T>(List components, T previousProduct, Node<T> context) → T
Produce delegate that does nothing
nbp<T>({required List<String> from, required String to, required T init, Produce<T>? produce}) NodeBluePrint<T>
Forwards the node from
testSetNextKeyCounter(int counter) → void
Use this function to reset the next key in tests

Typedefs

Customer<T> = Node<T>
A customer receives products to a node
FromJson<T> = T Function(Map<String, dynamic> json)
A function that parses a json map into a product of type T
FromString<T> = T Function(String str)
A function that parses a string into a product of type T
Produce<T> = FutureOr<T> Function(List components, T previousProduct, Node<T> node)
Produce delegate
Supplier<T> = Node<T>
A supplier delivers products to a node
ToJson<T> = dynamic Function(T data)
A function that serializes a product of type T into a json value
Worker<T> = Node<T>
A worker is a node on the assembly line