( wrapped: CodeTag, after: boolean, isAfter: IsAfterPredicate = after, )
| 70 | } |
| 71 | |
| 72 | export function resolveCodeTag( |
| 73 | wrapped: CodeTag, |
| 74 | after: boolean, |
| 75 | isAfter: IsAfterPredicate = after, |
| 76 | ) { |
| 77 | const fragment = unwrap(wrapped); |
| 78 | if (typeof fragment === 'string') { |
| 79 | return fragment; |
| 80 | } else if (isCodeScope(fragment)) { |
| 81 | return resolveScope(fragment, isAfter); |
| 82 | } else if (isCodeMetrics(fragment)) { |
| 83 | return fragment.content; |
| 84 | } else if (Array.isArray(fragment)) { |
| 85 | return resolveScope( |
| 86 | { |
| 87 | progress: 0, |
| 88 | fragments: fragment, |
| 89 | }, |
| 90 | isAfter, |
| 91 | ); |
| 92 | } else { |
| 93 | return after |
| 94 | ? typeof fragment.after === 'string' |
| 95 | ? fragment.after |
| 96 | : fragment.after.content |
| 97 | : typeof fragment.before === 'string' |
| 98 | ? fragment.before |
| 99 | : fragment.before.content; |
| 100 | } |
| 101 | } |
no test coverage detected