apps-script-utils 2.1.1 Help

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

value

T

The value to validate.

message (optional) = "Expected a non-function value."

string

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

IllegalArgumentException

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

src/lang/base/requireNonFunction.ts

23 September 2026

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