@adonisjs/fold
Version:
Dependency manager and IoC container for your next NodeJs application
33 lines (32 loc) • 1.36 kB
TypeScript
import { IocContract, IocResolverLookupNode, IocResolverContract } from '../Contracts';
/**
* Exposes the API to resolve and call bindings from the IoC container. The resolver
* internally caches the IoC container lookup nodes to boost performance.
*/
export declare class IocResolver implements IocResolverContract<any> {
private container;
private fallbackMethod?;
private rcNamespaceKey?;
private fallbackNamespace?;
private lookupCache;
/**
* The namespace that will be used as a prefix when resolving
* bindings
*/
private prefixNamespace;
constructor(container: IocContract, fallbackMethod?: string | undefined, rcNamespaceKey?: string | undefined, fallbackNamespace?: string | undefined);
/**
* Returns the prefix namespace by giving preference to the
* `.adonisrc.json` file
*/
private getPrefixNamespace;
/**
* Resolves the namespace and returns it's lookup node
*/
resolve(namespace: string, prefixNamespace?: string | undefined): IocResolverLookupNode<string>;
/**
* Calls the namespace.method expression with any arguments that needs to
* be passed. Also supports type-hinting dependencies.
*/
call(namespace: string | IocResolverLookupNode<string>, prefixNamespace?: string, args?: any[] | ((instance: any) => any[])): Promise<any>;
}