mana-syringe
Version:
IoC library for mana, easily to use.
34 lines • 1.54 kB
TypeScript
import type { interfaces } from 'inversify';
import type { InversifyRegister } from './inversify';
import { Syringe } from './core';
export declare function toRegistryOption<P>(options: Syringe.InjectOption<P>): Syringe.FormattedInjectOption<P>;
export declare class Register<T> {
static globalConfig: Syringe.InjectOption<any>;
/**
* 注册目标 token,合并 token 配置后基于配置注册
*/
static resolveTarget<R>(register: InversifyRegister, target: Syringe.Token<R>, option?: Syringe.TargetOption<R>): void;
/**
* 基于配置注册
*/
static resolveOption<R>(iRegister: InversifyRegister, baseOption: Syringe.InjectOption<R>): void;
protected token: Syringe.UnionToken<T>;
protected rawToken: Syringe.Token<T>;
protected named?: Syringe.Named;
/**
* 兼容 inversify
*/
protected generalToken: interfaces.ServiceIdentifier<T>;
protected option: Syringe.FormattedInjectOption<T>;
protected register: InversifyRegister;
protected mutiple: boolean;
constructor(register: InversifyRegister, token: Syringe.UnionToken<T>, option: Syringe.FormattedInjectOption<T>);
/**
* multi or mono register
* mono bind 优先级 useValue > useDynamic > useFactory > useClass
*/
resolve(): void;
protected resolveMono(register: InversifyRegister): interfaces.BindingWhenOnSyntax<T> | undefined;
protected resolveMutilple(register: InversifyRegister): void;
}
//# sourceMappingURL=register.d.ts.map