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 whenassert
s 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.
Extensions
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< Function(WidgetBuilder builder)Entity> > -
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< Function(R request)FailureResponse, P> > -
ResponseSender<
S extends SuccessResponse> = void Function(S response) -
Result<
I extends DomainInput> = FutureOr< Either< FailureDomainInput, I> > -
Right<
L, R> = _Right< L, R> -
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