You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

128 lines
4.7 KiB

/**
* Contains functions for checking that supplied arguments are of a specified type
* or meet specified conditions
*/
export const Check: {
/**
* Throws if test is not defined
*
* @param {string} name The name of the variable being tested
* @param {*} test The value that is to be checked
* @exception {DeveloperError} test must be defined
*/
defined<T>(name: string, test: T): asserts test is NonNullable<T>;
/**
* Contains type checking functions, all using the typeof operator
*/
typeOf: {
/**
* Throws if test is not typeof 'string'
*
* @param {string} name The name of the variable being tested
* @param {*} test The value to test
* @exception {DeveloperError} test must be typeof 'string'
*/
string(name: string, test: any): asserts test is string;
/**
* Throws if test is not typeof 'function'
*
* @param {string} name The name of the variable being tested
* @param {*} test The value to test
* @exception {DeveloperError} test must be typeof 'function'
*/
func(name: string, test: any): asserts test is Function;
/**
* Throws if test is not typeof 'object'
*
* @param {string} name The name of the variable being tested
* @param {*} test The value to test
* @exception {DeveloperError} test must be typeof 'object'
*/
object(name: string, test: any): asserts test is object;
/**
* Throws if test is not typeof 'boolean'
*
* @param {string} name The name of the variable being tested
* @param {*} test The value to test
* @exception {DeveloperError} test must be typeof 'boolean'
*/
bool(name: string, test: any): asserts test is boolean;
/**
* Throws if test is not typeof 'bigint'
*
* @param {string} name The name of the variable being tested
* @param {*} test The value to test
* @exception {DeveloperError} test must be typeof 'bigint'
*/
bigint(name: string, test: any): asserts test is bigint;
/**
* Throws if test is not typeof 'number'
*
* @param {string} name The name of the variable being tested
* @param {*} test The value to test
* @exception {DeveloperError} test must be typeof 'number'
*/
number: {
(name: string, test: any): void;
/**
* Throws if test is not typeof 'number' and less than limit
*
* @param {string} name The name of the variable being tested
* @param {*} test The value to test
* @param {number} limit The limit value to compare against
* @exception {DeveloperError} test must be typeof 'number' and less than limit
*/
lessThan(name: string, test: any, limit: number): asserts test is number;
/**
* Throws if test is not typeof 'number' and less than or equal to limit
*
* @param {string} name The name of the variable being tested
* @param {*} test The value to test
* @param {number} limit The limit value to compare against
* @exception {DeveloperError} test must be typeof 'number' and less than or equal to limit
*/
lessThanOrEquals(
name: string,
test: any,
limit: number
): asserts test is number;
/**
* Throws if test is not typeof 'number' and greater than limit
*
* @param {string} name The name of the variable being tested
* @param {*} test The value to test
* @param {number} limit The limit value to compare against
* @exception {DeveloperError} test must be typeof 'number' and greater than limit
*/
greaterThan(
name: string,
test: any,
limit: number
): asserts test is number;
/**
* Throws if test is not typeof 'number' and greater than or equal to limit
*
* @param {string} name The name of the variable being tested
* @param {*} test The value to test
* @param {number} limit The limit value to compare against
* @exception {DeveloperError} test must be typeof 'number' and greater than or equal to limit
*/
greaterThanOrEquals(
name: string,
test: any,
limit: number
): asserts test is number;
/**
* Throws if test1 and test2 is not typeof 'number' and not equal in value
*
* @param {string} name1 The name of the first variable being tested
* @param {string} name2 The name of the second variable being tested against
* @param {*} test1 The value to test
* @param {*} test2 The value to test against
* @exception {DeveloperError} test1 and test2 should be type of 'number' and be equal in value
*/
equals(name1: string, name2: string, test1: any, test2: any): void;
};
};
};