123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- // Type definitions for es6-collections v0.5.1
- // Project: https://github.com/WebReflection/es6-collections/
- // Definitions by: Ron Buckton <http://github.com/rbuckton>
- // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
- /* *****************************************************************************
- Copyright (c) Microsoft Corporation. All rights reserved.
- Licensed under the Apache License, Version 2.0 (the "License"); you may not use
- this file except in compliance with the License. You may obtain a copy of the
- License at http://www.apache.org/licenses/LICENSE-2.0
- THIS CODE IS PROVIDED *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
- WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
- MERCHANTABLITY OR NON-INFRINGEMENT.
- See the Apache Version 2.0 License for specific language governing permissions
- and limitations under the License.
- ***************************************************************************** */
- interface IteratorResult<T> {
- done: boolean;
- value?: T;
- }
- interface Iterator<T> {
- next(value?: any): IteratorResult<T>;
- return?(value?: any): IteratorResult<T>;
- throw?(e?: any): IteratorResult<T>;
- }
- interface ForEachable<T> {
- forEach(callbackfn: (value: T) => void): void;
- }
- interface Map<K, V> {
- clear(): void;
- delete(key: K): boolean;
- forEach(callbackfn: (value: V, index: K, map: Map<K, V>) => void, thisArg?: any): void;
- get(key: K): V;
- has(key: K): boolean;
- set(key: K, value?: V): Map<K, V>;
- entries(): Iterator<[K, V]>;
- keys(): Iterator<K>;
- values(): Iterator<V>;
- size: number;
- }
- interface MapConstructor {
- new <K, V>(): Map<K, V>;
- new <K, V>(iterable: ForEachable<[K, V]>): Map<K, V>;
- prototype: Map<any, any>;
- }
- declare var Map: MapConstructor;
- interface Set<T> {
- add(value: T): Set<T>;
- clear(): void;
- delete(value: T): boolean;
- forEach(callbackfn: (value: T, index: T, set: Set<T>) => void, thisArg?: any): void;
- has(value: T): boolean;
- entries(): Iterator<[T, T]>;
- keys(): Iterator<T>;
- values(): Iterator<T>;
- size: number;
- }
- interface SetConstructor {
- new <T>(): Set<T>;
- new <T>(iterable: ForEachable<T>): Set<T>;
- prototype: Set<any>;
- }
- declare var Set: SetConstructor;
- interface WeakMap<K, V> {
- delete(key: K): boolean;
- clear(): void;
- get(key: K): V;
- has(key: K): boolean;
- set(key: K, value?: V): WeakMap<K, V>;
- }
- interface WeakMapConstructor {
- new <K, V>(): WeakMap<K, V>;
- new <K, V>(iterable: ForEachable<[K, V]>): WeakMap<K, V>;
- prototype: WeakMap<any, any>;
- }
- declare var WeakMap: WeakMapConstructor;
- interface WeakSet<T> {
- delete(value: T): boolean;
- clear(): void;
- add(value: T): WeakSet<T>;
- has(value: T): boolean;
- }
- interface WeakSetConstructor {
- new <T>(): WeakSet<T>;
- new <T>(iterable: ForEachable<T>): WeakSet<T>;
- prototype: WeakSet<any>;
- }
- declare var WeakSet: WeakSetConstructor;
- declare module "es6-collections" {
- var Map: MapConstructor;
- var Set: SetConstructor;
- var WeakMap: WeakMapConstructor;
- var WeakSet: WeakSetConstructor;
- }
|