From 8c902deb97dec50af872e9af8e10d4d2ea4d90be Mon Sep 17 00:00:00 2001 From: "Jeong, Sejun" Date: Thu, 12 Oct 2023 09:29:33 +0000 Subject: [PATCH 1/2] fix: `aliasTo` should match `container.resolve` where symbol can be used for name --- src/__tests__/resolvers.test.ts | 8 +++++++- src/resolvers.ts | 6 ++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/__tests__/resolvers.test.ts b/src/__tests__/resolvers.test.ts index a31bfec..64b1df9 100644 --- a/src/__tests__/resolvers.test.ts +++ b/src/__tests__/resolvers.test.ts @@ -206,9 +206,15 @@ describe('registrations', () => { }) describe('aliasTo', () => { - it('returns the aliased dependency', () => { + it('returns the string aliased dependency', () => { container.register({ val: asValue(123), aliasVal: aliasTo('val') }) expect(container.resolve('aliasVal')).toBe(123) }) + + it('returns the symbol aliased dependency', () => { + const symbol = Symbol() + container.register({ [symbol]: asValue(123), aliasVal: aliasTo(symbol) }) + expect(container.resolve('aliasVal')).toBe(123) + }) }) }) diff --git a/src/resolvers.ts b/src/resolvers.ts index 40f6009..cc8ee5f 100644 --- a/src/resolvers.ts +++ b/src/resolvers.ts @@ -214,10 +214,12 @@ export function asClass( /** * Resolves to the specified registration. */ -export function aliasTo(name: string): Resolver { +export function aliasTo( + ...args: Parameters +): Resolver { return { resolve(container) { - return container.resolve(name) + return container.resolve(...args) }, } } From cb55556e9600437437144dd1834953042c68aff7 Mon Sep 17 00:00:00 2001 From: "Jeong, Sejun" Date: Thu, 12 Oct 2023 09:53:00 +0000 Subject: [PATCH 2/2] fix: addresses PR#342 suggestion https://github.com/jeffijoe/awilix/pull/342#issuecomment-1759271312 --- src/resolvers.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/resolvers.ts b/src/resolvers.ts index cc8ee5f..92caa52 100644 --- a/src/resolvers.ts +++ b/src/resolvers.ts @@ -215,11 +215,11 @@ export function asClass( * Resolves to the specified registration. */ export function aliasTo( - ...args: Parameters + name: Parameters[0] ): Resolver { return { resolve(container) { - return container.resolve(...args) + return container.resolve(name) }, } }