@ima/core
Version:
IMA.js framework for isomorphic javascript application
60 lines • 1.45 kB
TypeScript
import { MapStorage } from './MapStorage';
import { SessionStorage } from './SessionStorage';
import { Storage } from './Storage';
import { Dependencies } from '../oc/ObjectContainer';
/**
* The `link SessionMap` storage is an implementation of the
* `link Storage` interface acting as a synchronization proxy between
* the underlying map storage and the `sessionStorage` DOM storage.
*/
export declare class SessionMapStorage<V> extends Storage<V> {
/**
* The map storage, synced with the session storage.
*/
private _map;
/**
* The session storage, synced with the map storage.
*/
private _session;
static get $dependencies(): Dependencies;
/**
* Initializes the storage.
*
* @param map The map storage to use.
* @param session The session storage to use.
*/
constructor(map: MapStorage<V>, session: SessionStorage<V>);
/**
* @inheritDoc
*/
init(): this;
/**
* @inheritDoc
*/
has(key: string): boolean;
/**
* @inheritDoc
*/
get(key: string): V | undefined;
/**
* @inheritDoc
*/
set(key: string, value: V): this;
/**
* @inheritDoc
*/
delete(key: string): this;
/**
* @inheritDoc
*/
clear(): this;
/**
* @inheritDoc
*/
keys(): Iterable<string>;
/**
* @override
*/
size(): number;
}
//# sourceMappingURL=SessionMapStorage.d.ts.map