Options
All
  • Public
  • Public/Protected
  • All
Menu

Module core/service

Index

References

Re-exports makeClassProvider
Re-exports makeContainer
Re-exports makeFactoryProvider
Re-exports makeInterface

Type aliases

Interfaceable<T>: ServiceInterface<T> | ServiceProvider<T, unknown[]>

Type parameters

  • T

MaybeContainer<T>: ServiceContainer<T, unknown[]> | T

Type parameters

  • T

MultiServiceInterface<T>: { $$multi: true; $$name: string; $$polymorphic: false; $$typeof: typeof MACHINAT_SERVICE_INTERFACE }

Type parameters

  • T

Type declaration

  • $$multi: true
  • $$name: string
  • $$polymorphic: false
  • $$typeof: typeof MACHINAT_SERVICE_INTERFACE
PolymorphicProviderBinding<T>: { platform: string; provide: PolymorphicServiceInterface<T>; withProvider: ServiceProvider<T, unknown[]> }

Type parameters

  • T

Type declaration

PolymorphicServiceInterface<T>: { $$multi: false; $$name: string; $$polymorphic: true; $$typeof: typeof MACHINAT_SERVICE_INTERFACE }

Type parameters

  • T

Type declaration

  • $$multi: false
  • $$name: string
  • $$polymorphic: true
  • $$typeof: typeof MACHINAT_SERVICE_INTERFACE
PolymorphicValueBinding<T>: { platform: string; provide: PolymorphicServiceInterface<T>; withValue: T }

Type parameters

  • T

Type declaration

ProviderBinding<T>: { provide: SingularServiceInterface<T> | MultiServiceInterface<T> | ServiceProvider<T, unknown[]>; withProvider: ServiceProvider<T, unknown[]> } | PolymorphicProviderBinding<T>

Type parameters

  • T

ResolveDependencies<Deps>: { [ Idx in keyof Deps]: ResolveDependency<Deps[Idx]> }

Type parameters

ResolveDependency<Dep>: Dep extends typeof ServiceScope ? ServiceScope : Dep extends Interfaceable<unknown> ? ResolveInterfaceable<Dep> : Dep extends StrictServiceRequirement<infer I> ? ResolveInterfaceable<I> : Dep extends OptionalServiceRequirement<infer I> ? null | ResolveInterfaceable<I> : never

Type parameters

ServiceBinding<T>: ProviderBinding<T> | ValueBinding<T>

Type parameters

  • T

ServiceCache: Map<ServiceProvider<unknown, unknown[]>, unknown>
ServiceContainer<T, Args>: { $$deps: ServiceRequirement<Interfaceable<Args[number]>>[]; $$name: string; $$typeof: typeof MACHINAT_SERVICE_CONTAINER; $$factory: any }

Type parameters

  • T

  • Args: unknown[]

Type declaration

ServiceDependency<I>: I | ServiceRequirement<I> | typeof ServiceScope

Type parameters

Type parameters

  • T

ServiceLifetime: "singleton" | "scoped" | "transient"
ServiceProvision<T>: ServiceBinding<T> | ServiceProvider<T, unknown[]>

Type parameters

  • T

ServiceRequirement<T>: OptionalServiceRequirement<T> | StrictServiceRequirement<T>

Type parameters

SingularServiceInterface<T>: { $$multi: false; $$name: string; $$polymorphic: false; $$typeof: typeof MACHINAT_SERVICE_INTERFACE }

Type parameters

  • T

Type declaration

  • $$multi: false
  • $$name: string
  • $$polymorphic: false
  • $$typeof: typeof MACHINAT_SERVICE_INTERFACE
ValueBinding<T>: { provide: SingularServiceInterface<T> | MultiServiceInterface<T> | ServiceProvider<T, unknown[]>; withValue: T } | PolymorphicValueBinding<T>

Type parameters

  • T

Functions

  • isServiceProvider(target: any): target is ServiceProvider<unknown, unknown[]>

Generated using TypeDoc