Утилиты для строк

Bliss.js предоставляет набор утилит для удобного и эффективного манипулирования строками, позволяя значительно сократить количество стандартного JavaScript-кода и повысить читаемость. Основные функции охватывают преобразование регистров, проверку содержания строки, форматирование и работу с шаблонами.


Преобразование регистра

Bliss.js содержит методы для изменения регистра строк без необходимости использования стандартных toUpperCase и toLowerCase.

  • B.str.upper(str) — возвращает строку в верхнем регистре:
B.str.upper('hello world'); // 'HELLO WORLD'
  • B.str.lower(str) — возвращает строку в нижнем регистре:
B.str.lower('HELLO WORLD'); // 'hello world'
  • B.str.capitalize(str) — делает первую букву строки заглавной, остальные — строчными:
B.str.capitalize('javascript'); // 'Javascript'
  • B.str.title(str) — преобразует первую букву каждого слова в заглавную:
B.str.title('bliss js utilities'); // 'Bliss Js Utilities'

Эти методы полезны при обработке пользовательского ввода, генерации заголовков и стандартизации данных перед сохранением.


Проверка содержимого строки

Bliss.js предоставляет удобные функции для проверки строк на соответствие определённым условиям:

  • B.str.contains(str, substring) — проверяет, содержит ли строка подстроку:
B.str.contains('Bliss.js library', 'library'); // true
  • B.str.startsWith(str, prefix) — проверяет начало строки:
B.str.startsWith('Bliss.js', 'Bliss'); // true
  • B.str.endsWith(str, suffix) — проверяет конец строки:
B.str.endsWith('Bliss.js', '.js'); // true
  • B.str.isEmpty(str) — возвращает true, если строка пустая или содержит только пробелы:
B.str.isEmpty('   '); // true

Обрезка и нормализация

Утилиты Bliss.js позволяют эффективно управлять пробелами и символами вокруг текста:

  • B.str.trim(str) — убирает пробелы с начала и конца строки:
B.str.trim('   Bliss.js   '); // 'Bliss.js'
  • B.str.trimStart(str) и B.str.trimEnd(str) — обрезают пробелы только с одной стороны.

  • B.str.squish(str) — удаляет лишние пробелы между словами, оставляя по одному:

B.str.squish('Bliss   js   utilities'); // 'Bliss js utilities'
  • B.str.normalize(str) — приводит строку к нормализованной форме Unicode, что важно для работы с различными символами:
B.str.normalize('é'); // 'é' в стандартной форме NFC

Разделение и объединение строк

Bliss.js упрощает работу с массивами строк и объединением:

  • B.str.split(str, separator) — аналог String.prototype.split, но с дополнительной обработкой пустых элементов:
B.str.split('a,b,,c', ','); // ['a','b','c']
  • B.str.join(array, separator) — объединяет массив в строку с заданным разделителем:
B.str.join(['Bliss', 'js', 'library'], ' '); // 'Bliss js library'
  • B.str.lines(str) — разбивает текст на массив строк по переносу строки:
B.str.lines('line1\nline2\nline3'); // ['line1','line2','line3']

Подстановка и шаблоны

Bliss.js облегчает динамическое формирование строк:

  • B.str.replace(str, search, replace) — заменяет подстроку или регулярное выражение:
B.str.replace('Hello world', 'world', 'Bliss'); // 'Hello Bliss'
  • B.str.format(str, values) — форматирует строку с подстановкой значений по ключам:
B.str.format('Hello {name}, welcome to {place}', { name: 'Alice', place: 'Bliss.js' });
// 'Hello Alice, welcome to Bliss.js'
  • B.str.template(strings, ...values) — альтернативный способ работы с шаблонами, совместимый с tagged templates:
B.str.template`Hello ${'Alice'}, today is ${'Tuesday'}`; // 'Hello Alice, today is Tuesday'

Преобразование и кодирование

Bliss.js поддерживает утилиты для работы с кодировками и безопасного вывода:

  • B.str.escapeHTML(str) — заменяет специальные символы на HTML-сущности:
B.str.escapeHTML('<div>Bliss</div>'); // '&lt;div&gt;Bliss&lt;/div&gt;'
  • B.str.unescapeHTML(str) — обратная операция:
B.str.unescapeHTML('&lt;div&gt;Bliss&lt;/div&gt;'); // '<div>Bliss</div>'
  • B.str.urlEncode(str) и B.str.urlDecode(str) — кодирование и декодирование для безопасной передачи в URL:
B.str.urlEncode('Bliss.js & utilities'); // 'Bliss.js%20%26%20utilities'
B.str.urlDecode('Bliss.js%20%26%20utilities'); // 'Bliss.js & utilities'

Регулярные выражения

Bliss.js расширяет работу с регулярными выражениями через удобные методы:

  • B.str.match(str, regex) — возвращает все совпадения или пустой массив:
B.str.match('abc123def', /\d+/g); // ['123']
  • B.str.test(str, regex) — проверяет, соответствует ли строка шаблону:
B.str.test('abc123', /^[a-z]+\d+$/); // true
  • B.str.replaceAll(str, regex, replace) — заменяет все совпадения по шаблону:
B.str.replaceAll('foo bar foo', /foo/g, 'baz'); // 'baz bar baz'

Полезные комбинации

Благодаря комбинации функций можно создавать компактные цепочки обработки строк:

B.str.squish(
  B.str.capitalize(
    B.str.trim('   bliss js library   ')
  )
); // 'Bliss js library'

Bliss.js позволяет легко объединять проверку, очистку и форматирование без громоздкого кода, повышая читаемость и поддерживаемость.


Этот набор утилит делает работу со строками более интуитивной, устраняя необходимость в повторяющемся коде и обеспечивая единый стиль обработки текста во всех проектах на JavaScript.