{"aliases":["es6"],"browsers":{"ie":"7 - 11","ie_mob":"10 - 11","safari":"*","chrome":"<38","firefox":"<36","ios_saf":"*","opera":"<25","firefox_mob":"<36"},"dependencies":["Object.defineProperty","Array.prototype.forEach","Date.now"],"license":"https://github.com/webcomponents/webcomponentsjs/blob/master/LICENSE.md","docs":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakMap","baseDir":"WeakMap","hasTests":true,"rawSource":"\n// WeakMap\n/**\n * @license\n *\n * Portions of this polyfill are a derivative work of the Polymer project, which requires the following licence notice:\n *\n * Copyright (c) 2014 The Polymer Project Authors. All rights reserved.\n * This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt\n * The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt\n * The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt\n * Code distributed by Google as part of the polymer project is also\n * subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt\n */\n\n (function(global) {\n\tvar defineProperty = Object.defineProperty;\n\tvar counter = Date.now() % 1e9;\n\n\tvar WeakMap = function(data) {\n\t\tvar i, s;\n\t\tthis.name = '__st' + (Math.random() * 1e9 >>> 0) + (counter++ + '__');\n\n\t\t// If data is iterable (indicated by presence of a forEach method), pre-populate the map\n\t\tdata && data.forEach && data.forEach(function (item) {\n\t\t\tthis.set.apply(this, item);\n\t\t}, this);\n\t};\n\n\tWeakMap.prototype[\"set\"] = function(key, value) {\n\t\tif (typeof key !== 'object' && typeof key !== 'function')\n\t\t\tthrow new TypeError('Invalid value used as weak map key');\n\n\t\tvar entry = key[this.name];\n\t\tif (entry && entry[0] === key)\n\t\t\tentry[1] = value;\n\t\telse\n\t\t\tdefineProperty(key, this.name, {value: [key, value], writable: true});\n\t\treturn this;\n\t};\n\tWeakMap.prototype[\"get\"] = function(key) {\n\t\tvar entry;\n\t\treturn (entry = key[this.name]) && entry[0] === key ?\n\t\t\t\tentry[1] : undefined;\n\t};\n\tWeakMap.prototype[\"delete\"] = function(key) {\n\t\tvar entry = key[this.name];\n\t\tif (!entry || entry[0] !== key) return false;\n\t\tentry[0] = entry[1] = undefined;\n\t\treturn true;\n\t};\n\tWeakMap.prototype[\"has\"] = function(key) {\n\t\tvar entry = key[this.name];\n\t\tif (!entry) return false;\n\t\treturn entry[0] === key;\n\t};\n\n\tthis.WeakMap = WeakMap;\n})(this);\n","minSource":"!function(t){var e=Object.defineProperty,n=Date.now()%1e9,o=function(t){this.name=\"__st\"+(1e9*Math.random()>>>0)+(n++ +\"__\"),t&&t.forEach&&t.forEach(function(t){this.set.apply(this,t)},this)};o.prototype.set=function(t,n){if(\"object\"!=typeof t&&\"function\"!=typeof t)throw new TypeError(\"Invalid value used as weak map key\");var o=t[this.name];return o&&o[0]===t?o[1]=n:e(t,this.name,{value:[t,n],writable:!0}),this},o.prototype.get=function(t){var e;return(e=t[this.name])&&e[0]===t?e[1]:void 0},o.prototype[\"delete\"]=function(t){var e=t[this.name];return e&&e[0]===t?(e[0]=e[1]=void 0,!0):!1},o.prototype.has=function(t){var e=t[this.name];return e?e[0]===t:!1},this.WeakMap=o}(this);","detectSource":"(function(global) {\n\tif (!(\"WeakMap\" in global)) return false;\n\tvar o = {};\n\tvar wm = new WeakMap([[o, 'test']]);\n\treturn (wm.get(o) === 'test');\n}(this))"}