Skip to content

Az.Tokens

Denis Olshin edited this page Jun 14, 2016 · 2 revisions

Az : object

Kind: global namespace

Az.Tokens

Kind: static class of Az
Playground: var Az = require('az'); var tokens = Az.Tokens('Текст (от лат. textus — «ткань; сплетение, связь, паутина, сочетание») — зафиксированная на каком-либо материальном носителе человеческая мысль; в общем плане связная и полная последовательность символов.'); tokens.done();

new Tokens([text], [config])

Создает токенизатор текста с заданными опциями.

Param Type Default Description
[text] string Строка для разбивки на токены.
[config] Object Опции, применяемые при разбивке.
[config.html] boolean False Распознавать и выделять в отдельные токены (типа TAG) HTML-теги. Кроме того, содержимое тегов <style> и <script> будет размечено как единый токен типа CONTENT.
[config.wiki] boolean False Распознавать и выделять в отдельные токены элементы вики-разметки.
[config.markdown] boolean False Распознавать и выделять в отдельные токены элементы Markdown-разметки.
[config.hashtags] boolean True Распознавать и выделять в отдельные токены хэштеги (строки, начинающиеся с символа «#»).
[config.mentions] boolean True Распознавать и выделять в отдельные токены упоминания (строки, начинающиеся с символа «@»).
[config.emails] boolean True Распознавать и выделять в отдельные токены е-мейлы (нет, распознавание всех корректных по RFC адресов не гарантируется).
[config.links] Object Настройки распознавания ссылок. False, чтобы не распознавать ссылки совсем.
[config.links.protocols] boolean True Распознавать и выделять в отдельные токены ссылки с указанным протоколом (http://, https:// и вообще любым другим).
[config.links.www] boolean False Распознавать и выделять в отдельные токены ссылки, начинающиеся с «www.».
[config.links.tlds] Object Объект, в котором ключами должны быть домены верхнего уровня, в которых будут распознаваться ссылки. По умолчанию текущий список всех таких доменов.

tokens.append(text, [config])

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

Kind: instance method of Tokens
See: Tokens

Param Type Description
text string Строка для разбивки на токены.
[config] Object Опции, применяемые при разбивке. Перекрывают опции, заданные в конструкторе токенизатора.

tokens.done([filter], [exclude]) ⇒ Array.<Token>

Завершает токенизацию, возвращая список токенов.

Kind: instance method of Tokens
Returns: Array.<Token> - Список токенов после фильтрации.

Param Type Default Description
[filter] Array.<String> Список типов токенов, по которым нужно отфильтровать результат.
[exclude] boolean False Инвертирует фильтр, т.е. возвращаются токены со всеми типами, за исключением перечисленных в filter.

tokens.count([filter], [exclude]) ⇒ Number

Подсчитывает текущее количество токенов.

Kind: instance method of Tokens
Returns: Number - Число токенов после фильтрации.

Param Type Default Description
[filter] Array.<String> Список типов токенов, по которым нужно отфильтровать результат.
[exclude] boolean False Инвертирует фильтр, т.е. подсчитываются токены со всеми типами, за исключением перечисленных в filter.

tokens.nextToken(moveIndex, [filter], [exclude]) ⇒ Token | null

Получает следующий токен относительно текущей позиции.

Kind: instance method of Tokens
Returns: Token | null - Следующий токен или null, если подходящих токенов впереди нет.

Param Type Default Description
moveIndex boolean Следует ли переместить указатель к следующему токену (в противном случае следующий вызов nextToken вернет тот же результат)
[filter] Array.<String> Список типов токенов, по которым нужно итерироваться.
[exclude] boolean False Инвертирует фильтр, т.е. возвращаются токены со всеми типами, за исключением перечисленных в filter.

tokens.punctAhead() ⇒ Token | False

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

Kind: instance method of Tokens
Returns: Token | False - False, если следующий токен не является знаком препинания, либо сам токен в противном случае.

tokens.prevToken(moveIndex, [filter], [exclude]) ⇒ Token | null

Получает предыдущий токен относительно текущей позиции.

Kind: instance method of Tokens
Returns: Token | null - Предыдущий токен или null, если подходящих токенов позади нет.

Param Type Default Description
moveIndex boolean Следует ли переместить указатель к предыдущему токену (в противном случае следующий вызов prevToken вернет тот же результат)
[filter] Array.<String> Список типов токенов, по которым нужно итерироваться.
[exclude] boolean False Инвертирует фильтр, т.е. возвращаются токены со всеми типами, за исключением перечисленных в filter.

tokens.punctBehind() ⇒ Token | False

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

Kind: instance method of Tokens
Returns: Token | False - False, если предыдущий токен не является знаком препинания, либо сам токен в противном случае.

tokens.hasTokensAhead([filter], [exclude]) ⇒ boolean

Проверяет, есть ли впереди текущей позиции токены, удовлетворяющие фильтру.

Kind: instance method of Tokens
Returns: boolean - True если впереди есть хотя бы один подходящий токен, и False в противном случае.

Param Type Default Description
[filter] Array.<String> Список типов токенов, по которым нужно итерироваться.
[exclude] boolean False Инвертирует фильтр, т.е. учитываются токены со всеми типами, за исключением перечисленных в filter.

tokens.hasTokensBehind([filter], [exclude]) ⇒ boolean

Проверяет, есть ли позади текущей позиции токены, удовлетворяющие фильтру.

Kind: instance method of Tokens
Returns: boolean - True если позади есть хотя бы один подходящий токен, и False в противном случае.

Param Type Default Description
[filter] Array.<String> Список типов токенов, по которым нужно итерироваться.
[exclude] boolean False Инвертирует фильтр, т.е. учитываются токены со всеми типами, за исключением перечисленных в filter.
Clone this wiki locally