Перейти к основному содержимому

Справочник API

Полный справочник API для всех пакетов Form Guardian.

Пакеты

Form Guardian состоит из трех основных пакетов, каждый из которых предназначен для конкретных случаев использования:

@form-guardian/dom

Универсальное автосохранение форм на основе DOM. Работает с любым фреймворком или обычными HTML-формами.

  • Используйте когда: Нужно автосохранение независимое от фреймворка
  • Идеально для: Vanilla JS, Vue, Angular, Svelte или любых форм на основе DOM
  • Ключевые возможности: Автоматическое обнаружение полей, фильтры безопасности, поддержка TTL

Смотреть справочник DOM API →

@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 };
}