minimal_di 0.0.4 copy "minimal_di: ^0.0.4" to clipboard
minimal_di: ^0.0.4 copied to clipboard

Minimalistic Flutter DI Container for Dependency Injection for a simple situation

di #

Flutter Dependency Injection package for minimalist.

just 6 simple features #

abstract class IDependencyInjection
{
  bool isRegistered<T extends Object>({String? named});
  void register<T extends Object>(T instance, {String? named});
  void registerLazy<T extends Object>(Future<T> Function() func, {String? named});
  void change<T extends Object>(T instance, {String? named});
  T get<T extends Object>({String? named});
  Future<T> getAsync<T extends Object>({String? named});
}

Usage #

Future<int> initNumber(String number) async
{
  var parsed = int.tryParse(number);
  parsed ??= 1;
  await Future.delayed(Duration(seconds: parsed));
  return parsed;
}

DI.instance.registerLazy<int>(() => initNumber("1"), named:"one");
var one = await DI.instance.getAsync<int>(named: "one");
assert(one == 1);

if you do not pass named argument, default values is runtimeType.toString()

0
likes
110
pub points
0%
popularity

Publisher

unverified uploader

Minimalistic Flutter DI Container for Dependency Injection for a simple situation

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (LICENSE)

Dependencies

flutter

More

Packages that depend on minimal_di