summaryrefslogtreecommitdiff
path: root/tools/eslint/node_modules/escope/node_modules/es6-weak-map/is-weak-map.js
blob: 10bb2a156183a3a98eb3c267e1e7f008e37a1405 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
'use strict';

var toStringTagSymbol = require('es6-symbol').toStringTag

  , toString = Object.prototype.toString
  , id = '[object WeakMap]'
  , Global = (typeof WeakMap === 'undefined') ? null : WeakMap;

module.exports = function (x) {
	return (x && ((Global && (x instanceof Global)) ||
			(toString.call(x) === id) || (x[toStringTagSymbol] === 'WeakMap'))) ||
			false;
};