@toast-studios/asset-manager
Version:
A React Native asset management library with intelligent caching and loading strategies
25 lines (24 loc) • 1.13 kB
TypeScript
import { AssetBundle, AssetQuality, IDownloadStrategy, NetworkConditions } from '../types/index';
/**
* Configuration-driven network-aware strategy
*/
export declare class NetworkAwareStrategy implements IDownloadStrategy {
readonly name = "network-aware";
private config;
constructor();
getOptimalQuality(conditions: NetworkConditions): AssetQuality;
prioritizeBundles(bundles: AssetBundle[], conditions: NetworkConditions): AssetBundle[];
shouldDownload(bundle: AssetBundle, conditions: NetworkConditions): boolean;
getMaxConcurrentDownloads(conditions: NetworkConditions): number;
/**
* Update strategy configuration
*/
configure(newConfig: any): void;
/**
* Async methods for advanced usage
*/
getOptimalQualityAsync(conditions: NetworkConditions): Promise<AssetQuality>;
prioritizeBundlesAsync(bundles: AssetBundle[], conditions: NetworkConditions): Promise<AssetBundle[]>;
shouldDownloadAsync(bundle: AssetBundle, conditions: NetworkConditions): Promise<boolean>;
getMaxConcurrentDownloadsAsync(conditions: NetworkConditions): Promise<number>;
}