Package-level declarations
Types
Base ViewModel with a StateFlow-driven unidirectional data flow.
Minimal logging seam so shared-library modules (sync, auth-session bootstrap, etc.) can log without depending on any specific logging framework (Timber, java.util.logging, etc.).
Error wrapper for loading failures with user-friendly messages.
Generic loading state for async data-fetching operations backed by a kotlinx.coroutines.flow.StateFlow.
A KommonLogger that discards everything. Safe default for libraries and tests.
KommonLogger implementation backed by Timber, with a configurable tagPrefix (ported from Novalingo's Logger singleton) and a built-in release tree that suppresses verbose/debug/info logs, forwarding only warnings and errors to an optional ReleaseLogSink (e.g. crash reporting).
Functions
True when the trimmed string parses as a syntactically valid email address.
Runs block and wraps its outcome as LoadingState.Loaded or LoadingState.Failed (classified through LoadingError.from). Coroutine cancellation is rethrown, never reported as a failure.
Transforms the LoadingState.Loaded payload, leaving every other state untouched.