2016-11-21 01:49:21 +00:00
|
|
|
/**
|
|
|
|
* Copyright (c) 2015-present, Facebook, Inc.
|
|
|
|
*
|
2018-02-17 02:24:55 +00:00
|
|
|
* This source code is licensed under the MIT license found in the
|
|
|
|
* LICENSE file in the root directory of this source tree.
|
2016-11-21 01:49:21 +00:00
|
|
|
*
|
|
|
|
* @flow
|
2018-05-10 22:44:53 +00:00
|
|
|
* @format
|
2016-11-21 01:49:21 +00:00
|
|
|
*/
|
|
|
|
|
2016-03-08 20:38:52 +00:00
|
|
|
// These annotations are copy/pasted from the built-in Flow definitions for
|
|
|
|
// Native Map.
|
|
|
|
|
2018-05-10 22:44:53 +00:00
|
|
|
declare module 'Map' {
|
2016-03-08 20:38:52 +00:00
|
|
|
// Use the name "MapPolyfill" so that we don't get confusing error
|
|
|
|
// messages about "Using Map instead of Map".
|
|
|
|
declare class MapPolyfill<K, V> {
|
|
|
|
@@iterator(): Iterator<[K, V]>;
|
|
|
|
constructor<Key, Value>(_: void): MapPolyfill<Key, Value>;
|
|
|
|
constructor<Key, Value>(_: null): MapPolyfill<Key, Value>;
|
2018-05-10 22:44:53 +00:00
|
|
|
constructor<Key, Value>(
|
|
|
|
iterable: Iterable<[Key, Value]>,
|
|
|
|
): MapPolyfill<Key, Value>;
|
2016-03-08 20:38:52 +00:00
|
|
|
clear(): void;
|
|
|
|
delete(key: K): boolean;
|
|
|
|
entries(): Iterator<[K, V]>;
|
2018-05-10 22:44:53 +00:00
|
|
|
forEach(
|
|
|
|
callbackfn: (value: V, index: K, map: MapPolyfill<K, V>) => mixed,
|
|
|
|
thisArg?: any,
|
|
|
|
): void;
|
2016-03-08 20:38:52 +00:00
|
|
|
get(key: K): V | void;
|
|
|
|
has(key: K): boolean;
|
|
|
|
keys(): Iterator<K>;
|
|
|
|
set(key: K, value: V): MapPolyfill<K, V>;
|
|
|
|
size: number;
|
|
|
|
values(): Iterator<V>;
|
|
|
|
}
|
|
|
|
|
2017-12-15 00:14:21 +00:00
|
|
|
declare module.exports: typeof MapPolyfill;
|
2016-03-08 20:38:52 +00:00
|
|
|
}
|