GitHub license Travis Pub Coverage Status


Catalyst is a dependency injection container for the dart language.

The flutter_catalyst project is a port of the catalyst project to provide dependency injection in Flutter projects.

📦 Installation

Add the following to your pubspec.yaml:

  flutter_catalyst: ^2.0.0

Then run pub get

💡 Usage


import 'package:flutter_catalyst/flutter_catalyst.dart';

Check out the examples

Supported functions:

get registeredTypesReturn all registered types
register<T>(T service)Register a service for a specific interface
registerInterface<TB, T extends TB>(T service)Register a service
registerWithDependencies<T>(serviceFactory, dependencies)Register a serviceFactory with dependencies
registerInterfaceWithDependencies<TB, T extends TB>(serviceFactory, dependencies)Register a serviceFactory with dependencies for a specific interface
unregister<T>()Unregister a service
get<T>()Get a service by passing its type as
has<T>()Check if a specific service is registered
wire()Wire the services with dependencies (register*WithDependencies())
destroy()Destroy the service container instance
getFromToken<T>()Get a service which was wrapped inside a InjectionToken

🔬 Testing

$ pub run test

🤝 Contribute

Feel free to fork and add pull-requests 🤓