all files / dist/writers/ FileWriter.js

87.5% Statements 28/32
100% Branches 2/2
77.78% Functions 7/9
87.5% Lines 28/32
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                                           
"use strict";
// todo: tests
var FileWriter = (function () {
    function FileWriter(writer, baseDefinitionWriter, importWriter, reExportWriter, moduledWriter) {
        this.writer = writer;
        this.baseDefinitionWriter = baseDefinitionWriter;
        this.importWriter = importWriter;
        this.reExportWriter = reExportWriter;
        this.moduledWriter = moduledWriter;
    }
    FileWriter.prototype.write = function (def, flags) {
        var _this = this;
        this.baseDefinitionWriter.writeWrap(def, function () {
            _this.writeImports(def, flags);
            _this.writer.newLine();
            _this.writeReExports(def);
            _this.writer.newLine();
            _this.moduledWriter.write(def, flags);
            _this.writeDefaultExportExpression(def.defaultExportExpression);
        });
    };
    FileWriter.prototype.writeImports = function (fileDef, flags) {
        var _this = this;
        fileDef.imports.forEach(function (importDef) {
            _this.importWriter.write(importDef);
            _this.writer.newLine();
        });
    };
    FileWriter.prototype.writeReExports = function (fileDef) {
        var _this = this;
        fileDef.reExports.forEach(function (reExportDef) {
            _this.reExportWriter.write(reExportDef);
            _this.writer.newLine();
        });
    };
    FileWriter.prototype.writeDefaultExportExpression = function (expression) {
        if (expression != null) {
            this.writer.newLine();
            this.writer.write("export default ")
                .write(expression.text)
                .write(";")
                .newLine();
        }
    };
    return FileWriter;
}());
exports.FileWriter = FileWriter;
 
//# sourceMappingURL=FileWriter.js.map