Files
starface-outlook-sync-addin/node_modules/tsyringe/dist/esm5/factories/predicate-aware-class-factory.js
T
Stefan Hacker 37ad745546 first commit
2026-04-03 09:38:48 +02:00

18 lines
682 B
JavaScript

export default function predicateAwareClassFactory(predicate, trueConstructor, falseConstructor, useCaching) {
if (useCaching === void 0) { useCaching = true; }
var instance;
var previousPredicate;
return function (dependencyContainer) {
var currentPredicate = predicate(dependencyContainer);
if (!useCaching || previousPredicate !== currentPredicate) {
if ((previousPredicate = currentPredicate)) {
instance = dependencyContainer.resolve(trueConstructor);
}
else {
instance = dependencyContainer.resolve(falseConstructor);
}
}
return instance;
};
}