appDirective.test-d.ts 499 B

12345678910111213141516171819
  1. import { createApp } from 'vue'
  2. import { expectType } from './utils'
  3. const app = createApp({})
  4. app.directive<HTMLElement, string, 'prevent' | 'stop', 'arg1' | 'arg2'>(
  5. 'custom',
  6. {
  7. mounted(el, binding) {
  8. expectType<HTMLElement>(el)
  9. expectType<string>(binding.value)
  10. expectType<{ prevent?: boolean; stop?: boolean }>(binding.modifiers)
  11. expectType<'arg1' | 'arg2'>(binding.arg!)
  12. // @ts-expect-error not any
  13. expectType<number>(binding.value)
  14. },
  15. },
  16. )