strata-storage
Version:
Zero-dependency universal storage plugin providing a unified API for all storage operations across web, Android, and iOS platforms
55 lines • 1.63 kB
TypeScript
/**
* Storage strategy implementation for automatic adapter selection
*/
import type { StorageAdapter, StorageType, StorageCapabilities } from '@/types';
import { StorageStrategy } from '@/types';
import { AdapterRegistry } from './AdapterRegistry';
/**
* Strategy manager for selecting appropriate storage adapters
*/
export declare class StrategyManager {
private registry;
private strategy;
constructor(registry: AdapterRegistry, strategy?: StorageStrategy);
/**
* Get the best adapter based on current strategy
*/
getBestAdapter(preferredTypes?: StorageType[], requirements?: Partial<StorageCapabilities>): Promise<StorageAdapter | null>;
/**
* Get multiple adapters sorted by preference
*/
getAdapterChain(count: number, preferredTypes?: StorageType[], requirements?: Partial<StorageCapabilities>): Promise<StorageAdapter[]>;
/**
* Check if capabilities meet requirements
*/
private meetsRequirements;
/**
* Compare two adapters based on current strategy
*/
private compareAdapters;
/**
* Compare adapters by performance
*/
private comparePerformance;
/**
* Compare adapters by persistence
*/
private comparePersistence;
/**
* Compare adapters by security
*/
private compareSecurity;
/**
* Compare adapters by capacity
*/
private compareCapacity;
/**
* Update strategy
*/
setStrategy(strategy: StorageStrategy): void;
/**
* Get current strategy
*/
getStrategy(): StorageStrategy;
}
//# sourceMappingURL=StorageStrategy.d.ts.map