UNPKG

ts-simple-ast

Version:

TypeScript compiler wrapper for static analysis and code manipulation.

46 lines (45 loc) 1.57 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); /** * Functions for writing. * @remarks These functions are currently very experimental. */ var WriterFunctions = /** @class */ (function () { function WriterFunctions() { } /** * Gets a writer function for writing the provided object as an object literal expression. * @param obj - Object to write. */ WriterFunctions.object = function (obj) { return function (writer) { var keyNames = Object.keys(obj); writer.write("{"); if (keyNames.length > 0) { writer.indentBlock(function () { writeObject(); }); } writer.write("}"); function writeObject() { for (var i = 0; i < keyNames.length; i++) { if (i > 0) writer.write(",").newLine(); var keyName = keyNames[i]; var value = obj[keyName]; writer.write(keyName); if (value != null) { writer.write(": "); if (value instanceof Function) value(writer); else writer.write(value.toString()); } } writer.newLine(); } }; }; return WriterFunctions; }()); exports.WriterFunctions = WriterFunctions;