UNPKG

react-magnetic-di

Version:
41 lines (33 loc) 982 B
// @flow /* eslint-disable no-redeclare, no-unused-vars */ import type { Node, AbstractComponent } from 'react'; export type Dependency = Function; declare export class DiProvider extends React$Component< { children?: Node, target?: AbstractComponent<any> | AbstractComponent<any>[], use: Dependency[], }, { getDependencies: ( deps: Dependency[], target: AbstractComponent<any> | AbstractComponent<any>[] ) => Dependency[], } > {} declare export function withDi<T: AbstractComponent<any>>( component: T, dependencies: Dependency[], target?: AbstractComponent<any> | AbstractComponent<any>[] ): T; /** @deprecated use injectable instead */ declare export function mock<T: Dependency>(original: T, mock: T): T; declare export function injectable<T: Dependency>( from: T, implementation: T ): T; function di(...dependencies: Dependency[]) { /** @deprecated use injectable instead */ di.mock = mock; } declare export { di };