mirror of
https://github.com/pese-git/cherrypick.git
synced 2026-01-23 21:13:35 +00:00
125 lines
3.8 KiB
Dart
125 lines
3.8 KiB
Dart
|
|
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) {
|
|||
|
|
// TODO: implement toResolver
|
|||
|
|
throw UnimplementedError();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* Создать резолвер значения
|
|||
|
|
*/
|
|||
|
|
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();
|
|||
|
|
}
|
|||
|
|
}
|