/** * 包含用于检查所提供参数是否为指定类型或满足指定条件的函数 */ const Check: { /** * 如果test未定义则抛出异常 * * @param {string} name 正在测试的变量名称 * @param {*} test 要检查的值 * @exception {DeveloperError} test必须被定义 */ defined(name: string, test: T): asserts test is NonNullable; /** * 包含类型检查函数,全部使用typeof操作符 */ typeOf: { /** * 如果test不是typeof 'string'则抛出异常 * * @param {string} name 正在测试的变量名称 * @param {*} test 要测试的值 * @exception {DeveloperError} test必须是typeof 'string' */ string(name: string, test: any): asserts test is string; /** * 如果test不是typeof 'function'则抛出异常 * * @param {string} name 正在测试的变量名称 * @param {*} test 要测试的值 * @exception {DeveloperError} test必须是typeof 'function' */ func(name: string, test: any): asserts test is Function; /** * 如果test不是typeof 'object'则抛出异常 * * @param {string} name 正在测试的变量名称 * @param {*} test 要测试的值 * @exception {DeveloperError} test必须是typeof 'object' */ object( name: string, test: any, ): asserts test is Record; /** * 如果test不是typeof 'boolean'则抛出异常 * * @param {string} name 正在测试的变量名称 * @param {*} test 要测试的值 * @exception {DeveloperError} test必须是typeof 'boolean' */ bool(name: string, test: any): asserts test is boolean; /** * 如果test不是typeof 'bigint'则抛出异常 * * @param {string} name 正在测试的变量名称 * @param {*} test 要测试的值 * @exception {DeveloperError} test必须是typeof 'bigint' */ bigint(name: string, test: any): asserts test is bigint; /** * 如果test不是typeof 'number'则抛出异常 * * @param {string} name 正在测试的变量名称 * @param {*} test 要测试的值 * @exception {DeveloperError} test必须是typeof 'number' */ number: { (name: string, test: any): void; /** * 如果test不是typeof 'number'且小于limit则抛出异常 * * @param {string} name 正在测试的变量名称 * @param {*} test 要测试的值 * @param {number} limit 要比较的限制值 * @exception {DeveloperError} test必须是typeof 'number'且小于limit */ lessThan(name: string, test: any, limit: number): asserts test is number; /** * 如果test不是typeof 'number'且小于或等于limit则抛出异常 * * @param {string} name 正在测试的变量名称 * @param {*} test 要测试的值 * @param {number} limit 要比较的限制值 * @exception {DeveloperError} test必须是typeof 'number'且小于或等于limit */ lessThanOrEquals( name: string, test: any, limit: number, ): asserts test is number; /** * 如果test不是typeof 'number'且大于limit则抛出异常 * * @param {string} name 正在测试的变量名称 * @param {*} test 要测试的值 * @param {number} limit 要比较的限制值 * @exception {DeveloperError} test必须是typeof 'number'且大于limit */ greaterThan( name: string, test: any, limit: number, ): asserts test is number; /** * 如果test不是typeof 'number'且大于或等于limit则抛出异常 * * @param {string} name 正在测试的变量名称 * @param {*} test 要测试的值 * @param {number} limit 要比较的限制值 * @exception {DeveloperError} test必须是typeof 'number'且大于或等于limit */ greaterThanOrEquals( name: string, test: any, limit: number, ): asserts test is number; /** * 如果test1和test2不是typeof 'number'且值不相等则抛出异常 * * @param {string} name1 第一个正在测试的变量名称 * @param {string} name2 第二个正在测试的变量名称 * @param {*} test1 要测试的值 * @param {*} test2 要对比的值 * @exception {DeveloperError} test1和test2应该是typeof 'number'且值相等 */ equals(name1: string, name2: string, test1: any, test2: any): void; }; }; }; export default Check;