async_injector 0.1.1 copy "async_injector: ^0.1.1" to clipboard
async_injector: ^0.1.1 copied to clipboard

discontinued
outdated

dependency injector with async initialization support.

Dependency injector for Dart

A simple usage example

import 'package:async_injector/async_injector.dart';

class DI {
  static Provider instance;

  static initComponent() async {
    var builder = ProviderBuilder();
    //preference
    builder
      ..moduleImpl((_) => SharedPreferences.getInstance())
      ..moduleImpl<PreferenceGateway>((provider) => PreferenceImpl(provider.get()));
    //api
    builder
      ..moduleImpl((provider) => AuthInterceptor(provider.get()))
      ..moduleImpl<Dio>(
          (provider) => DioInstance.create(provider.get()));

    DI.instance = await builder.build();
  }

  static T get<T>() => instance.get<T>();

}

After build use get method by request type

SharedPreferences preference = DI.get()

You can return Future to the module and the result from it is added to the area

 ..moduleImpl<SharedPreferences>((provider) => SharedPreferences.getInstance())
0
likes
0
pub points
0%
popularity

Publisher

unverified uploader

dependency injector with async initialization support.

Repository (GitLab)
View/report issues

License

unknown (LICENSE)

Dependencies

flutter

More

Packages that depend on async_injector