Статические методы

Статические методы библиотеки AutoNumeric предназначены для работы без привязки к конкретному экземпляру, связанному с DOM-элементом. Они решают задачи преобразования значений, поиска и управления уже инициализированными инстансами, а также предоставляют доступ к глобальным настройкам и вспомогательным утилитам.

Ключевая особенность статического слоя заключается в том, что он оперирует либо «сырыми» значениями, либо уже существующими инстансами AutoNumeric, не требуя повторной инициализации или наличия прямой ссылки на объект.


Работа с DOM-инстансами

Получение экземпляра AutoNumeric по элементу

Одним из базовых статических методов является получение инстанса, связанного с DOM-элементом.

AutoNumeric.getAutoNumericElement(element);

Метод возвращает объект AutoNumeric, если элемент уже был инициализирован. В противном случае результат обычно равен null или undefined (в зависимости от версии библиотеки).

Используется в сценариях, когда требуется безопасно обратиться к уже существующей логике форматирования:

  • проверка наличия управления AutoNumeric на элементе
  • доступ к методам инстанса без повторной инициализации
  • интеграция с внешними компонентами

Дополнительно в некоторых версиях присутствует вариация:

AutoNumeric.isManagedByAutoNumeric(element);

Метод возвращает булево значение, показывающее, управляется ли элемент библиотекой.


Работа с коллекциями элементов

Для массовой инициализации часто используется статический метод:

AutoNumeric.multiple(selector, options);

Он принимает CSS-селектор или список элементов и применяет AutoNumeric ко всем найденным узлам.

Основные особенности:

  • массовая инициализация без ручного цикла
  • единый набор настроек для всех элементов
  • возврат коллекции инстансов

Пример типичного поведения:

  • поиск элементов по селектору
  • создание AutoNumeric-инстанса для каждого
  • возврат массива или объекта-коллекции

Форматирование и обратное преобразование значений

Форматирование без привязки к DOM

Статический метод форматирования позволяет преобразовать число в строку с учетом настроек библиотеки:

AutoNumeric.format(value, options);

Используется для:

  • отображения чисел в UI без инстанса
  • подготовки данных к рендерингу
  • серверных и утилитарных преобразований

Параметры options обычно включают:

  • разделитель тысяч
  • десятичный разделитель
  • количество знаков после запятой
  • правила округления
  • валютные символы

Форматирование выполняется независимо от DOM, что делает метод пригодным для изолированных вычислений.


Обратное преобразование (unformat)

Для получения «чистого» числового значения используется:

AutoNumeric.unformat(formattedValue, options);

Метод удаляет:

  • разделители тысяч
  • символы валют
  • пробелы форматирования
  • локализованные маркеры

Результатом обычно является строка или число (в зависимости от конфигурации).

Используется при:

  • обработке пользовательского ввода
  • отправке данных на сервер
  • нормализации значений перед вычислениями

Парсинг значений

В некоторых версиях API присутствует логика, аналогичная:

AutoNumeric.parse(value, options);

Она может быть эквивалентна unformat, но в более строгом смысле выполняет преобразование строки в числовой тип с учетом правил конфигурации.


Управление конфигурациями

Получение стандартных настроек

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

AutoNumeric.getPredefinedOptions();

Результатом является набор шаблонов настроек, включающих типовые сценарии:

  • валютные форматы
  • процентные значения
  • стандартные числовые поля
  • учет локалей

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


Глобальные настройки библиотеки

В ряде реализаций присутствует метод:

AutoNumeric.getDefaultConfig();

Он возвращает конфигурацию по умолчанию, которая используется при отсутствии пользовательских параметров.

Это важно для:

  • унификации поведения по проекту
  • отладки форматирования
  • создания кастомных пресетов на основе дефолтных значений

Валидация конфигурации

Для проверки корректности настроек используется:

AutoNumeric.validate(options);

Метод анализирует переданный объект и проверяет:

  • допустимость ключей
  • корректность типов значений
  • совместимость параметров между собой

Валидация предотвращает создание некорректных инстансов и снижает риск ошибок форматирования.


Работа с элементами и состоянием

Проверка управляемости элемента

AutoNumeric.isManagedByAutoNumeric(element);

Используется для безопасного определения состояния элемента перед выполнением операций:

  • предотвращение повторной инициализации
  • защита от конфликтов с другими скриптами
  • контроль жизненного цикла инстанса

Получение связанного элемента

Некоторые реализации предоставляют обратную связь:

AutoNumeric.getElement(autoNumericInstance);

Метод возвращает DOM-элемент, связанный с конкретным инстансом. Это полезно при работе с коллекциями объектов, когда требуется синхронизация логики и UI.


Массовые операции и управление множеством инстансов

Инициализация набора элементов

AutoNumeric.multiple(selector, options);

Этот метод часто применяется в формах с большим количеством числовых полей. Он обеспечивает:

  • единообразное поведение всех полей
  • централизованное управление настройками
  • снижение количества ручного кода инициализации

Типичный сценарий — формы финансовых данных, где десятки input-элементов должны иметь одинаковую логику форматирования.


Утилитарные статические операции

Проверка и нормализация значений

Статические методы часто используются как чистые функции для работы с данными:

  • преобразование строки в число
  • обратное форматирование
  • проверка корректности числового представления

Эти операции не требуют наличия DOM и могут применяться в бизнес-логике приложения.


Преимущества статического слоя

Статические методы обеспечивают несколько ключевых свойств архитектуры библиотеки:

  • изоляция логики преобразования данных
  • возможность работы вне DOM-контекста
  • повторное использование функций форматирования
  • единая точка доступа к конфигурациям
  • снижение зависимости от экземпляров

Такой подход делает AutoNumeric удобным не только для UI-слоя, но и для сервисных и вычислительных модулей приложения.