Type Alias Module<I, T>

Module: { [K in keyof T]: Module<I, T[K]> | (injector: I) => T[K] }

A Module<I> is a description of possibly grouped service factories.

Given a type I = { group: { service: A } }, Module := { group: { service: (injector: I) => A } }

Making I available during the creation of I allows us to create cyclic dependencies.

Type Parameters

  • I
  • T = I