| OLD | NEW |
| (Empty) |
| 1 library di.provider; | |
| 2 | |
| 3 import 'injector_delagate.dart'; | |
| 4 import 'base_injector.dart'; | |
| 5 import 'package:di/di.dart'; | |
| 6 | |
| 7 abstract class ObjectFactory { | |
| 8 Object getInstanceByKey(Key key, BaseInjector requester, ResolutionContext res
olving); | |
| 9 } | |
| 10 | |
| 11 abstract class Provider { | |
| 12 final Visibility visibility; | |
| 13 final Type type; | |
| 14 | |
| 15 Provider(this.type, this.visibility); | |
| 16 | |
| 17 dynamic get(BaseInjector injector, BaseInjector requestor, | |
| 18 ObjectFactory objFactory, resolving); | |
| 19 } | |
| 20 | |
| 21 class ValueProvider extends Provider { | |
| 22 dynamic value; | |
| 23 | |
| 24 ValueProvider(type, this.value, [Visibility visibility]) | |
| 25 : super(type, visibility); | |
| 26 | |
| 27 dynamic get(BaseInjector injector, BaseInjector requestor, | |
| 28 ObjectFactory objFactory, resolving) => value; | |
| 29 } | |
| 30 | |
| 31 class TypeProvider extends Provider { | |
| 32 TypeProvider(type, [Visibility visibility]) : super(type, visibility); | |
| 33 | |
| 34 dynamic get(BaseInjector injector, BaseInjector requestor, | |
| 35 ObjectFactory objFactory, resolving) { | |
| 36 return injector.newInstanceOf( | |
| 37 type, objFactory, requestor, resolving); | |
| 38 } | |
| 39 } | |
| 40 | |
| 41 class FactoryProvider extends Provider { | |
| 42 final Function factoryFn; | |
| 43 | |
| 44 FactoryProvider(type, this.factoryFn, [Visibility visibility]) | |
| 45 : super(type, visibility); | |
| 46 | |
| 47 dynamic get(BaseInjector injector, BaseInjector requestor, | |
| 48 ObjectFactory objFactory, resolving) => | |
| 49 factoryFn(new InjectorDelagate(injector, resolving)); | |
| 50 } | |
| OLD | NEW |