Rule: invalid-void
Disallows usage of void
type outside of generic or return types.
If void
is used as return type, it shouldn’t be a part of intersection/union type.
Rationale
The void
type means “nothing” or that a function does not return any value,
in contra with implicit undefined
type which means that a function returns a value undefined
.
So “nothing” cannot be mixed with any other types.
If you need this - use undefined
type instead.
Notes:
TS Only
Config
If allow-generics
is specified as false
, then generic types will no longer be allowed to to be void
.
Alternately, provide an array of strings for allow-generics
to exclusively allow generic types by those names.
Config examples
"invalid-void": true
"invalid-void": [true, {"allow-generics": false}]
"invalid-void": [true, {"allow-generics": ["Promise", "PromiseLike"]}]
Schema
{ "type": "object", "properties": { "allow-generics": { "oneOf": [ { "type": "boolean" }, { "type": "array", "items": { "type": "string" }, "minLength": 1 } ] } }, "additionalProperties": false }