diff options
author | Chocobozzz <me@florianbigard.com> | 2019-01-04 08:56:20 +0100 |
---|---|---|
committer | Chocobozzz <chocobozzz@cpy.re> | 2019-01-09 11:15:15 +0100 |
commit | f7cc67b455a12ccae9b0ea16876d166720364357 (patch) | |
tree | eac2cdbf2e92a16b3eda5d74371c82bd79ae22cb /server/helpers/regexp.ts | |
parent | dc13348070d808d0ba3feb56a435b835c2e7e791 (diff) | |
download | PeerTube-f7cc67b455a12ccae9b0ea16876d166720364357.tar.gz PeerTube-f7cc67b455a12ccae9b0ea16876d166720364357.tar.zst PeerTube-f7cc67b455a12ccae9b0ea16876d166720364357.zip |
Add new follow, mention and user registered notifs
Diffstat (limited to 'server/helpers/regexp.ts')
-rw-r--r-- | server/helpers/regexp.ts | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/server/helpers/regexp.ts b/server/helpers/regexp.ts new file mode 100644 index 000000000..2336654b0 --- /dev/null +++ b/server/helpers/regexp.ts | |||
@@ -0,0 +1,23 @@ | |||
1 | // Thanks to https://regex101.com | ||
2 | function regexpCapture (str: string, regex: RegExp, maxIterations = 100) { | ||
3 | let m: RegExpExecArray | ||
4 | let i = 0 | ||
5 | let result: RegExpExecArray[] = [] | ||
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 | |||
21 | export { | ||
22 | regexpCapture | ||
23 | } | ||