first commit

This commit is contained in:
Stefan Hacker
2026-04-03 09:38:48 +02:00
commit 37ad745546
47450 changed files with 3120798 additions and 0 deletions
+3
View File
@@ -0,0 +1,3 @@
import DependencyContainer from "../types/dependency-container";
declare type FactoryFunction<T> = (dependencyContainer: DependencyContainer) => T;
export default FactoryFunction;
+4
View File
@@ -0,0 +1,4 @@
export { default as FactoryFunction } from "./factory-function";
export { default as instanceCachingFactory } from "./instance-caching-factory";
export { default as instancePerContainerCachingFactory } from "./instance-per-container-caching-factory";
export { default as predicateAwareClassFactory } from "./predicate-aware-class-factory";
@@ -0,0 +1,2 @@
import FactoryFunction from "./factory-function";
export default function instanceCachingFactory<T>(factoryFunc: FactoryFunction<T>): FactoryFunction<T>;
@@ -0,0 +1,2 @@
import FactoryFunction from "./factory-function";
export default function instancePerContainerCachingFactory<T>(factoryFunc: FactoryFunction<T>): FactoryFunction<T>;
@@ -0,0 +1,4 @@
import DependencyContainer from "../types/dependency-container";
import constructor from "../types/constructor";
import FactoryFunction from "./factory-function";
export default function predicateAwareClassFactory<T>(predicate: (dependencyContainer: DependencyContainer) => boolean, trueConstructor: constructor<T>, falseConstructor: constructor<T>, useCaching?: boolean): FactoryFunction<T>;