ajsfw
Version:
Ajs Framework
40 lines (39 loc) • 2.19 kB
TypeScript
import * as indexedDb from "ajsfw/indexedDb";
import * as storages from "./storages";
import { IResourceManagerConfig } from "./IResourceManagerConfig";
import { IResourceManager } from "./IResourceManager";
import { IManagedResource } from "./IManagedResource";
import { IResource } from "./IResource";
import { StorageType } from "./enums";
import { CachePolicy } from "./enums";
import { LoadingPreference } from "./enums";
export declare class ResourceManager implements IResourceManager {
private __initialized;
private __ajsIndexedDb;
private __config;
private __resourceLoader;
private __storageLocal;
private __storagesession;
private __storageIndexedDb;
private __storageMemory;
private __managedResources;
readonly managedResources: IManagedResource[];
constructor(ajsIndexedDb: indexedDb.IAjsIndexedDb, config: IResourceManagerConfig);
initialize(): Promise<void>;
protected _defaultConfig(): IResourceManagerConfig;
protected _getManagedResources(): IManagedResource[];
registerManagedResources(managedResources: IManagedResource[]): void;
getCachedResource(url: string, storageType: StorageType): Promise<storages.ICachedResource>;
setCachedResource(url: string, data: any, storageType: StorageType, cachePolicy: CachePolicy): Promise<void>;
removeCachedResource(url: string, storageType: StorageType): Promise<void>;
cleanCaches(): Promise<void>;
getResource(url: string, storageType: StorageType, cachePolicy?: CachePolicy, loadingPreference?: LoadingPreference, runScript?: boolean): Promise<IResource>;
getMultipleResources(urls: string[], storageType: StorageType, cachePolicy?: CachePolicy, loadingPreference?: LoadingPreference, runScripts?: boolean): Promise<IResource[]>;
private __load(url, storageType, cachePolicy, runScript?, updateProgressBar?);
private __processResourceResponse(resource, response, runScript?);
private __getManagedResourceInfo(url, storageType);
private __getStorageFromType(storageType);
private __getResourceTypeFromURL(url);
private __evalScript(resource);
private __addScriptTag(resource);
}