From 5dfca610f9ec5ffebba6967b9e45f0a66b09edce Mon Sep 17 00:00:00 2001 From: Wesley Wigham Date: Wed, 16 Sep 2015 17:33:49 -0700 Subject: [PATCH] When targeting ES3 emit default alias as indexer --- src/compiler/emitter.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts index 44e5a45b057..8928e437622 100644 --- a/src/compiler/emitter.ts +++ b/src/compiler/emitter.ts @@ -1515,8 +1515,14 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, Promi else if (declaration.kind === SyntaxKind.ImportSpecifier) { // Identifier references named import write(getGeneratedNameForNode(declaration.parent.parent.parent)); - write("."); - writeTextOfNode(currentSourceFile, (declaration).propertyName || (declaration).name); + var name = (declaration).propertyName || (declaration).name; + var identifier = getSourceTextOfNodeFromSourceFile(currentSourceFile, name); + if (languageVersion == ScriptTarget.ES3 && identifier === "default") { + write(`["default"]`); + } else { + write("."); + write(identifier); + } return; } }