Skip to content

DI Bag API / index / CreateChildContainerOptions

Type Alias: CreateChildContainerOptions<ServiceRegistrations extends Registrations, SharedParentServiceKeys extends readonly unknown[], Constraints extends NeedConstraint = never, ReplacedServiceKeys extends readonly unknown[] = readonly [], ReplacementProviders = never> ​

ts
type CreateChildContainerOptions<ServiceRegistrations extends Registrations, SharedParentServiceKeys extends readonly unknown[], Constraints extends NeedConstraint = never, ReplacedServiceKeys extends readonly unknown[] = readonly [], ReplacementProviders = never> = ReplacementOptions<ServiceRegistrations, Constraints, ReplacedServiceKeys, ReplacementProviders & ChildReplacementAdmission<ServiceRegistrations, ReplacedServiceKeys>, 'createChildContainer'> & {
    readonly sharedParentServiceKeys?: SharedParentServiceKeys & Selection<ServiceRegistrations, Constraints, SharedParentServiceKeys, 'createChildContainer sharedParentServiceKeys'> & ChildContainerShareAdmission<SharedParentServiceKeys> & ([
        Transients<ServiceRegistrations, SharedParentServiceKeys>
    ] extends [never] ? unknown : Unsatisfied<'createChildContainer cannot share transient providers', {
        tokens: Transients<ServiceRegistrations, SharedParentServiceKeys>;
    }>);
} & DisjointChildContainerSelection<ReplacedServiceKeys, SharedParentServiceKeys>;

Defined in: scope-types.ts:43

Options for creating a tracked child container with replacement and sharing selections.

Type Declaration ​

sharedParentServiceKeys? ​

ts
readonly sharedParentServiceKeys?: SharedParentServiceKeys & Selection<ServiceRegistrations, Constraints, SharedParentServiceKeys, 'createChildContainer sharedParentServiceKeys'> & ChildContainerShareAdmission<SharedParentServiceKeys> & ([
    Transients<ServiceRegistrations, SharedParentServiceKeys>
] extends [never] ? unknown : Unsatisfied<'createChildContainer cannot share transient providers', {
    tokens: Transients<ServiceRegistrations, SharedParentServiceKeys>;
}>);

Type Parameters ​

Type ParameterDescription
ServiceRegistrations-
SharedParentServiceKeys-
Constraints-
ReplacedServiceKeys-
ReplacementProviders-

Ordinary services. Checked composition. Explicit ownership.