Blame view

node_modules/es6-weak-map/is-implemented.js 614 Bytes
f7563de62   Palak Handa   first commit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
  'use strict';
  
  module.exports = function () {
  	var weakMap, x;
  	if (typeof WeakMap !== 'function') return false;
  	try {
  		// WebKit doesn't support arguments and crashes
  		weakMap = new WeakMap([[x = {}, 'one'], [{}, 'two'], [{}, 'three']]);
  	} catch (e) {
  		return false;
  	}
  	if (String(weakMap) !== '[object WeakMap]') return false;
  	if (typeof weakMap.set !== 'function') return false;
  	if (weakMap.set({}, 1) !== weakMap) return false;
  	if (typeof weakMap.delete !== 'function') return false;
  	if (typeof weakMap.has !== 'function') return false;
  	if (weakMap.get(x) !== 'one') return false;
  
  	return true;
  };