UNPKG

buildtypedefs

Version:

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

44 lines 1.45 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); let addImport = function (name, imports, moduleContents, additionalTypes) { if (!imports[name]) { imports[name] = []; for (let propName in moduleContents[name].all) { let prop = moduleContents[name].all[propName]; if (prop.type == "class" || prop.type == "interface") { if (additionalTypes[propName]) { imports[name].push(additionalTypes[propName].replacement); } else { imports[name].push(propName); } } } } }; function importsFor(moduleName, modules, moduleContents, additionalTypes) { let mod = modules.find((module) => module.name == moduleName); let imports = Object.create(null); let seen = Object.create(null); function enter(name) { if (name in seen) return; seen[name] = true; let mod; for (let i = 0; i < modules.length; i++) { if (modules[i].name == name) { mod = modules[i]; } } if (mod && mod.deps) { mod.deps.forEach(enter); } addImport(name, imports, moduleContents, additionalTypes); } if (mod.deps) { mod.deps.forEach(enter); } return imports; } exports.importsFor = importsFor; //# sourceMappingURL=imports.js.map