var wmUniqueIndex = Math.round(Math.random() * 9); 
 | 
var supportDefineProperty = typeof Object.defineProperty === 'function'; 
 | 
var WeakMap = (function () { 
 | 
    function WeakMap() { 
 | 
        this._id = '__ec_inner_' + wmUniqueIndex++; 
 | 
    } 
 | 
    WeakMap.prototype.get = function (key) { 
 | 
        return this._guard(key)[this._id]; 
 | 
    }; 
 | 
    WeakMap.prototype.set = function (key, value) { 
 | 
        var target = this._guard(key); 
 | 
        if (supportDefineProperty) { 
 | 
            Object.defineProperty(target, this._id, { 
 | 
                value: value, 
 | 
                enumerable: false, 
 | 
                configurable: true 
 | 
            }); 
 | 
        } 
 | 
        else { 
 | 
            target[this._id] = value; 
 | 
        } 
 | 
        return this; 
 | 
    }; 
 | 
    WeakMap.prototype["delete"] = function (key) { 
 | 
        if (this.has(key)) { 
 | 
            delete this._guard(key)[this._id]; 
 | 
            return true; 
 | 
        } 
 | 
        return false; 
 | 
    }; 
 | 
    WeakMap.prototype.has = function (key) { 
 | 
        return !!this._guard(key)[this._id]; 
 | 
    }; 
 | 
    WeakMap.prototype._guard = function (key) { 
 | 
        if (key !== Object(key)) { 
 | 
            throw TypeError('Value of WeakMap is not a non-null object.'); 
 | 
        } 
 | 
        return key; 
 | 
    }; 
 | 
    return WeakMap; 
 | 
}()); 
 | 
export default WeakMap; 
 |