UNPKG

react-model-view-viewmodel

Version:

A library for developing ReactJS applications using Model-View-ViewModel, inspired by .NET.

165 lines (164 loc) 6.84 kB
import type { ResolvableSimpleDependency, ComplexDependency } from './IDependencyResolver'; /** * Resolves the requested dependency using the resolver in the current context. * * @template T The dependency type to resolve. * * @param dependency The dependency to resolve. * * @returns Returns the resolved dependency. * * @see {@link IDependencyResolver} * @see {@link IDependencyContainer} * @see {@link ResolvableSimpleDependency} * @see {@link useDependencyResolver} * @see {@link useViewModelDependency} * @see {@link DependencyResolverProvider} * @see {@link DependencyResolverScope} */ export declare function useDependency<T>(dependency: ResolvableSimpleDependency<T>): T; /** * @ignore * Resolves the requested dependency using the resolver in the current context. * * @template T The dependency type to resolve. * * @param dependency The dependency to resolve. * * @returns Returns the resolved dependency. * * @see {@link IDependencyResolver} * @see {@link IDependencyContainer} * @see {@link ResolvableSimpleDependency} * @see {@link useDependencyResolver} * @see {@link useViewModelDependency} * @see {@link DependencyResolverProvider} * @see {@link DependencyResolverScope} */ export declare function useDependency<T>(dependency: ResolvableSimpleDependency<T> | null): T | null; /** * Resolves the requested dependency using the resolver in the current context. * * @template T The dependency type to resolve. * * @param dependency The dependency to resolve. * * @returns Returns the resolved dependency. * * @see {@link IDependencyResolver} * @see {@link IDependencyContainer} * @see {@link ResolvableSimpleDependency} * @see {@link useDependencyResolver} * @see {@link useViewModelDependency} * @see {@link DependencyResolverProvider} * @see {@link DependencyResolverScope} * * @ignore This is overload is not relevant for wiki documentation. */ export declare function useDependency<T>(dependency: ResolvableSimpleDependency<T> | undefined): T | undefined; /** * Resolves the requested dependency using the resolver in the current context. * * @template T The dependency type to resolve. * * @param dependency The dependency to resolve. * * @returns Returns the resolved dependency. * * @see {@link IDependencyResolver} * @see {@link IDependencyContainer} * @see {@link ResolvableSimpleDependency} * @see {@link useDependencyResolver} * @see {@link useViewModelDependency} * @see {@link DependencyResolverProvider} * @see {@link DependencyResolverScope} * * @ignore This is overload is not relevant for wiki documentation. */ export declare function useDependency<T>(dependency: ResolvableSimpleDependency<T> | null | undefined): T | null | undefined; /** * Resolves the requested complex dependency using the resovler in the current context. * * @template T The dependency type to resolve. * @template TAdditional A tuple representing additional parameters required by the constructor. * * @param dependency The complex dependency to resolve. * @param additionalDependencies Additional constructor arguments which also act as dependencies, if one of them changes the dependency will be reinitialized. * * @returns Returns the resolved dependency. * * @see {@link IDependencyResolver} * @see {@link IDependencyContainer} * @see {@link ResolvableSimpleDependency} * @see {@link useDependencyResolver} * @see {@link useViewModelDependency} * @see {@link DependencyResolverProvider} * @see {@link DependencyResolverScope} */ export declare function useDependency<T, TAdditional extends readonly any[]>(dependency: ComplexDependency<T, TAdditional>, additionalDependencies: TAdditional): T; /** * Resolves the requested complex dependency using the resovler in the current context. * * @template T The dependency type to resolve. * @template TAdditional A tuple representing additional parameters required by the constructor. * * @param dependency The complex dependency to resolve. * @param additionalDependencies Additional constructor arguments which also act as dependencies, if one of them changes the dependency will be reinitialized. * * @returns Returns the resolved dependency. * * @see {@link IDependencyResolver} * @see {@link IDependencyContainer} * @see {@link ResolvableSimpleDependency} * @see {@link useDependencyResolver} * @see {@link useViewModelDependency} * @see {@link DependencyResolverProvider} * @see {@link DependencyResolverScope} * * @ignore This is overload is not relevant for wiki documentation. */ export declare function useDependency<T, TAdditional extends readonly any[]>(dependency: ComplexDependency<T, TAdditional> | null, additionalDependencies: TAdditional): T | null; /** * Resolves the requested complex dependency using the resovler in the current context. * * @template T The dependency type to resolve. * @template TAdditional A tuple representing additional parameters required by the constructor. * * @param dependency The complex dependency to resolve. * @param additionalDependencies Additional constructor arguments which also act as dependencies, if one of them changes the dependency will be reinitialized. * * @returns Returns the resolved dependency. * * @see {@link IDependencyResolver} * @see {@link IDependencyContainer} * @see {@link ResolvableSimpleDependency} * @see {@link useDependencyResolver} * @see {@link useViewModelDependency} * @see {@link DependencyResolverProvider} * @see {@link DependencyResolverScope} * * @ignore This is overload is not relevant for wiki documentation. */ export declare function useDependency<T, TAdditional extends readonly any[]>(dependency: ComplexDependency<T, TAdditional> | undefined, additionalDependencies: TAdditional): T | undefined; /** * Resolves the requested complex dependency using the resovler in the current context. * * @template T The dependency type to resolve. * @template TAdditional A tuple representing additional parameters required by the constructor. * * @param dependency The complex dependency to resolve. * @param additionalDependencies Additional constructor arguments which also act as dependencies, if one of them changes the dependency will be reinitialized. * * @returns Returns the resolved dependency. * * @see {@link IDependencyResolver} * @see {@link IDependencyContainer} * @see {@link ResolvableSimpleDependency} * @see {@link useDependencyResolver} * @see {@link useViewModelDependency} * @see {@link DependencyResolverProvider} * @see {@link DependencyResolverScope} * * @ignore This is overload is not relevant for wiki documentation. */ export declare function useDependency<T, TAdditional extends readonly any[]>(dependency: ComplexDependency<T, TAdditional> | null | undefined, additionalDependencies: TAdditional): T | null | undefined;