Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
exotic / dist / types / collection / isMap.js
Size: Mime:
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
// !!!!! this one has to be cautious
// import { isObservableMap } from 'xmobx/mobx'
const mobx_1 = require("../../mobx");
const kind_1 = require("../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) {
    // return x instanceof Map ||
    return kind_1.toStringTag(x) === '[object Map]' || mobx_1.isObservableMap(x);
}
exports.isMap = isMap;
exports.default = isMap;
//# sourceMappingURL=isMap.js.map