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 31 32 33 34 35 36 37
|
tests/cases/compiler/derivedInterfaceCallSignature.ts(11,11): error TS2430: Interface 'D3SvgArea' incorrectly extends interface 'D3SvgPath'.
Types of property 'x' are incompatible.
Type '(x: (data: any, index?: number) => number) => D3SvgArea' is not assignable to type '() => (data: any, index?: number) => number'.
==== tests/cases/compiler/derivedInterfaceCallSignature.ts (1 errors) ====
interface D3SvgPath {
(data: any, index?: number): string;
x(): (data: any, index?: number) => number;
y(): (data: any, index?: number) => number;
interpolate(): string;
tension(): number;
defined(): (data: any, index?: number) => boolean;
}
interface D3SvgArea extends D3SvgPath {
~~~~~~~~~
!!! error TS2430: Interface 'D3SvgArea' incorrectly extends interface 'D3SvgPath'.
!!! error TS2430: Types of property 'x' are incompatible.
!!! error TS2430: Type '(x: (data: any, index?: number) => number) => D3SvgArea' is not assignable to type '() => (data: any, index?: number) => number'.
x(x: (data: any, index?: number) => number): D3SvgArea;
y(y: (data: any, index?: number) => number): D3SvgArea;
y0(): (data: any, index?: number) => number;
y0(y: number): D3SvgArea;
y0(y: (data: any, index?: number) => number): D3SvgArea;
y1(): (data: any, index?: number) => number;
y1(y: number): D3SvgArea;
y1(y: (data: any, index?: number) => number): D3SvgArea;
interpolate(interpolator: string): D3SvgArea;
tension(tension: number): D3SvgArea;
defined(defined: (data: any, index?: number) => boolean): D3SvgArea;
}
var area: D3SvgArea;
area.interpolate('two')('one');
|