Справочник API
Полный справочник API для всех пакетов Form Guardian.
Пакеты
Form Guardian состоит из трех основных пакетов, каждый из которых предназначен для конкретных случаев использования:
@form-guardian/dom
Универсальное автосохранение форм на основе DOM. Работает с любым фреймворком или обычными HTML-формами.
- Используйте когда: Нужно автосохранение неза висимое от фреймворка
- Идеально для: Vanilla JS, Vue, Angular, Svelte или любых форм на основе DOM
- Ключевые возможности: Автоматическое обнаружение полей, фильтры безопасности, поддержка TTL
@form-guardian/react
React хуки и компоненты для автосохранения форм. Построено поверх @form-guardian/dom.
- Используйте когда: Создаете React приложения
- Идеально для: React Hook Form, Formik, контролируемые/неконтролируемые формы
- Ключевые возможности: API на основе React хуков, отслеживание статуса черновиков, поддержка контролируемых компонентов
Смотреть справочник React API →
@form-guardian/core
Headless ядро для управления черновиками. Не зависит от фреймворков.
- Используйте когда: Нужно низкоуровневое управление черновиками
- Идеально для: Кастомные реализации, SSR, мобильные приложения
- Ключевые возможности: Прямой доступ к хранилищу, кастомные бэкенды, минимальные накладные расходы
Смотреть справочник Core API →
Быстрые ссылки
- 📖 Начало работы - Руководство по быстрой настройке
- 🍳 Рецепты - Продвинутые рецепты и паттерны
- ✅ Лучшие практики - Советы и подводные камни
- 📊 События аналитики - Руководство по отслеживанию событий
- ⚙️ Пакетная обработка - Оптимизация производительности
- 📈 Статус черновика - Отслеживание статуса в реальном времени
Общие типы
FormAutosaveOptions
Опции конфигурации, общие для всех пакетов.
interface FormAutosaveOptions<T> {
debounceMs?: number;
includeOrigin?: boolean;
storagePrefix?: string;
autoRestore?: boolean;
ttl?: number | { days?: number; hours?: number; minutes?: number };
blacklist?: string[];
whitelist?: string[];
onBeforeSave?: (values: T) => void | Promise<void>;
onAfterSave?: (values: T) => void | Promise<void>;
onBeforeRestore?: (values: T) => void | Promise<void>;
onAfterRestore?: (values: T) => void | Promise<void>;
onDraftExpired?: (draftId: string) => void | Promise<void>;
batchSaveInterval?: number;
}
DraftData<T>
Структура данных черновика, используемая в хранилище.
interface DraftData<T> {
values: T;
updatedAt: number;
formId?: string;
origin?: string;
ttl?: number | { days?: number; hours?: number; minutes?: number };
}
DraftMeta
Информация о метаданных черновика.
interface DraftMeta {
updatedAt: number;
formId?: string;
origin?: string;
ttl?: number | { days?: number; hours?: number; minutes?: number };
}