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

1234567891011
  1. export default function instancePerContainerCachingFactory(factoryFunc) {
  2. const cache = new WeakMap();
  3. return (dependencyContainer) => {
  4. let instance = cache.get(dependencyContainer);
  5. if (instance == undefined) {
  6. instance = factoryFunc(dependencyContainer);
  7. cache.set(dependencyContainer, instance);
  8. }
  9. return instance;
  10. };
  11. }