Библиотека утилит
Установка
npm install fbk-utils
или
yarn add fbk-utils
Список утилит
fetchJSON - расширенный js fetch, который проверяет является ли ответ JSON'ом, полезно для защиты от 500 ошибок, которые не возвращают JSON
fetchWithCache - расширенный fetch, который кеширует данные на 5 минут, внутри себя вызывает fetchJSON
isEmpty - проверка объекта и массива на пустоту. Функция возвращает true, если object/array.length > 0 и false во всех остальных случаях. На вход принимает один аргумент, любого типа
chunkify - разбивает исходный массив на набор чанков с указанным вторым аргументом количеством элементов
breaksHundreds - строковое разделение числа на десятки
emailValidate - валидция e-mail с возможностью проверки на корректность введенного доменного имени.
getWordEnding - отдает нужное окочание слова в зав-ти от числа. Например "1 значениЕ", "2 значениЯ", "6 значениЙ"
getCurrentUrl- отдает текущий урл страницы
getHost- отдает текущий host страницы
Params:
Arg | Type | Required | Default | Description |
---|---|---|---|---|
ctx | NextPageContext |
+ | Обьект next.js |
handingServerError - обработка серверных ошибок, вызывается в блоке catch и принимает на вход объект NextPageContext и объект ошибки. Внутри себя отдает код ошибки на клиент, логирует ошибку и возвращает объект вида
{ code: number, message: string }
navLinkHandler - скролит к элементу с нужным хешэм
Params:
Arg | Type | Required | Default | Description |
---|---|---|---|---|
e | React.MouseEvent<HTMLAnchorElement, MouseEvent> |
+ | ||
params | { top: number; topOffset: number } |
- | Отступ от верхнего края родительского блока или от верхнего края браузера |
Пример использования:
<div id='about'>about</div>
<a href='#about' onClick={navLinkHandler}>about</a>
generateRandomName - генерирует случайное имя из символов a-z. На вход принимает необязательный параметр nameLength
, который по умолчанию равен 8