| |
| function escapeBraces(str) { |
| return str |
| .replace(/({{2,})|(}{2,})/g, (match) => `${match[0]}`) |
| .replace(/{|}/g, (match) => `${match}${match}`); |
| } |
|
|
| function getSnippet(text) { |
| let limit = 50; |
| let splitText = escapeBraces(text).split(' '); |
|
|
| if (splitText.length === 1 && splitText[0].length > limit) { |
| return splitText[0].substring(0, limit); |
| } |
|
|
| let result = ''; |
| let spaceCount = 0; |
|
|
| for (let i = 0; i < splitText.length; i++) { |
| if (result.length + splitText[i].length <= limit) { |
| result += splitText[i] + ' '; |
| spaceCount++; |
| } else { |
| break; |
| } |
|
|
| if (spaceCount == 10) { |
| break; |
| } |
| } |
|
|
| return result.trim(); |
| } |
|
|
| module.exports = { |
| escapeBraces, |
| getSnippet, |
| }; |
|
|