Сниппеты кода
Полезные фрагменты кода от сообщества.
UPSERT: вставка или обновление
Идемпотентная запись одной командой — синтаксис для PostgreSQL, MySQL и SQLite.
Оконные функции: рейтинг и нарастающий итог
ROW_NUMBER, RANK, LAG и running total — стандарт SQL, работает в PostgreSQL, MySQL 8+, SQL Server.
Кастомный React-хук useFetch
Загрузка данных с состояниями loading/error, отменой запроса при размонтировании и строгими типами.
Типизированный EventEmitter
Строгая типизация имён событий и их полезной нагрузки — ошибки ловятся при компиляции.
Type guards и сужение типов
Пользовательские предикаты и проверка неизвестных данных из внешних источников.
Полезные утилитарные типы
Готовые дженерики для повседневной работы: глубокая частичность, обязательные поля, извлечение типа элемента.
Типобезопасный клиент API
Дженерик-обёртка над fetch с типами ответа, дискриминированным объединением для ошибок и без any.
Переключатель светлой и тёмной темы
Сохранение выбора пользователя и учёт системной настройки prefers-color-scheme.
Обёртка над localStorage с TTL
Хранилище со сроком жизни записей и защитой от переполнения квоты и битого JSON.
Валидация формы и отправка через AJAX
Сбор данных через FormData, клиентская проверка и отправка без перезагрузки страницы.
Ленивая загрузка через IntersectionObserver
Подгрузка изображений и бесконечная прокрутка без обработчиков scroll.
Копирование текста в буфер обмена
Clipboard API с запасным вариантом для незащищённого контекста (http) и старых браузеров.