diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2023-01-18 22:00:14 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2023-01-18 22:00:14 +0300 |
commit | 05f0ebba3a2c8ddf39e436f412dc2ab5bf1353b2 (patch) | |
tree | 11d0f2a6ec31c7793c184106cedc2ded3d9a2cc5 /app/assets/javascripts/locale/ensure_single_line.cjs | |
parent | ec73467c23693d0db63a797d10194da9e72a74af (diff) |
Add latest changes from gitlab-org/gitlab@15-8-stable-eev15.8.0-rc42
Diffstat (limited to 'app/assets/javascripts/locale/ensure_single_line.cjs')
-rw-r--r-- | app/assets/javascripts/locale/ensure_single_line.cjs | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/app/assets/javascripts/locale/ensure_single_line.cjs b/app/assets/javascripts/locale/ensure_single_line.cjs new file mode 100644 index 00000000000..c2c63777001 --- /dev/null +++ b/app/assets/javascripts/locale/ensure_single_line.cjs @@ -0,0 +1,25 @@ +/* eslint-disable import/no-commonjs */ + +const SPLIT_REGEX = /\s*[\r\n]+\s*/; + +/** + * + * strips newlines from strings and replaces them with a single space + * + * @example + * + * ensureSingleLine('foo \n bar') === 'foo bar' + * + * @param {String} str + * @returns {String} + */ +module.exports = function ensureSingleLine(str) { + // This guard makes the function significantly faster + if (str.includes('\n') || str.includes('\r')) { + return str + .split(SPLIT_REGEX) + .filter((s) => s !== '') + .join(' '); + } + return str; +}; |