kinject 1.0.3 copy "kinject: ^1.0.3" to clipboard
kinject: ^1.0.3 copied to clipboard

Simple Dependency Injector based on InheritedWidget to provide singleton and factory instances easily

example/README.md

import 'package:flutter/material.dart';
import 'package:kanza_di/kinject.dart';
import 'package:kanza_di_example/auth_bloc.dart';
import 'package:kanza_di_example/auth_data_source.dart';
import 'package:kanza_di_example/auth_repository.dart';

class LoginPage extends StatelessWidget {
  const LoginPage({super.key});

  @override
  Widget build(BuildContext context) {
    return Kinjects(
      kinjects: [
        ProxyKinject<AuthDataSource>((_) => AuthDataSourceImpl()),
        ProxyKinject<AuthRepository>(
          (context) => AuthRepositoryImpl(
            context.resolve<AuthDataSource>(),
          ),
        ),
        ProxyKinject<LoginBloc>(
          (context) => LoginBloc(
            context.resolve<AuthRepository>(),
          ),
        ),
      ],
      builder: (context) {
        return Scaffold(
          body: SafeArea(
            child: Center(
              child: ElevatedButton(
                onPressed: context.resolve<LoginBloc>().login,
                child: const Text('Log in'),
              ),
            ),
          ),
        );
      },
    );
  }
}

2
likes
160
points
27
downloads

Publisher

verified publisheryusubov.com

Weekly Downloads

Simple Dependency Injector based on InheritedWidget to provide singleton and factory instances easily

Repository (GitHub)
View/report issues

Topics

#dependency-injection #inherited-widget

Documentation

Documentation
API reference

License

MIT (license)

Dependencies

flutter

More

Packages that depend on kinject