ajsfw
Version:
Ajs Framework
29 lines (28 loc) • 1.28 kB
TypeScript
import * as storageProviders from "../storageProviders";
import { ICachedResource } from "./ICachedResource";
import { IAjsStorage } from "./IAjsStorage";
import { StorageType } from "../enums";
export declare abstract class AjsStorage implements IAjsStorage {
protected _supported: boolean;
readonly supported: boolean;
protected _maxCacheSize: number;
readonly cacheSize: number;
protected _usedSpace: number;
readonly usedSpace: number;
protected _resources: ICachedResource[];
readonly resources: ICachedResource[];
protected _storageProvider: storageProviders.IStorageProvider;
readonly storageProvider: storageProviders.IStorageProvider;
readonly abstract type: StorageType;
constructor(cacheSize: number);
abstract initialize(): Promise<void>;
clear(): Promise<void>;
addResource(resource: ICachedResource): Promise<void>;
getResource(url: string): Promise<ICachedResource>;
updateResource(resource: ICachedResource): Promise<void>;
removeResource(url: string): Promise<void>;
protected _getResourcesInfo(): Promise<ICachedResource[]>;
private __cleanCache(requiredSpace?);
private __resourceInfoJSONReviver(key, value);
private __getResourceIndex(url);
}