Files
cherrypick/lib/resolvers/resolving_context.dart
2020-06-28 10:43:07 +03:00

125 lines
3.8 KiB
Dart
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import 'package:dart_di/di_container.dart';
import 'package:dart_di/resolvers/resolver.dart';
class ResolvingContext<T> extends Resolver {
DiContainer _container;
// Корневой резолвер
Resolver _resolver;
ResolvingContext(this._container);
/**
* Разрешает зависимость типа [T]
* @return - возвращает объект типа [T]
*/
@override
T resolve() {
// TODO: implement resolve
throw UnimplementedError();
}
/**
* Добавляет резолвер в качестве корневого резолвера
* С помощью этого метода вы можете добавить любой
* пользовательский резолвер
*/
ResolvingContext<T> toResolver<TImpl extends T>(Resolver<TImpl> resolver) {
_resolver = resolver;
return this;
}
/**
* Создать резолвер значения
*/
ResolvingContext<T> toValue<TImpl extends T>(T value) {
// TODO: implement toValue
throw UnimplementedError();
}
/**
* Преобразователь в сингелтон
*/
ResolvingContext<T> asSingleton() {
// TODO: implement asSingleton
throw UnimplementedError();
}
/**
* Создать фабричный resolver без каких-либо зависимостей
*/
ResolvingContext<T> toFactory<TImpl extends T>(TImpl Function() factory) {
// TODO: implement toFactory
throw UnimplementedError();
}
/**
* Создать фабричный resolver с 1 зависимостью от контейнера
*/
ResolvingContext<T> toFactory1<T1>(T Function(T1) factory) {
// TODO: implement toFactory1
throw UnimplementedError();
}
/**
* Создать фабричный resolver с 2 зависимостями от контейнера
*/
ResolvingContext<T> toFactory2<T1, T2>(T Function(T1, T2) factory) {
// TODO: implement toFactory2
throw UnimplementedError();
}
/**
* Создать фабричный resolver с 3 зависимостями от контейнера
*/
ResolvingContext<T> toFactory3<T1, T2, T3>(T Function(T1, T2, T3) factory) {
// TODO: implement toFactory3
throw UnimplementedError();
}
/**
* Создать фабричный resolver с 4 зависимостями от контейнера
*/
ResolvingContext<T> toFactory4<T1, T2, T3, T4>(
T Function(T1, T2, T3, T4) factory) {
// TODO: implement toFactory4
throw UnimplementedError();
}
/**
* Создать фабричный resolver с 5 зависимостями от контейнера
*/
ResolvingContext<T> toFactory5<T1, T2, T3, T4, T5>(
T Function(T1, T2, T3, T4, T5) factory) {
// TODO: implement toFactory5
throw UnimplementedError();
}
/**
* Создать фабричный resolver с 6 зависимостями от контейнера
*/
ResolvingContext<T> toFactory6<T1, T2, T3, T4, T5, T6>(
T Function(T1, T2, T3, T4, T5, T6) factory) {
// TODO: implement toFactory6
throw UnimplementedError();
}
/**
* Создать фабричный resolver с 7 зависимостями от контейнера
*/
ResolvingContext<T> toFactory7<T1, T2, T3, T4, T5, T6, T7>(
T Function(T1, T2, T3, T4, T5, T6, T7) factory) {
// TODO: implement toFactory7
throw UnimplementedError();
}
/**
* Создать фабричный resolver с 8 зависимостями от контейнера
*/
ResolvingContext<T> toFactory8<T1, T2, T3, T4, T5, T6, T7, T8>(
T Function(T1, T2, T3, T4, T5, T6, T7, T8) factory) {
// TODO: implement toFactory8
throw UnimplementedError();
}
}