diff --git a/hashtable/hashtable.d.ts b/hashtable/hashtable.d.ts new file mode 100644 index 000000000..323748afe --- /dev/null +++ b/hashtable/hashtable.d.ts @@ -0,0 +1,48 @@ +// Type definitions for jshashtable 3.0 +// Project: http://www.timdown.co.uk/jshashtable/ +// Definitions by: Sergey Gerasimov +// Definitions: https://github.com/borisyankov/DefinitelyTyped + +interface IHashtable +{ + put(key: TKey, value: TValue): TValue; + putAll(hashtable: IHashtable, conflictCallback?: (key: TKey, thisValue: TValue, value: TValue) => TValue); + + get(key: TKey): TValue; + containsKey(key: TKey): boolean; + containsValue(value: TValue): boolean; + + clear(); + isEmpty(): boolean; + + keys(): TKey[]; + values(): TValue[]; + entries(): any[][]; + + remove(key: TKey): TValue; + size(): number; + + clone(): IHashtable; + each(callback: (key: TKey, value: TValue) => void); + + equals(hashtable: IHashtable): boolean; + toQueryString(): string; +} + +interface IHashtableOptions { + hashCode?: (key: TKey) => any; + equals?: (key1: TKey, key2: TKey) => boolean; + replaceDuplicateKey?: boolean; +} + +interface IHashtableStatic { + new (): IHashtable; + new (options: IHashtableOptions): IHashtable; + new (hashCode?: (value: TValue) => any, equals?: (value1: TValue, value2: TValue) => boolean): IHashtable; +} + +declare var Hashtable: IHashtableStatic; + +declare module "hashtable" { + export = Hashtable; +} \ No newline at end of file