From 204a67c8f6b9a1ae80fddbf22c6d50843645a3a9 Mon Sep 17 00:00:00 2001 From: lumozx Date: Sat, 21 Oct 2023 12:15:16 +0800 Subject: [PATCH] fix(runtime-core): inject supports number type parameters. --- packages/dts-test/inject.test-d.ts | 3 +++ packages/runtime-core/src/apiInject.ts | 8 ++++---- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/packages/dts-test/inject.test-d.ts b/packages/dts-test/inject.test-d.ts index e611f900de5..61d34628000 100644 --- a/packages/dts-test/inject.test-d.ts +++ b/packages/dts-test/inject.test-d.ts @@ -40,3 +40,6 @@ provide(injectionKeyRef, { size: 123 }) provide('cube', { size: 'foo' }) // @ts-expect-error provide(123, { size: 'foo' }) + +// inject supports numeric type parameters +inject(123) diff --git a/packages/runtime-core/src/apiInject.ts b/packages/runtime-core/src/apiInject.ts index bbf925102d8..8b941b31f97 100644 --- a/packages/runtime-core/src/apiInject.ts +++ b/packages/runtime-core/src/apiInject.ts @@ -31,19 +31,19 @@ export function provide | string | number>( } } -export function inject(key: InjectionKey | string): T | undefined +export function inject(key: InjectionKey | string | number): T | undefined export function inject( - key: InjectionKey | string, + key: InjectionKey | string | number, defaultValue: T, treatDefaultAsFactory?: false ): T export function inject( - key: InjectionKey | string, + key: InjectionKey | string | number, defaultValue: T | (() => T), treatDefaultAsFactory: true ): T export function inject( - key: InjectionKey | string, + key: InjectionKey | string | number, defaultValue?: unknown, treatDefaultAsFactory = false ) {