@travetto/di
Advanced tools
Comparing version
{ | ||
"name": "@travetto/di", | ||
"version": "5.0.16", | ||
"version": "5.1.0", | ||
"description": "Dependency registration/management and injection support.", | ||
@@ -30,6 +30,6 @@ "keywords": [ | ||
"dependencies": { | ||
"@travetto/registry": "^5.0.16" | ||
"@travetto/registry": "^5.1.0" | ||
}, | ||
"peerDependencies": { | ||
"@travetto/transformer": "^5.0.13" | ||
"@travetto/transformer": "^5.1.0" | ||
}, | ||
@@ -36,0 +36,0 @@ "peerDependenciesMeta": { |
@@ -160,4 +160,9 @@ <!-- This file was generated by @travetto/doc and should not be modified directly --> | ||
class CustomService { | ||
constructor(private dependentService: DependentService) { } | ||
dependentService: DependentService; | ||
constructor(svc: DependentService) { | ||
this.dependentService = svc; | ||
} | ||
async coolOperation() { | ||
@@ -164,0 +169,0 @@ await this.dependentService.doWork(); |
@@ -26,13 +26,13 @@ import { | ||
class $DependencyRegistry extends MetadataRegistry<InjectableConfig> { | ||
protected pendingFinalize: Class[] = []; | ||
pendingFinalize: Class[] = []; | ||
protected defaultSymbols = new Set<symbol>(); | ||
defaultSymbols = new Set<symbol>(); | ||
protected instances = new Map<TargetId, Map<symbol, unknown>>(); | ||
protected instancePromises = new Map<TargetId, Map<symbol, Promise<unknown>>>(); | ||
instances = new Map<TargetId, Map<symbol, unknown>>(); | ||
instancePromises = new Map<TargetId, Map<symbol, Promise<unknown>>>(); | ||
protected factories = new Map<TargetId, Map<Class, InjectableConfig>>(); | ||
factories = new Map<TargetId, Map<Class, InjectableConfig>>(); | ||
protected targetToClass = new Map<TargetId, Map<symbol, string>>(); | ||
protected classToTarget = new Map<ClassId, Map<symbol, TargetId>>(); | ||
targetToClass = new Map<TargetId, Map<symbol, string>>(); | ||
classToTarget = new Map<ClassId, Map<symbol, TargetId>>(); | ||
@@ -48,3 +48,3 @@ constructor() { | ||
*/ | ||
protected resolveTarget<T>(target: ClassTarget<T>, qualifier?: symbol, resolution?: ResolutionType): Resolved<T> { | ||
resolveTarget<T>(target: ClassTarget<T>, qualifier?: symbol, resolution?: ResolutionType): Resolved<T> { | ||
const qualifiers = this.targetToClass.get(target.Ⲑid) ?? new Map<symbol, string>(); | ||
@@ -109,3 +109,3 @@ | ||
*/ | ||
protected async fetchDependencies(managed: InjectableConfig, deps?: Dependency[]): Promise<unknown[]> { | ||
async fetchDependencies(managed: InjectableConfig, deps?: Dependency[]): Promise<unknown[]> { | ||
if (!deps || !deps.length) { | ||
@@ -136,3 +136,3 @@ return []; | ||
*/ | ||
protected async resolveFieldDependencies<T>(config: InjectableConfig<T>, instance: T): Promise<void> { | ||
async resolveFieldDependencies<T>(config: InjectableConfig<T>, instance: T): Promise<void> { | ||
const keys = Object.keys(config.dependencies.fields ?? {}) | ||
@@ -153,3 +153,3 @@ .filter(k => instance[castKey<T>(k)] === undefined); // Filter out already set ones | ||
*/ | ||
protected async construct<T>(target: ClassTarget<T>, qualifier: symbol): Promise<T> { | ||
async construct<T>(target: ClassTarget<T>, qualifier: symbol): Promise<T> { | ||
const managed = this.resolveTarget(target, qualifier).config; | ||
@@ -188,3 +188,3 @@ | ||
*/ | ||
protected async createInstance<T>(target: ClassTarget<T>, qualifier: symbol): Promise<T> { | ||
async createInstance<T>(target: ClassTarget<T>, qualifier: symbol): Promise<T> { | ||
const classId = this.resolveTarget(target, qualifier).id; | ||
@@ -217,3 +217,3 @@ | ||
*/ | ||
protected destroyInstance(cls: Class, qualifier: symbol): void { | ||
destroyInstance(cls: Class, qualifier: symbol): void { | ||
const classId = cls.Ⲑid; | ||
@@ -220,0 +220,0 @@ |
323
1.57%46413
-2.43%12
-7.69%Updated