(node: ts.Node)
| 46 | } |
| 47 | |
| 48 | const modifiers = (node: ts.Node): ReadonlyArray<string> | undefined => { |
| 49 | if (!ts.canHaveModifiers(node)) { |
| 50 | return undefined |
| 51 | } |
| 52 | const values = ts.getModifiers(node)?.map((modifier) => |
| 53 | ts.tokenToString(modifier.kind) ?? ts.SyntaxKind[modifier.kind] |
| 54 | ) |
| 55 | .filter((modifier) => modifier !== "export" && modifier !== "declare") |
| 56 | .sort() |
| 57 | return values === undefined || values.length === 0 ? undefined : values |
| 58 | } |
| 59 | |
| 60 | const nameText = (name: ts.DeclarationName | ts.BindingName | undefined): string => { |
| 61 | if (name === undefined) { |
no test coverage detected