(origin: LogHandler, values: string[], replacement: string)
| 288 | } |
| 289 | |
| 290 | export function replaceAllLog(origin: LogHandler, values: string[], replacement: string): LogHandler { |
| 291 | values = values |
| 292 | .filter(v => v.length) |
| 293 | .sort((a, b) => b.length - a.length); |
| 294 | if (!values.length) { |
| 295 | return origin; |
| 296 | } |
| 297 | return { |
| 298 | event: e => { |
| 299 | if ('text' in e) { |
| 300 | origin.event({ |
| 301 | ...e, |
| 302 | text: replaceValues(e.text, replacement, values), |
| 303 | }); |
| 304 | } else if (e.type === 'progress' && e.stepDetail) { |
| 305 | origin.event({ |
| 306 | ...e, |
| 307 | stepDetail: replaceValues(e.stepDetail, replacement, values), |
| 308 | }); |
| 309 | } else { |
| 310 | origin.event(e); |
| 311 | } |
| 312 | } |
| 313 | }; |
| 314 | } |
| 315 | |
| 316 | function replaceValues(str: string, replacement: string, values: string[]) { |
| 317 | values.forEach(x => { |
no test coverage detected