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)