(ms: number, signal?: AbortSignal)
| 216 | } |
| 217 | |
| 218 | function wait(ms: number, signal?: AbortSignal): Promise<void> { |
| 219 | return new Promise((resolve) => { |
| 220 | if (!signal) { |
| 221 | setTimeout(resolve, ms) |
| 222 | return |
| 223 | } |
| 224 | |
| 225 | if (signal.aborted) { |
| 226 | resolve() |
| 227 | return |
| 228 | } |
| 229 | |
| 230 | const done = () => { |
| 231 | clearTimeout(timer) |
| 232 | signal.removeEventListener("abort", done) |
| 233 | resolve() |
| 234 | } |
| 235 | |
| 236 | const timer = setTimeout(() => { |
| 237 | signal.removeEventListener("abort", done) |
| 238 | resolve() |
| 239 | }, ms) |
| 240 | |
| 241 | signal.addEventListener("abort", done, { once: true }) |
| 242 | }) |
| 243 | } |
| 244 | |
| 245 | function split(text: string): string[] { |
| 246 | if (text.length <= 48) { |
no test coverage detected