API Reference

registerMultiInjectServicefunction

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.

Quick facts
Kind
function
Package
@rs-x/core

Declaration

export function registerMultiInjectService(
  container: Container | ContainerModuleLoadOptions,
  target: Newable<unknown>,
  options: IMultiInjectTokens,
): void;

Import

import { registerMultiInjectService } from '@rs-x/core';

Example

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);

Parameters

targetNewable<unknown>

Concrete class constructor to bind in singleton scope.

Token configuration containing required multiInjectToken and optional serviceToken alias.

Return type

void