diff --git a/lodash/lodash-tests.ts b/lodash/lodash-tests.ts index ff3061a1f..ba1540055 100644 --- a/lodash/lodash-tests.ts +++ b/lodash/lodash-tests.ts @@ -6607,17 +6607,47 @@ module TestIsEqual { } // _.isError -result = _.isError(any); -result = _(1).isError(); -result = _([]).isError(); -result = _({}).isError(); -{ - let value: Error|string = "error"; - if (_.isError(value)) { - let message: string = value.message; - } else { - let message: string = value; - } +module TestIsError { + { + let value: number|Error; + + if (_.isError(value)) { + let result: Error = value; + } + else { + let result: number = value; + } + } + + { + class CustomError extends Error {} + + let value: number|CustomError; + + if (_.isError(value)) { + let result: CustomError = value; + } + else { + let result: number = value; + } + } + + { + let result: boolean; + + result = _.isError(any); + result = _(1).isError(); + result = _([]).isError(); + result = _({}).isError(); + } + + { + let result: _.LoDashExplicitWrapper; + + result = _(1).chain().isError(); + result = _([]).chain().isError(); + result = _({}).chain().isError(); + } } // _.isFinite diff --git a/lodash/lodash.d.ts b/lodash/lodash.d.ts index 7354d0e63..dc8298ab6 100644 --- a/lodash/lodash.d.ts +++ b/lodash/lodash.d.ts @@ -10504,6 +10504,7 @@ declare module _ { /** * Checks if value is an Error, EvalError, RangeError, ReferenceError, SyntaxError, TypeError, or URIError * object. + * * @param value The value to check. * @return Returns true if value is an error object, else false. */ @@ -10517,6 +10518,13 @@ declare module _ { isError(): boolean; } + interface LoDashExplicitWrapperBase { + /** + * @see _.isError + */ + isError(): LoDashExplicitWrapper; + } + //_.isFinite interface LoDashStatic { /**