var isObject = require('../internals/is-object');
var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');
var objectHas = require('../internals/has');
+var shared = require('../internals/shared-store');
var sharedKey = require('../internals/shared-key');
var hiddenKeys = require('../internals/hidden-keys');
};
if (NATIVE_WEAK_MAP) {
- var store = new WeakMap();
+ var store = shared.state || (shared.state = new WeakMap());
var wmget = store.get;
var wmhas = store.has;
var wmset = store.set;
set = function (it, metadata) {
+ metadata.facade = it;
wmset.call(store, it, metadata);
return metadata;
};
var STATE = sharedKey('state');
hiddenKeys[STATE] = true;
set = function (it, metadata) {
+ metadata.facade = it;
createNonEnumerableProperty(it, STATE, metadata);
return metadata;
};