50 lines
1,002 B
JavaScript
50 lines
1,002 B
JavaScript
|
//// [overloadOnConstNoAnyImplementation2.ts]
|
||
|
interface I {
|
||
|
x1(a: number, callback: (x: 'hi') => number);
|
||
|
}
|
||
|
|
||
|
class C {
|
||
|
x1(a: number, callback: (x: 'hi') => number);
|
||
|
x1(a: number, callback: (x: string) => number) {
|
||
|
callback('hi');
|
||
|
callback('bye');
|
||
|
var hm = "hm";
|
||
|
callback(hm);
|
||
|
callback(1); // error
|
||
|
}
|
||
|
}
|
||
|
|
||
|
var c: C;
|
||
|
c.x1(1, (x: 'hi') => { return 1; } );
|
||
|
c.x1(1, (x: 'bye') => { return 1; } );
|
||
|
c.x1(1, (x) => { return 1; } );
|
||
|
|
||
|
c.x1(1, (x: number) => { return 1; } );
|
||
|
|
||
|
//// [overloadOnConstNoAnyImplementation2.js]
|
||
|
var C = (function () {
|
||
|
function C() {
|
||
|
}
|
||
|
C.prototype.x1 = function (a, callback) {
|
||
|
callback('hi');
|
||
|
callback('bye');
|
||
|
var hm = "hm";
|
||
|
callback(hm);
|
||
|
callback(1);
|
||
|
};
|
||
|
return C;
|
||
|
})();
|
||
|
var c;
|
||
|
c.x1(1, function (x) {
|
||
|
return 1;
|
||
|
});
|
||
|
c.x1(1, function (x) {
|
||
|
return 1;
|
||
|
});
|
||
|
c.x1(1, function (x) {
|
||
|
return 1;
|
||
|
});
|
||
|
c.x1(1, function (x) {
|
||
|
return 1;
|
||
|
});
|