UNPKG

getdocs2ts

Version:

This is a utility that transforms code documented with getdocs-style doc comments into TypeScript definition files

29 lines 1.18 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const StringBuilder = require("string-builder"); const types_1 = require("./types"); const env_1 = require("./env"); const gendeclaration_1 = require("./gendeclaration"); function default_1(module, name, typeInfos) { typeInfos = env_1.mergeTypeInfos(typeInfos, env_1.baseTypes); const imports = {}; const items = module.items || {}; const env = new env_1.GenEnv(name, imports, typeInfos, new StringBuilder("")); Object.keys(items).forEach((item, index) => { if (index > 0) env.appendLine(""); const decl = items[item]; gendeclaration_1.itemDef(env, decl, item, true); if (!types_1.isClassOrInterfaceDeclaration(decl)) env.append(";"); }); let importStr = ""; for (let moduleName of Object.keys(imports).sort()) { importStr += "import { " + imports[moduleName].sort().join(', ') + " } from '" + moduleName + "';\r\n"; } if (importStr != "") importStr += "\r\n"; return new StringBuilder(importStr + env.sb.toString()); } exports.default = default_1; //# sourceMappingURL=genmodule.js.map