mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-02-05 08:11:30 -06:00
parent
077a2a9c94
commit
4ee013d1a7
@ -7870,7 +7870,7 @@ namespace ts {
|
||||
(resolvedSymbol || symbol).exports!.forEach((s, name) => {
|
||||
const exportedMember = members.get(name)!;
|
||||
if (exportedMember && exportedMember !== s) {
|
||||
if (s.flags & SymbolFlags.Value) {
|
||||
if (s.flags & SymbolFlags.Value && exportedMember.flags & SymbolFlags.Value) {
|
||||
// If the member has an additional value-like declaration, union the types from the two declarations,
|
||||
// but issue an error if they occurred in two different files. The purpose is to support a JS file with
|
||||
// a pattern like:
|
||||
|
||||
@ -0,0 +1,19 @@
|
||||
=== /x.js ===
|
||||
module.exports.x = 1;
|
||||
>module.exports.x : Symbol(x, Decl(x.js, 0, 0), Decl(y.d.ts, 0, 0))
|
||||
>module.exports : Symbol(x, Decl(x.js, 0, 0), Decl(y.d.ts, 0, 0))
|
||||
>module : Symbol(module, Decl(x.js, 0, 0))
|
||||
>exports : Symbol("/x", Decl(x.js, 0, 0))
|
||||
>x : Symbol(x, Decl(x.js, 0, 0), Decl(y.d.ts, 0, 0))
|
||||
|
||||
module.exports = require("./y.js");
|
||||
>module.exports : Symbol("/x", Decl(x.js, 0, 0))
|
||||
>module : Symbol(export=, Decl(x.js, 0, 21))
|
||||
>exports : Symbol(export=, Decl(x.js, 0, 21))
|
||||
>require : Symbol(require)
|
||||
>"./y.js" : Symbol("/y", Decl(y.d.ts, 0, 0))
|
||||
|
||||
=== /y.d.ts ===
|
||||
export declare type x = 1;
|
||||
>x : Symbol(x, Decl(x.js, 0, 0), Decl(y.d.ts, 0, 0))
|
||||
|
||||
@ -0,0 +1,23 @@
|
||||
=== /x.js ===
|
||||
module.exports.x = 1;
|
||||
>module.exports.x = 1 : 1
|
||||
>module.exports.x : number
|
||||
>module.exports : typeof import("/y")
|
||||
>module : { "\"/x\"": typeof import("/y"); }
|
||||
>exports : typeof import("/y")
|
||||
>x : number
|
||||
>1 : 1
|
||||
|
||||
module.exports = require("./y.js");
|
||||
>module.exports = require("./y.js") : typeof import("/y")
|
||||
>module.exports : typeof import("/y")
|
||||
>module : { "\"/x\"": typeof import("/y"); }
|
||||
>exports : typeof import("/y")
|
||||
>require("./y.js") : typeof import("/y")
|
||||
>require : any
|
||||
>"./y.js" : "./y.js"
|
||||
|
||||
=== /y.d.ts ===
|
||||
export declare type x = 1;
|
||||
>x : 1
|
||||
|
||||
@ -0,0 +1,10 @@
|
||||
// @allowJs: true
|
||||
// @checkJs: true
|
||||
// @noEmit: true
|
||||
|
||||
// @Filename: /x.js
|
||||
module.exports.x = 1;
|
||||
module.exports = require("./y.js");
|
||||
|
||||
// @Filename: /y.d.ts
|
||||
export declare type x = 1;
|
||||
Loading…
x
Reference in New Issue
Block a user