UNPKG

declarations

Version:

[![npm version](https://badge.fury.io/js/declarations.svg)](https://www.npmjs.com/package/declarations)

131 lines (112 loc) 2.84 kB
// Type definitions for HashMap 2.0.3 // Project: https://github.com/flesler/hashmap // Definitions by: Rafał Wrzeszcz <http://wrzasq.pl>, Vasya Aksyonov <https://github.com/outring> // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped declare class HashMap<TKey, TValue> { /** * Creates an empty hashmap. */ constructor(); /** * Creates a hashmap with the key-value pairs of map. * * @param map */ constructor(map:HashMap<TKey, TValue>); /** * Creates a hashmap with several key-value pairs. * * @param keysAndValues key1, value1, key2, value2... */ constructor(...keysAndValues:(TKey|TValue)[]); /** * Return value from hashmap. * * @param key Key. * @return Value stored under given key. */ get(key:TKey):TValue; /** * Store value in hashmap. * * @param key Key. * @param value Value. * @return Self. */ set(key:TKey, value:TValue):HashMap<TKey, TValue>; /** * Store several key-value pairs. * * @param keysAndValues key1, value1, key2, value2... * @return Self. */ multi(...keysAndValues:(TKey|TValue)[]):HashMap<TKey, TValue>; /** * Copy all key-value pairs from other to this instance. * * @param map Other map. * @return Self. */ copy(map:HashMap<TKey, TValue>):HashMap<TKey, TValue>; /** * Checks if given key exists in hashmap. * * @param key Key. * @return Whether given key exists in hashmap. */ has(key:TKey):boolean; /** * Returns key under which given value is stored. * * @param value Value. * @return Key which is assigned to value stored. */ search(value:TValue):TKey; /** * Removes given key from hashmap. * * @param key Key. * @return Self. */ remove(key:TKey):HashMap<TKey, TValue>; /** * Returns all contained keys. * * @return List of keys. */ keys():TKey[]; /** * Returns all container values. * * @return List of values. */ values():TValue[]; /** * Returns size of hashmap (number of entries). * * @return Number of entries in hashmap. */ count():number; /** * Clears hashmap. * * @return Self. */ clear():HashMap<TKey, TValue>; /** * Creates a new hashmap with all the key-value pairs of the original * * @return New hashmap. */ clone():HashMap<TKey, TValue>; /** * Iterates over hashmap. * * @param callback Function to be invoked for every hashmap entry. * @return Self. */ forEach(callback:(value:TValue, key:TKey) => void):HashMap<TKey, TValue>; } declare module "hashmap" { export = HashMap; }