UNPKG

cs-element

Version:

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

85 lines 2.95 kB
/** * Адаптер хранилища в памяти * Базовая реализация для тестирования и временного хранения */ import { EventEmitter } from 'eventemitter3'; import { StorageAdapter, StorageType, StorageConfig, StorageResult, StorageMetadata, StorageOptions, StorageFilter, StorageSearchResult, StorageSearchOptions } from '../types/persistence-interfaces'; import { SerializedElement } from '../types/interfaces'; /** * Адаптер хранилища в памяти */ export declare class MemoryStorageAdapter extends EventEmitter implements StorageAdapter { readonly type: StorageType; readonly name: string; readonly config: StorageConfig; private storage; private ready; constructor(config?: Partial<StorageConfig>); /** * Инициализация адаптера */ initialize(): Promise<void>; /** * Закрытие адаптера */ close(): Promise<void>; /** * Проверка готовности адаптера */ isReady(): boolean; /** * Сохранение элемента */ save(id: string, data: SerializedElement, options?: StorageOptions): Promise<StorageResult<StorageMetadata>>; /** * Загрузка элемента */ load(id: string, options?: StorageOptions): Promise<StorageResult<SerializedElement>>; /** * Удаление элемента */ delete(id: string, options?: StorageOptions): Promise<StorageResult<boolean>>; /** * Проверка существования элемента */ exists(id: string): Promise<boolean>; /** * Получение метаданных элемента */ getMetadata(id: string): Promise<StorageResult<StorageMetadata>>; /** * Обновление метаданных элемента */ updateMetadata(id: string, metadata: Partial<StorageMetadata>): Promise<StorageResult<StorageMetadata>>; /** * Поиск элементов */ search(filter: StorageFilter, options?: StorageSearchOptions): Promise<StorageSearchResult>; /** * Получение списка всех ID */ listIds(): Promise<string[]>; /** * Очистка хранилища */ clear(): Promise<StorageResult<number>>; /** * Получение размера хранилища */ getSize(): Promise<number>; /** * Получение статистики хранилища */ getStats(): Promise<{ totalRecords: number; totalSize: number; oldestRecord?: StorageMetadata; newestRecord?: StorageMetadata; averageSize: number; }>; /** * Вычисление простой контрольной суммы */ private calculateChecksum; } //# sourceMappingURL=MemoryStorageAdapter.d.ts.map