UNPKG

@ima/core

Version:

IMA.js framework for isomorphic javascript application

76 lines 2.58 kB
/** * The {@link Storage} is an unordered collection of named values of any * type. Values in the storage are named using `string` keys. The storage * can be therefore thought of as a `Map<string, *>`..... */ export declare abstract class Storage<V> { /** * This method is used to finalize the initialization of the storage after * the dependencies provided through the constructor have been prepared for * use. * * This method must be invoked only once and it must be the first method * invoked on this instance. * * @return This storage. */ init(): this; /** * Returns `true` if the entry identified by the specified key exists * in this storage. * * @param key The key identifying the storage entry. * @return `true` if the storage entry exists. */ has(key: string): boolean; /** * Retrieves the value of the entry identified by the specified . The * method returns `undefined` if the entry does not exists. * * Entries set to the `undefined` value can be tested for existence * using the `link has` method. * * @param key The key identifying the storage entry. * @return The value of the storage entry. */ get(key: string): V | undefined; /** * Sets the storage entry identified by the specified key to the provided * value. The method creates the entry if it does not exist already. * * @param key The key identifying the storage entry. * @param value The storage entry value. * @return This storage. */ set(key: string, value: V): this; /** * Deletes the entry identified by the specified key from this storage. * * @param key The key identifying the storage entry. * @return This storage. */ delete(key: string): this; /** * Clears the storage of all entries. * * @return This storage. */ clear(): this; /** * Returns an iterator for traversing the keys in this storage. The order * in which the keys are traversed is undefined. * * @return An iterator for traversing the keys in this * storage. The iterator also implements the iterable protocol, * returning itself as its own iterator, allowing it to be used in * a `for..of` loop. */ keys(): Iterable<string>; /** * Returns the number of entries in this storage. * * @return The number of entries in this storage. */ size(): number; } //# sourceMappingURL=Storage.d.ts.map