pulsar 0.0.3
pulsar: ^0.0.3 copied to clipboard
A new Flutter package that provide State Management, Routing, and more
pulsar #
pulsar is a Flutter package that provides state management, routing, and more. This package is designed to help developers build scalable and maintainable applications with ease.
Features #
- State Management: Utilize various state management techniques including Bloc and ValueNotifier.
- Routing: Simplify navigation within your Flutter applications.
- Responsive Design: Create applications that look great on all devices.
Getting Started #
To get started with pulsar, add the following dependency to your pubspec.yaml file:
Example of Use: #
import 'package:core/core.dart';
import 'src/data/repositories/auth_repository.dart';
import 'src/data/repositories/event_repository_impl.dart';
import 'src/data/repositories/profile_repository.dart';
import 'src/domain/entities/home_event.dart';
import 'src/domain/repositories/auth_repository.dart';
import 'src/domain/repositories/event_repository.dart';
import 'src/domain/repositories/profile_repository.dart';
import 'src/views/auth/pages/login/login_page.dart';
import 'src/views/auth/pages/profile/profile_page.dart';
import 'src/views/event/pages/event_detail/event_detail_page.dart';
import 'src/views/event/pages/event_main/event_main_page.dart';
class MainModule extends Module {
@override
void registerInjections() {
register(
() => HttpClient(
httpClient: HttpBaseClient(baseUrl: Enviroment.kBaseUrl),
),
);
register(() => GetUserSession());
register<EventRepository>(
() => EventRepositoryImpl(
httpClient: get(),
getUserSession: get(),
),
);
register<FirebaseAuth>(() => FirebaseAuth.instance);
register<ProfileRepository>(() => ProfileRepositoryImpl(get()));
register<AuthRepository>(() => AuthRepositoryImpl()..getCurrentUser());
}
@override
void registerRoutes() {
addRoute(
'/event_home',
(context, args) => const EventMainPage(),
);
addRoute(
'/event_detail',
(context, args) {
return EventDetailPage(
event: args != null ? args as HomeEvent : null,
);
},
);
addRoute(
'/signin',
(context, args) => const LoginPage(),
);
addRoute('/profile', (context, args) => const ProfilePage());
}
}