Emit "declare" for temp default var name only if declaration file emit context allows

Fixes #7807
This commit is contained in:
Sheetal Nandi
2016-04-04 13:35:42 -07:00
parent 75ef6772bf
commit 592a4b9fb3
2 changed files with 5 additions and 18 deletions

View File

@@ -530,7 +530,10 @@ namespace ts {
else {
// Expression
const tempVarName = getExportDefaultTempVariableName();
write("declare var ");
if (!noDeclare) {
write("declare ");
}
write("var ");
write(tempVarName);
write(": ");
writer.getSymbolAccessibilityDiagnostic = getDefaultExportAccessibilityDiagnostic;

View File

@@ -17,22 +17,6 @@ System.register("pi", [], function(exports_1, context_1) {
//// [app.d.ts]
declare module "pi" {
declare var _default: number;
var _default: number;
export default _default;
}
//// [DtsFileErrors]
app.d.ts(2,5): error TS1038: A 'declare' modifier cannot be used in an already ambient context.
==== app.d.ts (1 errors) ====
declare module "pi" {
declare var _default: number;
~~~~~~~
!!! error TS1038: A 'declare' modifier cannot be used in an already ambient context.
export default _default;
}