getdocs2ts
Version:
This is a utility that transforms code documented with getdocs-style doc comments into TypeScript definition files
29 lines • 1.18 kB
JavaScript
;
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