59 lines
1.2 KiB
TypeScript
59 lines
1.2 KiB
TypeScript
//// [tests/cases/compiler/es6ImportNamedImportWithTypesAndValues.ts] ////
|
|
|
|
//// [server.ts]
|
|
|
|
export interface I {
|
|
prop: string;
|
|
}
|
|
export interface I2 {
|
|
prop2: string;
|
|
}
|
|
export class C implements I {
|
|
prop = "hello";
|
|
}
|
|
export class C2 implements I2 {
|
|
prop2 = "world";
|
|
}
|
|
|
|
//// [client.ts]
|
|
import { C, I, C2 } from "server"; // Shouldnt emit I and C2 into the js file and emit C and I in .d.ts file
|
|
export type cValInterface = I;
|
|
export var cVal = new C();
|
|
|
|
//// [server.js]
|
|
var C = (function () {
|
|
function C() {
|
|
this.prop = "hello";
|
|
}
|
|
return C;
|
|
})();
|
|
exports.C = C;
|
|
var C2 = (function () {
|
|
function C2() {
|
|
this.prop2 = "world";
|
|
}
|
|
return C2;
|
|
})();
|
|
exports.C2 = C2;
|
|
//// [client.js]
|
|
var server_1 = require("server"); // Shouldnt emit I and C2 into the js file and emit C and I in .d.ts file
|
|
exports.cVal = new server_1.C();
|
|
|
|
|
|
//// [server.d.ts]
|
|
export interface I {
|
|
prop: string;
|
|
}
|
|
export interface I2 {
|
|
prop2: string;
|
|
}
|
|
export declare class C implements I {
|
|
prop: string;
|
|
}
|
|
export declare class C2 implements I2 {
|
|
prop2: string;
|
|
}
|
|
//// [client.d.ts]
|
|
import { C, I } from "server";
|
|
export declare type cValInterface = I;
|
|
export declare var cVal: C;
|