(md: ast.MethodDeclaration)
| 489 | tps.length === 0 ? "" : `<${tps.map((p) => p.getName()).join(", ")}>` |
| 490 | |
| 491 | const parseMethod = (md: ast.MethodDeclaration) => |
| 492 | Effect.gen(function*() { |
| 493 | const name = md.getName() |
| 494 | const jsdocs = Array.matchLeft(md.getOverloads(), { |
| 495 | onEmpty: () => md.getJsDocs(), |
| 496 | onNonEmpty: (head) => head.getJsDocs() |
| 497 | }) |
| 498 | const doc = parseDoc(getJSDocText(jsdocs)) |
| 499 | if (shouldIgnore(doc)) { |
| 500 | return Option.none() |
| 501 | } |
| 502 | const type = parseType(md) |
| 503 | const signature = `declare const ${name}: ${type}` |
| 504 | const position = yield* parsePosition(md) |
| 505 | return Option.some( |
| 506 | new Domain.DocEntry( |
| 507 | name, |
| 508 | doc, |
| 509 | signature, |
| 510 | position |
| 511 | ) |
| 512 | ) |
| 513 | }) |
| 514 | |
| 515 | const parseProperty = (pd: ast.PropertyDeclaration) => |
| 516 | Effect.gen(function*() { |
nothing calls this directly
no test coverage detected