UNPKG

buildtypedefs

Version:

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

57 lines 1.88 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const function_1 = require("./function"); const type_1 = require("./type"); function default_1(sb, item, items, imports, isParam, additionalTypes, useDummyName = true) { if (item.name) sb.append(item.name); else if (isParam && useDummyName) sb.append("fn"); if (item.optional) sb.append("?"); if ((isParam && useDummyName) || /\^returns$/.test(item.id)) sb.append(": "); sb.append("("); let dummyNameCounter = 0; for (let i in item.params) { let param = item.params[i]; if (i != "0") sb.append(", "); if (param.rest) { sb.append("..."); } if (param.type == "Function") { function_1.default(sb, param, items, imports, true, additionalTypes); } else { if (param.name) sb.append(param.name); else { sb.append("p"); if (item.params.length > 1) sb.append((++dummyNameCounter).toString()); } type_1.default(sb, param, false, false, true, items, imports, additionalTypes); } } sb.append(")"); if (item.returns) { item.returns.isReturn = true; if (isParam || /\^returns\^returns$/.test(item.returns.id)) { sb.append(" => "); type_1.default(sb, item.returns, true, true, true, items, imports, additionalTypes); } else { type_1.default(sb, item.returns, true, false, false, items, imports, additionalTypes); } } else if (item.name != "constructor") { if (isParam) sb.append(" => "); else sb.append(": "); sb.append("void"); } } exports.default = default_1; //# sourceMappingURL=function.js.map