Gjallarhorn
Gjallarhorn Namespace
| Type | Description |
| AsyncMutable<'a> | Type which manages state internally using a mailbox |
| AtomicMutable<'a> | A thread-safe wrapper using interlock for a mutable value with change notification |
| IAsyncMutatable<'a> | Interface for mutable types that have asynchronous support atomic update functionality |
| IAtomicMutatable<'a> | Interface for mutable types that have atomic update functionality |
| IMutatable<'a> | Core interface for all mutatable types |
| ISignal<'a> | Core interface for signals
|
| IValidatedSignal<'a, 'b> | The output of validating an input signal |
| ObservableSource<'a> | |
| ValidationResult | Defines a validation result |
| Module | Description |
| Mutable | Manages creation of mutable variables |
| Observable | Additional functions related to Observable for use with Gjallarhorn |
| Signal | Provides mechanisms for working with signals |
| Validation | Basic validation support |
Gjallarhorn.Helpers Namespace
| Type | Description |
| CompositeDisposable | Type which allows tracking of multiple disposables at once |
| ICompositeDisposable | A disposable type that manages multiple other disposables, and disposes all of them when disposed |
| IdleTracker | Type which tracks execution, used for tracked async operations Acts as a ISignal<bool> with value of true when idle, false when executing |
Gjallarhorn.Interaction Namespace
| Type | Description |
| Direct<'a> | Used to directly map a signal to a user. No notification exists in this case. |
| InOut<'a, 'b> | Used as an input and output mapping to report and fetch data from a user |
| MutatableInOut<'a, 'b> | Used as an input and output mapping which mutates an input IMutatable, with validation to report and fetch data from a user |
| Out<'a> | Used as an output mapping to fetch data from a user |
| Report<'a, 'b> | Used to report data to a user |
| ValidatedInOut<'a, 'b, 'c> | Used as an input and output mapping with validation to report and fetch data from a user |
| ValidatedOut<'a, 'b> | Used as an output mapping with validation to fetch data from a user |
| ValidatedReport<'a, 'b> | Used to report data to a user with validation |
| Validation<'a, 'b> | A single step in a validation chain |
| Module | Description |
| IO | Creates IO handles for use with Gjallarhorn adapters, like Gjallarhorn.Bindable |
Gjallarhorn.Internal Namespace
| Type | Description |
| IDependencyManager<'a> | Type used to track dependencies |
| IDependent | A type which depends on a signal |
| ITracksDependents | Interface that allows a type to remotely add itself as a dependent |
| Mutable<'a> | A lightweight wrapper for a mutable value which provides a mechanism for change notification as needed |
| SignalBase<'a> | Base class which simplifies implementation of standard signals |
| Module | Description |
| Dependencies | Module used to create and manage dependencies |
| WeakRef | Helper module for dealing with weak references |
Gjallarhorn.Linq Namespace
| Type | Description |
| Mutable | Functions for working with Mutables from C# |
| ObservableExtensions | Extension methods for working with Observables from C# using a LINQ inspired API |
| Signal | Functions for working with Signals from C# |
| SignalExtensions | Extension methods for working with Signals from C# using a LINQ inspired API |