fix: make metadata key's constants

This commit is contained in:
Stevan Freeborn
2025-05-12 22:23:31 -05:00
parent c77975acaa
commit 7d8b94cf03
2 changed files with 7 additions and 3 deletions
+5 -2
View File
@@ -1,15 +1,18 @@
import type { ServiceIdentifier } from './types.js'; import type { ServiceIdentifier } from './types.js';
export const DI_PARAM_TYPES = 'di:paramtypes';
export const DI_INJECTABLE = 'di:injectable';
export function inject<T>(serviceType: ServiceIdentifier<T>): ParameterDecorator { export function inject<T>(serviceType: ServiceIdentifier<T>): ParameterDecorator {
// eslint-disable-next-line @typescript-eslint/no-wrapper-object-types // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types
return (target: Object, _: string | symbol | undefined, parameterIndex: number) => { return (target: Object, _: string | symbol | undefined, parameterIndex: number) => {
Reflect.defineMetadata('di:paramtypes', serviceType, target, parameterIndex.toString()); Reflect.defineMetadata(DI_PARAM_TYPES, serviceType, target, parameterIndex.toString());
}; };
} }
export function injectable(): ClassDecorator { export function injectable(): ClassDecorator {
// eslint-disable-next-line @typescript-eslint/no-unsafe-function-type // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type
return (target: Function) => { return (target: Function) => {
Reflect.defineMetadata('di:injectable', true, target); Reflect.defineMetadata(DI_INJECTABLE, true, target);
}; };
} }
+2 -1
View File
@@ -1,3 +1,4 @@
import { DI_PARAM_TYPES } from './decorators.js';
import type { import type {
IServiceProvider, IServiceProvider,
IServiceScope, IServiceScope,
@@ -93,7 +94,7 @@ export class ServiceProvider implements IServiceProvider {
const params = paramTypes.map((_: unknown, index: number) => { const params = paramTypes.map((_: unknown, index: number) => {
const serviceType = Reflect.getMetadata( const serviceType = Reflect.getMetadata(
'di:paramtypes', DI_PARAM_TYPES,
ctor, ctor,
index.toString(), index.toString(),
) as ServiceIdentifier<unknown>; ) as ServiceIdentifier<unknown>;