/
githubmirror
/
30-seconds-of-code
Обзор
Документация
Войти
/
githubmirror
/
30-seconds-of-code
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/lib/stringUtils.js
78 строк
2 KB
Angelos Chalaris
Remove unused code
22 мар 2025, 16:56
Не верифицирован
22 мар 2025, 16:56
93c6af2
Код
Авторство
О чём код?
import settings from '#src/config/settings.js'; export default class StringUtils { static capitalize([first, ...rest], lowerRest = false) { return ( first.toUpperCase() + (lowerRest ? rest.join('').toLowerCase() : rest.join('')) ); } static toKebabCase(str) { return ( str && str .match( /[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g ) .map(x => x.toLowerCase()) .join('-') ); } static convertToValidId(str) { return StringUtils.toKebabCase(StringUtils.stripHtmlTags(str)); } static convertToSeoSlug(str) { return `/${StringUtils.toKebabCase(str)}`; } static stripMarkdown(str) { return str .replace(/[`*]/g, '') .replace(/\n/g, '') .replace(/\[(.*)\]\(.*\)/g, '$1') .replace(/_(.*?)_/g, '$1'); } static stripHtmlParagraphsAndLinks(str) { return str.replace(/<\/?p>/g, '').replace(/<a.*?>(.*?)<\/a>/g, '$1'); } static stripHtmlTags(str) { return str.replace(/<[^>]*>/g, ''); } static stripHtml(str) { return str .replace(/<.*?>/g, '') .replace(/ /g, ' ') .replace(/&/g, '&') .replace(/>/g, '>') .replace(/</g, '<'); } static normalizedTokens(str) { return str .toLowerCase() .trim() .split(/[^a-z0-9\-']+/i) .filter(x => x.length >= 2); } static escapeHtml(str) { return str .replace(/&/g, '&') .replace(/>/g, '>') .replace(/</g, '<') .replace(/"/g, '"') .replace(/'/g, '''); } static formatTag(tag) { if (!tag) return ''; return settings.tags[tag] || tag.replace(/^./, tag[0].toUpperCase()); } }