nonFunction
function nonFunction<T>(value: T): value is Exclude<T, Function>;
nonFunction(value) is the same test as !isFunction(value), written so that a guard clause reads as a sentence rather than as a negation.
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 check. |
Returns
boolean — true when the value is not a function; otherwise false.
In TypeScript the guard narrows value to Exclude<T, Function> inside the branch.
Examples
What passes and what does not
nonFunction(null); // => true
nonFunction("fn"); // => true
nonFunction({}); // => true
nonFunction(function () {}); // => false
nonFunction(async function () {}); // => false
nonFunction(Math.max); // => false
See also
Source
23 September 2026
This documentation was generated with AI (Claude) from the library's source code.