clean_framework library

Clean Framework

Classes

AdvancedFileOutput
Accumulates logs in a buffer to reduce frequent disk, writes while optionally switching to a new log file if it reaches a certain size.
AnsiColor
This class handles colorizing of terminal output.
AppProvidersContainer
A container that holds all the app providers.
AppProviderScope
AutoDisposeUseCaseProvider<E extends Entity, U extends UseCase<E>>
AutoDisposeUseCaseProviderBuilder
AutoDisposeUseCaseProviderFamily<E extends Entity, U extends UseCase<E>, A extends Object>
AutoDisposeUseCaseProviderFamilyBuilder
CleanFrameworkObserver
The class to observe failures, route changes and other events.
ConsoleOutput
Default implementation of LogOutput.
Consumer
Build a widget tree while listening to providers.
DependencyProvider<T extends Object>
DependencyRef
Deserializer
DevelopmentFilter
Prints all logs with level >= Logger.level while in development mode (eg when asserts are evaluated, Flutter calls this debug mode).
DomainInput
Used for the transfer of data into the domain layer (use case) from external layers, services, etc.
DomainInputTransformer<E extends Entity, I extends DomainInput>
DomainModel
Represents the state of the domain (or part of the domain) at a particular point in time. Used for the transfer of data from the domain layer to other layers.
DomainModelState<M extends DomainModel>
DomainModelTransformer<E extends Entity, M extends DomainModel>
Either<L, R>
Either represents a value of two possible types. An Either is either an Either.left or an Either.right.
Entity
Represents the current state of the domain layer (use case).
Equatable
A base class to facilitate operator == and hashCode overrides.
EquatableConfig
The default configurion for all Equatable instances.
EvaluationContext
ExternalInterface<R extends Request, S extends SuccessResponse>
ExternalInterfaceDelegate
ExternalInterfaceProvider<E extends ExternalInterface<Request, SuccessResponse>>
FailureDomainInput
Used for the transfer of data into the domain layer (use case) after some failure response.
FailureInput
FailureResponse
FailureUseCaseInput<S extends SuccessDomainInput>
FeatureBuilder<T extends Object>
FeatureClient
FeatureProvider
FeatureScope<T extends FeatureProvider>
FieldController<T extends Object>
A controller for a single field in a FormController.
FileOutput
FlagEvaluationOptions
FormController
A controller for a form.
Gateway<M extends DomainModel, R extends Request, P extends SuccessResponse, S extends SuccessDomainInput>
GatewayProvider<G extends Gateway<DomainModel, Request, SuccessResponse, SuccessDomainInput>>
Hook<T extends Object>
HookContext<T extends Object>
HookHints<T extends Object>
HybridPrinter
A decorator for a LogPrinter that allows for the composition of different printers to handle different log messages. Provide it's constructor with a base printer, but include named parameters for any levels that have a different printer:
Input
InputFieldBuilder<T extends Object>
InputFieldError
The error of a field.
InputFieldValidator
The validator of a field.
InputForm
A widget that provides a FormController to its descendants.
InputTransformer<E extends Entity, I extends DomainInput>
LogEvent
LogFilter
An abstract filter of log messages.
LogfmtPrinter
Outputs a logfmt message:
Logger
Use instances of logger to send log messages to the LogPrinter.
LogOutput
Log output receives a OutputEvent from LogPrinter and sends it to the desired destination.
LogPrinter
An abstract handler of log events.
MemoryOutput
Buffers OutputEvents.
MultiOutput
Logs simultaneously to multiple LogOutput outputs.
NetworkLogger
OpenFeature
Output
OutputEvent
OutputTransformer<E extends Entity, M extends DomainModel>
PrefixPrinter
A decorator for a LogPrinter that allows for the prepending of every line in the log output with a string for the level of that log. For example:
Presenter<V extends ViewModel, M extends DomainModel, U extends UseCase<Entity>>
PrettyPrinter
Default implementation of LogPrinter.
ProductionFilter
Prints all logs with level >= Logger.level even in production.
Provider<State>
A provider that exposes a read-only value.
ProviderContainer
An object that stores the state of the providers and allows overriding the behavior of a specific provider.
ProvidersContext
A class to hold the ProviderContainer.
Request
RequestCompleter<R extends Request, S extends SuccessResponse>
ResolutionDetails<T>
Response
SimplePrinter
Outputs simple log messages:
StreamOutput
SuccessDomainInput
Used for the transfer of data into the domain layer (use case) after some success response.
SuccessInput
SuccessResponse
SuccessUseCaseInput<S extends SuccessDomainInput>
TextFieldController
A controller for a single String field in a FormController.
TextInputFieldBuilder
TypedFailureResponse<T extends Object>
UI<V extends ViewModel>
UniformBuilder
A widget for building a widget subtree when a FormController changes.
UniformFieldBuilder
UnknownFailureResponse
UseCase<E extends Entity>
UseCaseInput<S extends SuccessDomainInput>
UseCaseProvider<US extends Entity, U extends UseCase<US>>
UseCaseProviderBase<E extends Entity, U extends UseCase<E>>
UseCaseProviderBridge<BE extends Entity, BU extends UseCase<BE>>
UseCaseProviderFamily<E extends Entity, U extends UseCase<E>, A extends Object>
UseCaseProviderFamilyBase<E extends Entity, U extends UseCase<E>, A extends Object>
UseCaseProviderFamilyBuilder
UseCaseTransformer<E extends Entity>
ViewModel
ViewModelBuilder
ViewModelScope<V extends ViewModel>
WatcherGateway<M extends DomainModel, R extends Request, P extends SuccessResponse, S extends SuccessDomainInput>

Enums

ErrorCode
Different error codes that can be returned by the FeatureProvider.
FlagValueType
The value type of a flag.
InputFormState
The state of a form.
Level
Levels to control logging output. Logging can be enabled to include all levels above certain Level.
Reason

Mixins

ContextTransformationMixin
EquatableMixin
A mixin that helps implement equality without needing to explicitly override operator == and hashCode.

Typedefs

ContainerBuildCallback = void Function(BuildContext, ProvidersContext)
DomainInputFilterMap<E extends Entity> = Map<Type, DomainInputProcessor<E>>
DomainInputProcessor<E extends Entity> = E Function(dynamic, E)
DomainModelBuilder<E extends Entity> = DomainModel Function(E)
DomainModelFilterMap<E extends Entity> = Map<Type, DomainModelBuilder<E>>
EitherMapper<T, E> = T Function(E)
Signature for a function that maps either the left or the right side of this disjunction.
FeatureBuilderCallback<T extends Object> = Widget Function(BuildContext, T)
InputActionBuilder = UniformBuilder
InputCallback<E extends Entity, I extends DomainInput> = E Function(I)
Left<L, R> = _Left<L, R>
LogCallback = void Function(LogEvent event)
OutputCallback = void Function(OutputEvent event)
PresenterBuilder<V extends ViewModel> = Widget Function(V viewModel)
PresenterCreator = Presenter<ViewModel, DomainModel, UseCase<Entity>> Function(WidgetBuilder builder)
RequestHandler<E extends Request, S extends SuccessResponse> = FutureOr<void> Function(E request, ResponseSender<S> send)
RequestSubscription<M extends DomainModel, I extends DomainInput> = Result<I> Function(M)
RequestSubscriptionMap<I extends DomainInput> = Map<Type, RequestSubscription<DomainModel, I>>
Responder<R extends Request, P extends SuccessResponse> = FutureOr<Either<FailureResponse, P>> Function(R request)
ResponseSender<S extends SuccessResponse> = void Function(S response)
Result<I extends DomainInput> = FutureOr<Either<FailureDomainInput, I>>
UniformWidgetBuilder<T extends Object> = Widget Function(BuildContext, T, Widget?)
A widget builder that receives a FormController.
UseCaseProviderConnector<E extends Entity, U extends UseCase<E>> = void Function(UseCaseProviderBridge<E, U> bridge)

Exceptions / Errors

FlagNotFoundException
NoSuchElementException
Exception that indicates the element being requested does not exist.
OpenFeatureException
ParseException
TypeMismatchException