inject.test-d.ts 479 B

123456789101112131415
  1. import { provide, inject, InjectionKey, expectType } from './index'
  2. const key: InjectionKey<number> = Symbol()
  3. provide(key, 1)
  4. // @ts-expect-error
  5. provide(key, 'foo')
  6. expectType<number | undefined>(inject(key))
  7. expectType<number>(inject(key, 1))
  8. expectType<number>(inject(key, () => 1, true /* treatDefaultAsFactory */))
  9. expectType<() => number>(inject('foo', () => 1))
  10. expectType<() => number>(inject('foo', () => 1, false))
  11. expectType<number>(inject('foo', () => 1, true))