requireNonFunction
function requireNonFunction<T>( value: T, message: string = "Expected a non-function value." // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type ): Exclude<T, Function>;
Classified by its internal tag, so ordinary, async, generator and async-generator functions all pass. A class is a function too.
isX and nonX answer a question and never interrupt control flow; requireX and requireNonX hand the value back or throw. The scheme is explained in Validation conventions.
Parameters
Parameter | Type | Description |
|---|---|---|
|
| The value to validate. |
|
| The message of the exception. A default is used when omitted. |
Returns
Exclude<T, Function> — the same value, with a function excluded from its type.
Throws
Exception | Condition |
|---|---|
| the value is a function. |
Examples
What passes and what does not
requireNonFunction(null); // => null
requireNonFunction("fn"); // => "fn"
requireNonFunction(function () {}); // throws IllegalArgumentException
requireNonFunction(async function () {}); // throws IllegalArgumentException
See also
Source
23 September 2026
This documentation was generated with AI (Claude) from the library's source code.