mirror of
https://github.com/pese-git/cherrypick.git
synced 2026-01-24 05:25:19 +00:00
implemented toFactory method
This commit is contained in:
@@ -1,4 +1,5 @@
|
|||||||
import 'package:dart_di/di_container.dart';
|
import 'package:dart_di/di_container.dart';
|
||||||
|
import 'package:dart_di/resolvers/factory_resolver.dart';
|
||||||
import 'package:dart_di/resolvers/resolver.dart';
|
import 'package:dart_di/resolvers/resolver.dart';
|
||||||
import 'package:dart_di/resolvers/singelton_resolver.dart';
|
import 'package:dart_di/resolvers/singelton_resolver.dart';
|
||||||
import 'package:dart_di/resolvers/value_resolver.dart';
|
import 'package:dart_di/resolvers/value_resolver.dart';
|
||||||
@@ -52,8 +53,8 @@ class ResolvingContext<T> extends Resolver {
|
|||||||
* Создать фабричный resolver без каких-либо зависимостей
|
* Создать фабричный resolver без каких-либо зависимостей
|
||||||
*/
|
*/
|
||||||
ResolvingContext<T> toFactory<TImpl extends T>(TImpl Function() factory) {
|
ResolvingContext<T> toFactory<TImpl extends T>(TImpl Function() factory) {
|
||||||
// TODO: implement toFactory
|
Resolver<TImpl> resolver = FactoryResolver<TImpl>(factory);
|
||||||
throw UnimplementedError();
|
return toResolver(resolver);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -132,6 +132,14 @@ void main() {
|
|||||||
|
|
||||||
expect(containerB.resolve<int>(), expectedIntValue);
|
expect(containerB.resolve<int>(), expectedIntValue);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test("Bind to the factory resolves with value", () {
|
||||||
|
final container = DiContainer();
|
||||||
|
final b = B();
|
||||||
|
container.bind<A>().toFactory(() => b);
|
||||||
|
|
||||||
|
expect(container.resolve<A>(), b);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
ResolverMock<T> _makeResolver<T>(T expectedValue) {
|
ResolverMock<T> _makeResolver<T>(T expectedValue) {
|
||||||
|
|||||||
Reference in New Issue
Block a user