zazoomauro/node-dependency-injection

View on GitHub
lib/CompilerPass/OptimizePass.js

Summary

Maintainability
A
0 mins
Test Coverage
A
100%
export default class OptimizePass {
  /**
   * @param {ContainerBuilder} container
   */
  async process (container) {
    for (const [id, definition] of container.definitions) {
      if (!container.isSet(id) && !definition.lazy && !definition.abstract) {
        const instance = container
          .instanceManager
          .getInstanceFromDefinition(definition)
        container.set(id, instance)
      }
    }
    container.frozen = true
  }
}