API Reference

registerMultiInjectServicesfunction

Accepts an array of IMultiInjectService entries and registers them as one multi-injected list under multiInjectToken (injectable as an array). Each entry also maps token to target, so the same service can be resolved individually.

Quick facts
Kind
function
Package
@rs-x/core

Declaration

export function registerMultiInjectServices(
  container: Container | ContainerModuleLoadOptions,
  multiInjectToken: symbol,
  services: readonly IMultiInjectService[],
): void;

Import

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

Example

import {
  InjectionContainer,
  RsXCoreInjectionTokens,
  registerMultiInjectServices,
  type IDeepClone,
  type IMultiInjectService,
} from '@rs-x/core';

const services: IMultiInjectService[] = [
  { target: MyDomainDeepClone, token: Symbol.for('MyDomainDeepClone') },
  { target: MyFallbackDeepClone, token: Symbol.for('MyFallbackDeepClone') },
];

registerMultiInjectServices(
  InjectionContainer,
  RsXCoreInjectionTokens.IDeepCloneList,
  services,
);

// injected as array by multiInject token
const list = InjectionContainer.getAll<IDeepClone>(
  RsXCoreInjectionTokens.IDeepCloneList,

Parameters

multiInjectTokensymbol

Multi-inject list token that receives the services.

Ordered list of service descriptors. This list is what gets injected as a single array through the multiInjectToken.

Return type

void