tsyringe
Version:
Lightweight dependency injection container for JavaScript/TypeScript
12 lines (11 loc) • 396 B
JavaScript
export default function instancePerContainerCachingFactory(factoryFunc) {
var cache = new WeakMap();
return function (dependencyContainer) {
var instance = cache.get(dependencyContainer);
if (instance == undefined) {
instance = factoryFunc(dependencyContainer);
cache.set(dependencyContainer, instance);
}
return instance;
};
}