File: exportNamespace5.js

package info (click to toggle)
node-typescript 5.0.4%2Bds1-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 459,116 kB
  • sloc: javascript: 1,972,754; makefile: 6; sh: 1
file content (106 lines) | stat: -rw-r--r-- 2,763 bytes parent folder | download
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
//// [tests/cases/conformance/externalModules/typeOnly/exportNamespace5.ts] ////

//// [a.ts]
export class A {}
export class B {}
export class X {}

//// [b.ts]
export type * from "./a";
export { X } from "./a";

//// [c.ts]
import { A, B as C, X } from "./b";
let _: A = new A();   // Error
let __: C = new C();  // Error
let ___: X = new X(); // Ok

//// [d.ts]
export type * from "./a";
export * from "./a";

//// [e.ts]
import { A, B, X } from "./d";
let _: A = new A();   // Ok
let __: B = new B();  // Ok
let ___: X = new X(); // Ok

//// [a.js]
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.X = exports.B = exports.A = void 0;
var A = /** @class */ (function () {
    function A() {
    }
    return A;
}());
exports.A = A;
var B = /** @class */ (function () {
    function B() {
    }
    return B;
}());
exports.B = B;
var X = /** @class */ (function () {
    function X() {
    }
    return X;
}());
exports.X = X;
//// [b.js]
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.X = void 0;
var a_1 = require("./a");
Object.defineProperty(exports, "X", { enumerable: true, get: function () { return a_1.X; } });
//// [c.js]
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var b_1 = require("./b");
var _ = new A(); // Error
var __ = new C(); // Error
var ___ = new b_1.X(); // Ok
//// [d.js]
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    var desc = Object.getOwnPropertyDescriptor(m, k);
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
      desc = { enumerable: true, get: function() { return m[k]; } };
    }
    Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", { value: true });
__exportStar(require("./a"), exports);
//// [e.js]
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var d_1 = require("./d");
var _ = new d_1.A(); // Ok
var __ = new d_1.B(); // Ok
var ___ = new d_1.X(); // Ok


//// [a.d.ts]
export declare class A {
}
export declare class B {
}
export declare class X {
}
//// [b.d.ts]
export type * from "./a";
export { X } from "./a";
//// [c.d.ts]
export {};
//// [d.d.ts]
export type * from "./a";
export * from "./a";
//// [e.d.ts]
export {};