wip basics for bloc based state management
This commit is contained in:
@ -0,0 +1,24 @@
|
||||
import '../../../infrastructure/controller.dart';
|
||||
import '../../../infrastructure/loadable_state.dart';
|
||||
import 'marianum_message_state.dart';
|
||||
|
||||
class MarianumMessageController extends Controller<LoadableState<MarianumMessageState>> {
|
||||
MarianumMessageController() : super(const LoadableState(loadingState: LoadingState.none, data: MarianumMessageState(test: [])));
|
||||
|
||||
void loading() {
|
||||
emit(state.loading());
|
||||
Future.delayed(const Duration(seconds: 3)).then((value) => emit(state.done(const MarianumMessageState(test: []))));
|
||||
}
|
||||
|
||||
void backgroundLoading() {
|
||||
emit(state.cached(const MarianumMessageState(test: [])));
|
||||
}
|
||||
|
||||
void done() {
|
||||
emit(state.done(const MarianumMessageState(test: [])));
|
||||
}
|
||||
|
||||
void error() {
|
||||
|
||||
}
|
||||
}
|
@ -0,0 +1,10 @@
|
||||
import 'package:freezed_annotation/freezed_annotation.dart';
|
||||
|
||||
part 'marianum_message_state.freezed.dart';
|
||||
|
||||
@freezed
|
||||
class MarianumMessageState with _$MarianumMessageState {
|
||||
const factory MarianumMessageState({
|
||||
required List<String> test
|
||||
}) = _MarianumMessageState;
|
||||
}
|
@ -0,0 +1,143 @@
|
||||
// coverage:ignore-file
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
// ignore_for_file: type=lint
|
||||
// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target, unnecessary_question_mark
|
||||
|
||||
part of 'marianum_message_state.dart';
|
||||
|
||||
// **************************************************************************
|
||||
// FreezedGenerator
|
||||
// **************************************************************************
|
||||
|
||||
T _$identity<T>(T value) => value;
|
||||
|
||||
final _privateConstructorUsedError = UnsupportedError(
|
||||
'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models');
|
||||
|
||||
/// @nodoc
|
||||
mixin _$MarianumMessageState {
|
||||
List<String> get test => throw _privateConstructorUsedError;
|
||||
|
||||
@JsonKey(ignore: true)
|
||||
$MarianumMessageStateCopyWith<MarianumMessageState> get copyWith =>
|
||||
throw _privateConstructorUsedError;
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
abstract class $MarianumMessageStateCopyWith<$Res> {
|
||||
factory $MarianumMessageStateCopyWith(MarianumMessageState value,
|
||||
$Res Function(MarianumMessageState) then) =
|
||||
_$MarianumMessageStateCopyWithImpl<$Res, MarianumMessageState>;
|
||||
@useResult
|
||||
$Res call({List<String> test});
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
class _$MarianumMessageStateCopyWithImpl<$Res,
|
||||
$Val extends MarianumMessageState>
|
||||
implements $MarianumMessageStateCopyWith<$Res> {
|
||||
_$MarianumMessageStateCopyWithImpl(this._value, this._then);
|
||||
|
||||
// ignore: unused_field
|
||||
final $Val _value;
|
||||
// ignore: unused_field
|
||||
final $Res Function($Val) _then;
|
||||
|
||||
@pragma('vm:prefer-inline')
|
||||
@override
|
||||
$Res call({
|
||||
Object? test = null,
|
||||
}) {
|
||||
return _then(_value.copyWith(
|
||||
test: null == test
|
||||
? _value.test
|
||||
: test // ignore: cast_nullable_to_non_nullable
|
||||
as List<String>,
|
||||
) as $Val);
|
||||
}
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
abstract class _$$MarianumMessageStateImplCopyWith<$Res>
|
||||
implements $MarianumMessageStateCopyWith<$Res> {
|
||||
factory _$$MarianumMessageStateImplCopyWith(_$MarianumMessageStateImpl value,
|
||||
$Res Function(_$MarianumMessageStateImpl) then) =
|
||||
__$$MarianumMessageStateImplCopyWithImpl<$Res>;
|
||||
@override
|
||||
@useResult
|
||||
$Res call({List<String> test});
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
class __$$MarianumMessageStateImplCopyWithImpl<$Res>
|
||||
extends _$MarianumMessageStateCopyWithImpl<$Res, _$MarianumMessageStateImpl>
|
||||
implements _$$MarianumMessageStateImplCopyWith<$Res> {
|
||||
__$$MarianumMessageStateImplCopyWithImpl(_$MarianumMessageStateImpl _value,
|
||||
$Res Function(_$MarianumMessageStateImpl) _then)
|
||||
: super(_value, _then);
|
||||
|
||||
@pragma('vm:prefer-inline')
|
||||
@override
|
||||
$Res call({
|
||||
Object? test = null,
|
||||
}) {
|
||||
return _then(_$MarianumMessageStateImpl(
|
||||
test: null == test
|
||||
? _value._test
|
||||
: test // ignore: cast_nullable_to_non_nullable
|
||||
as List<String>,
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
|
||||
class _$MarianumMessageStateImpl implements _MarianumMessageState {
|
||||
const _$MarianumMessageStateImpl({required final List<String> test})
|
||||
: _test = test;
|
||||
|
||||
final List<String> _test;
|
||||
@override
|
||||
List<String> get test {
|
||||
if (_test is EqualUnmodifiableListView) return _test;
|
||||
// ignore: implicit_dynamic_type
|
||||
return EqualUnmodifiableListView(_test);
|
||||
}
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return 'MarianumMessageState(test: $test)';
|
||||
}
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) {
|
||||
return identical(this, other) ||
|
||||
(other.runtimeType == runtimeType &&
|
||||
other is _$MarianumMessageStateImpl &&
|
||||
const DeepCollectionEquality().equals(other._test, _test));
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode =>
|
||||
Object.hash(runtimeType, const DeepCollectionEquality().hash(_test));
|
||||
|
||||
@JsonKey(ignore: true)
|
||||
@override
|
||||
@pragma('vm:prefer-inline')
|
||||
_$$MarianumMessageStateImplCopyWith<_$MarianumMessageStateImpl>
|
||||
get copyWith =>
|
||||
__$$MarianumMessageStateImplCopyWithImpl<_$MarianumMessageStateImpl>(
|
||||
this, _$identity);
|
||||
}
|
||||
|
||||
abstract class _MarianumMessageState implements MarianumMessageState {
|
||||
const factory _MarianumMessageState({required final List<String> test}) =
|
||||
_$MarianumMessageStateImpl;
|
||||
|
||||
@override
|
||||
List<String> get test;
|
||||
@override
|
||||
@JsonKey(ignore: true)
|
||||
_$$MarianumMessageStateImplCopyWith<_$MarianumMessageStateImpl>
|
||||
get copyWith => throw _privateConstructorUsedError;
|
||||
}
|
Reference in New Issue
Block a user