Class Container

A container manages a map of namespaces

Constructors

Accessors

  • get empty(): boolean
  • Returns if this container is empty

    Returns boolean

Methods

  • Adds a new namespace

    Parameters

    • name: string

      The namespace name

    • Optionalfunc: CustomNamespace

      If provided, uses this object as a namespace resolver

    Returns void

  • Resolves all dependencies required by clazz and then creates a new instance

    Type Parameters

    • I

      Return value of clazz (Which is an instance)

    Parameters

    • clazz: Class<I>

      The class to resolve dependencies and create a new instance from

    • Optionalparameters: unknown[]

      Additional parameters to be passed to the constructor

    Returns I

  • Removes a child container only if its empty

    Parameters

    • name: string

      The child container name

    Returns void

  • Removes a custom namespace if the canBeRemoved function returns true or a native one if its not empty

    Parameters

    • name: string

      The namespace to remove

    Returns void

  • Resolves an injection entry

    Parameters

    • injectionEntry: string

      An injection entry (e.g. "house:SmallHouse")

    • Optionalfilter: Filter

      Filter passed to Namespace.resolve

    Returns unknown

  • Resolves an injection entry and returns an array

    Parameters

    • injectionEntry: string

      An injection entry (e.g. "house:SmallHouse")

    • Optionalfilter: Filter

      Filter passed to Namespace.resolve

    • Optionalarray: boolean

      If true, this will resolve an array. The array size can be controlled using Filter.arrayMaxSize

    Returns unknown

  • Parameters

    • name: string
    • namespace: string = NO_NAMESPACE

      The namespace to use

    Returns void