Repository URL to install this package:
|
Version:
2.0.1 ▾
|
// !!!!! this one has to be cautious
// import { isObservableMap } from 'xmobx/mobx'
import { isObservableMap } from '../../mobx'
import { toStringTag } from '../kind'
/**
* @desc Checks if `value` is classified as a `Map` object.
* @since 3.0.0
* @memberOf is
*
* @param {*} x value
* @return {boolean} isMap
*
* @func
* @name isMap
*
* {@link https://github.com/mobxjs/mobx/blob/master/src/utils/utils.ts#L210 mobx-is-map}
* {@link https://github.com/jonschlinkert/kind-of kind-of}
* @see {@link kind-of}
* @see {@link mobx-is-map}
*
* @example
*
* isMap(new Map())
* //=> true
* isMap(new Map.entries())
* //=> false
* isMap(new Set())
* //=> false
* isMap({})
* //=> false
* isMap('')
* //=> false
* isMap(1)
* //=> false
* isMap(new WeakMap)
* //=> false
*
* @example
*
* const e = {}
* eh[Symbol.toStringTag] = '[object Map]'
* isMap(eh)
*
* @example
*
* class Eh extends Map()
* isMap(new Eh())
* //=> true
*
*/
function isMap(x: any): x is Map<any, any> {
// return x instanceof Map ||
return toStringTag(x) === '[object Map]' || isObservableMap(x)
}
export { isMap }
export default isMap