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 ) {