parent
b29bc0d694
commit
b2dc95378d
@ -31,7 +31,12 @@ export function inject<T>(key: InjectionKey<T> | string): T | undefined
|
||||
export function inject<T>(
|
||||
key: InjectionKey<T> | string,
|
||||
defaultValue: T,
|
||||
treatDefaultAsFactory?: boolean
|
||||
treatDefaultAsFactory?: false
|
||||
): T
|
||||
export function inject<T>(
|
||||
key: InjectionKey<T> | string,
|
||||
defaultValue: T | (() => T),
|
||||
treatDefaultAsFactory: true
|
||||
): T
|
||||
export function inject(
|
||||
key: InjectionKey<any> | string,
|
||||
|
15
test-dts/inject.test-d.ts
Normal file
15
test-dts/inject.test-d.ts
Normal file
@ -0,0 +1,15 @@
|
||||
import { provide, inject, InjectionKey, expectType } from './index'
|
||||
|
||||
const key: InjectionKey<number> = Symbol()
|
||||
|
||||
provide(key, 1)
|
||||
// @ts-expect-error
|
||||
provide(key, 'foo')
|
||||
|
||||
expectType<number | undefined>(inject(key))
|
||||
expectType<number>(inject(key, 1))
|
||||
expectType<number>(inject(key, () => 1, true /* treatDefaultAsFactory */))
|
||||
|
||||
expectType<() => number>(inject('foo', () => 1))
|
||||
expectType<() => number>(inject('foo', () => 1, false))
|
||||
expectType<number>(inject('foo', () => 1, true))
|
Loading…
Reference in New Issue
Block a user