@difizen/mana-syringe
Version:
33 lines • 1.37 kB
TypeScript
import type { interfaces } from 'inversify';
import { Syringe } from './core';
import type { InversifyContext } from './inversify-api';
export declare class Register<T> {
static globalConfig: Syringe.InjectOption<any>;
/**
* 注册目标 token,合并 token 配置后基于配置注册
*/
static resolveTarget<R>(ictx: InversifyContext, target: Syringe.Token<R>, option?: Syringe.TargetOption<R>): void;
/**
* 基于配置注册
*/
static resolveOption<R>(ictx: InversifyContext, baseOption: Syringe.InjectOption<R>): void;
protected token: Syringe.UnionToken<T>;
protected rawToken: Syringe.Token<T>;
protected named?: Syringe.Named | undefined;
/**
* 兼容 inversify
*/
protected generalToken: interfaces.ServiceIdentifier<T>;
protected option: Syringe.FormattedInjectOption<T>;
protected ictx: InversifyContext;
protected mutiple: boolean;
constructor(ictx: InversifyContext, token: Syringe.UnionToken<T>, option: Syringe.FormattedInjectOption<T>);
/**
* multi or mono register
* priority: useValue > useDynamic > useFactory > useClass
*/
resolve(): void;
protected resolveMono(ictx: InversifyContext): interfaces.BindingWhenOnSyntax<T> | undefined;
protected resolveMutilple(ictx: InversifyContext): void;
}
//# sourceMappingURL=register.d.ts.map