apps-script-utils 2.1.1 Help

requireNonNaN

function requireNonNaN<T>( value: T | number, message: string = "Expected a value that is not NaN." ): T;

Nothing is coerced first, which is where this differs from the global isNaN: that one converts its argument, so isNaN("abc") and isNaN(undefined) both report true.

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 \| number

The value to validate.

message (optional) = "Expected a value that is not NaN."

string

The message of the exception. A default is used when omitted.

Returns

T — the same value, with the NaN number excluded from its type.

Throws

Exception

Condition

IllegalArgumentException

the value is the NaN number.

Examples

What passes and what does not

requireNonNaN(0); // => 0 requireNonNaN("abc"); // => "abc" requireNonNaN(NaN); // throws IllegalArgumentException requireNonNaN(0 / 0); // throws IllegalArgumentException

See also

Source

src/lang/number/requireNonNaN.ts

23 September 2026

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