blackbox library

Core Blackbox library for deterministic reactive computation.

Exposes boxes, outputs, runtime, graph connector, persistence, and pipeline APIs for building testable state and business-logic flows.

Classes

AsyncBox<O>
AsyncBoxWithInput<I, O>
AsyncData<T>
AsyncError<T>
AsyncLoading<T>
AsyncOutput<T>
AsyncOutputSource<O>
Box<O>
BoxWithInput<I, O>
Connector<C>
Runtime reactive connector.
ConnectorBuilder<C>
Builder assembles nodes/sources; execution is owned by Graph.
DependencyResolver<C>
FlowBox<S extends FlowState>
Aggregates ready values from multiple sources into a sync no-input box.
FlowBoxBuilder<S extends FlowState>
FlowState
IdentityCodec<T>
LazyBox<I, O>
LazyBox: only lazy initialization of an inner box.
Output<T>
OutputSource<O>
//////// Общий источник output (для графа/резолвера).
Persistent<O>
PersistentCodec<T>
Encode/decode box values to/from the PersistentStore. For primitives you can use IdentityCodec.
PersistentStore
A minimal, synchronous key-value store for persistence. (MVP) Keep it sync so boxes/connector can be created synchronously.
Pipeline<C, R>
Pipeline = Graph + declared result source. run() guarantees:
PipelineBuilder<C, R>
SyncOutput<T>
SyncOutputSource<O>

Extensions

AsyncOutputWhen on AsyncOutput<T>

Functions

cancelGuardedForTest(void fn()) Cancel
isReadyForTest<T>(Output<T> o) bool
resolveDependencyForTest<T>(Connector g, OutputSource<T> box) → T
schedulePumpForTest(Connector g) → void
updateInputForTest<I, O>(_InputBox<I, O> box, I input) → void

Typedefs

Cancel = void Function()
LazyCreate<I, O> = _InputBox<I, O> Function(I input)