(raw: string, range: [number, number])
| 959 | } |
| 960 | |
| 961 | function parseJSDocBlock(raw: string, range: [number, number]): JSDocBlock { |
| 962 | const base = parseLooseJSDocBlock(raw, range) |
| 963 | const { lines: normalized, tags, internal } = base |
| 964 | if (internal) { |
| 965 | return base |
| 966 | } |
| 967 | const result = parseCoreJSDoc(normalized, tags) |
| 968 | const block: JSDocBlock = { |
| 969 | ...base, |
| 970 | range, |
| 971 | raw, |
| 972 | lines: normalized, |
| 973 | tags, |
| 974 | diagnostics: result._tag === "Failure" ? Array.from(result.error.diagnostics) : [], |
| 975 | internal |
| 976 | } |
| 977 | return result._tag === "Success" ? { ...block, parsed: result.value } : block |
| 978 | } |
| 979 | |
| 980 | function trimStructuralBlankLines(lines: Array<string>): Array<string> { |
| 981 | let start = 0 |
no test coverage detected