Class: Template

Template~ Template

new Template(…pattern, modes)

Модуль шаблонизации BEMJSON-узла.
Parameters:
Name Type Attributes Description
pattern string <repeatable>
Шаблоны для матчинга
modes object Моды для преобразования узла
Source:

Members

(static) baseTemplate :Template

Базовый шаблон.
Type:
  • Template
Source:

modes :object

Моды для преобразования узла.
Type:
  • object
Source:

(nullable) weight :number

Вес шаблона. Рассчитать вес шаблона возможно при наличии только одного селектора. При наличии в шаблоне нескольких селекторов его вес устанавливается как `null`.
Type:
  • number
Source:

Methods

(static) base(bemjson, dataopt) → {Node}

Получить БЭМ-узел на основе BEMJSON по базовому шаблону.
Parameters:
Name Type Attributes Description
bemjson object Входящий BEMJSON
data object <optional>
Данные по сущности в дереве
Source:
Returns:
Type
Node

extend(template) → {Template}

Наследовать шаблон.
Parameters:
Name Type Description
template Template Базовый шаблон
Source:
Returns:
Type
Template

helper(nameOrList, callbackopt) → {Template}

Добавить одну или несколько пользовательских функций-помощников.
Parameters:
Name Type Attributes Description
nameOrList string | object Имя функции или карта помощников
callback function <optional>
Тело функции
Source:
Returns:
Type
Template

is(template) → {boolean}

Проверить шаблон на соответствие. Вернёт `true`, если хотя бы один селектор текущего шаблона и проверяемого пройдёт неточную проверку.
Parameters:
Name Type Description
template Template Шаблон
Source:
Returns:
Type
boolean

match(bemjson, dataopt, baseBemjsonopt, modesFromAnotherTemplatesopt, indexopt) → {Node|null}

Применить BEMJSON к шаблону.
Parameters:
Name Type Attributes Description
bemjson object Входящий BEMJSON
data object <optional>
Данные по сущности в дереве
baseBemjson object <optional>
Базовый BEMJSON из входящих данных
modesFromAnotherTemplates Array.<string> <optional>
Список полей, которые были установлены из других шаблонов
index number <optional>
Порядковый номер шаблона в общем списке
Source:
Returns:
Экземпляр БЭМ-узла или null при несоответствии BEMJSON шаблону
Type
Node | null

split() → {Array.<Template>}

Разбить шаблон на шаблоны с единичными селекторами.
Source:
Returns:
Type
Array.<Template>

transform(bemjson, dataopt, baseBemjsonopt, modesFromAnotherTemplatesopt, indexopt) → {Node}

Получить БЭМ-узел на основе BEMJSON.
Parameters:
Name Type Attributes Default Description
bemjson object Входящий BEMJSON
data object <optional>
Данные по сущности в дереве
baseBemjson object <optional>
bemjson Базовый BEMJSON из входящих данных
modesFromAnotherTemplates Array.<string> <optional>
{} Список полей, которые были установлены из других шаблонов
index number <optional>
0 Порядковый номер шаблона в общем списке
Source:
Returns:
Type
Node