Declaration
export function registerMultiInjectService(
container: Container | ContainerModuleLoadOptions,
target: Newable<unknown>,
options: IMultiInjectTokens,
): void;API Reference
Registers one class in the container, adds it to the multi-injection list identified by multiInjectToken, and optionally binds it under a separate service token.
export function registerMultiInjectService(
container: Container | ContainerModuleLoadOptions,
target: Newable<unknown>,
options: IMultiInjectTokens,
): void;import { registerMultiInjectService } from '@rs-x/core';import {
InjectionContainer,
RsXCoreInjectionTokens,
registerMultiInjectService,
type IMultiInjectTokens,
type IDeepClone,
} from '@rs-x/core';
const options: IMultiInjectTokens = {
multiInjectToken: RsXCoreInjectionTokens.IDeepCloneList,
serviceToken: Symbol.for('MyDomainDeepClone'),
};
registerMultiInjectService(InjectionContainer, MyDomainDeepClone, options);
// resolve directly via serviceToken
const direct = InjectionContainer.get<IDeepClone>(options.serviceToken as symbol);
// resolve from the list token
const list = InjectionContainer.getAll<IDeepClone>(options.multiInjectToken);
console.log(direct, list.length);DI container (or module load context) where the service should be registered.
Concrete class constructor to bind in singleton scope.
Token configuration containing required multiInjectToken and optional serviceToken alias.
void