apps-script-utils 2.1.1 Help

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

value

T

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

src/lang/base/nonFunction.ts

23 September 2026

This documentation was generated with AI (Claude) from the library's source code.