TypeScript/tests/baselines/reference/commonJSImportClassTypeReference.js
Nathan Shively-Sanders e350c357d2
Alias for module.exports.x = x (#40228)
* Alias for `module.exports.x = x`

This fixes #40155 in a surprisingly small amount of code.

* Treat any aliasable expression as an alias

* test internal references to exported class
2020-09-10 11:23:48 -07:00

45 lines
693 B
TypeScript

//// [tests/cases/conformance/salsa/commonJSImportClassTypeReference.ts] ////
//// [main.js]
const { K } = require("./mod1");
/** @param {K} k */
function f(k) {
k.values()
}
//// [mod1.js]
class K {
values() {
return new K()
}
}
exports.K = K;
//// [mod1.js]
"use strict";
var K = /** @class */ (function () {
function K() {
}
K.prototype.values = function () {
return new K();
};
return K;
}());
exports.K = K;
//// [main.js]
"use strict";
var K = require("./mod1").K;
/** @param {K} k */
function f(k) {
k.values();
}
//// [mod1.d.ts]
export class K {
values(): K;
}
//// [main.d.ts]
export {};