-
Notifications
You must be signed in to change notification settings - Fork 12.2k
/
javascriptThisAssignmentInStaticBlock.errors.txt
30 lines (25 loc) · 1.93 KB
/
javascriptThisAssignmentInStaticBlock.errors.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
/src/a.js(10,7): error TS2417: Class static side 'typeof ElementsArray' incorrectly extends base class static side '{ isArray<T>(arg: T): arg is Cast<0 extends 1 & T ? any[] : T extends readonly unknown[] ? T : T extends string ? never : T extends ArrayLike<infer U> ? U[] : unknown extends T ? unknown[] : never, T>; readonly prototype: any[]; }'.
Types of property 'isArray' are incompatible.
Type '(arg: any) => boolean' is not assignable to type '<T>(arg: T) => arg is Cast<0 extends 1 & T ? any[] : T extends readonly unknown[] ? T : T extends string ? never : T extends ArrayLike<infer U> ? U[] : unknown extends T ? unknown[] : never, T>'.
Signature '(arg: any): boolean' must be a type predicate.
==== /src/a.js (1 errors) ====
class Thing {
static {
this.doSomething = () => {};
}
}
Thing.doSomething();
// GH#46468
class ElementsArray extends Array {
~~~~~~~~~~~~~
!!! error TS2417: Class static side 'typeof ElementsArray' incorrectly extends base class static side '{ isArray<T>(arg: T): arg is Cast<0 extends 1 & T ? any[] : T extends readonly unknown[] ? T : T extends string ? never : T extends ArrayLike<infer U> ? U[] : unknown extends T ? unknown[] : never, T>; readonly prototype: any[]; }'.
!!! error TS2417: Types of property 'isArray' are incompatible.
!!! error TS2417: Type '(arg: any) => boolean' is not assignable to type '<T>(arg: T) => arg is Cast<0 extends 1 & T ? any[] : T extends readonly unknown[] ? T : T extends string ? never : T extends ArrayLike<infer U> ? U[] : unknown extends T ? unknown[] : never, T>'.
!!! error TS2417: Signature '(arg: any): boolean' must be a type predicate.
static {
const superisArray = super.isArray;
const customIsArray = (arg)=> superisArray(arg);
this.isArray = customIsArray;
}
}
ElementsArray.isArray(new ElementsArray());