(tagBody: string)
| 120 | } |
| 121 | |
| 122 | function parseAttrs(tagBody: string): Record<string, string> { |
| 123 | const attrs: Record<string, string> = {} |
| 124 | for (const m of tagBody.matchAll(ATTR_RE)) { |
| 125 | attrs[m[1]!] = m[2] ?? m[3] ?? '' |
| 126 | } |
| 127 | return attrs |
| 128 | } |
| 129 | |
| 130 | function firstCommandToken(command: string): string { |
| 131 | const trimmed = command.trim() |
no outgoing calls
no test coverage detected