- Json Live template
json_bloc_road_map
import 'package:equatable/equatable.dart';
import 'package:json_annotation/json_annotation.dart';
part '$FileName$.g.dart';
@JsonSerializable()
class $NameClass$ extends Equatable{
@JsonKey(name: '$Id$')
final $TypeField$ $Id$;
$NameClass$(this.$Id$);
@override
List<Object?> get props => [
$Id$
];
factory $NameClass$.fromJson(Map<String, dynamic> json) =>
_$$$NameClass$FromJson(json);
Map<String, dynamic> toJson() => _$$$NameClass$ToJson(this);
}
json_field_bloc_road_map
@JsonKey(name: '$Key$')
final $TypeKey$ $Key$;
retrofit_bloc_road_map
import 'package:dio/dio.dart';
import 'package:retrofit/retrofit.dart';
part '$file_name$.g.dart';
@RestApi(baseUrl : "$BaseURL$")
abstract class $Class$Service {
factory $Class$Service(Dio dio, {String baseUrl}) = _$Class$Service;
@GET("$GET$")
Future<$CLASSRESPONSE$> $funtionResponse$();
}
- Retrofit live template
retrofit_client_bloc_road_map
import 'package:dio/dio.dart';
class $Class$Client {
late Dio _dio;
late $ClassService$ _service;
$Class$Client() {
_dio = Dio();
_dio.interceptors.add(LogInterceptor(requestBody: true, responseBody: true));
_service = $ClassService$(_dio);
}
$ClassService$ getService() {
return _service;
}
}
- Repository Live template
repository_bloc_road_map
abstract class $Class$Repository {
Future<$Response$>? $functionResponse$($Query$);
}
repository_impl_bloc_road_map
class $Class$Impl extends $ClassExtends$ {
late $ClassService$ _service;
$Class$Impl() {
_service = $ClassService$Client().getService();
}
}
state_bloc_default_road_map
import 'package:equatable/equatable.dart';
abstract class $Class$State extends Equatable {
const $Class$State();
@override
List<Object> get props => [];
}
class Initial$Class$State extends $Class$State {}
class Loading$Class$State extends $Class$State {}
class Error$Class$State extends $Class$State {
final String errorMessage;
const Error$Class$State({this.errorMessage = "Unknown Error"});
@override
String toString() =>
'Error : $errorMessage';
}
class Success$Class$State extends $Class$State {
const Success$Class$State();
}
event_bloc_default_road_map
import 'package:equatable/equatable.dart';
abstract class $Class$Event extends Equatable {
@override
List<Object> get props => [];
}
class $ClassEvent$Event extends $Class$Event {
$ClassEvent$Event();
}
bloc_default_road_map
import 'package:flutter_bloc/flutter_bloc.dart';
class $Class$Bloc
extends Bloc<$ClassEVENT$, $ClassState$> {
final $ClassRepository$ repository;
$Class$Bloc({required this.repository})
: super(Initial$Class$State());
@override
Stream<$ClassState$> mapEventToState($ClassEVENT$ event) async* {
if (event is $EventClass$) {
try {
yield Loading$Class$State();
$ClassResponse$ response = await repository.$method$;
yield Success$Class$State();
} catch (e) {
yield Error$Class$State(errorMessage: e.toString());
}
}
}
}
app_bloc_default_road_map
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
class $Class$ extends StatelessWidget {
const $Class$({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return MultiBlocProvider(
providers: [
BlocProvider(
create: (context) => $ClassBloc$,
),
],
child: MaterialApp(
debugShowCheckedModeBanner: false,
title: 'Example',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: const Container(),
),
);
}
}
routes
class Routes {
Routes._();
static const String home = '/';
}