buildtypedefs
Version:
This is a utility that transforms code documented with getdocs-style doc comments into TypeScript definition files
40 lines • 1.47 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const type_1 = require("./type");
const misc_1 = require("./misc");
function default_1(sb, item, name, items, imports, additionalTypes) {
sb.append(item.type + " " + name + " ");
if (item.typeParams) {
sb.append("<");
for (let i in item.typeParams) {
if (i != "0") {
sb.append(", ");
}
type_1.default(sb, item.typeParams[i], false, true, true, items, imports, additionalTypes);
}
sb.append("> ");
}
if (item.extends) {
sb.append(" extends ");
type_1.default(sb, item.extends, false, true, false, items, imports, additionalTypes);
}
sb.append("{ ");
sb.appendLine("");
if ("constructor" in item && !(item.constructor instanceof Function)) {
misc_1.default(sb, item.constructor, name, false, false, items, imports, additionalTypes);
}
if (item.properties) {
for (let prop in item.properties) {
misc_1.default(sb, item.properties[prop], prop, false, true, items, imports, additionalTypes);
}
}
if (item.staticProperties) {
for (let prop in item.staticProperties) {
misc_1.default(sb, item.staticProperties[prop], prop, true, true, items, imports, additionalTypes);
}
}
sb.appendLine("}");
sb.appendLine("");
}
exports.default = default_1;
//# sourceMappingURL=class.js.map