ClearVision/node_modules/tsyringe/dist/esm2015/factories/instance-per-container-caching-factory.js
2022-07-09 16:03:26 -04:00

12 lines
392 B
JavaScript

export default function instancePerContainerCachingFactory(factoryFunc) {
const cache = new WeakMap();
return (dependencyContainer) => {
let instance = cache.get(dependencyContainer);
if (instance == undefined) {
instance = factoryFunc(dependencyContainer);
cache.set(dependencyContainer, instance);
}
return instance;
};
}