From 7d8b94cf032eb07803fb1a7e73396a0bf5c6a2c8 Mon Sep 17 00:00:00 2001 From: Stevan Freeborn <65925598+StevanFreeborn@users.noreply.github.com> Date: Mon, 12 May 2025 12:15:20 -0500 Subject: [PATCH] fix: make metadata key's constants --- src/decorators.ts | 7 +++++-- src/serviceProvider.ts | 3 ++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/decorators.ts b/src/decorators.ts index ef442f3..0ab2b7d 100644 --- a/src/decorators.ts +++ b/src/decorators.ts @@ -1,15 +1,18 @@ import type { ServiceIdentifier } from './types.js'; +export const DI_PARAM_TYPES = 'di:paramtypes'; +export const DI_INJECTABLE = 'di:injectable'; + export function inject(serviceType: ServiceIdentifier): ParameterDecorator { // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types 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 { // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type return (target: Function) => { - Reflect.defineMetadata('di:injectable', true, target); + Reflect.defineMetadata(DI_INJECTABLE, true, target); }; } diff --git a/src/serviceProvider.ts b/src/serviceProvider.ts index 025def2..07fad58 100644 --- a/src/serviceProvider.ts +++ b/src/serviceProvider.ts @@ -1,3 +1,4 @@ +import { DI_PARAM_TYPES } from './decorators.js'; import type { IServiceProvider, IServiceScope, @@ -93,7 +94,7 @@ export class ServiceProvider implements IServiceProvider { const params = paramTypes.map((_: unknown, index: number) => { const serviceType = Reflect.getMetadata( - 'di:paramtypes', + DI_PARAM_TYPES, ctor, index.toString(), ) as ServiceIdentifier;