ts-simple-ast
Version:
TypeScript compiler wrapper for AST navigation and code generation.
45 lines (44 loc) • 2.13 kB
JavaScript
;
var __extends = (this && this.__extends)/* istanbul ignore next */ || (function () {
var extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
var StructureToText_1 = require("./../StructureToText");
var ExportDeclarationStructureToText = /** @class */ (function (_super) {
__extends(ExportDeclarationStructureToText, _super);
function ExportDeclarationStructureToText() {
return _super !== null && _super.apply(this, arguments) || this;
}
ExportDeclarationStructureToText.prototype.writeText = function (structure) {
var hasModuleSpecifier = structure.moduleSpecifier != null && structure.moduleSpecifier.length > 0;
this.writer.write("export");
if (structure.namedExports != null && structure.namedExports.length > 0) {
this.writer.write(" {");
for (var i = 0; i < structure.namedExports.length; i++) {
var namedExport = structure.namedExports[i];
this.writer.conditionalWrite(i > 0, ", ");
this.writer.write(namedExport.name);
this.writer.conditionalWrite(namedExport.alias != null, " as " + namedExport.alias);
}
this.writer.write("}");
}
else if (!hasModuleSpecifier)
this.writer.write(" {}");
else
this.writer.write(" *");
if (hasModuleSpecifier) {
this.writer.write(" from ");
this.writer.quote(structure.moduleSpecifier);
}
this.writer.write(";");
};
return ExportDeclarationStructureToText;
}(StructureToText_1.StructureToText));
exports.ExportDeclarationStructureToText = ExportDeclarationStructureToText;