Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | 12x 12x 12x 12x 12x 12x 12x 12x 45x 45x 45x 45x 2x 99x 59x 353x 58x | import { IInitializer } from "./initializers/IInitializer";
import { RunInitMethodInitializer } from "./initializers/RunInitMethodInitializer";
import { IResolver } from "../interfaces/IResolver";
import { RunSettersInitializer } from "./initializers/RunSettersInitializer";
import { Utils } from "../Utils";
import { InjectPropertiesInitializer } from "./initializers/InjectPropertiesInitializer";
import { RunBeforeModifier } from "./initializers/RunBeforeModifier";
import { RunAfterModifier } from "./initializers/RunAfterModifier";
import { MethodWrapperModifier } from "./initializers/MethodWrapperModifier";
import { IBaseDefinition } from "../definitions/definitionInterfaces/IBaseDefinition";
import { Type } from "../interfaces/IType";
export class Initializers {
initializers: IInitializer[] = [
new RunBeforeModifier(this.resolver),
new RunAfterModifier(this.resolver),
new MethodWrapperModifier(this.resolver),
new InjectPropertiesInitializer(this.resolver),
new RunSettersInitializer(this.resolver),
new RunInitMethodInitializer(this.resolver),
];
constructor(private readonly resolver: IResolver, initializers?: IInitializer[]) {
Iif (initializers) this.initializers = initializers;
}
addInitializers(InitializerTypes: Type<IInitializer>[]) {
for (const InitializerType of InitializerTypes) {
this.initializers.push(new InitializerType(this.resolver));
}
}
async runInitializers(instance: any, definition: IBaseDefinition) {
if (!instance || !Utils.isClass(definition.content)) return instance;
for (const initializer of this.initializers) {
instance = await initializer.run(instance, definition);
}
return instance;
}
}
|