parent
b29bc0d694
commit
b2dc95378d
@ -31,7 +31,12 @@ export function inject<T>(key: InjectionKey<T> | string): T | undefined
|
|||||||
export function inject<T>(
|
export function inject<T>(
|
||||||
key: InjectionKey<T> | string,
|
key: InjectionKey<T> | string,
|
||||||
defaultValue: T,
|
defaultValue: T,
|
||||||
treatDefaultAsFactory?: boolean
|
treatDefaultAsFactory?: false
|
||||||
|
): T
|
||||||
|
export function inject<T>(
|
||||||
|
key: InjectionKey<T> | string,
|
||||||
|
defaultValue: T | (() => T),
|
||||||
|
treatDefaultAsFactory: true
|
||||||
): T
|
): T
|
||||||
export function inject(
|
export function inject(
|
||||||
key: InjectionKey<any> | string,
|
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…
x
Reference in New Issue
Block a user