cs-element
Version:
Advanced reactive data management library with state machines, blueprints, persistence, compression, networking, and multithreading support
85 lines • 2.95 kB
TypeScript
/**
* Адаптер хранилища в памяти
* Базовая реализация для тестирования и временного хранения
*/
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