Skip to content

No Unknown Returns

Error
small-rules/no-unknown-returns

Disallow functions whose explicit return contract is unknown or Promise<unknown>.

Rationale

Ported from dmmulroy/anti-slop. A function that returns unknown pushes parsing work onto every caller. Decode once at the boundary and return the named domain contract instead.

Diagnostic Messages

unknownReturn
This function exposes `unknown` to its caller. Parse the value at its boundary and return a named domain type.

Configuration

This rule does not accept options.

{
"jsPlugins": [
"@pobammer-ts/small-rules"
],
"rules": {
"small-rules/no-unknown-returns": "error"
}
}

Examples

unknown return contract
function load(): unknown { return input; }
named domain return
function load(): User { return user; }