lodash: signatures of _.isArray have been changed

This commit is contained in:
Ilya Mochalov
2015-12-23 03:23:58 +05:00
parent 4c41545030
commit 311f0b973e
2 changed files with 43 additions and 17 deletions
+33 -15
View File
@@ -5395,21 +5395,39 @@ result = <boolean>_({}).isArguments();
}
// _.isArray
result = <boolean>_.isArray(any);
result = <boolean>_(1).isArray();
result = <boolean>_<any>([]).isArray();
result = <boolean>_({}).isArray();
{
let value: number[]|string = [1, 3, 5];
if (_.isArray(value)) {
let length: number[] = value.concat(4);
// compile error
// let char: string = value.charAt(0);
} else {
let char: string = value.charAt(0);
// compile error
// let length: number[] = value.concat(4);
}
module TestIsArray {
{
let value: number|string[]|boolean[];
if (_.isArray<string>(value)) {
let result: string[] = value;
}
else {
if (_.isArray<boolean>(value)) {
let result: boolean[] = value;
}
else {
let result: number = value;
}
}
}
{
let result: boolean;
result = _.isArray(any);
result = _(1).isArray();
result = _<any>([]).isArray();
result = _({}).isArray();
}
{
let result: _.LoDashExplicitWrapper<boolean>;
result = _(1).chain().isArray();
result = _<any>([]).chain().isArray();
result = _({}).chain().isArray();
}
}
// _.isBoolean
+10 -2
View File
@@ -9243,9 +9243,10 @@ declare module _ {
/**
* Checks if value is classified as an Array object.
* @param value The value to check.
*
* @return Returns true if value is correctly classified, else false.
**/
isArray(value?: any): value is any[];
*/
isArray<T>(value?: any): value is T[];
}
interface LoDashImplicitWrapperBase<T,TWrapper> {
@@ -9255,6 +9256,13 @@ declare module _ {
isArray(): boolean;
}
interface LoDashExplicitWrapperBase<T,TWrapper> {
/**
* @see _.isArray
*/
isArray(): LoDashExplicitWrapper<boolean>;
}
//_.isBoolean
interface LoDashStatic {
/**