-
Notifications
You must be signed in to change notification settings - Fork 3.6k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #11901 from CesiumGS/add-check-types
Add TS types for `Check`, remove circular dependency
- Loading branch information
Showing
5 changed files
with
143 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,127 @@ | ||
/** | ||
* 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; | ||
}; | ||
}; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters