foop
Version:
interfaces that describe their intentions.
54 lines (52 loc) • 2.75 kB
JavaScript
var toS = require('./toS')
/**
* @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
*
*/
module.exports = function isMap(x) {
// return x instanceof Map ||
return toS(x) === '[object Map]'
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLmpzIiwic291cmNlcyI6WyJtYXAuanMiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgdG9TID0gcmVxdWlyZSgnLi90b1MnKVxuXG4vKipcbiAqIEBkZXNjIENoZWNrcyBpZiBgdmFsdWVgIGlzIGNsYXNzaWZpZWQgYXMgYSBgTWFwYCBvYmplY3QuXG4gKiBAc2luY2UgMy4wLjBcbiAqIEBtZW1iZXJPZiBpc1xuICpcbiAqIEBwYXJhbSAgeyp9IHggdmFsdWVcbiAqIEByZXR1cm4ge2Jvb2xlYW59IGlzTWFwXG4gKlxuICogQGZ1bmNcbiAqIEBuYW1lIGlzTWFwXG4gKlxuICoge0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9tb2J4anMvbW9ieC9ibG9iL21hc3Rlci9zcmMvdXRpbHMvdXRpbHMudHMjTDIxMCBtb2J4LWlzLW1hcH1cbiAqIHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vam9uc2NobGlua2VydC9raW5kLW9mIGtpbmQtb2Z9XG4gKiBAc2VlIHtAbGluayBraW5kLW9mfVxuICogQHNlZSB7QGxpbmsgbW9ieC1pcy1tYXB9XG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiAgaXNNYXAobmV3IE1hcCgpKVxuICogIC8vPT4gdHJ1ZVxuICogIGlzTWFwKG5ldyBNYXAuZW50cmllcygpKVxuICogIC8vPT4gZmFsc2VcbiAqICBpc01hcChuZXcgU2V0KCkpXG4gKiAgLy89PiBmYWxzZVxuICogIGlzTWFwKHt9KVxuICogIC8vPT4gZmFsc2VcbiAqICBpc01hcCgnJylcbiAqICAvLz0+IGZhbHNlXG4gKiAgaXNNYXAoMSlcbiAqICAvLz0+IGZhbHNlXG4gKiAgaXNNYXAobmV3IFdlYWtNYXApXG4gKiAgLy89PiBmYWxzZVxuICpcbiAqIEBleGFtcGxlXG4gKlxuICogIGNvbnN0IGUgPSB7fVxuICogIGVoW1N5bWJvbC50b1N0cmluZ1RhZ10gPSAnW29iamVjdCBNYXBdJ1xuICogIGlzTWFwKGVoKVxuICpcbiAqIEBleGFtcGxlXG4gKlxuICogIGNsYXNzIEVoIGV4dGVuZHMgTWFwKClcbiAqICBpc01hcChuZXcgRWgoKSlcbiAqICAvLz0+IHRydWVcbiAqXG4gKi9cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gaXNNYXAoeCkge1xuICAvLyByZXR1cm4geCBpbnN0YW5jZW9mIE1hcCB8fFxuICByZXR1cm4gdG9TKHgpID09PSAnW29iamVjdCBNYXBdJ1xufVxuIl0sIm5hbWVzIjpbImNvbnN0Il0sIm1hcHBpbmdzIjoiQUFBQUEsR0FBSyxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFnRDVCLE1BQU0sQ0FBQyxPQUFPLEdBQUcsU0FBUyxLQUFLLENBQUMsQ0FBQyxFQUFFOztFQUVqQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxjQUFjO0NBQ2pDOyJ9