instance-per-container-caching-factory.js 508 B

1234567891011121314
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. function instancePerContainerCachingFactory(factoryFunc) {
  4. const cache = new WeakMap();
  5. return (dependencyContainer) => {
  6. let instance = cache.get(dependencyContainer);
  7. if (instance == undefined) {
  8. instance = factoryFunc(dependencyContainer);
  9. cache.set(dependencyContainer, instance);
  10. }
  11. return instance;
  12. };
  13. }
  14. exports.default = instancePerContainerCachingFactory;