resolve 0.2.2 copy "resolve: ^0.2.2" to clipboard
resolve: ^0.2.2 copied to clipboard

Managing dependencies with simple Widgets.

Resolve #

Managing dependencies with simple Widgets.

Features:

  • Inversion of control, you define how to instantiate objects from outside
  • Really integrated with the Flutter widget composability approach
  • Scoped resolution since Resolvers and Configurators can be overriden wherever in the tree
  • Generic widgets so you can use the configuration and instances you want

Examples #

Quickstart #

Provider

class Bootstrapper extends StatelessWidget {
    @override
    Widget build(BuildContext context) {
        return Provider<String>(
            creator: (context) => "Hello world!",
            child: HomePage());
    }
}

class HomePage extends StatelessWidget {
    @override
    Widget build(BuildContext context) {
        final label = Resolver.of<String>(context);
        return Text(label);
    }
}

Resolver

enum Configuration {
  development,
  production,
}

class Bootstrapper extends StatelessWidget {
    @override
    Widget build(BuildContext context) {
        return Configurator<Configuration>(
            configuration: Configuration.production,
            child: Resolver<String, Configuration>(
            creator: ((context,config) => config == Configuration.development ? "Debug now" : "Online"),
            child: HomePage());
    }
}

class HomePage extends StatelessWidget {
    @override
    Widget build(BuildContext context) {
        final label = Resolver.of<String>(context);
        return Text(label);
    }
}

FAQ #

Can I use it with the BLoC pattern ?

Absolutely, I created it first for it, but wanted a more generic approach combined with dependency configuration. The solution is just an extended part of a typical bloc provider.

Don't forget to add a disposer for your blocs when registering them into the Resolver to close all exposed streams!

What if I have a pure Dart project ?

You can still use dioc which is a more traditionnal approach to inversion of control.

0
likes
25
pub points
0%
popularity

Publisher

unverified uploader

Managing dependencies with simple Widgets.

Repository (GitHub)
View/report issues

License

MIT (LICENSE)

Dependencies

flutter

More

Packages that depend on resolve