UNPKG

cs-element

Version:

Advanced reactive data management library with state machines, blueprints, persistence, compression, networking, and multithreading support

110 lines 3.74 kB
/** * Менеджер персистентности CSElement * Управляет адаптерами хранилища и предоставляет единый API */ import { EventEmitter } from 'eventemitter3'; import { PersistenceManager, StorageAdapter, StorageResult, StorageMetadata, StorageOptions, StorageFilter } from '../types/persistence-interfaces'; import { SerializedElement } from '../types/interfaces'; /** * Реализация менеджера персистентности */ export declare class PersistenceManagerImpl extends EventEmitter implements PersistenceManager { private adapters; private defaultAdapterName; constructor(); /** * Регистрация адаптера хранилища */ registerAdapter(adapter: StorageAdapter): void; /** * Получение адаптера по имени */ getAdapter(name: string): StorageAdapter | null; /** * Получение всех адаптеров */ getAllAdapters(): StorageAdapter[]; /** * Удаление адаптера */ removeAdapter(name: string): boolean; /** * Установка адаптера по умолчанию */ setDefaultAdapter(name: string): void; /** * Получение адаптера по умолчанию */ getDefaultAdapter(): StorageAdapter | null; /** * Сохранение элемента в указанное хранилище */ save(elementId: string, adapterName?: string, options?: StorageOptions): Promise<StorageResult<StorageMetadata>>; /** * Загрузка элемента из хранилища */ load(elementId: string, adapterName?: string, options?: StorageOptions): Promise<StorageResult<SerializedElement>>; /** * Удаление элемента из хранилища */ delete(elementId: string, adapterName?: string, options?: StorageOptions): Promise<StorageResult<boolean>>; /** * Синхронизация между хранилищами */ sync(sourceAdapter: string, targetAdapter: string, options?: { bidirectional?: boolean; conflictResolution?: 'source' | 'target' | 'latest' | 'merge'; filter?: StorageFilter; }): Promise<{ synced: number; conflicts: number; errors: string[]; }>; /** * Резервное копирование */ backup(adapterName: string, options?: { includeMetadata?: boolean; compression?: boolean; encryption?: boolean; }): Promise<{ data: any; metadata: { timestamp: number; recordCount: number; size: number; }; }>; /** * Восстановление из резервной копии */ restore(backupData: any, adapterName: string, options?: { overwrite?: boolean; validateData?: boolean; }): Promise<{ restored: number; skipped: number; errors: string[]; }>; /** * Получение адаптера для операции */ private getAdapterForOperation; /** * Разрешение конфликтов при синхронизации */ private resolveConflict; /** * Подписка на события адаптера */ private subscribeToAdapterEvents; /** * Отписка от событий адаптера */ private unsubscribeFromAdapterEvents; /** * Генерация события персистентности */ private emitEvent; } //# sourceMappingURL=PersistenceManagerImpl.d.ts.map