TypeScript/tests/baselines/reference/importTypeGenericArrowTypeParenthesized.js
Ron Buckton 711b4e778b
Indirect calls for imported functions (#44624)
* Indirect calls for imported functions

* Fix unit tests
2021-06-21 19:51:13 -07:00

43 lines
1.3 KiB
TypeScript

//// [tests/cases/compiler/importTypeGenericArrowTypeParenthesized.ts] ////
//// [module.d.ts]
declare module "module" {
export interface Modifier<T> { }
export function fn<T>(x: T): Modifier<T>;
}
//// [index.ts]
import { fn } from "module";
export const fail1 = fn(<T>(x: T): T => x);
export const fail2 = fn(function<T>(x: T): T {
return x;
});
export const works1 = fn((x: number) => x);
type MakeItWork = <T>(x: T) => T;
export const works2 = fn<MakeItWork>(x => x);
//// [index.js]
"use strict";
exports.__esModule = true;
exports.works2 = exports.works1 = exports.fail2 = exports.fail1 = void 0;
var module_1 = require("module");
exports.fail1 = (0, module_1.fn)(function (x) { return x; });
exports.fail2 = (0, module_1.fn)(function (x) {
return x;
});
exports.works1 = (0, module_1.fn)(function (x) { return x; });
exports.works2 = (0, module_1.fn)(function (x) { return x; });
//// [index.d.ts]
/// <reference path="module.d.ts" />
export declare const fail1: import("module").Modifier<(<T>(x: T) => T)>;
export declare const fail2: import("module").Modifier<(<T>(x: T) => T)>;
export declare const works1: import("module").Modifier<(x: number) => number>;
declare type MakeItWork = <T>(x: T) => T;
export declare const works2: import("module").Modifier<MakeItWork>;
export {};