js-format

0

Описание

Утилита интерполяции строк для JavaScript

Языки

  • JavaScript100%
README.md

@e22m4u/js-format

Утилита интерполяции строк для JavaScript.

  • стандартные спецификаторы
    %s
    ,
    %d
    и
    %j
    (см.
    util.format
    )
  • %v
    вывод примитивного значения или имени конструктора
  • %l
    вывод элементов массива через запятую
    "foo", 10, true

Дополнительно:

  • встроенный класс
    Errorf
    с интерполяцией сообщения об ошибке

Мотивация

При выводе сообщения об ошибке может возникнуть потребность включения некоторых значений в строку сообщения. В этом случае возникает проблема, когда невозможно точно определить тип выводимого значения, так как стандартный спецификатор

%s
одинаково обрабатывает строки, числа и другие типы.

В примере выше строка

'8'
и число
8
выводятся одинаково. Похожая проблема возникает при выводе объектов.

Данный модуль расширяет стандартные спецификаторы дополнительным

%v
и
%l
, которые оборачивают строки в кавычки, а для объектов выводят имя конструктора.

Подробнее о новых спецификаторах см. в разделе Спецификаторы.

Установка

Модуль поддерживает ESM и CommonJS стандарты.

ESM

CommonJS

Спецификаторы

Метод

format
возвращает отформатированную строку, используя первый аргумент как printf-подобный шаблон, который может содержать ноль или более спецификаторов. Каждый спецификатор заменяется преобразованным значением из соответствующего аргумента.

specifierdescription
%s
использует
String
для конвертации значения
%d
использует
Number
для конвертации значения
%j
представление значения в виде JSON
%v
см. ниже
%l
см. ниже

%v

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

Спецификатор

%v
проектировался для вывода значений в сообщениях об ошибке, когда важно иметь представление об их типах. При этом, вывод содержимого объекта может быть избыточен для такой задачи. По этой причине, объекты приводятся к имени конструктора, что позволяет относительно точно определить тип выводимого значения.

%l

Вывод элементов массива через запятую.

Элементы массива приводятся к строке по логике спецификатора

%v

Errorf

Конструктор класса

Errorf
передает свои аргументы функции
format
для формирования сообщения об ошибке.

Пример:

InvalidArgumentError

Класс является псевдонимом для

Errorf
, полностью наследуя его поведение. В некоторых ситуациях может быть более осмысленным, чем базовый класс.

Тесты

Лицензия

MIT