split struct

This commit is contained in:
efrilm
2025-11-10 13:28:18 +07:00
parent c5673a147c
commit f5256fb33d
10 changed files with 405 additions and 56 deletions
@@ -80,6 +80,22 @@ class PrintStruckBloc extends Bloc<PrintStruckEvent, PrintStruckState> {
order: e.order,
);
emit(
state.copyWith(
isPrinting: false,
failureOrPrintStruck: optionOf(failureOrSuccess),
),
);
},
splitBill: (e) async {
Either<PrinterFailure, Unit> failureOrSuccess;
emit(state.copyWith(isPrinting: true, failureOrPrintStruck: none()));
failureOrSuccess = await _printerRepository.printStruckSplitBill(
order: e.order,
);
emit(
state.copyWith(
isPrinting: false,
@@ -24,6 +24,7 @@ mixin _$PrintStruckEvent {
required TResult Function(Order order) cashier,
required TResult Function(Order order) payment,
required TResult Function(Order order) voided,
required TResult Function(Order order) splitBill,
}) => throw _privateConstructorUsedError;
@optionalTypeArgs
TResult? whenOrNull<TResult extends Object?>({
@@ -31,6 +32,7 @@ mixin _$PrintStruckEvent {
TResult? Function(Order order)? cashier,
TResult? Function(Order order)? payment,
TResult? Function(Order order)? voided,
TResult? Function(Order order)? splitBill,
}) => throw _privateConstructorUsedError;
@optionalTypeArgs
TResult maybeWhen<TResult extends Object?>({
@@ -38,6 +40,7 @@ mixin _$PrintStruckEvent {
TResult Function(Order order)? cashier,
TResult Function(Order order)? payment,
TResult Function(Order order)? voided,
TResult Function(Order order)? splitBill,
required TResult orElse(),
}) => throw _privateConstructorUsedError;
@optionalTypeArgs
@@ -46,6 +49,7 @@ mixin _$PrintStruckEvent {
required TResult Function(_Cashier value) cashier,
required TResult Function(_Payment value) payment,
required TResult Function(_Voided value) voided,
required TResult Function(_SplitBill value) splitBill,
}) => throw _privateConstructorUsedError;
@optionalTypeArgs
TResult? mapOrNull<TResult extends Object?>({
@@ -53,6 +57,7 @@ mixin _$PrintStruckEvent {
TResult? Function(_Cashier value)? cashier,
TResult? Function(_Payment value)? payment,
TResult? Function(_Voided value)? voided,
TResult? Function(_SplitBill value)? splitBill,
}) => throw _privateConstructorUsedError;
@optionalTypeArgs
TResult maybeMap<TResult extends Object?>({
@@ -60,6 +65,7 @@ mixin _$PrintStruckEvent {
TResult Function(_Cashier value)? cashier,
TResult Function(_Payment value)? payment,
TResult Function(_Voided value)? voided,
TResult Function(_SplitBill value)? splitBill,
required TResult orElse(),
}) => throw _privateConstructorUsedError;
@@ -198,6 +204,7 @@ class _$OrderImpl implements _Order {
required TResult Function(Order order) cashier,
required TResult Function(Order order) payment,
required TResult Function(Order order) voided,
required TResult Function(Order order) splitBill,
}) {
return order(this.order);
}
@@ -209,6 +216,7 @@ class _$OrderImpl implements _Order {
TResult? Function(Order order)? cashier,
TResult? Function(Order order)? payment,
TResult? Function(Order order)? voided,
TResult? Function(Order order)? splitBill,
}) {
return order?.call(this.order);
}
@@ -220,6 +228,7 @@ class _$OrderImpl implements _Order {
TResult Function(Order order)? cashier,
TResult Function(Order order)? payment,
TResult Function(Order order)? voided,
TResult Function(Order order)? splitBill,
required TResult orElse(),
}) {
if (order != null) {
@@ -235,6 +244,7 @@ class _$OrderImpl implements _Order {
required TResult Function(_Cashier value) cashier,
required TResult Function(_Payment value) payment,
required TResult Function(_Voided value) voided,
required TResult Function(_SplitBill value) splitBill,
}) {
return order(this);
}
@@ -246,6 +256,7 @@ class _$OrderImpl implements _Order {
TResult? Function(_Cashier value)? cashier,
TResult? Function(_Payment value)? payment,
TResult? Function(_Voided value)? voided,
TResult? Function(_SplitBill value)? splitBill,
}) {
return order?.call(this);
}
@@ -257,6 +268,7 @@ class _$OrderImpl implements _Order {
TResult Function(_Cashier value)? cashier,
TResult Function(_Payment value)? payment,
TResult Function(_Voided value)? voided,
TResult Function(_SplitBill value)? splitBill,
required TResult orElse(),
}) {
if (order != null) {
@@ -359,6 +371,7 @@ class _$CashierImpl implements _Cashier {
required TResult Function(Order order) cashier,
required TResult Function(Order order) payment,
required TResult Function(Order order) voided,
required TResult Function(Order order) splitBill,
}) {
return cashier(this.order);
}
@@ -370,6 +383,7 @@ class _$CashierImpl implements _Cashier {
TResult? Function(Order order)? cashier,
TResult? Function(Order order)? payment,
TResult? Function(Order order)? voided,
TResult? Function(Order order)? splitBill,
}) {
return cashier?.call(this.order);
}
@@ -381,6 +395,7 @@ class _$CashierImpl implements _Cashier {
TResult Function(Order order)? cashier,
TResult Function(Order order)? payment,
TResult Function(Order order)? voided,
TResult Function(Order order)? splitBill,
required TResult orElse(),
}) {
if (cashier != null) {
@@ -396,6 +411,7 @@ class _$CashierImpl implements _Cashier {
required TResult Function(_Cashier value) cashier,
required TResult Function(_Payment value) payment,
required TResult Function(_Voided value) voided,
required TResult Function(_SplitBill value) splitBill,
}) {
return cashier(this);
}
@@ -407,6 +423,7 @@ class _$CashierImpl implements _Cashier {
TResult? Function(_Cashier value)? cashier,
TResult? Function(_Payment value)? payment,
TResult? Function(_Voided value)? voided,
TResult? Function(_SplitBill value)? splitBill,
}) {
return cashier?.call(this);
}
@@ -418,6 +435,7 @@ class _$CashierImpl implements _Cashier {
TResult Function(_Cashier value)? cashier,
TResult Function(_Payment value)? payment,
TResult Function(_Voided value)? voided,
TResult Function(_SplitBill value)? splitBill,
required TResult orElse(),
}) {
if (cashier != null) {
@@ -520,6 +538,7 @@ class _$PaymentImpl implements _Payment {
required TResult Function(Order order) cashier,
required TResult Function(Order order) payment,
required TResult Function(Order order) voided,
required TResult Function(Order order) splitBill,
}) {
return payment(this.order);
}
@@ -531,6 +550,7 @@ class _$PaymentImpl implements _Payment {
TResult? Function(Order order)? cashier,
TResult? Function(Order order)? payment,
TResult? Function(Order order)? voided,
TResult? Function(Order order)? splitBill,
}) {
return payment?.call(this.order);
}
@@ -542,6 +562,7 @@ class _$PaymentImpl implements _Payment {
TResult Function(Order order)? cashier,
TResult Function(Order order)? payment,
TResult Function(Order order)? voided,
TResult Function(Order order)? splitBill,
required TResult orElse(),
}) {
if (payment != null) {
@@ -557,6 +578,7 @@ class _$PaymentImpl implements _Payment {
required TResult Function(_Cashier value) cashier,
required TResult Function(_Payment value) payment,
required TResult Function(_Voided value) voided,
required TResult Function(_SplitBill value) splitBill,
}) {
return payment(this);
}
@@ -568,6 +590,7 @@ class _$PaymentImpl implements _Payment {
TResult? Function(_Cashier value)? cashier,
TResult? Function(_Payment value)? payment,
TResult? Function(_Voided value)? voided,
TResult? Function(_SplitBill value)? splitBill,
}) {
return payment?.call(this);
}
@@ -579,6 +602,7 @@ class _$PaymentImpl implements _Payment {
TResult Function(_Cashier value)? cashier,
TResult Function(_Payment value)? payment,
TResult Function(_Voided value)? voided,
TResult Function(_SplitBill value)? splitBill,
required TResult orElse(),
}) {
if (payment != null) {
@@ -681,6 +705,7 @@ class _$VoidedImpl implements _Voided {
required TResult Function(Order order) cashier,
required TResult Function(Order order) payment,
required TResult Function(Order order) voided,
required TResult Function(Order order) splitBill,
}) {
return voided(this.order);
}
@@ -692,6 +717,7 @@ class _$VoidedImpl implements _Voided {
TResult? Function(Order order)? cashier,
TResult? Function(Order order)? payment,
TResult? Function(Order order)? voided,
TResult? Function(Order order)? splitBill,
}) {
return voided?.call(this.order);
}
@@ -703,6 +729,7 @@ class _$VoidedImpl implements _Voided {
TResult Function(Order order)? cashier,
TResult Function(Order order)? payment,
TResult Function(Order order)? voided,
TResult Function(Order order)? splitBill,
required TResult orElse(),
}) {
if (voided != null) {
@@ -718,6 +745,7 @@ class _$VoidedImpl implements _Voided {
required TResult Function(_Cashier value) cashier,
required TResult Function(_Payment value) payment,
required TResult Function(_Voided value) voided,
required TResult Function(_SplitBill value) splitBill,
}) {
return voided(this);
}
@@ -729,6 +757,7 @@ class _$VoidedImpl implements _Voided {
TResult? Function(_Cashier value)? cashier,
TResult? Function(_Payment value)? payment,
TResult? Function(_Voided value)? voided,
TResult? Function(_SplitBill value)? splitBill,
}) {
return voided?.call(this);
}
@@ -740,6 +769,7 @@ class _$VoidedImpl implements _Voided {
TResult Function(_Cashier value)? cashier,
TResult Function(_Payment value)? payment,
TResult Function(_Voided value)? voided,
TResult Function(_SplitBill value)? splitBill,
required TResult orElse(),
}) {
if (voided != null) {
@@ -763,6 +793,173 @@ abstract class _Voided implements PrintStruckEvent {
throw _privateConstructorUsedError;
}
/// @nodoc
abstract class _$$SplitBillImplCopyWith<$Res>
implements $PrintStruckEventCopyWith<$Res> {
factory _$$SplitBillImplCopyWith(
_$SplitBillImpl value,
$Res Function(_$SplitBillImpl) then,
) = __$$SplitBillImplCopyWithImpl<$Res>;
@override
@useResult
$Res call({Order order});
@override
$OrderCopyWith<$Res> get order;
}
/// @nodoc
class __$$SplitBillImplCopyWithImpl<$Res>
extends _$PrintStruckEventCopyWithImpl<$Res, _$SplitBillImpl>
implements _$$SplitBillImplCopyWith<$Res> {
__$$SplitBillImplCopyWithImpl(
_$SplitBillImpl _value,
$Res Function(_$SplitBillImpl) _then,
) : super(_value, _then);
/// Create a copy of PrintStruckEvent
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline')
@override
$Res call({Object? order = null}) {
return _then(
_$SplitBillImpl(
null == order
? _value.order
: order // ignore: cast_nullable_to_non_nullable
as Order,
),
);
}
}
/// @nodoc
class _$SplitBillImpl implements _SplitBill {
const _$SplitBillImpl(this.order);
@override
final Order order;
@override
String toString() {
return 'PrintStruckEvent.splitBill(order: $order)';
}
@override
bool operator ==(Object other) {
return identical(this, other) ||
(other.runtimeType == runtimeType &&
other is _$SplitBillImpl &&
(identical(other.order, order) || other.order == order));
}
@override
int get hashCode => Object.hash(runtimeType, order);
/// Create a copy of PrintStruckEvent
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
@override
@pragma('vm:prefer-inline')
_$$SplitBillImplCopyWith<_$SplitBillImpl> get copyWith =>
__$$SplitBillImplCopyWithImpl<_$SplitBillImpl>(this, _$identity);
@override
@optionalTypeArgs
TResult when<TResult extends Object?>({
required TResult Function(Order order) order,
required TResult Function(Order order) cashier,
required TResult Function(Order order) payment,
required TResult Function(Order order) voided,
required TResult Function(Order order) splitBill,
}) {
return splitBill(this.order);
}
@override
@optionalTypeArgs
TResult? whenOrNull<TResult extends Object?>({
TResult? Function(Order order)? order,
TResult? Function(Order order)? cashier,
TResult? Function(Order order)? payment,
TResult? Function(Order order)? voided,
TResult? Function(Order order)? splitBill,
}) {
return splitBill?.call(this.order);
}
@override
@optionalTypeArgs
TResult maybeWhen<TResult extends Object?>({
TResult Function(Order order)? order,
TResult Function(Order order)? cashier,
TResult Function(Order order)? payment,
TResult Function(Order order)? voided,
TResult Function(Order order)? splitBill,
required TResult orElse(),
}) {
if (splitBill != null) {
return splitBill(this.order);
}
return orElse();
}
@override
@optionalTypeArgs
TResult map<TResult extends Object?>({
required TResult Function(_Order value) order,
required TResult Function(_Cashier value) cashier,
required TResult Function(_Payment value) payment,
required TResult Function(_Voided value) voided,
required TResult Function(_SplitBill value) splitBill,
}) {
return splitBill(this);
}
@override
@optionalTypeArgs
TResult? mapOrNull<TResult extends Object?>({
TResult? Function(_Order value)? order,
TResult? Function(_Cashier value)? cashier,
TResult? Function(_Payment value)? payment,
TResult? Function(_Voided value)? voided,
TResult? Function(_SplitBill value)? splitBill,
}) {
return splitBill?.call(this);
}
@override
@optionalTypeArgs
TResult maybeMap<TResult extends Object?>({
TResult Function(_Order value)? order,
TResult Function(_Cashier value)? cashier,
TResult Function(_Payment value)? payment,
TResult Function(_Voided value)? voided,
TResult Function(_SplitBill value)? splitBill,
required TResult orElse(),
}) {
if (splitBill != null) {
return splitBill(this);
}
return orElse();
}
}
abstract class _SplitBill implements PrintStruckEvent {
const factory _SplitBill(final Order order) = _$SplitBillImpl;
@override
Order get order;
/// Create a copy of PrintStruckEvent
/// with the given fields replaced by the non-null parameter values.
@override
@JsonKey(includeFromJson: false, includeToJson: false)
_$$SplitBillImplCopyWith<_$SplitBillImpl> get copyWith =>
throw _privateConstructorUsedError;
}
/// @nodoc
mixin _$PrintStruckState {
Option<Either<PrinterFailure, Unit>> get failureOrPrintStruck =>
@@ -6,4 +6,5 @@ class PrintStruckEvent with _$PrintStruckEvent {
const factory PrintStruckEvent.cashier(Order order) = _Cashier;
const factory PrintStruckEvent.payment(Order order) = _Payment;
const factory PrintStruckEvent.voided(Order order) = _Voided;
const factory PrintStruckEvent.splitBill(Order order) = _SplitBill;
}