]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - server/helpers/regexp.ts
Don't crash on youtube-dl update write error
[github/Chocobozzz/PeerTube.git] / server / helpers / regexp.ts
CommitLineData
f7cc67b4
C
1// Thanks to https://regex101.com
2function regexpCapture (str: string, regex: RegExp, maxIterations = 100) {
a1587156 3 const result: RegExpExecArray[] = []
f7cc67b4
C
4 let m: RegExpExecArray
5 let i = 0
f7cc67b4
C
6
7 // tslint:disable:no-conditional-assignment
8 while ((m = regex.exec(str)) !== null && i < maxIterations) {
9 // This is necessary to avoid infinite loops with zero-width matches
10 if (m.index === regex.lastIndex) {
11 regex.lastIndex++
12 }
13
14 result.push(m)
15 i++
16 }
17
18 return result
19}
20
21export {
22 regexpCapture
23}