# vue/require-emit-validator
require type definitions in emits
- 💡 Some problems reported by this rule are manually fixable by editor suggestions (opens new window).
# 📖 Rule Details
This rule enforces that a emits
statement contains type definition.
Declaring emits
with types can bring better maintenance.
Even if using with TypeScript, this can provide better type inference when annotating parameters with types.
<script>
/* ✓ GOOD */
Vue.component('foo', {
emits: {
// Emit with arguments
foo: (payload) => { /* validate payload */ },
// Emit without parameters
bar: () => true,
}
})
/* ✗ BAD */
Vue.component('bar', {
emits: ['foo']
})
Vue.component('baz', {
emits: {
foo: null,
}
})
</script>
# 🔧 Options
Nothing.
# 📚 Further Reading
# 🚀 Version
This rule was introduced in eslint-plugin-vue v7.10.0