UNPKG

react-model-view-viewmodel

Version:

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

58 lines (57 loc) 2.05 kB
import type { IDependencyResolver } from './IDependencyResolver'; import { type ReactElement, type PropsWithChildren } from 'react'; /** * Gets the currently configured dependency resolver. * * @returns Returns the currently configured dependency resolver. * * @see {@link IDependencyResolver} * @see {@link IDependencyContainer} * @see {@link ConfigurableDependency} * @see {@link ResolvableSimpleDependency} * @see {@link useDependency} * @see {@link DependencyResolverProvider} * @see {@link DependencyResolverScope} */ export declare function useDependencyResolver(): IDependencyResolver; /** * Represents the dependency resolver context provider props. * * @see {@link DependencyResolverProvider} */ export interface IDependencyResolverProviderProps { /** * The dependency resolver to configure in the context of child components. */ readonly dependencyResolver: IDependencyResolver; } /** * Configures a dependency resolver in the context of child components. * * @returns Returns the `children` in the context of the provided `dependencyResolver`. * * @see {@link IDependencyResolver} * @see {@link IDependencyContainer} * @see {@link useDependency} */ export declare function DependencyResolverProvider(props: PropsWithChildren<IDependencyResolverProviderProps>): ReactElement; /** * Represents the dependency resolver scope context provider props. * * @see {@link DependencyResolverScope} */ export interface IDependencyResolverScopeProps { /** * An optional set of dependencies for which the scope should be refreshed. * The contents of the array is compared at a shallow level to determine if it has changes. */ readonly deps?: readonly any[]; } /** * Configures a dependency resolver scope in the context of child components. * * @see {@link IDependencyResolver} * @see {@link IDependencyContainer} * @see {@link useDependency} */ export declare function DependencyResolverScope({ deps, children }: PropsWithChildren<IDependencyResolverScopeProps>): ReactElement;