(text: string, entities: any[] = [])
| 164 | |
| 165 | await msg.edit({ text: reversed }); |
| 166 | } |
| 167 | |
| 168 | private reverseStringWithEntities(text: string, entities: any[] = []) { |
| 169 | // 逐行反转字符顺序,保持行的顺序不变 |
| 170 | const lines = text.split('\n'); |
| 171 | const reversedLines = lines.map((line) => |
| 172 | Array.from(line).reverse().join('') |
| 173 | ); |
| 174 | const reversed = reversedLines.join('\n'); |
| 175 | const textLength = text.length; |
| 176 | |
| 177 | // 反转实体的位置偏移 |
| 178 | const reversedEntities = entities.map((entity: any) => { |
| 179 | const newEntity = { ...entity }; |
| 180 | newEntity.offset = textLength - entity.offset - entity.length; |
| 181 | return newEntity; |
| 182 | }); |
| 183 | |
| 184 | return { reversed, reversedEntities }; |
| 185 | } |
| 186 |
no outgoing calls
no test coverage detected