@travetto/di
Version:
Dependency registration/management and injection support.
18 lines (16 loc) • 539 B
text/typescript
import { AppError } from '@travetto/runtime';
import { ClassTarget } from './types';
function getName(symbol: symbol): string {
return symbol.toString().split(/[()]/g)[1];
}
export class InjectionError extends AppError {
constructor(message: string, target: ClassTarget, qualifiers?: symbol[]) {
super(`${message}: [${target.Ⲑid}]${qualifiers ? `[${qualifiers.map(getName)}]` : ''}`, {
category: 'notfound',
details: {
qualifiers: qualifiers?.map(getName),
target: target.Ⲑid
}
});
}
}