scheduler.test-d.ts 963 B

12345678910111213141516171819202122232425262728293031
  1. import { nextTick } from 'vue'
  2. import { describe, expectType } from './utils'
  3. describe('nextTick', async () => {
  4. expectType<Promise<void>>(nextTick())
  5. expectType<Promise<string>>(nextTick(() => 'foo'))
  6. expectType<Promise<string>>(nextTick(() => Promise.resolve('foo')))
  7. expectType<Promise<string>>(
  8. nextTick(() => Promise.resolve(Promise.resolve('foo'))),
  9. )
  10. expectType<void>(await nextTick())
  11. expectType<string>(await nextTick(() => 'foo'))
  12. expectType<string>(await nextTick(() => Promise.resolve('foo')))
  13. expectType<string>(
  14. await nextTick(() => Promise.resolve(Promise.resolve('foo'))),
  15. )
  16. nextTick().then(value => {
  17. expectType<void>(value)
  18. })
  19. nextTick(() => 'foo').then(value => {
  20. expectType<string>(value)
  21. })
  22. nextTick(() => Promise.resolve('foo')).then(value => {
  23. expectType<string>(value)
  24. })
  25. nextTick(() => Promise.resolve(Promise.resolve('foo'))).then(value => {
  26. expectType<string>(value)
  27. })
  28. })