umbot
Version:
Мультиплатформенный фреймворк для создания голосовых навыков и чат-ботов с единой бизнес-логикой. Встроенная поддержка ВКонтакте, Telegram, Viber, MAX, Яндекс Алисы, Маруси и Сбера SmartApp. Архитектура на адаптерах позволяет подключать любые другие платф
110 lines (109 loc) • 4.01 kB
JavaScript
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", { value: true });
/**
* Модуль утилит - набор вспомогательных инструментов для разработки
*
* Модуль содержит:
* - Утилиты для работы с текстом
* - Стандартные утилиты для работы с данными
* - Инструменты для конфигурации
*
* ### Text
* Класс для работы с текстом, предоставляющий статические методы для:
* - Обрезки текста
* - Поиска вхождений
* - Проверки схожести текстов
* - Работы с окончаниями слов
*
* #### Обрезка текста
* ```ts
* import { Text } from './standard/Text';
*
* const text = 'testing long long text';
*
* // Обрезка с троеточием
* Text.resize(text, 7); // -> 'test...'
*
* // Обрезка без троеточия
* Text.resize(text, 7, false); // -> 'testing'
* ```
*
* #### Поиск вхождений
* Метод для поиска подстроки или массива подстрок в тексте
* ```ts
* import { Text } from './standard/Text';
*
* const text = 'testing long long text';
*
* // Поиск одной подстроки
* Text.isSayText('test', text); // -> true
*
* // Поиск одной из подстрок
* Text.isSayText(['and', 'test'], text); // -> true
*
* // Поиск по регулярному выражению
* // При передаче строки в JavaScript нужно экранировать обратный слеш:
* // '\b' в строке = один символ (backspace), '\\b' = два символа (\ + b)
* Text.isSayText(['and', '\\btest\\b'], text, true); // -> true
* ```
*
* #### Проверка схожести текстов
* Метод для определения степени схожести двух текстов
* ```ts
* import { Text } from './standard/Text';
*
* // Тексты совпадают на 100%
* Text.textSimilarity('test', 'test', 90);
* // -> {
* // percent: 100,
* // index: 0,
* // status: true,
* // text: 'test'
* // }
*
* // Тексты не совпадают
* Text.textSimilarity('test', 'demo', 90);
* // -> {
* // index: null,
* // status: false,
* // text: null
* // }
* ```
*
* #### Работа с окончаниями слов
* Метод для выбора правильного окончания слова в зависимости от числа
* ```ts
* import { Text } from './standard/Text';
*
* const titles = [
* 'Яблоко', // 1
* 'Яблока', // 2-4
* 'Яблок' // 5-20
* ];
*
* Text.getEnding(1, titles); // -> 'Яблоко'
* Text.getEnding(2, titles); // -> 'Яблока'
* Text.getEnding(10, titles); // -> 'Яблок'
*
* // Принудительный выбор формы
* Text.getEnding(10, titles, 0); // -> 'Яблоко'
* ```
*/
__exportStar(require("./standard/util"), exports);
__exportStar(require("./standard/Text"), exports);
__exportStar(require("./standard/RegExp"), exports);
__exportStar(require("./isPromise"), exports);