/** * Copyright (c) 2015-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @flow */ // These annotations are copy/pasted from the built-in Flow definitions for // Native Map. declare module "Map" { // Use the name "MapPolyfill" so that we don't get confusing error // messages about "Using Map instead of Map". declare class MapPolyfill { @@iterator(): Iterator<[K, V]>; constructor(_: void): MapPolyfill; constructor(_: null): MapPolyfill; constructor(iterable: Iterable<[Key, Value]>): MapPolyfill; clear(): void; delete(key: K): boolean; entries(): Iterator<[K, V]>; forEach(callbackfn: (value: V, index: K, map: MapPolyfill) => mixed, thisArg?: any): void; get(key: K): V | void; has(key: K): boolean; keys(): Iterator; set(key: K, value: V): MapPolyfill; size: number; values(): Iterator; } // Don't "declare class exports" directly, otherwise in error messages our // show up as "exports" instead of "Map" or "MapPolyfill". declare module.exports: typeof MapPolyfill; }